import { _ as _c, G as Gd, E as _d } from "./indexhtml-CLy7FRUS.js";
import "./commonjsHelpers-CUmg6egw.js";
var define_process_env_default = {};
function qft(uC, VI) {
  for (var _C = 0; _C < VI.length; _C++) {
    const GE = VI[_C];
    if (typeof GE != "string" && !Array.isArray(GE)) {
      for (const Ec in GE)
        if (Ec !== "default" && !(Ec in uC)) {
          const qI = Object.getOwnPropertyDescriptor(GE, Ec);
          qI && Object.defineProperty(uC, Ec, qI.get ? qI : {
            enumerable: true,
            get: () => GE[Ec]
          });
        }
    }
  }
  return Object.freeze(Object.defineProperty(uC, Symbol.toStringTag, { value: "Module" }));
}
function D5e(uC) {
  throw new Error('Could not dynamically require "' + uC + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
}
var nge = { exports: {} };
const Hft = {}, Gft = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: Hft
}, Symbol.toStringTag, { value: "Module" })), qE = /* @__PURE__ */ _d(Gft);
/*! *****************************************************************************
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 w5e;
function $ft() {
  return w5e || (w5e = 1, (function(uC) {
    var VI = {};
    ((_C) => {
      var GE = Object.defineProperty, Ec = (e, t) => {
        for (var n in t)
          GE(e, n, { get: t[n], enumerable: true });
      }, qI = (e) => e, lge = {};
      Ec(lge, {
        ANONYMOUS: () => iq,
        AccessFlags: () => QQ,
        AssertionLevel: () => aQ,
        AssignmentDeclarationKind: () => sY,
        AssignmentKind: () => AK,
        Associativity: () => BK,
        BreakpointResolver: () => rH,
        BuilderFileEmit: () => Oie,
        BuilderProgramKind: () => Wie,
        BuilderState: () => Id,
        CallHierarchy: () => uk,
        CharacterCodes: () => gY,
        CheckFlags: () => HQ,
        CheckMode: () => DW,
        ClassificationType: () => mV,
        ClassificationTypeNames: () => Vse,
        CommentDirectiveType: () => AQ,
        Comparison: () => GX,
        CompletionInfoFlags: () => Rse,
        CompletionTriggerKind: () => pV,
        Completions: () => mk,
        ContainerFlags: () => dne,
        ContextFlags: () => jQ,
        Debug: () => E,
        DiagnosticCategory: () => r7,
        Diagnostics: () => p,
        DocumentHighlights: () => Y9,
        ElementFlags: () => XQ,
        EmitFlags: () => uj,
        EmitHint: () => bY,
        EmitOnly: () => FQ,
        EndOfLineState: () => Jse,
        ExitStatus: () => OQ,
        ExportKind: () => Oae,
        Extension: () => hY,
        ExternalEmitHelpers: () => vY,
        FileIncludeKind: () => ej,
        FilePreprocessingDiagnosticsKind: () => IQ,
        FileSystemEntryKind: () => PY,
        FileWatcherEventKind: () => EY,
        FindAllReferences: () => So,
        FlattenLevel: () => Mne,
        FlowFlags: () => t7,
        ForegroundColorEscapeSequences: () => kie,
        FunctionFlags: () => RK,
        GeneratedIdentifierFlags: () => KR,
        GetLiteralTextFlags: () => $Z,
        GoToDefinition: () => eE,
        HighlightSpanKind: () => Lse,
        IdentifierNameMap: () => N6,
        ImportKind: () => Fae,
        ImportsNotUsedAsValues: () => _Y,
        IndentStyle: () => Mse,
        IndexFlags: () => YQ,
        IndexKind: () => eY,
        InferenceFlags: () => nY,
        InferencePriority: () => rY,
        InlayHintKind: () => Ose,
        InlayHints: () => GH,
        InternalEmitFlags: () => yY,
        InternalNodeBuilderFlags: () => JQ,
        InternalSymbolName: () => GQ,
        IntersectionFlags: () => RQ,
        InvalidatedProjectKind: () => _se,
        JSDocParsingMode: () => CY,
        JsDoc: () => Sv,
        JsTyping: () => Qy,
        JsxEmit: () => uY,
        JsxFlags: () => DQ,
        JsxReferenceKind: () => ZQ,
        LanguageFeatureMinimumTarget: () => Tl,
        LanguageServiceMode: () => Ise,
        LanguageVariant: () => dY,
        LexicalEnvironmentFlags: () => TY,
        ListFormat: () => xY,
        LogLevel: () => gQ,
        MapCode: () => $H,
        MemberOverrideStatus: () => LQ,
        ModifierFlags: () => YR,
        ModuleDetectionKind: () => aY,
        ModuleInstanceState: () => fne,
        ModuleKind: () => hC,
        ModuleResolutionKind: () => gC,
        ModuleSpecifierEnding: () => Lee,
        NavigateTo: () => ioe,
        NavigationBar: () => aoe,
        NewLineKind: () => fY,
        NodeBuilderFlags: () => BQ,
        NodeCheckFlags: () => nj,
        NodeFactoryFlags: () => fte,
        NodeFlags: () => QR,
        NodeResolutionFeatures: () => rne,
        ObjectFlags: () => sj,
        OperationCanceledException: () => a4,
        OperatorPrecedence: () => JK,
        OrganizeImports: () => Tv,
        OrganizeImportsMode: () => fV,
        OuterExpressionKinds: () => SY,
        OutliningElementsCollector: () => QH,
        OutliningSpanKind: () => jse,
        OutputFileType: () => Bse,
        PackageJsonAutoImportPreference: () => Ase,
        PackageJsonDependencyGroup: () => Nse,
        PatternMatchKind: () => xq,
        PollingInterval: () => _j,
        PollingWatchKind: () => lY,
        PragmaKindFlags: () => kY,
        PredicateSemantics: () => wQ,
        PreparePasteEdits: () => _G,
        PrivateIdentifierKind: () => Tte,
        ProcessLevel: () => Jne,
        ProgramUpdateLevel: () => vie,
        QuotePreference: () => fae,
        RegularExpressionFlags: () => PQ,
        RelationComparisonResult: () => ZR,
        Rename: () => OL,
        ScriptElementKind: () => Wse,
        ScriptElementKindModifier: () => Use,
        ScriptKind: () => oj,
        ScriptSnapshot: () => l9,
        ScriptTarget: () => pY,
        SemanticClassificationFormat: () => Fse,
        SemanticMeaning: () => qse,
        SemicolonPreference: () => dV,
        SignatureCheckMode: () => wW,
        SignatureFlags: () => aj,
        SignatureHelp: () => kA,
        SignatureInfo: () => Fie,
        SignatureKind: () => KQ,
        SmartSelectionRange: () => KH,
        SnippetKind: () => lj,
        StatisticType: () => bse,
        StructureIsReused: () => tj,
        SymbolAccessibility: () => UQ,
        SymbolDisplay: () => P0,
        SymbolDisplayPartKind: () => _9,
        SymbolFlags: () => rj,
        SymbolFormatFlags: () => WQ,
        SyntaxKind: () => XR,
        Ternary: () => iY,
        ThrottledCancellationToken: () => dce,
        TokenClass: () => zse,
        TokenFlags: () => NQ,
        TransformFlags: () => cj,
        TypeFacts: () => EW,
        TypeFlags: () => ij,
        TypeFormatFlags: () => zQ,
        TypeMapKind: () => tY,
        TypePredicateKind: () => VQ,
        TypeReferenceSerializationKind: () => qQ,
        UnionReduction: () => MQ,
        UpToDateStatusType: () => ise,
        VarianceFlags: () => $Q,
        Version: () => vd,
        VersionRange: () => e7,
        WatchDirectoryFlags: () => mY,
        WatchDirectoryKind: () => cY,
        WatchFileKind: () => oY,
        WatchLogLevel: () => Sie,
        WatchType: () => Pl,
        accessPrivateIdentifier: () => Lne,
        addEmitFlags: () => fm,
        addEmitHelper: () => Ax,
        addEmitHelpers: () => Rg,
        addInternalEmitFlags: () => pS,
        addNodeFactoryPatcher: () => e0e,
        addObjectAllocatorPatcher: () => jhe,
        addRange: () => In,
        addRelatedInfo: () => Js,
        addSyntheticLeadingComment: () => jy,
        addSyntheticTrailingComment: () => TD,
        addToSeen: () => Mp,
        advancedAsyncSuperHelper: () => vF,
        affectsDeclarationPathOptionDeclarations: () => Dre,
        affectsEmitOptionDeclarations: () => Ere,
        allKeysStartWithDot: () => pO,
        altDirectorySeparator: () => a7,
        and: () => YI,
        append: () => Er,
        appendIfUnique: () => lh,
        arrayFrom: () => ns,
        arrayIsEqualTo: () => yf,
        arrayIsHomogeneous: () => Uee,
        arrayOf: () => rQ,
        arrayReverseIterator: () => wR,
        arrayToMap: () => fC,
        arrayToMultiMap: () => MP,
        arrayToNumericMap: () => iQ,
        assertType: () => dge,
        assign: () => B2,
        asyncSuperHelper: () => yF,
        attachFileToDiagnostics: () => Tx,
        base64decode: () => oee,
        base64encode: () => aee,
        binarySearch: () => cy,
        binarySearchKey: () => zT,
        bindSourceFile: () => mne,
        breakIntoCharacterSpans: () => Qae,
        breakIntoWordSpans: () => Yae,
        buildLinkParts: () => bae,
        buildOpts: () => ZN,
        buildOverload: () => Jwe,
        bundlerModuleNameResolver: () => nne,
        canBeConvertedToAsync: () => Pq,
        canHaveDecorators: () => $b,
        canHaveExportModifier: () => TN,
        canHaveFlowNode: () => zC,
        canHaveIllegalDecorators: () => Mz,
        canHaveIllegalModifiers: () => ore,
        canHaveIllegalType: () => E0e,
        canHaveIllegalTypeParameters: () => are,
        canHaveJSDoc: () => U3,
        canHaveLocals: () => zm,
        canHaveModifiers: () => Jp,
        canHaveModuleSpecifier: () => wK,
        canHaveSymbol: () => Td,
        canIncludeBindAndCheckDiagnostics: () => fD,
        canJsonReportNoInputFiles: () => i8,
        canProduceDiagnostics: () => p8,
        canUsePropertyAccess: () => JJ,
        canWatchAffectingLocation: () => Qie,
        canWatchAtTypes: () => Xie,
        canWatchDirectoryOrFile: () => PU,
        canWatchDirectoryOrFilePath: () => w8,
        cartesianProduct: () => dQ,
        cast: () => Ws,
        chainBundle: () => Ad,
        chainDiagnosticMessages: () => Ss,
        changeAnyExtension: () => UP,
        changeCompilerHostLikeToUseCache: () => iw,
        changeExtension: () => g0,
        changeFullExtension: () => l7,
        changesAffectModuleResolution: () => M7,
        changesAffectingProgramStructure: () => JZ,
        characterCodeToRegularExpressionFlag: () => Tj,
        childIsDecorated: () => O4,
        classElementOrClassElementParameterIsDecorated: () => SB,
        classHasClassThisAssignment: () => UW,
        classHasDeclaredOrExplicitlyAssignedName: () => VW,
        classHasExplicitlyAssignedName: () => DO,
        classOrConstructorParameterIsDecorated: () => _0,
        classicNameResolver: () => une,
        classifier: () => yce,
        cleanExtendedConfigCache: () => FO,
        clear: () => Dp,
        clearMap: () => L_,
        clearSharedExtendedConfigFileWatcher: () => iU,
        climbPastPropertyAccess: () => d9,
        clone: () => sQ,
        cloneCompilerOptions: () => OV,
        closeFileWatcher: () => nd,
        closeFileWatcherOf: () => fp,
        codefix: () => Nu,
        collapseTextChangeRangesAcrossMultipleVersions: () => ZY,
        collectExternalModuleInfo: () => BW,
        combine: () => JT,
        combinePaths: () => On,
        commandLineOptionOfCustomType: () => Nre,
        commentPragmas: () => n7,
        commonOptionsWithBuild: () => HF,
        compact: () => OP,
        compareBooleans: () => F1,
        compareDataObjects: () => dJ,
        compareDiagnostics: () => sD,
        compareEmitHelpers: () => kte,
        compareNumberOfDirectorySeparators: () => yN,
        comparePaths: () => _h,
        comparePathsCaseInsensitive: () => jge,
        comparePathsCaseSensitive: () => Rge,
        comparePatternKeys: () => vW,
        compareProperties: () => uQ,
        compareStringsCaseInsensitive: () => jP,
        compareStringsCaseInsensitiveEslintCompatible: () => oQ,
        compareStringsCaseSensitive: () => ou,
        compareStringsCaseSensitiveUI: () => BP,
        compareTextSpans: () => XI,
        compareValues: () => po,
        compilerOptionsAffectDeclarationPath: () => Pee,
        compilerOptionsAffectEmit: () => wee,
        compilerOptionsAffectSemanticDiagnostics: () => Dee,
        compilerOptionsDidYouMeanDiagnostics: () => QF,
        compilerOptionsIndicateEsModules: () => JV,
        computeCommonSourceDirectoryOfFilenames: () => Tie,
        computeLineAndCharacterOfPosition: () => bC,
        computeLineOfPosition: () => _4,
        computeLineStarts: () => QT,
        computePositionOfLineAndCharacter: () => p7,
        computeSignatureWithDiagnostics: () => xU,
        computeSuggestionDiagnostics: () => Eq,
        computedOptions: () => aD,
        concatenate: () => Bi,
        concatenateDiagnosticMessageChains: () => bee,
        consumesNodeCoreModules: () => W9,
        contains: () => ds,
        containsIgnoredPath: () => mD,
        containsObjectRestOrSpread: () => $N,
        containsParseError: () => sx,
        containsPath: () => Kf,
        convertCompilerOptionsForTelemetry: () => qre,
        convertCompilerOptionsFromJson: () => Lye,
        convertJsonOption: () => wS,
        convertToBase64: () => see,
        convertToJson: () => t8,
        convertToObject: () => Bre,
        convertToOptionsWithAbsolutePaths: () => eO,
        convertToRelativePath: () => l4,
        convertToTSConfig: () => rW,
        convertTypeAcquisitionFromJson: () => Mye,
        copyComments: () => RS,
        copyEntries: () => R7,
        copyLeadingComments: () => H6,
        copyProperties: () => LR,
        copyTrailingAsLeadingComments: () => X8,
        copyTrailingComments: () => bw,
        couldStartTrivia: () => jY,
        countWhere: () => i0,
        createAbstractBuilder: () => Wve,
        createAccessorPropertyBackingField: () => Bz,
        createAccessorPropertyGetRedirector: () => mre,
        createAccessorPropertySetRedirector: () => gre,
        createBaseNodeFactory: () => ote,
        createBinaryExpressionTrampoline: () => zF,
        createBuilderProgram: () => kU,
        createBuilderProgramUsingIncrementalBuildInfo: () => Hie,
        createBuilderStatusReporter: () => t9,
        createCacheableExportInfoMap: () => mq,
        createCachedDirectoryStructureHost: () => AO,
        createClassifier: () => y2e,
        createCommentDirectivesMap: () => HZ,
        createCompilerDiagnostic: () => $o,
        createCompilerDiagnosticForInvalidCustomType: () => Are,
        createCompilerDiagnosticFromMessageChain: () => J5,
        createCompilerHost: () => xie,
        createCompilerHostFromProgramHost: () => VU,
        createCompilerHostWorker: () => OO,
        createDetachedDiagnostic: () => Sx,
        createDiagnosticCollection: () => X4,
        createDiagnosticForFileFromMessageChain: () => gB,
        createDiagnosticForNode: () => sn,
        createDiagnosticForNodeArray: () => FC,
        createDiagnosticForNodeArrayFromMessageChain: () => S3,
        createDiagnosticForNodeFromMessageChain: () => wg,
        createDiagnosticForNodeInSourceFile: () => tp,
        createDiagnosticForRange: () => aK,
        createDiagnosticMessageChainFromDiagnostic: () => sK,
        createDiagnosticReporter: () => rk,
        createDocumentPositionMapper: () => Nne,
        createDocumentRegistry: () => Bae,
        createDocumentRegistryInternal: () => bq,
        createEmitAndSemanticDiagnosticsBuilderProgram: () => wU,
        createEmitHelperFactory: () => xte,
        createEmptyExports: () => JN,
        createEvaluator: () => Kee,
        createExpressionForJsxElement: () => ere,
        createExpressionForJsxFragment: () => tre,
        createExpressionForObjectLiteralElementLike: () => rre,
        createExpressionForPropertyName: () => Nz,
        createExpressionFromEntityName: () => zN,
        createExternalHelpersImportDeclarationIfNeeded: () => Fz,
        createFileDiagnostic: () => al,
        createFileDiagnosticFromMessageChain: () => G7,
        createFlowNode: () => Ym,
        createForOfBindingStatement: () => Pz,
        createFutureSourceFile: () => $9,
        createGetCanonicalFileName: () => $l,
        createGetIsolatedDeclarationErrors: () => lie,
        createGetSourceFile: () => lU,
        createGetSymbolAccessibilityDiagnosticForNode: () => _v,
        createGetSymbolAccessibilityDiagnosticForNodeName: () => cie,
        createGetSymbolWalker: () => gne,
        createIncrementalCompilerHost: () => e9,
        createIncrementalProgram: () => nse,
        createJsxFactoryExpression: () => wz,
        createLanguageService: () => mce,
        createLanguageServiceSourceFile: () => pL,
        createMemberAccessForPropertyName: () => ES,
        createModeAwareCache: () => C6,
        createModeAwareCacheKey: () => UD,
        createModeMismatchDetails: () => eB,
        createModuleNotFoundChain: () => B7,
        createModuleResolutionCache: () => E6,
        createModuleResolutionLoader: () => mU,
        createModuleResolutionLoaderUsingGlobalCache: () => ese,
        createModuleSpecifierResolutionHost: () => mv,
        createMultiMap: () => Pp,
        createNameResolver: () => qJ,
        createNodeConverters: () => ute,
        createNodeFactory: () => DN,
        createOptionNameMap: () => $F,
        createOverload: () => pG,
        createPackageJsonImportFilter: () => G6,
        createPackageJsonInfo: () => oq,
        createParenthesizerRules: () => cte,
        createPatternMatcher: () => Vae,
        createPrinter: () => $y,
        createPrinterWithDefaults: () => hie,
        createPrinterWithRemoveComments: () => Zb,
        createPrinterWithRemoveCommentsNeverAsciiEscape: () => yie,
        createPrinterWithRemoveCommentsOmitTrailingSemicolon: () => nU,
        createProgram: () => C8,
        createProgramDiagnostics: () => Aie,
        createProgramHost: () => qU,
        createPropertyNameNodeForIdentifierOrLiteral: () => SN,
        createQueue: () => RP,
        createRange: () => ip,
        createRedirectedBuilderProgram: () => DU,
        createResolutionCache: () => AU,
        createRuntimeTypeSerializer: () => qne,
        createScanner: () => Tg,
        createSemanticDiagnosticsBuilderProgram: () => zve,
        createSet: () => MR,
        createSolutionBuilder: () => cse,
        createSolutionBuilderHost: () => ase,
        createSolutionBuilderWithWatch: () => lse,
        createSolutionBuilderWithWatchHost: () => ose,
        createSortedArray: () => DR,
        createSourceFile: () => Gx,
        createSourceMapGenerator: () => Cne,
        createSourceMapSource: () => i0e,
        createSuperAccessVariableStatement: () => PO,
        createSymbolTable: () => js,
        createSymlinkCache: () => kJ,
        createSyntacticTypeNodeBuilder: () => Dse,
        createSystemWatchFunctions: () => NY,
        createTextChange: () => W8,
        createTextChangeFromStartLength: () => D9,
        createTextChangeRange: () => KP,
        createTextRangeFromNode: () => RV,
        createTextRangeFromSpan: () => E9,
        createTextSpan: () => Xl,
        createTextSpanFromBounds: () => Dc,
        createTextSpanFromNode: () => a_,
        createTextSpanFromRange: () => E0,
        createTextSpanFromStringLiteralLikeContent: () => MV,
        createTextWriter: () => eN,
        createTokenRange: () => lJ,
        createTypeChecker: () => xne,
        createTypeReferenceDirectiveResolutionCache: () => uO,
        createTypeReferenceResolutionLoader: () => RO,
        createWatchCompilerHost: () => Zve,
        createWatchCompilerHostOfConfigFile: () => HU,
        createWatchCompilerHostOfFilesAndCompilerOptions: () => GU,
        createWatchFactory: () => UU,
        createWatchHost: () => WU,
        createWatchProgram: () => $U,
        createWatchStatusReporter: () => IU,
        createWriteFileMeasuringIO: () => uU,
        declarationNameToString: () => so,
        decodeMappings: () => MW,
        decodedTextSpanIntersectsWith: () => ZP,
        deduplicate: () => _b,
        defaultHoverMaximumTruncationLength: () => jZ,
        defaultInitCompilerOptions: () => tye,
        defaultMaximumTruncationLength: () => D4,
        diagnosticCategoryName: () => z2,
        diagnosticToString: () => n2,
        diagnosticsEqualityComparer: () => z5,
        directoryProbablyExists: () => Cd,
        directorySeparator: () => yo,
        displayPart: () => j_,
        displayPartsToString: () => cA,
        disposeEmitNodes: () => rz,
        documentSpansEqual: () => GV,
        dumpTracingLegend: () => EQ,
        elementAt: () => oy,
        elideNodes: () => dre,
        emitDetachedComments: () => XK,
        emitFiles: () => tU,
        emitFilesAndReportErrors: () => QO,
        emitFilesAndReportErrorsAndGetExitStatus: () => zU,
        emitModuleKindIsNonNodeESM: () => dN,
        emitNewLineBeforeLeadingCommentOfPosition: () => $K,
        emitResolverSkipsTypeChecking: () => eU,
        emitSkippedWithNoDiagnostics: () => yU,
        emptyArray: () => Ge,
        emptyFileSystemEntries: () => IJ,
        emptyMap: () => vR,
        emptyOptions: () => zp,
        endsWith: () => Co,
        ensurePathIsNonModuleName: () => W2,
        ensureScriptKind: () => Y5,
        ensureTrailingDirectorySeparator: () => pl,
        entityNameToString: () => Q_,
        enumerateInsertsAndDeletes: () => KI,
        equalOwnProperties: () => nQ,
        equateStringsCaseInsensitive: () => fy,
        equateStringsCaseSensitive: () => db,
        equateValues: () => _y,
        escapeJsxAttributeString: () => qB,
        escapeLeadingUnderscores: () => Zo,
        escapeNonAsciiString: () => b5,
        escapeSnippetText: () => jb,
        escapeString: () => Gm,
        escapeTemplateSubstitution: () => UB,
        evaluatorResult: () => ml,
        every: () => Ni,
        exclusivelyPrefixedNodeCoreModules: () => fF,
        executeCommandLine: () => Abe,
        expandPreOrPostfixIncrementOrDecrementExpression: () => MF,
        explainFiles: () => MU,
        explainIfFileIsRedirectAndImpliedFormat: () => RU,
        exportAssignmentIsAlias: () => G3,
        expressionResultIsUnused: () => qee,
        extend: () => OR,
        extensionFromPath: () => uD,
        extensionIsTS: () => rF,
        extensionsNotSupportingExtensionlessResolution: () => tF,
        externalHelpersModuleNameText: () => ky,
        factory: () => N,
        fileExtensionIs: () => Ho,
        fileExtensionIsOneOf: () => bc,
        fileIncludeReasonToDiagnostics: () => JU,
        fileShouldUseJavaScriptRequire: () => dq,
        filter: () => kn,
        filterMutate: () => TR,
        filterSemanticDiagnostics: () => zO,
        find: () => Nn,
        findAncestor: () => dr,
        findBestPatternMatch: () => WR,
        findChildOfKind: () => $a,
        findComputedPropertyNameCacheAssignment: () => WF,
        findConfigFile: () => oU,
        findConstructorDeclaration: () => CN,
        findContainingList: () => v9,
        findDiagnosticForNode: () => Nae,
        findFirstNonJsxWhitespaceToken: () => Kse,
        findIndex: () => ic,
        findLast: () => ub,
        findLastIndex: () => HI,
        findListItemInfo: () => Zse,
        findModifier: () => U6,
        findNextToken: () => r2,
        findPackageJson: () => Pae,
        findPackageJsons: () => aq,
        findPrecedingMatchingToken: () => k9,
        findPrecedingToken: () => ul,
        findSuperStatementIndexPath: () => xO,
        findTokenOnLeftOfPosition: () => pw,
        findUseStrictPrologue: () => Iz,
        first: () => ka,
        firstDefined: () => Ic,
        firstDefinedIterator: () => FP,
        firstIterator: () => NR,
        firstOrOnly: () => uq,
        firstOrUndefined: () => $c,
        firstOrUndefinedIterator: () => $I,
        fixupCompilerOptions: () => Nq,
        flatMap: () => xa,
        flatMapIterator: () => xR,
        flatMapToMutable: () => QE,
        flatten: () => wp,
        flattenCommaList: () => hre,
        flattenDestructuringAssignment: () => IS,
        flattenDestructuringBinding: () => Yb,
        flattenDiagnosticMessageText: () => bm,
        forEach: () => lr,
        forEachAncestor: () => zZ,
        forEachAncestorDirectory: () => u4,
        forEachAncestorDirectoryStoppingAtGlobalCache: () => Qm,
        forEachChild: () => Ts,
        forEachChildRecursively: () => Hx,
        forEachDynamicImportOrRequireCall: () => pF,
        forEachEmittedFile: () => QW,
        forEachEnclosingBlockScopeContainer: () => rK,
        forEachEntry: () => dl,
        forEachExternalModuleToImportFrom: () => hq,
        forEachImportClauseDeclaration: () => PK,
        forEachKey: () => Eg,
        forEachLeadingCommentRange: () => HP,
        forEachNameInAccessChainWalkingLeft: () => mee,
        forEachNameOfDefaultExport: () => Q9,
        forEachOptionsSyntaxByName: () => YJ,
        forEachProjectReference: () => bD,
        forEachPropertyAssignment: () => MC,
        forEachResolvedProjectReference: () => XJ,
        forEachReturnStatement: () => wy,
        forEachRight: () => $X,
        forEachTrailingCommentRange: () => GP,
        forEachTsConfigPropArray: () => E3,
        forEachUnique: () => XV,
        forEachYieldExpression: () => uK,
        formatColorAndReset: () => Kb,
        formatDiagnostic: () => _U,
        formatDiagnostics: () => mve,
        formatDiagnosticsWithColorAndContext: () => Die,
        formatGeneratedName: () => av,
        formatGeneratedNamePart: () => S6,
        formatLocation: () => fU,
        formatMessage: () => xx,
        formatStringFromArgs: () => Fg,
        formatting: () => el,
        generateDjb2Hash: () => o4,
        generateTSConfig: () => Jre,
        getAdjustedReferenceLocation: () => wV,
        getAdjustedRenameLocation: () => S9,
        getAliasDeclarationFromName: () => FB,
        getAllAccessorDeclarations: () => Fb,
        getAllDecoratorsOfClass: () => zW,
        getAllDecoratorsOfClassElement: () => CO,
        getAllJSDocTags: () => b7,
        getAllJSDocTagsOfKind: () => ohe,
        getAllKeys: () => uge,
        getAllProjectOutputs: () => NO,
        getAllSuperTypeNodes: () => U4,
        getAllowImportingTsExtensions: () => Tee,
        getAllowJSCompilerOption: () => Ly,
        getAllowSyntheticDefaultImports: () => kx,
        getAncestor: () => q1,
        getAnyExtensionFromPath: () => GT,
        getAreDeclarationMapsEnabled: () => W5,
        getAssignedExpandoInitializer: () => cx,
        getAssignedName: () => h7,
        getAssignmentDeclarationKind: () => wc,
        getAssignmentDeclarationPropertyAccessKind: () => j3,
        getAssignmentTargetKind: () => Py,
        getAutomaticTypeDirectiveNames: () => cO,
        getBaseFileName: () => Xc,
        getBinaryOperatorPrecedence: () => Y3,
        getBuildInfo: () => rU,
        getBuildInfoFileVersionMap: () => EU,
        getBuildInfoText: () => mie,
        getBuildOrderFromAnyBuildOrder: () => N8,
        getBuilderCreationParameters: () => qO,
        getBuilderFileEmit: () => Xy,
        getCanonicalDiagnostic: () => oK,
        getCheckFlags: () => oc,
        getClassExtendsHeritageElement: () => Pb,
        getClassLikeDeclarationOfSymbol: () => Sh,
        getCombinedLocalAndExportSymbolFlags: () => QC,
        getCombinedModifierFlags: () => L1,
        getCombinedNodeFlags: () => ph,
        getCombinedNodeFlagsAlwaysIncludeJSDoc: () => wj,
        getCommentRange: () => pm,
        getCommonSourceDirectory: () => nw,
        getCommonSourceDirectoryOfConfig: () => FS,
        getCompilerOptionValue: () => q5,
        getConditions: () => qy,
        getConfigFileParsingDiagnostics: () => e2,
        getConstantValue: () => mte,
        getContainerFlags: () => SW,
        getContainerNode: () => MS,
        getContainingClass: () => jl,
        getContainingClassExcludingClassDecorators: () => t5,
        getContainingClassStaticBlock: () => yK,
        getContainingFunction: () => Df,
        getContainingFunctionDeclaration: () => hK,
        getContainingFunctionOrClassStaticBlock: () => e5,
        getContainingNodeArray: () => Hee,
        getContainingObjectLiteralElement: () => lA,
        getContextualTypeFromParent: () => M9,
        getContextualTypeFromParentOrAncestorTypeNode: () => b9,
        getDeclarationDiagnostics: () => uie,
        getDeclarationEmitExtensionForPath: () => x5,
        getDeclarationEmitOutputFilePath: () => VK,
        getDeclarationEmitOutputFilePathWorker: () => T5,
        getDeclarationFileExtension: () => VF,
        getDeclarationFromName: () => W4,
        getDeclarationModifierFlagsFromSymbol: () => ap,
        getDeclarationOfKind: () => Ao,
        getDeclarationsOfKind: () => BZ,
        getDeclaredExpandoInitializer: () => j4,
        getDecorators: () => hy,
        getDefaultCompilerOptions: () => fL,
        getDefaultFormatCodeSettings: () => u9,
        getDefaultLibFileName: () => XP,
        getDefaultLibFilePath: () => gce,
        getDefaultLikeExportInfo: () => X9,
        getDefaultLikeExportNameFromDeclaration: () => _q,
        getDefaultResolutionModeForFileWorker: () => JO,
        getDiagnosticText: () => x_,
        getDiagnosticsWithinSpan: () => Aae,
        getDirectoryPath: () => Hn,
        getDirectoryToWatchFailedLookupLocation: () => NU,
        getDirectoryToWatchFailedLookupLocationFromTypeRoot: () => Zie,
        getDocumentPositionMapper: () => Cq,
        getDocumentSpansEqualityComparer: () => $V,
        getESModuleInterop: () => _m,
        getEditsForFileRename: () => zae,
        getEffectiveBaseTypeNode: () => kd,
        getEffectiveConstraintOfTypeParameter: () => kC,
        getEffectiveContainerForJSDocTemplateTag: () => p5,
        getEffectiveImplementsTypeNodes: () => UC,
        getEffectiveInitializer: () => L3,
        getEffectiveJSDocHost: () => V1,
        getEffectiveModifierFlags: () => lu,
        getEffectiveModifierFlagsAlwaysIncludeJSDoc: () => KK,
        getEffectiveModifierFlagsNoCache: () => eee,
        getEffectiveReturnTypeNode: () => K_,
        getEffectiveSetAccessorTypeAnnotationNode: () => KB,
        getEffectiveTypeAnnotationNode: () => Qc,
        getEffectiveTypeParameterDeclarations: () => yy,
        getEffectiveTypeRoots: () => WD,
        getElementOrPropertyAccessArgumentExpressionOrName: () => f5,
        getElementOrPropertyAccessName: () => gh,
        getElementsOfBindingOrAssignmentPattern: () => b6,
        getEmitDeclarations: () => M_,
        getEmitFlags: () => Ca,
        getEmitHelpers: () => nz,
        getEmitModuleDetectionKind: () => xee,
        getEmitModuleFormatOfFileWorker: () => ow,
        getEmitModuleKind: () => Wu,
        getEmitModuleResolutionKind: () => Cu,
        getEmitScriptTarget: () => pa,
        getEmitStandardClassFields: () => TJ,
        getEnclosingBlockScopeContainer: () => xd,
        getEnclosingContainer: () => H7,
        getEncodedSemanticClassifications: () => yq,
        getEncodedSyntacticClassifications: () => vq,
        getEndLinePosition: () => g3,
        getEntityNameFromTypeNode: () => P3,
        getEntrypointsFromPackageJsonInfo: () => gW,
        getErrorCountForSummary: () => $O,
        getErrorSpanForNode: () => K2,
        getErrorSummaryText: () => OU,
        getEscapedTextOfIdentifierOrLiteral: () => H4,
        getEscapedTextOfJsxAttributeName: () => yD,
        getEscapedTextOfJsxNamespacedName: () => wx,
        getExpandoInitializer: () => W1,
        getExportAssignmentExpression: () => OB,
        getExportInfoMap: () => tA,
        getExportNeedsImportStarHelper: () => Ane,
        getExpressionAssociativity: () => zB,
        getExpressionPrecedence: () => $4,
        getExternalHelpersModuleName: () => UN,
        getExternalModuleImportEqualsDeclarationExpression: () => L4,
        getExternalModuleName: () => ux,
        getExternalModuleNameFromDeclaration: () => WK,
        getExternalModuleNameFromPath: () => $B,
        getExternalModuleNameLiteral: () => qx,
        getExternalModuleRequireArgument: () => xB,
        getFallbackOptions: () => T8,
        getFileEmitOutput: () => Iie,
        getFileMatcherPatterns: () => Q5,
        getFileNamesFromConfigSpecs: () => JD,
        getFileWatcherEventKind: () => dj,
        getFilesInErrorForSummary: () => XO,
        getFirstConstructorWithBody: () => Ag,
        getFirstIdentifier: () => e_,
        getFirstNonSpaceCharacterPosition: () => xae,
        getFirstProjectOutput: () => KW,
        getFixableErrorSpanExpression: () => cq,
        getFormatCodeSettingsForWriting: () => H9,
        getFullWidth: () => d3,
        getFunctionFlags: () => Fc,
        getHeritageClause: () => $3,
        getHostSignatureFromJSDoc: () => U1,
        getIdentifierAutoGenerate: () => o0e,
        getIdentifierGeneratedImportReference: () => Ste,
        getIdentifierTypeArguments: () => dS,
        getImmediatelyInvokedFunctionExpression: () => J1,
        getImpliedNodeFormatForEmitWorker: () => OS,
        getImpliedNodeFormatForFile: () => k8,
        getImpliedNodeFormatForFileWorker: () => BO,
        getImportNeedsImportDefaultHelper: () => jW,
        getImportNeedsImportStarHelper: () => SO,
        getIndentString: () => S5,
        getInferredLibraryNameResolveFrom: () => jO,
        getInitializedVariables: () => rD,
        getInitializerOfBinaryExpression: () => DB,
        getInitializerOfBindingOrAssignmentElement: () => qN,
        getInterfaceBaseTypeNodes: () => V4,
        getInternalEmitFlags: () => td,
        getInvokedExpression: () => i5,
        getIsFileExcluded: () => Mae,
        getIsolatedModules: () => Rp,
        getJSDocAugmentsTag: () => cZ,
        getJSDocClassTag: () => Aj,
        getJSDocCommentRanges: () => yB,
        getJSDocCommentsAndTags: () => wB,
        getJSDocDeprecatedTag: () => Ij,
        getJSDocDeprecatedTagNoCache: () => mZ,
        getJSDocEnumTag: () => Fj,
        getJSDocHost: () => Db,
        getJSDocImplementsTags: () => lZ,
        getJSDocOverloadTags: () => NB,
        getJSDocOverrideTagNoCache: () => dZ,
        getJSDocParameterTags: () => xC,
        getJSDocParameterTagsNoCache: () => iZ,
        getJSDocPrivateTag: () => nhe,
        getJSDocPrivateTagNoCache: () => _Z,
        getJSDocProtectedTag: () => ihe,
        getJSDocProtectedTagNoCache: () => fZ,
        getJSDocPublicTag: () => rhe,
        getJSDocPublicTagNoCache: () => uZ,
        getJSDocReadonlyTag: () => she,
        getJSDocReadonlyTagNoCache: () => pZ,
        getJSDocReturnTag: () => gZ,
        getJSDocReturnType: () => t3,
        getJSDocRoot: () => WC,
        getJSDocSatisfiesExpressionType: () => WJ,
        getJSDocSatisfiesTag: () => Oj,
        getJSDocTags: () => R1,
        getJSDocTemplateTag: () => ahe,
        getJSDocThisTag: () => y7,
        getJSDocType: () => o0,
        getJSDocTypeAliasName: () => Lz,
        getJSDocTypeAssertionType: () => y6,
        getJSDocTypeParameterDeclarations: () => w5,
        getJSDocTypeParameterTags: () => sZ,
        getJSDocTypeParameterTagsNoCache: () => aZ,
        getJSDocTypeTag: () => M1,
        getJSXImplicitImportBase: () => mN,
        getJSXRuntimeImport: () => G5,
        getJSXTransformEnabled: () => H5,
        getKeyForCompilerOptions: () => _W,
        getLanguageVariant: () => lN,
        getLastChild: () => mJ,
        getLeadingCommentRanges: () => Sg,
        getLeadingCommentRangesOfNode: () => hB,
        getLeftmostAccessExpression: () => YC,
        getLeftmostExpression: () => ZC,
        getLibFileNameFromLibReference: () => $J,
        getLibNameFromLibReference: () => GJ,
        getLibraryNameFromLibFileName: () => gU,
        getLineAndCharacterOfPosition: () => Rs,
        getLineInfo: () => LW,
        getLineOfLocalPosition: () => Q4,
        getLineStartPositionForPosition: () => Wp,
        getLineStarts: () => vg,
        getLinesBetweenPositionAndNextNonWhitespaceCharacter: () => fee,
        getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter: () => _ee,
        getLinesBetweenPositions: () => f4,
        getLinesBetweenRangeEndAndRangeStart: () => uJ,
        getLinesBetweenRangeEndPositions: () => Mhe,
        getLiteralText: () => XZ,
        getLocalNameForExternalImport: () => v6,
        getLocalSymbolForExportDefault: () => eD,
        getLocaleSpecificMessage: () => bs,
        getLocaleTimeString: () => P8,
        getMappedContextSpan: () => QV,
        getMappedDocumentSpan: () => F9,
        getMappedLocation: () => hw,
        getMatchedFileSpec: () => jU,
        getMatchedIncludeSpec: () => BU,
        getMeaningFromDeclaration: () => f9,
        getMeaningFromLocation: () => LS,
        getMembersOfDeclaration: () => _K,
        getModeForFileReference: () => wie,
        getModeForResolutionAtIndex: () => Sve,
        getModeForUsageLocation: () => dU,
        getModifiedTime: () => HT,
        getModifiers: () => gb,
        getModuleInstanceState: () => Eh,
        getModuleNameStringLiteralAt: () => E8,
        getModuleSpecifierEndingPreference: () => Mee,
        getModuleSpecifierResolverHost: () => zV,
        getNameForExportedSymbol: () => U9,
        getNameFromImportAttribute: () => lF,
        getNameFromIndexInfo: () => nK,
        getNameFromPropertyName: () => V8,
        getNameOfAccessExpression: () => hJ,
        getNameOfCompilerOptionValue: () => KF,
        getNameOfDeclaration: () => us,
        getNameOfExpando: () => kB,
        getNameOfJSDocTypedef: () => nZ,
        getNameOfScriptTarget: () => V5,
        getNameOrArgument: () => R3,
        getNameTable: () => tH,
        getNamespaceDeclarationNode: () => JC,
        getNewLineCharacter: () => d0,
        getNewLineKind: () => eA,
        getNewLineOrDefaultFromHost: () => wh,
        getNewTargetContainer: () => bK,
        getNextJSDocCommentLocation: () => PB,
        getNodeChildren: () => Ez,
        getNodeForGeneratedName: () => GN,
        getNodeId: () => Oa,
        getNodeKind: () => t2,
        getNodeModifiers: () => dw,
        getNodeModulePathParts: () => aF,
        getNonAssignedNameOfDeclaration: () => g7,
        getNonAssignmentOperatorForCompoundAssignment: () => QD,
        getNonAugmentationDeclaration: () => uB,
        getNonDecoratorTokenPosOfNode: () => iB,
        getNonIncrementalBuildInfoRoots: () => Gie,
        getNonModifierTokenPosOfNode: () => GZ,
        getNormalizedAbsolutePath: () => Qi,
        getNormalizedAbsolutePathWithoutRoot: () => yj,
        getNormalizedPathComponents: () => c7,
        getObjectFlags: () => Dn,
        getOperatorAssociativity: () => WB,
        getOperatorPrecedence: () => Q3,
        getOptionFromName: () => Yz,
        getOptionsForLibraryResolution: () => fW,
        getOptionsNameMap: () => x6,
        getOptionsSyntaxByArrayElementValue: () => QJ,
        getOptionsSyntaxByValue: () => ite,
        getOrCreateEmitNode: () => _u,
        getOrUpdate: () => YE,
        getOriginalNode: () => zo,
        getOriginalNodeId: () => s_,
        getOutputDeclarationFileName: () => rw,
        getOutputDeclarationFileNameWorker: () => YW,
        getOutputExtension: () => v8,
        getOutputFileNames: () => pve,
        getOutputJSFileNameWorker: () => ZW,
        getOutputPathsFor: () => tw,
        getOwnEmitOutputFilePath: () => UK,
        getOwnKeys: () => Zd,
        getOwnValues: () => WT,
        getPackageJsonTypesVersionsPaths: () => oO,
        getPackageNameFromTypesPackageName: () => HD,
        getPackageScopeForPath: () => qD,
        getParameterSymbolFromJSDoc: () => V3,
        getParentNodeInSpan: () => H8,
        getParseTreeNode: () => ys,
        getParsedCommandLineOfConfigFile: () => KN,
        getPathComponents: () => cu,
        getPathFromPathComponents: () => O1,
        getPathUpdater: () => Tq,
        getPathsBasePath: () => k5,
        getPatternFromSpec: () => DJ,
        getPendingEmitKindWithSeen: () => VO,
        getPositionOfLineAndCharacter: () => VP,
        getPossibleGenericSignatures: () => NV,
        getPossibleOriginalInputExtensionForExtension: () => XB,
        getPossibleOriginalInputPathWithoutChangingExt: () => QB,
        getPossibleTypeArgumentsInfo: () => AV,
        getPreEmitDiagnostics: () => dve,
        getPrecedingNonSpaceCharacterPosition: () => O9,
        getPrivateIdentifier: () => WW,
        getProperties: () => JW,
        getProperty: () => LP,
        getPropertyAssignmentAliasLikeExpression: () => MK,
        getPropertyNameForPropertyNameNode: () => oS,
        getPropertyNameFromType: () => cp,
        getPropertyNameOfBindingOrAssignmentElement: () => Oz,
        getPropertySymbolFromBindingElement: () => I9,
        getPropertySymbolsFromContextualType: () => dL,
        getQuoteFromPreference: () => UV,
        getQuotePreference: () => of,
        getRangesWhere: () => ER,
        getRefactorContextSpan: () => ak,
        getReferencedFileLocation: () => aw,
        getRegexFromPattern: () => m0,
        getRegularExpressionForWildcard: () => oD,
        getRegularExpressionsForWildcards: () => $5,
        getRelativePathFromDirectory: () => Ef,
        getRelativePathFromFile: () => vC,
        getRelativePathToDirectoryOrUrl: () => XT,
        getRenameLocation: () => $8,
        getReplacementSpanForContextToken: () => LV,
        getResolutionDiagnostic: () => bU,
        getResolutionModeOverride: () => I6,
        getResolveJsonModule: () => Lb,
        getResolvePackageJsonExports: () => _N,
        getResolvePackageJsonImports: () => fN,
        getResolvedExternalModuleName: () => GB,
        getResolvedModuleFromResolution: () => ix,
        getResolvedTypeReferenceDirectiveFromResolution: () => j7,
        getRestIndicatorOfBindingOrAssignmentElement: () => BF,
        getRestParameterElementType: () => vB,
        getRightMostAssignedExpression: () => M3,
        getRootDeclaration: () => om,
        getRootDirectoryOfResolutionCache: () => Kie,
        getRootLength: () => bd,
        getScriptKind: () => eq,
        getScriptKindFromFileName: () => Z5,
        getScriptTargetFeatures: () => sB,
        getSelectedEffectiveModifierFlags: () => gx,
        getSelectedSyntacticModifierFlags: () => YK,
        getSemanticClassifications: () => Rae,
        getSemanticJsxChildren: () => qC,
        getSetAccessorTypeAnnotationNode: () => HK,
        getSetAccessorValueParameter: () => Y4,
        getSetExternalModuleIndicator: () => uN,
        getShebang: () => d7,
        getSingleVariableOfVariableStatement: () => px,
        getSnapshotText: () => sk,
        getSnippetElement: () => iz,
        getSourceFileOfModule: () => m3,
        getSourceFileOfNode: () => xr,
        getSourceFilePathInNewDir: () => E5,
        getSourceFileVersionAsHashFromText: () => YO,
        getSourceFilesToEmit: () => C5,
        getSourceMapRange: () => y0,
        getSourceMapper: () => Kae,
        getSourceTextOfNodeFromSourceFile: () => Sb,
        getSpanOfTokenAtPosition: () => nm,
        getSpellingSuggestion: () => mb,
        getStartPositionOfLine: () => Cy,
        getStartPositionOfRange: () => tD,
        getStartsOnNewLine: () => SD,
        getStaticPropertiesAndClassStaticBlock: () => kO,
        getStrictOptionValue: () => uu,
        getStringComparer: () => dC,
        getSubPatternFromSpec: () => X5,
        getSuperCallFromStatement: () => TO,
        getSuperContainer: () => D3,
        getSupportedCodeFixes: () => Kq,
        getSupportedExtensions: () => cD,
        getSupportedExtensionsWithJsonIfResolveJsonModule: () => hN,
        getSwitchedType: () => nq,
        getSymbolId: () => $s,
        getSymbolNameForPrivateIdentifier: () => X3,
        getSymbolTarget: () => tq,
        getSyntacticClassifications: () => jae,
        getSyntacticModifierFlags: () => f0,
        getSyntacticModifierFlagsNoCache: () => rJ,
        getSynthesizedDeepClone: () => Wa,
        getSynthesizedDeepCloneWithReplacements: () => EN,
        getSynthesizedDeepClones: () => Bb,
        getSynthesizedDeepClonesWithReplacements: () => ZJ,
        getSyntheticLeadingComments: () => i6,
        getSyntheticTrailingComments: () => AN,
        getTargetLabel: () => m9,
        getTargetOfBindingOrAssignmentElement: () => Uy,
        getTemporaryModuleResolutionState: () => VD,
        getTextOfConstantValue: () => QZ,
        getTextOfIdentifierOrLiteral: () => np,
        getTextOfJSDocComment: () => r3,
        getTextOfJsxAttributeName: () => kN,
        getTextOfJsxNamespacedName: () => vD,
        getTextOfNode: () => Go,
        getTextOfNodeFromSourceText: () => P4,
        getTextOfPropertyName: () => ox,
        getThisContainer: () => zu,
        getThisParameter: () => Ab,
        getTokenAtPosition: () => vi,
        getTokenPosOfNode: () => Ey,
        getTokenSourceMapRange: () => s0e,
        getTouchingPropertyName: () => k_,
        getTouchingToken: () => z6,
        getTrailingCommentRanges: () => gy,
        getTrailingSemicolonDeferringWriter: () => HB,
        getTransformers: () => fie,
        getTsBuildInfoEmitOutputFilePath: () => fv,
        getTsConfigObjectLiteralExpression: () => F4,
        getTsConfigPropArrayElementValue: () => K7,
        getTypeAnnotationNode: () => GK,
        getTypeArgumentOrTypeParameterList: () => aae,
        getTypeKeywordOfTypeOnlyImport: () => HV,
        getTypeNode: () => vte,
        getTypeNodeIfAccessible: () => Tw,
        getTypeParameterFromJsDoc: () => NK,
        getTypeParameterOwner: () => Zge,
        getTypesPackageName: () => dO,
        getUILocale: () => cQ,
        getUniqueName: () => jS,
        getUniqueSymbolId: () => Tae,
        getUseDefineForClassFields: () => pN,
        getWatchErrorSummaryDiagnosticMessage: () => FU,
        getWatchFactory: () => aU,
        group: () => pC,
        groupBy: () => FR,
        guessIndentation: () => MZ,
        handleNoEmitOptions: () => vU,
        handleWatchOptionsConfigDirTemplateSubstitution: () => tO,
        hasAbstractModifier: () => Ob,
        hasAccessorModifier: () => cm,
        hasAmbientModifier: () => tJ,
        hasChangesInResolutions: () => tB,
        hasContextSensitiveParameters: () => sF,
        hasDecorators: () => Pf,
        hasDocComment: () => iae,
        hasDynamicName: () => hh,
        hasEffectiveModifier: () => ef,
        hasEffectiveModifiers: () => eJ,
        hasEffectiveReadonlyModifier: () => lS,
        hasExtension: () => yC,
        hasImplementationTSFileExtension: () => Oee,
        hasIndexSignature: () => rq,
        hasInferredType: () => _F,
        hasInitializer: () => l0,
        hasInvalidEscape: () => VB,
        hasJSDocNodes: () => bf,
        hasJSDocParameterTags: () => oZ,
        hasJSFileExtension: () => Og,
        hasJsonModuleEmitEnabled: () => U5,
        hasOnlyExpressionInitializer: () => Y2,
        hasOverrideModifier: () => P5,
        hasPossibleExternalModuleReference: () => tK,
        hasProperty: () => Ya,
        hasPropertyAccessExpressionWithName: () => M8,
        hasQuestionToken: () => _x,
        hasRecordedExternalHelpers: () => sre,
        hasResolutionModeOverride: () => Yee,
        hasRestParameter: () => Qj,
        hasScopeMarker: () => DZ,
        hasStaticModifier: () => sl,
        hasSyntacticModifier: () => Gn,
        hasSyntacticModifiers: () => QK,
        hasTSFileExtension: () => _S,
        hasTabstop: () => $ee,
        hasTrailingDirectorySeparator: () => dy,
        hasType: () => F7,
        hasTypeArguments: () => Ehe,
        hasZeroOrOneAsteriskCharacter: () => xJ,
        hostGetCanonicalFileName: () => yh,
        hostUsesCaseSensitiveFileNames: () => cS,
        idText: () => An,
        identifierIsThisKeyword: () => ZB,
        identifierToKeywordKind: () => q2,
        identity: () => fo,
        identitySourceMapConsumer: () => RW,
        ignoreSourceNewlines: () => az,
        ignoredPaths: () => s7,
        importFromModuleSpecifier: () => J4,
        importSyntaxAffectsModuleResolution: () => SJ,
        indexOfAnyCharCode: () => QX,
        indexOfNode: () => AC,
        indicesOf: () => GI,
        inferredTypesContainingFile: () => sw,
        injectClassNamedEvaluationHelperBlockIfMissing: () => wO,
        injectClassThisAssignmentIfMissing: () => Bne,
        insertImports: () => qV,
        insertSorted: () => ay,
        insertStatementAfterCustomPrologue: () => Z2,
        insertStatementAfterStandardPrologue: () => vhe,
        insertStatementsAfterCustomPrologue: () => rB,
        insertStatementsAfterStandardPrologue: () => Dg,
        intersperse: () => SR,
        intrinsicTagNameToString: () => UJ,
        introducesArgumentsExoticObject: () => dK,
        inverseJsxOptionMap: () => YN,
        isAbstractConstructorSymbol: () => pee,
        isAbstractModifier: () => Ate,
        isAccessExpression: () => vo,
        isAccessibilityModifier: () => FV,
        isAccessor: () => Ty,
        isAccessorModifier: () => fz,
        isAliasableExpression: () => d5,
        isAmbientModule: () => Ju,
        isAmbientPropertyDeclaration: () => fB,
        isAnyDirectorySeparator: () => mj,
        isAnyImportOrBareOrAccessedRequire: () => KZ,
        isAnyImportOrReExport: () => v3,
        isAnyImportOrRequireStatement: () => eK,
        isAnyImportSyntax: () => ax,
        isAnySupportedFileExtension: () => Qhe,
        isApplicableVersionedTypesKey: () => o8,
        isArgumentExpressionOfElementAccess: () => TV,
        isArray: () => ss,
        isArrayBindingElement: () => D7,
        isArrayBindingOrAssignmentElement: () => c3,
        isArrayBindingOrAssignmentPattern: () => Vj,
        isArrayBindingPattern: () => T0,
        isArrayLiteralExpression: () => Kl,
        isArrayLiteralOrObjectLiteralDestructuringPattern: () => C0,
        isArrayTypeNode: () => LN,
        isArrowFunction: () => bo,
        isAsExpression: () => l6,
        isAssertClause: () => Bte,
        isAssertEntry: () => g0e,
        isAssertionExpression: () => bb,
        isAssertsKeyword: () => Pte,
        isAssignmentDeclaration: () => R4,
        isAssignmentExpression: () => El,
        isAssignmentOperator: () => vh,
        isAssignmentPattern: () => C4,
        isAssignmentTarget: () => Ny,
        isAsteriskToken: () => FN,
        isAsyncFunction: () => q4,
        isAsyncModifier: () => kD,
        isAutoAccessorPropertyDeclaration: () => g_,
        isAwaitExpression: () => zy,
        isAwaitKeyword: () => _z,
        isBigIntLiteral: () => s6,
        isBinaryExpression: () => _n,
        isBinaryLogicalOperator: () => tN,
        isBinaryOperatorToken: () => pre,
        isBindableObjectDefinePropertyCall: () => nS,
        isBindableStaticAccessExpression: () => Eb,
        isBindableStaticElementAccessExpression: () => _5,
        isBindableStaticNameExpression: () => iS,
        isBindingElement: () => ha,
        isBindingElementOfBareOrAccessedRequire: () => xK,
        isBindingName: () => X2,
        isBindingOrAssignmentElement: () => xZ,
        isBindingOrAssignmentPattern: () => a3,
        isBindingPattern: () => Ds,
        isBlock: () => Ps,
        isBlockLike: () => ok,
        isBlockOrCatchScoped: () => aB,
        isBlockScope: () => pB,
        isBlockScopedContainerTopLevel: () => ZZ,
        isBooleanLiteral: () => k4,
        isBreakOrContinueStatement: () => b4,
        isBreakStatement: () => p0e,
        isBuildCommand: () => Sse,
        isBuildInfoFile: () => pie,
        isBuilderProgram: () => LU,
        isBundle: () => Ute,
        isCallChain: () => H2,
        isCallExpression: () => ws,
        isCallExpressionTarget: () => gV,
        isCallLikeExpression: () => vb,
        isCallLikeOrFunctionLikeExpression: () => qj,
        isCallOrNewExpression: () => tm,
        isCallOrNewExpressionTarget: () => hV,
        isCallSignatureDeclaration: () => Mx,
        isCallToHelper: () => xD,
        isCaseBlock: () => AD,
        isCaseClause: () => p6,
        isCaseKeyword: () => Fte,
        isCaseOrDefaultClause: () => A7,
        isCatchClause: () => Hb,
        isCatchClauseVariableDeclaration: () => Gee,
        isCatchClauseVariableDeclarationOrBindingElement: () => oB,
        isCheckJsEnabledForFile: () => _D,
        isCircularBuildOrder: () => nk,
        isClassDeclaration: () => Zc,
        isClassElement: () => Uc,
        isClassExpression: () => Oc,
        isClassInstanceProperty: () => SZ,
        isClassLike: () => $n,
        isClassMemberModifier: () => zj,
        isClassNamedEvaluationHelperBlock: () => ek,
        isClassOrTypeElement: () => E7,
        isClassStaticBlockDeclaration: () => Sc,
        isClassThisAssignmentBlock: () => ZD,
        isColonToken: () => Dte,
        isCommaExpression: () => WN,
        isCommaListExpression: () => PD,
        isCommaSequence: () => MD,
        isCommaToken: () => Ete,
        isComment: () => C9,
        isCommonJsExportPropertyAssignment: () => Y7,
        isCommonJsExportedExpression: () => fK,
        isCompoundAssignment: () => XD,
        isComputedNonLiteralName: () => b3,
        isComputedPropertyName: () => Hs,
        isConciseBody: () => P7,
        isConditionalExpression: () => vS,
        isConditionalTypeNode: () => zb,
        isConstAssertion: () => VJ,
        isConstTypeReference: () => Kp,
        isConstructSignatureDeclaration: () => DD,
        isConstructorDeclaration: () => ec,
        isConstructorTypeNode: () => a6,
        isContextualKeyword: () => g5,
        isContinueStatement: () => f0e,
        isCustomPrologue: () => C3,
        isDebuggerStatement: () => d0e,
        isDeclaration: () => Cl,
        isDeclarationBindingElement: () => s3,
        isDeclarationFileName: () => wl,
        isDeclarationName: () => Hm,
        isDeclarationNameOfEnumOrNamespace: () => fJ,
        isDeclarationReadonly: () => T3,
        isDeclarationStatement: () => AZ,
        isDeclarationWithTypeParameterChildren: () => mB,
        isDeclarationWithTypeParameters: () => dB,
        isDecorator: () => ol,
        isDecoratorTarget: () => Gse,
        isDefaultClause: () => ID,
        isDefaultImport: () => sS,
        isDefaultModifier: () => xF,
        isDefaultedExpandoInitializer: () => kK,
        isDeleteExpression: () => Lte,
        isDeleteTarget: () => IB,
        isDeprecatedDeclaration: () => V9,
        isDestructuringAssignment: () => p0,
        isDiskPathRoot: () => gj,
        isDoStatement: () => _0e,
        isDocumentRegistryEntry: () => rA,
        isDotDotDotToken: () => SF,
        isDottedName: () => nN,
        isDynamicName: () => y5,
        isEffectiveExternalModule: () => IC,
        isEffectiveStrictModeSourceFile: () => _B,
        isElementAccessChain: () => Lj,
        isElementAccessExpression: () => oo,
        isEmittedFileOfProgram: () => bie,
        isEmptyArrayLiteral: () => iee,
        isEmptyBindingElement: () => eZ,
        isEmptyBindingPattern: () => KY,
        isEmptyObjectLiteral: () => oJ,
        isEmptyStatement: () => mz,
        isEmptyStringLiteral: () => TB,
        isEntityName: () => Zu,
        isEntityNameExpression: () => Za,
        isEnumConst: () => B1,
        isEnumDeclaration: () => rv,
        isEnumMember: () => kh,
        isEqualityOperatorKind: () => R9,
        isEqualsGreaterThanToken: () => wte,
        isExclamationToken: () => ON,
        isExcludedFile: () => Wre,
        isExclusivelyTypeOnlyImportOrExport: () => pU,
        isExpandoPropertyDeclaration: () => Px,
        isExportAssignment: () => Fo,
        isExportDeclaration: () => Mc,
        isExportModifier: () => Ox,
        isExportName: () => RF,
        isExportNamespaceAsDefaultDeclaration: () => U7,
        isExportOrDefaultModifier: () => HN,
        isExportSpecifier: () => Eu,
        isExportsIdentifier: () => rS,
        isExportsOrModuleExportsOrAlias: () => Xb,
        isExpression: () => ut,
        isExpressionNode: () => qm,
        isExpressionOfExternalModuleImportEqualsDeclaration: () => Qse,
        isExpressionOfOptionalChainRoot: () => T7,
        isExpressionStatement: () => Dl,
        isExpressionWithTypeArguments: () => Th,
        isExpressionWithTypeArgumentsInClassExtendsClause: () => A5,
        isExternalModule: () => ll,
        isExternalModuleAugmentation: () => xb,
        isExternalModuleImportEqualsDeclaration: () => z1,
        isExternalModuleIndicator: () => u3,
        isExternalModuleNameRelative: () => xl,
        isExternalModuleReference: () => xh,
        isExternalModuleSymbol: () => rx,
        isExternalOrCommonJsModule: () => Y_,
        isFileLevelReservedGeneratedIdentifier: () => i3,
        isFileLevelUniqueName: () => z7,
        isFileProbablyExternalModule: () => XN,
        isFirstDeclarationOfSymbolParameter: () => YV,
        isFixablePromiseHandler: () => wq,
        isForInOrOfStatement: () => Q2,
        isForInStatement: () => wF,
        isForInitializer: () => ep,
        isForOfStatement: () => RN,
        isForStatement: () => tv,
        isFullSourceFile: () => Pg,
        isFunctionBlock: () => kb,
        isFunctionBody: () => Gj,
        isFunctionDeclaration: () => Tc,
        isFunctionExpression: () => mo,
        isFunctionExpressionOrArrowFunction: () => My,
        isFunctionLike: () => Cs,
        isFunctionLikeDeclaration: () => to,
        isFunctionLikeKind: () => ZT,
        isFunctionLikeOrClassStaticBlockDeclaration: () => DC,
        isFunctionOrConstructorTypeNode: () => TZ,
        isFunctionOrModuleBlock: () => Wj,
        isFunctionSymbol: () => DK,
        isFunctionTypeNode: () => $m,
        isGeneratedIdentifier: () => Mo,
        isGeneratedPrivateIdentifier: () => $2,
        isGetAccessor: () => kg,
        isGetAccessorDeclaration: () => lp,
        isGetOrSetAccessorDeclaration: () => n3,
        isGlobalScopeAugmentation: () => Vm,
        isGlobalSourceFile: () => u0,
        isGrammarError: () => qZ,
        isHeritageClause: () => nf,
        isHoistedFunction: () => X7,
        isHoistedVariableStatement: () => Q7,
        isIdentifier: () => Me,
        isIdentifierANonContextualKeyword: () => RB,
        isIdentifierName: () => LK,
        isIdentifierOrThisTypeNode: () => lre,
        isIdentifierPart: () => fh,
        isIdentifierStart: () => Jm,
        isIdentifierText: () => F_,
        isIdentifierTypePredicate: () => mK,
        isIdentifierTypeReference: () => Wee,
        isIfStatement: () => ev,
        isIgnoredFileFromWildCardWatching: () => S8,
        isImplicitGlob: () => EJ,
        isImportAttribute: () => Jte,
        isImportAttributeName: () => bZ,
        isImportAttributes: () => TS,
        isImportCall: () => y_,
        isImportClause: () => sd,
        isImportDeclaration: () => Wo,
        isImportEqualsDeclaration: () => cl,
        isImportKeyword: () => ED,
        isImportMeta: () => LC,
        isImportOrExportSpecifier: () => by,
        isImportOrExportSpecifierName: () => Sae,
        isImportSpecifier: () => qu,
        isImportTypeAssertionContainer: () => m0e,
        isImportTypeNode: () => dm,
        isImportable: () => gq,
        isInComment: () => k0,
        isInCompoundLikeAssignment: () => AB,
        isInExpressionContext: () => s5,
        isInJSDoc: () => M4,
        isInJSFile: () => an,
        isInJSXText: () => nae,
        isInJsonFile: () => o5,
        isInNonReferenceComment: () => lae,
        isInReferenceComment: () => cae,
        isInRightSideOfInternalImportEqualsDeclaration: () => p9,
        isInString: () => ik,
        isInTemplateString: () => PV,
        isInTopLevelContext: () => r5,
        isInTypeQuery: () => mx,
        isIncrementalBuildInfo: () => D8,
        isIncrementalBundleEmitBuildInfo: () => zie,
        isIncrementalCompilation: () => Mb,
        isIndexSignatureDeclaration: () => Jy,
        isIndexedAccessTypeNode: () => Wb,
        isInferTypeNode: () => gS,
        isInfinityOrNaNString: () => gD,
        isInitializedProperty: () => _8,
        isInitializedVariable: () => cN,
        isInsideJsxElement: () => x9,
        isInsideJsxElementOrAttribute: () => rae,
        isInsideNodeModules: () => Y8,
        isInsideTemplateLiteral: () => z8,
        isInstanceOfExpression: () => I5,
        isInstantiatedModule: () => NW,
        isInterfaceDeclaration: () => Jl,
        isInternalDeclaration: () => RZ,
        isInternalModuleImportEqualsDeclaration: () => tS,
        isInternalName: () => Az,
        isIntersectionTypeNode: () => Bx,
        isIntrinsicJsxName: () => HC,
        isIterationStatement: () => xy,
        isJSDoc: () => Nd,
        isJSDocAllType: () => Hte,
        isJSDocAugmentsTag: () => Vx,
        isJSDocAuthorTag: () => b0e,
        isJSDocCallbackTag: () => vz,
        isJSDocClassTag: () => $te,
        isJSDocCommentContainingNode: () => I7,
        isJSDocConstructSignature: () => fx,
        isJSDocDeprecatedTag: () => kz,
        isJSDocEnumTag: () => BN,
        isJSDocFunctionType: () => m6,
        isJSDocImplementsTag: () => OF,
        isJSDocImportTag: () => vm,
        isJSDocIndexSignature: () => l5,
        isJSDocLikeText: () => Jz,
        isJSDocLink: () => Vte,
        isJSDocLinkCode: () => qte,
        isJSDocLinkLike: () => tx,
        isJSDocLinkPlain: () => y0e,
        isJSDocMemberName: () => sv,
        isJSDocNameReference: () => FD,
        isJSDocNamepathType: () => v0e,
        isJSDocNamespaceBody: () => fhe,
        isJSDocNode: () => wC,
        isJSDocNonNullableType: () => NF,
        isJSDocNullableType: () => d6,
        isJSDocOptionalParameter: () => oF,
        isJSDocOptionalType: () => yz,
        isJSDocOverloadTag: () => g6,
        isJSDocOverrideTag: () => IF,
        isJSDocParameterTag: () => Af,
        isJSDocPrivateTag: () => Sz,
        isJSDocPropertyLikeTag: () => S4,
        isJSDocPropertyTag: () => Xte,
        isJSDocProtectedTag: () => Tz,
        isJSDocPublicTag: () => bz,
        isJSDocReadonlyTag: () => xz,
        isJSDocReturnTag: () => FF,
        isJSDocSatisfiesExpression: () => zJ,
        isJSDocSatisfiesTag: () => LF,
        isJSDocSeeTag: () => S0e,
        isJSDocSignature: () => x0,
        isJSDocTag: () => PC,
        isJSDocTemplateTag: () => Bp,
        isJSDocThisTag: () => Cz,
        isJSDocThrowsTag: () => x0e,
        isJSDocTypeAlias: () => Op,
        isJSDocTypeAssertion: () => Gb,
        isJSDocTypeExpression: () => iv,
        isJSDocTypeLiteral: () => kS,
        isJSDocTypeTag: () => OD,
        isJSDocTypedefTag: () => CS,
        isJSDocUnknownTag: () => T0e,
        isJSDocUnknownType: () => Gte,
        isJSDocVariadicType: () => AF,
        isJSXTagName: () => jC,
        isJsonEqual: () => nF,
        isJsonSourceFile: () => rp,
        isJsxAttribute: () => ym,
        isJsxAttributeLike: () => N7,
        isJsxAttributeName: () => Qee,
        isJsxAttributes: () => qb,
        isJsxCallLike: () => LZ,
        isJsxChild: () => p3,
        isJsxClosingElement: () => Vb,
        isJsxClosingFragment: () => Wte,
        isJsxElement: () => hm,
        isJsxExpression: () => f6,
        isJsxFragment: () => nv,
        isJsxNamespacedName: () => Pd,
        isJsxOpeningElement: () => wd,
        isJsxOpeningFragment: () => ad,
        isJsxOpeningLikeElement: () => ku,
        isJsxOpeningLikeElementTagName: () => $se,
        isJsxSelfClosingElement: () => xS,
        isJsxSpreadAttribute: () => Ux,
        isJsxTagNameExpression: () => E4,
        isJsxText: () => Ix,
        isJumpStatementTarget: () => R8,
        isKeyword: () => b_,
        isKeywordOrPunctuation: () => m5,
        isKnownSymbol: () => G4,
        isLabelName: () => bV,
        isLabelOfLabeledStatement: () => vV,
        isLabeledStatement: () => Wy,
        isLateVisibilityPaintedStatement: () => q7,
        isLeftHandSideExpression: () => h_,
        isLet: () => $7,
        isLineBreak: () => Su,
        isLiteralComputedPropertyDeclarationName: () => H3,
        isLiteralExpression: () => G2,
        isLiteralExpressionOfObject: () => Bj,
        isLiteralImportTypeNode: () => mh,
        isLiteralKind: () => T4,
        isLiteralNameOfPropertyDeclarationOrIndexAccess: () => g9,
        isLiteralTypeLiteral: () => EZ,
        isLiteralTypeNode: () => S0,
        isLocalName: () => Ch,
        isLogicalOperator: () => tee,
        isLogicalOrCoalescingAssignmentExpression: () => nJ,
        isLogicalOrCoalescingAssignmentOperator: () => Z4,
        isLogicalOrCoalescingBinaryExpression: () => rN,
        isLogicalOrCoalescingBinaryOperator: () => N5,
        isMappedTypeNode: () => yS,
        isMemberName: () => xg,
        isMetaProperty: () => bS,
        isMethodDeclaration: () => Ko,
        isMethodOrAccessor: () => KT,
        isMethodSignature: () => id,
        isMinusToken: () => uz,
        isMissingDeclaration: () => h0e,
        isMissingPackageJsonInfo: () => Kre,
        isModifier: () => Ys,
        isModifierKind: () => Sy,
        isModifierLike: () => Ro,
        isModuleAugmentationExternal: () => lB,
        isModuleBlock: () => mm,
        isModuleBody: () => wZ,
        isModuleDeclaration: () => Lc,
        isModuleExportName: () => PF,
        isModuleExportsAccessExpression: () => Ng,
        isModuleIdentifier: () => CB,
        isModuleName: () => fre,
        isModuleOrEnumDeclaration: () => _3,
        isModuleReference: () => FZ,
        isModuleSpecifierLike: () => A9,
        isModuleWithStringLiteralName: () => V7,
        isNameOfFunctionDeclaration: () => kV,
        isNameOfModuleDeclaration: () => xV,
        isNamedDeclaration: () => kl,
        isNamedEvaluation: () => Z_,
        isNamedEvaluationSource: () => jB,
        isNamedExportBindings: () => Rj,
        isNamedExports: () => _p,
        isNamedImportBindings: () => $j,
        isNamedImports: () => gm,
        isNamedImportsOrExports: () => j5,
        isNamedTupleMember: () => o6,
        isNamespaceBody: () => _he,
        isNamespaceExport: () => Xm,
        isNamespaceExportDeclaration: () => jN,
        isNamespaceImport: () => jg,
        isNamespaceReexportDeclaration: () => TK,
        isNewExpression: () => Ub,
        isNewExpressionTarget: () => _w,
        isNewScopeNode: () => nte,
        isNoSubstitutionTemplateLiteral: () => mS,
        isNodeArray: () => hb,
        isNodeArrayMultiLine: () => uee,
        isNodeDescendantOf: () => wb,
        isNodeKind: () => k7,
        isNodeLikeSystem: () => qR,
        isNodeModulesDirectory: () => u7,
        isNodeWithPossibleHoistedDeclaration: () => FK,
        isNonContextualKeyword: () => MB,
        isNonGlobalAmbientModule: () => cB,
        isNonNullAccess: () => Xee,
        isNonNullChain: () => x7,
        isNonNullExpression: () => zx,
        isNonStaticMethodOrAccessorWithPrivateName: () => Ine,
        isNotEmittedStatement: () => zte,
        isNullishCoalesce: () => Mj,
        isNumber: () => ly,
        isNumericLiteral: () => T_,
        isNumericLiteralName: () => Mg,
        isObjectBindingElementWithoutPropertyName: () => q8,
        isObjectBindingOrAssignmentElement: () => o3,
        isObjectBindingOrAssignmentPattern: () => Uj,
        isObjectBindingPattern: () => Nf,
        isObjectLiteralElement: () => Xj,
        isObjectLiteralElementLike: () => dh,
        isObjectLiteralExpression: () => ua,
        isObjectLiteralMethod: () => Fp,
        isObjectLiteralOrClassExpressionMethodOrAccessor: () => Z7,
        isObjectTypeDeclaration: () => bx,
        isOmittedExpression: () => gl,
        isOptionalChain: () => Tu,
        isOptionalChainRoot: () => y4,
        isOptionalDeclaration: () => Dx,
        isOptionalJSDocPropertyLikeTag: () => xN,
        isOptionalTypeNode: () => kF,
        isOuterExpression: () => jF,
        isOutermostOptionalChain: () => v4,
        isOverrideModifier: () => Ite,
        isPackageJsonInfo: () => lO,
        isPackedArrayLiteral: () => BJ,
        isParameter: () => Ii,
        isParameterPropertyDeclaration: () => X_,
        isParameterPropertyModifier: () => x4,
        isParenthesizedExpression: () => n_,
        isParenthesizedTypeNode: () => hS,
        isParseTreeNode: () => h4,
        isPartOfParameterDeclaration: () => H1,
        isPartOfTypeNode: () => sm,
        isPartOfTypeOnlyImportOrExportDeclaration: () => vZ,
        isPartOfTypeQuery: () => a5,
        isPartiallyEmittedExpression: () => Mte,
        isPatternMatch: () => QI,
        isPinnedComment: () => W7,
        isPlainJsFile: () => w4,
        isPlusToken: () => lz,
        isPossiblyTypeArgumentPosition: () => J8,
        isPostfixUnaryExpression: () => dz,
        isPrefixUnaryExpression: () => K1,
        isPrimitiveLiteralValue: () => uF,
        isPrivateIdentifier: () => Ai,
        isPrivateIdentifierClassElementDeclaration: () => xu,
        isPrivateIdentifierPropertyAccessExpression: () => EC,
        isPrivateIdentifierSymbol: () => jK,
        isProgramUptoDate: () => hU,
        isPrologueDirective: () => im,
        isPropertyAccessChain: () => S7,
        isPropertyAccessEntityNameExpression: () => iN,
        isPropertyAccessExpression: () => wn,
        isPropertyAccessOrQualifiedName: () => l3,
        isPropertyAccessOrQualifiedNameOrImportTypeNode: () => kZ,
        isPropertyAssignment: () => Kc,
        isPropertyDeclaration: () => as,
        isPropertyName: () => Wc,
        isPropertyNameLiteral: () => am,
        isPropertySignature: () => Vu,
        isPrototypeAccess: () => Fy,
        isPrototypePropertyAssignment: () => B3,
        isPunctuation: () => LB,
        isPushOrUnshiftIdentifier: () => BB,
        isQualifiedName: () => t_,
        isQuestionDotToken: () => TF,
        isQuestionOrExclamationToken: () => cre,
        isQuestionOrPlusOrMinusToken: () => _re,
        isQuestionToken: () => By,
        isReadonlyKeyword: () => Nte,
        isReadonlyKeywordOrPlusOrMinusToken: () => ure,
        isRecognizedTripleSlashComment: () => nB,
        isReferenceFileLocation: () => F6,
        isReferencedFile: () => pv,
        isRegularExpressionLiteral: () => oz,
        isRequireCall: () => v_,
        isRequireVariableStatement: () => F3,
        isRestParameter: () => Wm,
        isRestTypeNode: () => CF,
        isReturnStatement: () => Sf,
        isReturnStatementWithFixablePromiseHandler: () => Z9,
        isRightSideOfAccessExpression: () => aJ,
        isRightSideOfInstanceofExpression: () => nee,
        isRightSideOfPropertyAccess: () => j6,
        isRightSideOfQualifiedName: () => Xse,
        isRightSideOfQualifiedNameOrPropertyAccess: () => K4,
        isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName: () => ree,
        isRootedDiskPath: () => $_,
        isSameEntityName: () => BC,
        isSatisfiesExpression: () => u6,
        isSemicolonClassElement: () => Rte,
        isSetAccessor: () => rm,
        isSetAccessorDeclaration: () => R_,
        isShiftOperatorOrHigher: () => Rz,
        isShorthandAmbientModuleSymbol: () => y3,
        isShorthandPropertyAssignment: () => fu,
        isSideEffectImport: () => HJ,
        isSignedNumericLiteral: () => h5,
        isSimpleCopiableExpression: () => Qb,
        isSimpleInlineableExpression: () => Zm,
        isSimpleParameterList: () => f8,
        isSingleOrDoubleQuote: () => O3,
        isSolutionConfig: () => aW,
        isSourceElement: () => Zee,
        isSourceFile: () => Di,
        isSourceFileFromLibrary: () => $6,
        isSourceFileJS: () => Ku,
        isSourceFileNotJson: () => c5,
        isSourceMapping: () => Pne,
        isSpecialPropertyDeclaration: () => EK,
        isSpreadAssignment: () => Bg,
        isSpreadElement: () => up,
        isStatement: () => Ti,
        isStatementButNotDeclaration: () => f3,
        isStatementOrBlock: () => IZ,
        isStatementWithLocals: () => VZ,
        isStatic: () => Bs,
        isStaticModifier: () => Lx,
        isString: () => ms,
        isStringANonContextualKeyword: () => dx,
        isStringAndEmptyAnonymousObjectIntersection: () => oae,
        isStringDoubleQuoted: () => u5,
        isStringLiteral: () => oa,
        isStringLiteralLike: () => Ma,
        isStringLiteralOrJsxExpression: () => OZ,
        isStringLiteralOrTemplate: () => Cae,
        isStringOrNumericLiteralLike: () => wf,
        isStringOrRegularExpressionOrTemplateLiteral: () => IV,
        isStringTextContainingNode: () => Jj,
        isSuperCall: () => eS,
        isSuperKeyword: () => CD,
        isSuperProperty: () => O_,
        isSupportedSourceFileName: () => AJ,
        isSwitchStatement: () => ND,
        isSyntaxList: () => h6,
        isSyntheticExpression: () => u0e,
        isSyntheticReference: () => Wx,
        isTagName: () => SV,
        isTaggedTemplateExpression: () => Z1,
        isTaggedTemplateTag: () => Hse,
        isTemplateExpression: () => DF,
        isTemplateHead: () => Fx,
        isTemplateLiteral: () => ex,
        isTemplateLiteralKind: () => vy,
        isTemplateLiteralToken: () => hZ,
        isTemplateLiteralTypeNode: () => Ote,
        isTemplateLiteralTypeSpan: () => pz,
        isTemplateMiddle: () => cz,
        isTemplateMiddleOrTemplateTail: () => C7,
        isTemplateSpan: () => _6,
        isTemplateTail: () => bF,
        isTextWhiteSpaceLike: () => pae,
        isThis: () => B6,
        isThisContainerOrFunctionBlock: () => vK,
        isThisIdentifier: () => Iy,
        isThisInTypeQuery: () => Ib,
        isThisInitializedDeclaration: () => n5,
        isThisInitializedObjectBindingExpression: () => SK,
        isThisProperty: () => w3,
        isThisTypeNode: () => wD,
        isThisTypeParameter: () => hD,
        isThisTypePredicate: () => gK,
        isThrowStatement: () => hz,
        isToken: () => YT,
        isTokenKind: () => jj,
        isTraceEnabled: () => Vy,
        isTransientSymbol: () => Cg,
        isTrivia: () => VC,
        isTryStatement: () => SS,
        isTupleTypeNode: () => jx,
        isTypeAlias: () => W3,
        isTypeAliasDeclaration: () => jp,
        isTypeAssertionExpression: () => EF,
        isTypeDeclaration: () => Ex,
        isTypeElement: () => yb,
        isTypeKeyword: () => mw,
        isTypeKeywordTokenOrIdentifier: () => w9,
        isTypeLiteralNode: () => r_,
        isTypeNode: () => li,
        isTypeNodeKind: () => gJ,
        isTypeOfExpression: () => c6,
        isTypeOnlyExportDeclaration: () => yZ,
        isTypeOnlyImportDeclaration: () => CC,
        isTypeOnlyImportOrExportDeclaration: () => c0,
        isTypeOperatorNode: () => Y1,
        isTypeParameterDeclaration: () => Io,
        isTypePredicateNode: () => Rx,
        isTypeQueryNode: () => Jb,
        isTypeReferenceNode: () => rf,
        isTypeReferenceType: () => O7,
        isTypeUsableAsPropertyName: () => op,
        isUMDExportSymbol: () => R5,
        isUnaryExpression: () => Hj,
        isUnaryExpressionWithWrite: () => CZ,
        isUnicodeIdentifierStart: () => f7,
        isUnionTypeNode: () => b0,
        isUrl: () => IY,
        isValidBigIntString: () => iF,
        isValidESSymbolDeclaration: () => pK,
        isValidTypeOnlyAliasUseSite: () => $1,
        isValueSignatureDeclaration: () => aS,
        isVarAwaitUsing: () => x3,
        isVarConst: () => OC,
        isVarConstLike: () => lK,
        isVarUsing: () => k3,
        isVariableDeclaration: () => ei,
        isVariableDeclarationInVariableStatement: () => I4,
        isVariableDeclarationInitializedToBareOrAccessedRequire: () => Cb,
        isVariableDeclarationInitializedToRequire: () => I3,
        isVariableDeclarationList: () => Bl,
        isVariableLike: () => A4,
        isVariableStatement: () => Pc,
        isVoidExpression: () => Jx,
        isWatchSet: () => pJ,
        isWhileStatement: () => gz,
        isWhiteSpaceLike: () => bg,
        isWhiteSpaceSingleLine: () => em,
        isWithStatement: () => jte,
        isWriteAccess: () => vx,
        isWriteOnlyAccess: () => M5,
        isYieldExpression: () => MN,
        jsxModeNeedsExplicitImport: () => pq,
        keywordPart: () => cf,
        last: () => fa,
        lastOrUndefined: () => ko,
        length: () => wr,
        libMap: () => qz,
        libs: () => qF,
        lineBreakPart: () => q6,
        loadModuleFromGlobalCache: () => _ne,
        loadWithModeAwareCache: () => x8,
        makeIdentifierFromModuleName: () => YZ,
        makeImport: () => Yy,
        makeStringLiteral: () => gw,
        mangleScopedPackageName: () => w6,
        map: () => hr,
        mapAllOrFail: () => kR,
        mapDefined: () => Fi,
        mapDefinedIterator: () => sy,
        mapEntries: () => KX,
        mapIterator: () => XE,
        mapOneOrMany: () => lq,
        mapToDisplayParts: () => Zy,
        matchFiles: () => wJ,
        matchPatternOrExact: () => FJ,
        matchedText: () => pQ,
        matchesExclude: () => iO,
        matchesExcludeWorker: () => sO,
        maxBy: () => RR,
        maybeBind: () => Fs,
        maybeSetLocalizedDiagnosticMessages: () => vee,
        memoize: () => Bu,
        memoizeOne: () => Kd,
        min: () => jR,
        minAndMax: () => Bee,
        missingFileModifiedTime: () => G_,
        modifierToFlag: () => hx,
        modifiersToFlags: () => lm,
        moduleExportNameIsDefault: () => Um,
        moduleExportNameTextEscaped: () => Tb,
        moduleExportNameTextUnescaped: () => Dy,
        moduleOptionDeclaration: () => kre,
        moduleResolutionIsEqualTo: () => WZ,
        moduleResolutionNameAndModeGetter: () => MO,
        moduleResolutionOptionDeclarations: () => Gz,
        moduleResolutionSupportsPackageJsonExportsAndImports: () => KC,
        moduleResolutionUsesNodeModules: () => P9,
        moduleSpecifierToValidIdentifier: () => K8,
        moduleSpecifiers: () => Dh,
        moduleSupportsImportAttributes: () => Eee,
        moduleSymbolToValidIdentifier: () => Z8,
        moveEmitHelpers: () => hte,
        moveRangeEnd: () => O5,
        moveRangePastDecorators: () => bh,
        moveRangePastModifiers: () => um,
        moveRangePos: () => G1,
        moveSyntheticComments: () => dte,
        mutateMap: () => iD,
        mutateMapSkippingNewValues: () => Ig,
        needsParentheses: () => L9,
        needsScopeMarker: () => w7,
        newCaseClauseTracker: () => G9,
        newPrivateEnvironment: () => One,
        noEmitNotification: () => g8,
        noEmitSubstitution: () => ew,
        noTransformers: () => _ie,
        noTruncationMaximumTruncationLength: () => Zj,
        nodeCanBeDecorated: () => N3,
        nodeCoreModules: () => n6,
        nodeHasName: () => e3,
        nodeIsDecorated: () => RC,
        nodeIsMissing: () => ac,
        nodeIsPresent: () => Ip,
        nodeIsSynthesized: () => ao,
        nodeModuleNameResolver: () => ine,
        nodeModulesPathPart: () => Jg,
        nodeNextJsonConfigResolver: () => sne,
        nodeOrChildIsDecorated: () => A3,
        nodeOverlapsWithStartEnd: () => h9,
        nodePosToString: () => mhe,
        nodeSeenTracker: () => W6,
        nodeStartsNewLexicalEnvironment: () => JB,
        noop: () => Ua,
        noopFileWatcher: () => M6,
        normalizePath: () => qs,
        normalizeSlashes: () => Rl,
        normalizeSpans: () => Dj,
        not: () => ZI,
        notImplemented: () => Us,
        notImplementedResolver: () => gie,
        nullNodeConverters: () => _te,
        nullParenthesizerRules: () => lte,
        nullTransformationContext: () => y8,
        objectAllocator: () => Yl,
        operatorPart: () => yw,
        optionDeclarations: () => od,
        optionMapToObject: () => ZF,
        optionsAffectingProgramStructure: () => wre,
        optionsForBuild: () => Xz,
        optionsForWatch: () => Xx,
        optionsHaveChanges: () => nx,
        or: () => H_,
        orderedRemoveItem: () => KE,
        orderedRemoveItemAt: () => py,
        packageIdToPackageName: () => J7,
        packageIdToString: () => j1,
        parameterIsThisKeyword: () => Ay,
        parameterNamePart: () => mae,
        parseBaseNodeFactory: () => yre,
        parseBigInt: () => zee,
        parseBuildCommand: () => Mre,
        parseCommandLine: () => Ore,
        parseCommandLineWorker: () => Qz,
        parseConfigFileTextToJson: () => Zz,
        parseConfigFileWithSystem: () => tse,
        parseConfigHostFromCompilerHostLike: () => WO,
        parseCustomTypeOption: () => XF,
        parseIsolatedEntityName: () => $x,
        parseIsolatedJSDocComment: () => bre,
        parseJSDocTypeExpressionForTests: () => G0e,
        parseJsonConfigFileContent: () => xye,
        parseJsonSourceFileConfigFileContent: () => r8,
        parseJsonText: () => QN,
        parseListTypeOption: () => Ire,
        parseNodeFactory: () => ov,
        parseNodeModuleFromPath: () => a8,
        parsePackageName: () => fO,
        parsePseudoBigInt: () => pD,
        parseValidBigInt: () => RJ,
        pasteEdits: () => fG,
        patchWriteFileEnsuringDirectory: () => AY,
        pathContainsNodeModules: () => Hy,
        pathIsAbsolute: () => c4,
        pathIsBareSpecifier: () => hj,
        pathIsRelative: () => vf,
        patternText: () => fQ,
        performIncrementalCompilation: () => rse,
        performance: () => SQ,
        positionBelongsToNode: () => CV,
        positionIsASICandidate: () => j9,
        positionIsSynthesized: () => Ed,
        positionsAreOnSameLine: () => sp,
        preProcessFile: () => I2e,
        probablyUsesSemicolons: () => Q8,
        processCommentPragmas: () => Uz,
        processPragmasIntoFields: () => Vz,
        processTaggedTemplateExpression: () => qW,
        programContainsEsModules: () => _ae,
        programContainsModules: () => uae,
        projectReferenceIsEqualTo: () => Kj,
        propertyNamePart: () => gae,
        pseudoBigIntToString: () => Rb,
        punctuationPart: () => Pu,
        pushIfUnique: () => Yf,
        quote: () => Sw,
        quotePreferenceFromString: () => WV,
        rangeContainsPosition: () => J6,
        rangeContainsPositionExclusive: () => j8,
        rangeContainsRange: () => S_,
        rangeContainsRangeExclusive: () => Yse,
        rangeContainsStartEnd: () => B8,
        rangeEndIsOnSameLineAsRangeStart: () => oN,
        rangeEndPositionsAreOnSameLine: () => cee,
        rangeEquals: () => PR,
        rangeIsOnSingleLine: () => uS,
        rangeOfNode: () => LJ,
        rangeOfTypeParameters: () => MJ,
        rangeOverlapsWithStartEnd: () => fw,
        rangeStartIsOnSameLineAsRangeEnd: () => lee,
        rangeStartPositionsAreOnSameLine: () => L5,
        readBuilderProgram: () => KO,
        readConfigFile: () => e8,
        readJson: () => XC,
        readJsonConfigFile: () => Rre,
        readJsonOrUndefined: () => cJ,
        reduceEachLeadingCommentRange: () => JY,
        reduceEachTrailingCommentRange: () => zY,
        reduceLeft: () => ju,
        reduceLeftIterator: () => XX,
        reducePathComponents: () => $T,
        refactor: () => lk,
        regExpEscape: () => Vhe,
        regularExpressionFlagToCharacterCode: () => Uge,
        relativeComplement: () => eQ,
        removeAllComments: () => PN,
        removeEmitHelper: () => a0e,
        removeExtension: () => vN,
        removeFileExtension: () => Uu,
        removeIgnoredPath: () => HO,
        removeMinAndVersionNumbers: () => zR,
        removePrefix: () => e4,
        removeSuffix: () => mC,
        removeTrailingDirectorySeparator: () => a0,
        repeatString: () => U8,
        replaceElement: () => IR,
        replaceFirstStar: () => fS,
        resolutionExtensionIsTSOrJson: () => lD,
        resolveConfigFileProjectName: () => XU,
        resolveJSModule: () => tne,
        resolveLibrary: () => _O,
        resolveModuleName: () => PS,
        resolveModuleNameFromCache: () => Kye,
        resolvePackageNameToPackageJson: () => uW,
        resolvePath: () => my,
        resolveProjectReferencePath: () => tk,
        resolveTripleslashReference: () => cU,
        resolveTypeReferenceDirective: () => Yre,
        resolvingEmptyArray: () => Yj,
        returnFalse: () => uh,
        returnNoopFileWatcher: () => cw,
        returnTrue: () => fb,
        returnUndefined: () => pb,
        returnsPromise: () => Dq,
        rewriteModuleSpecifier: () => Zx,
        sameFlatMap: () => YX,
        sameMap: () => Gc,
        sameMapping: () => U1e,
        scanTokenAtPosition: () => cK,
        scanner: () => zl,
        semanticDiagnosticsOptionDeclarations: () => Cre,
        serializeCompilerOptions: () => nW,
        server: () => OPe,
        servicesVersion: () => STe,
        setCommentRange: () => Yc,
        setConfigFileInOptions: () => iW,
        setConstantValue: () => gte,
        setEmitFlags: () => un,
        setGetSourceFileAsHashVersioned: () => ZO,
        setIdentifierAutoGenerate: () => IN,
        setIdentifierGeneratedImportReference: () => bte,
        setIdentifierTypeArguments: () => v0,
        setInternalEmitFlags: () => NN,
        setLocalizedDiagnosticMessages: () => yee,
        setNodeChildren: () => Qte,
        setNodeFlags: () => Vee,
        setObjectAllocator: () => hee,
        setOriginalNode: () => Cn,
        setParent: () => ja,
        setParentRecursive: () => X1,
        setPrivateIdentifier: () => AS,
        setSnippetElement: () => sz,
        setSourceMapRange: () => ga,
        setStackTraceLimit: () => Ege,
        setStartsOnNewLine: () => gF,
        setSyntheticLeadingComments: () => Q1,
        setSyntheticTrailingComments: () => Nx,
        setSys: () => Ige,
        setSysLog: () => wY,
        setTextRange: () => ct,
        setTextRangeEnd: () => r6,
        setTextRangePos: () => dD,
        setTextRangePosEnd: () => Dd,
        setTextRangePosWidth: () => jJ,
        setTokenSourceMapRange: () => pte,
        setTypeNode: () => yte,
        setUILocale: () => lQ,
        setValueDeclaration: () => B4,
        shouldAllowImportingTsExtension: () => P6,
        shouldPreserveConstEnums: () => Oy,
        shouldRewriteModuleSpecifier: () => z3,
        shouldUseUriStyleNodeCoreModules: () => q9,
        showModuleSpecifier: () => dee,
        signatureHasRestParameter: () => wu,
        signatureToDisplayParts: () => KV,
        single: () => AR,
        singleElementArray: () => qT,
        singleIterator: () => ZX,
        singleOrMany: () => jm,
        singleOrUndefined: () => yg,
        skipAlias: () => Ql,
        skipConstraint: () => BV,
        skipOuterExpressions: () => dc,
        skipParentheses: () => Ra,
        skipPartiallyEmittedExpressions: () => ed,
        skipTrivia: () => aa,
        skipTypeChecking: () => t6,
        skipTypeCheckingIgnoringNoCheck: () => Jee,
        skipTypeParentheses: () => z4,
        skipWhile: () => mQ,
        sliceAfter: () => OJ,
        some: () => ot,
        sortAndDeduplicate: () => ZE,
        sortAndDeduplicateDiagnostics: () => TC,
        sourceFileAffectingCompilerOptions: () => $z,
        sourceFileMayBeEmitted: () => Nb,
        sourceMapCommentRegExp: () => FW,
        sourceMapCommentRegExpDontCareLineStart: () => Ene,
        spacePart: () => lc,
        spanMap: () => CR,
        startEndContainsRange: () => _J,
        startEndOverlapsWithStartEnd: () => y9,
        startOnNewLine: () => Du,
        startTracing: () => CQ,
        startsWith: () => Ui,
        startsWithDirectory: () => bj,
        startsWithUnderscore: () => fq,
        startsWithUseStrict: () => nre,
        stringContainsAt: () => Iae,
        stringToToken: () => U2,
        stripQuotes: () => Lp,
        supportedDeclarationExtensions: () => eF,
        supportedJSExtensionsFlat: () => e6,
        supportedLocaleDirectories: () => rZ,
        supportedTSExtensionsFlat: () => PJ,
        supportedTSImplementationExtensions: () => gN,
        suppressLeadingAndTrailingTrivia: () => tf,
        suppressLeadingTrivia: () => KJ,
        suppressTrailingTrivia: () => ste,
        symbolEscapedNameNoDefault: () => N9,
        symbolName: () => sc,
        symbolNameNoDefault: () => VV,
        symbolToDisplayParts: () => vw,
        sys: () => fl,
        sysLog: () => WP,
        tagNamesAreEquivalent: () => lv,
        takeWhile: () => VR,
        targetOptionDeclaration: () => Hz,
        targetToLibMap: () => WY,
        testFormatSettings: () => e2e,
        textChangeRangeIsUnchanged: () => YY,
        textChangeRangeNewSpan: () => g4,
        textChanges: () => cn,
        textOrKeywordPart: () => ZV,
        textPart: () => Lf,
        textRangeContainsPositionInclusive: () => QP,
        textRangeContainsTextSpan: () => qY,
        textRangeIntersectsWithTextSpan: () => XY,
        textSpanContainsPosition: () => Cj,
        textSpanContainsTextRange: () => Ej,
        textSpanContainsTextSpan: () => VY,
        textSpanEnd: () => Yo,
        textSpanIntersection: () => QY,
        textSpanIntersectsWith: () => YP,
        textSpanIntersectsWithPosition: () => $Y,
        textSpanIntersectsWithTextSpan: () => GY,
        textSpanIsEmpty: () => UY,
        textSpanOverlap: () => HY,
        textSpanOverlapsWith: () => Yge,
        textSpansEqual: () => V6,
        textToKeywordObj: () => _7,
        timestamp: () => no,
        toArray: () => UT,
        toBuilderFileEmit: () => Vie,
        toBuilderStateFileInfoForMultiEmit: () => Uie,
        toEditorSettings: () => oA,
        toFileNameLowerCase: () => uy,
        toPath: () => io,
        toProgramEmitPending: () => qie,
        toSorted: () => q_,
        tokenIsIdentifierOrKeyword: () => m_,
        tokenIsIdentifierOrKeywordOrGreaterThan: () => OY,
        tokenToString: () => Vs,
        trace: () => es,
        tracing: () => on,
        tracingEnabled: () => zP,
        transferSourceFileChildren: () => Yte,
        transform: () => ATe,
        transformClassFields: () => Vne,
        transformDeclarations: () => XW,
        transformECMAScriptModule: () => $W,
        transformES2015: () => iie,
        transformES2016: () => nie,
        transformES2017: () => $ne,
        transformES2018: () => Xne,
        transformES2019: () => Qne,
        transformES2020: () => Yne,
        transformES2021: () => Zne,
        transformESDecorators: () => Gne,
        transformESNext: () => Kne,
        transformGenerators: () => sie,
        transformImpliedNodeFormatDependentModule: () => oie,
        transformJsx: () => rie,
        transformLegacyDecorators: () => Hne,
        transformModule: () => GW,
        transformNamedEvaluation: () => sf,
        transformNodes: () => h8,
        transformSystemModule: () => aie,
        transformTypeScript: () => Une,
        transpile: () => z2e,
        transpileDeclaration: () => B2e,
        transpileModule: () => toe,
        transpileOptionValueCompilerOptions: () => Pre,
        tryAddToSet: () => s0,
        tryAndIgnoreErrors: () => z9,
        tryCast: () => Bn,
        tryDirectoryExists: () => J9,
        tryExtractTSExtension: () => F5,
        tryFileExists: () => xw,
        tryGetClassExtendingExpressionWithTypeArguments: () => iJ,
        tryGetClassImplementingOrExtendingExpressionWithTypeArguments: () => sJ,
        tryGetDirectories: () => B9,
        tryGetExtensionFromPath: () => Lg,
        tryGetImportFromModuleSpecifier: () => J3,
        tryGetJSDocSatisfiesTypeNode: () => cF,
        tryGetModuleNameFromFile: () => VN,
        tryGetModuleSpecifierFromDeclaration: () => lx,
        tryGetNativePerformanceHooks: () => bQ,
        tryGetPropertyAccessOrIdentifierToString: () => sN,
        tryGetPropertyNameOfBindingOrAssignmentElement: () => JF,
        tryGetSourceMappingURL: () => Dne,
        tryGetTextOfPropertyName: () => N4,
        tryParseJson: () => aN,
        tryParsePattern: () => Cx,
        tryParsePatterns: () => bN,
        tryParseRawSourceMap: () => wne,
        tryReadDirectory: () => sq,
        tryReadFile: () => BD,
        tryRemoveDirectoryPrefix: () => CJ,
        tryRemoveExtension: () => jee,
        tryRemovePrefix: () => UR,
        tryRemoveSuffix: () => _Q,
        tscBuildOption: () => DS,
        typeAcquisitionDeclarations: () => GF,
        typeAliasNamePart: () => hae,
        typeDirectiveIsEqualTo: () => UZ,
        typeKeywords: () => jV,
        typeParameterNamePart: () => yae,
        typeToDisplayParts: () => G8,
        unchangedPollThresholds: () => i7,
        unchangedTextChangeRange: () => m7,
        unescapeLeadingUnderscores: () => Si,
        unmangleScopedPackageName: () => c8,
        unorderedRemoveItem: () => VT,
        unprefixedNodeCoreModules: () => rte,
        unreachableCodeIsError: () => kee,
        unsetNodeChildren: () => Dz,
        unusedLabelIsError: () => Cee,
        unwrapInnermostStatementOfLabel: () => bB,
        unwrapParenthesizedExpression: () => ete,
        updateErrorForNoInputFiles: () => nO,
        updateLanguageServiceSourceFile: () => eH,
        updateMissingFilePathsWatch: () => sU,
        updateResolutionField: () => k6,
        updateSharedExtendedConfigFileWatcher: () => IO,
        updateSourceFile: () => zz,
        updateWatchingWildcardDirectories: () => b8,
        usingSingleLineStringWriter: () => NC,
        utf16EncodeAsString: () => m4,
        validateLocaleAndSetLanguage: () => Pj,
        version: () => Qf,
        versionMajorMinor: () => $E,
        visitArray: () => GD,
        visitCommaListElements: () => bO,
        visitEachChild: () => br,
        visitFunctionBody: () => Of,
        visitIterationBody: () => i_,
        visitLexicalEnvironment: () => IW,
        visitNode: () => Qe,
        visitNodes: () => Ar,
        visitParameterList: () => cc,
        walkUpBindingElementsAndPatterns: () => V2,
        walkUpOuterExpressions: () => ire,
        walkUpParenthesizedExpressions: () => rd,
        walkUpParenthesizedTypes: () => q3,
        walkUpParenthesizedTypesAndGetParentAndChild: () => OK,
        whitespaceOrMapCommentRegExp: () => OW,
        writeCommentRange: () => $C,
        writeFile: () => D5,
        writeFileEnsuringDirectories: () => YB,
        zipWith: () => bR
      }), _C.exports = qI(lge);
      var $E = "5.9", Qf = "5.9.3", GX = /* @__PURE__ */ ((e) => (e[e.LessThan = -1] = "LessThan", e[e.EqualTo = 0] = "EqualTo", e[e.GreaterThan = 1] = "GreaterThan", e))(GX || {}), Ge = [], vR = /* @__PURE__ */ new Map();
      function wr(e) {
        return e !== void 0 ? e.length : 0;
      }
      function lr(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 $X(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 FP(e, t) {
        for (const n of e) {
          const i = t(n);
          if (i !== void 0)
            return i;
        }
      }
      function XX(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 bR(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 SR(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 Ni(e, t) {
        if (e !== void 0) {
          for (let n = 0; n < e.length; n++)
            if (!t(e[n], n))
              return false;
        }
        return true;
      }
      function Nn(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 ub(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 ic(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 HI(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 ds(e, t, n = _y) {
        if (e !== void 0) {
          for (let i = 0; i < e.length; i++)
            if (n(e[i], t))
              return true;
        }
        return false;
      }
      function QX(e, t, n) {
        for (let i = n ?? 0; i < e.length; i++)
          if (ds(t, e.charCodeAt(i)))
            return i;
        return -1;
      }
      function i0(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 kn(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 TR(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 Dp(e) {
        e.length = 0;
      }
      function hr(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* XE(e, t) {
        for (const n of e)
          yield t(n);
      }
      function Gc(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 wp(e) {
        const t = [];
        for (let n = 0; n < e.length; n++) {
          const i = e[n];
          i && (ss(i) ? In(t, i) : t.push(i));
        }
        return t;
      }
      function xa(e, t) {
        let n;
        if (e !== void 0)
          for (let i = 0; i < e.length; i++) {
            const s = t(e[i], i);
            s && (ss(s) ? n = In(n, s) : n = Er(n, s));
          }
        return n ?? Ge;
      }
      function QE(e, t) {
        const n = [];
        if (e !== void 0)
          for (let i = 0; i < e.length; i++) {
            const s = t(e[i], i);
            s && (ss(s) ? In(n, s) : n.push(s));
          }
        return n;
      }
      function* xR(e, t) {
        for (const n of e) {
          const i = t(n);
          i && (yield* i);
        }
      }
      function YX(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 || ss(o)) && (n || (n = e.slice(0, i)), ss(o) ? In(n, o) : n.push(o));
          }
        return n ?? e;
      }
      function kR(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 Fi(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 YE(e, t, n) {
        if (e.has(t))
          return e.get(t);
        const i = n();
        return e.set(t, i), i;
      }
      function s0(e, t) {
        return e.has(t) ? false : (e.add(t), true);
      }
      function* ZX(e) {
        yield e;
      }
      function CR(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 KX(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 ot(e, t) {
        if (e !== void 0)
          if (t !== void 0) {
            for (let n = 0; n < e.length; n++)
              if (t(e[n]))
                return true;
          } else
            return e.length > 0;
        return false;
      }
      function ER(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 Bi(e, t) {
        return t === void 0 || t.length === 0 ? e : e === void 0 || e.length === 0 ? t : [...e, ...t];
      }
      function R5e(e, t) {
        return t;
      }
      function GI(e) {
        return e.map(R5e);
      }
      function j5e(e, t, n) {
        const i = GI(e);
        z5e(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 B5e(e, t) {
        const n = [];
        for (let i = 0; i < e.length; i++)
          Yf(n, e[i], t);
        return n;
      }
      function _b(e, t, n) {
        return e.length === 0 ? [] : e.length === 1 ? e.slice() : n ? j5e(e, t, n) : B5e(e, t);
      }
      function J5e(e, t) {
        if (e.length === 0) return Ge;
        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 true:
            // relational comparison
            // falls through
            case 0:
              continue;
            case -1:
              return E.fail("Array is unsorted.");
          }
          i.push(n = o);
        }
        return i;
      }
      function DR() {
        return [];
      }
      function ay(e, t, n, i, s) {
        if (e.length === 0)
          return e.push(t), true;
        const o = cy(e, t, fo, n);
        if (o < 0) {
          if (i && !s) {
            const c = ~o;
            if (c > 0 && i(t, e[c - 1]))
              return false;
            if (c < e.length && i(t, e[c]))
              return e.splice(c, 1, t), true;
          }
          return e.splice(~o, 0, t), true;
        }
        return s ? (e.splice(o, 0, t), true) : false;
      }
      function ZE(e, t, n) {
        return J5e(q_(e, t), n ?? t ?? ou);
      }
      function yf(e, t, n = _y) {
        if (e === void 0 || t === void 0)
          return e === t;
        if (e.length !== t.length)
          return false;
        for (let i = 0; i < e.length; i++)
          if (!n(e[i], t[i], i))
            return false;
        return true;
      }
      function OP(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 eQ(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 Er(e, t) {
        return t === void 0 ? e : e === void 0 ? [t] : (e.push(t), e);
      }
      function JT(e, t) {
        return e === void 0 ? t : t === void 0 ? e : ss(e) ? ss(t) ? Bi(e, t) : Er(e, t) : ss(t) ? Er(t, e) : [e, t];
      }
      function tQ(e, t) {
        return t < 0 ? e.length + t : t;
      }
      function In(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 : tQ(t, n), i = i === void 0 ? t.length : tQ(t, i);
        for (let s = n; s < i && s < t.length; s++)
          t[s] !== void 0 && e.push(t[s]);
        return e;
      }
      function Yf(e, t, n) {
        return ds(e, t, n) ? false : (e.push(t), true);
      }
      function lh(e, t, n) {
        return e !== void 0 ? (Yf(e, t, n), e) : [t];
      }
      function z5e(e, t, n) {
        t.sort((i, s) => n(e[i], e[s]) || po(i, s));
      }
      function q_(e, t) {
        return e.length === 0 ? Ge : e.slice().sort(t);
      }
      function* wR(e) {
        for (let t = e.length - 1; t >= 0; t--)
          yield e[t];
      }
      function PR(e, t, n, i) {
        for (; n < i; ) {
          if (e[n] !== t[n])
            return false;
          n++;
        }
        return true;
      }
      var oy = Array.prototype.at ? (e, t) => e?.at(t) : (e, t) => {
        if (e !== void 0 && (t = tQ(e, t), t < e.length))
          return e[t];
      };
      function $c(e) {
        return e === void 0 || e.length === 0 ? void 0 : e[0];
      }
      function $I(e) {
        if (e !== void 0)
          for (const t of e)
            return t;
      }
      function ka(e) {
        return E.assert(e.length !== 0), e[0];
      }
      function NR(e) {
        for (const t of e)
          return t;
        E.fail("iterator is empty");
      }
      function ko(e) {
        return e === void 0 || e.length === 0 ? void 0 : e[e.length - 1];
      }
      function fa(e) {
        return E.assert(e.length !== 0), e[e.length - 1];
      }
      function yg(e) {
        return e !== void 0 && e.length === 1 ? e[0] : void 0;
      }
      function AR(e) {
        return E.checkDefined(yg(e));
      }
      function jm(e) {
        return e !== void 0 && e.length === 1 ? e[0] : e;
      }
      function IR(e, t, n) {
        const i = e.slice(0);
        return i[t] = n, i;
      }
      function cy(e, t, n, i, s) {
        return zT(e, n(t), n, i, s);
      }
      function zT(e, t, n, i, s) {
        if (!ot(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 ju(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 I1 = Object.prototype.hasOwnProperty;
      function Ya(e, t) {
        return I1.call(e, t);
      }
      function LP(e, t) {
        return I1.call(e, t) ? e[t] : void 0;
      }
      function Zd(e) {
        const t = [];
        for (const n in e)
          I1.call(e, n) && t.push(n);
        return t;
      }
      function uge(e) {
        const t = [];
        do {
          const n = Object.getOwnPropertyNames(e);
          for (const i of n)
            Yf(t, i);
        } while (e = Object.getPrototypeOf(e));
        return t;
      }
      function WT(e) {
        const t = [];
        for (const n in e)
          I1.call(e, n) && t.push(e[n]);
        return t;
      }
      function rQ(e, t) {
        const n = new Array(e);
        for (let i = 0; i < e; i++)
          n[i] = t(i);
        return n;
      }
      function ns(e, t) {
        const n = [];
        for (const i of e)
          n.push(t ? t(i) : i);
        return n;
      }
      function B2(e, ...t) {
        for (const n of t)
          if (n !== void 0)
            for (const i in n)
              Ya(n, i) && (e[i] = n[i]);
        return e;
      }
      function nQ(e, t, n = _y) {
        if (e === t) return true;
        if (!e || !t) return false;
        for (const i in e)
          if (I1.call(e, i) && (!I1.call(t, i) || !n(e[i], t[i])))
            return false;
        for (const i in t)
          if (I1.call(t, i) && !I1.call(e, i))
            return false;
        return true;
      }
      function fC(e, t, n = fo) {
        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 iQ(e, t, n = fo) {
        const i = [];
        for (let s = 0; s < e.length; s++) {
          const o = e[s];
          i[t(o)] = n(o);
        }
        return i;
      }
      function MP(e, t, n = fo) {
        const i = Pp();
        for (let s = 0; s < e.length; s++) {
          const o = e[s];
          i.add(t(o), n(o));
        }
        return i;
      }
      function pC(e, t, n = fo) {
        return ns(MP(e, t).values(), n);
      }
      function FR(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 sQ(e) {
        const t = {};
        for (const n in e)
          I1.call(e, n) && (t[n] = e[n]);
        return t;
      }
      function OR(e, t) {
        const n = {};
        for (const i in t)
          I1.call(t, i) && (n[i] = t[i]);
        for (const i in e)
          I1.call(e, i) && (n[i] = e[i]);
        return n;
      }
      function LR(e, t) {
        for (const n in t)
          I1.call(t, n) && (e[n] = t[n]);
      }
      function Fs(e, t) {
        return t?.bind(e);
      }
      function Pp() {
        const e = /* @__PURE__ */ new Map();
        return e.add = W5e, e.remove = U5e, e;
      }
      function W5e(e, t) {
        let n = this.get(e);
        return n !== void 0 ? n.push(t) : this.set(e, n = [t]), n;
      }
      function U5e(e, t) {
        const n = this.get(e);
        n !== void 0 && (VT(n, t), n.length || this.delete(e));
      }
      function RP(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 MR(e, t) {
        const n = /* @__PURE__ */ new Map();
        let i = 0;
        function* s() {
          for (const c of n.values())
            ss(c) ? yield* c : yield c;
        }
        const o = {
          has(c) {
            const _ = e(c);
            if (!n.has(_)) return false;
            const u = n.get(_);
            return ss(u) ? ds(u, c, t) : t(u, c);
          },
          add(c) {
            const _ = e(c);
            if (n.has(_)) {
              const u = n.get(_);
              if (ss(u))
                ds(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 false;
            const u = n.get(_);
            if (ss(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]) : pge(u, g), i--, true;
            } else if (t(u, c))
              return n.delete(_), i--, true;
            return false;
          },
          clear() {
            n.clear(), i = 0;
          },
          get size() {
            return i;
          },
          forEach(c) {
            for (const _ of ns(n.values()))
              if (ss(_))
                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 ss(e) {
        return Array.isArray(e);
      }
      function UT(e) {
        return ss(e) ? e : [e];
      }
      function ms(e) {
        return typeof e == "string";
      }
      function ly(e) {
        return typeof e == "number";
      }
      function Bn(e, t) {
        return e !== void 0 && t(e) ? e : void 0;
      }
      function Ws(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 uh() {
        return false;
      }
      function fb() {
        return true;
      }
      function pb() {
      }
      function fo(e) {
        return e;
      }
      function V5e(e) {
        return e.toLowerCase();
      }
      var _ge = /[^\u0130\u0131\u00DFa-z0-9\\/:\-_. ]+/g;
      function uy(e) {
        return _ge.test(e) ? e.replace(_ge, V5e) : e;
      }
      function Us() {
        throw new Error("Not implemented");
      }
      function Bu(e) {
        let t;
        return () => (e && (t = e(), e = void 0), t);
      }
      function Kd(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 aQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Normal = 1] = "Normal", e[e.Aggressive = 2] = "Aggressive", e[e.VeryAggressive = 3] = "VeryAggressive", e))(aQ || {});
      function _y(e, t) {
        return e === t;
      }
      function fy(e, t) {
        return e === t || e !== void 0 && t !== void 0 && e.toUpperCase() === t.toUpperCase();
      }
      function db(e, t) {
        return _y(e, t);
      }
      function fge(e, t) {
        return e === t ? 0 : e === void 0 ? -1 : t === void 0 ? 1 : e < t ? -1 : 1;
      }
      function po(e, t) {
        return fge(e, t);
      }
      function XI(e, t) {
        return po(e?.start, t?.start) || po(e?.length, t?.length);
      }
      function RR(e, t, n) {
        for (let i = 0; i < e.length; i++)
          t = Math.max(t, n(e[i]));
        return t;
      }
      function jR(e, t) {
        return ju(e, (n, i) => t(n, i) === -1 ? n : i);
      }
      function jP(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 oQ(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 ou(e, t) {
        return fge(e, t);
      }
      function dC(e) {
        return e ? jP : ou;
      }
      var q5e = /* @__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: true }).compare;
          return (s, o) => e(s, o, i);
        }
      })(), BR, JR;
      function cQ() {
        return JR;
      }
      function lQ(e) {
        JR !== e && (JR = e, BR = void 0);
      }
      function BP(e, t) {
        return BR ?? (BR = q5e(JR)), BR(e, t);
      }
      function uQ(e, t, n, i) {
        return e === t ? 0 : e === void 0 ? -1 : t === void 0 ? 1 : i(e[n], t[n]);
      }
      function F1(e, t) {
        return po(e ? 1 : 0, t ? 1 : 0);
      }
      function mb(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 = H5e(e, _, s - 0.1);
            if (u === void 0)
              continue;
            E.assert(u < s), s = u, o = c;
          }
        }
        return o;
      }
      function H5e(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 Co(e, t, n) {
        const i = e.length - t.length;
        return i >= 0 && (n ? fy(e.slice(i), t) : e.indexOf(t, i) === i);
      }
      function mC(e, t) {
        return Co(e, t) ? e.slice(0, e.length - t.length) : e;
      }
      function _Q(e, t) {
        return Co(e, t) ? e.slice(0, e.length - t.length) : void 0;
      }
      function zR(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 KE(e, t) {
        for (let n = 0; n < e.length; n++)
          if (e[n] === t)
            return py(e, n), true;
        return false;
      }
      function py(e, t) {
        for (let n = t; n < e.length - 1; n++)
          e[n] = e[n + 1];
        e.pop();
      }
      function pge(e, t) {
        e[t] = e[e.length - 1], e.pop();
      }
      function VT(e, t) {
        return G5e(e, (n) => n === t);
      }
      function G5e(e, t) {
        for (let n = 0; n < e.length; n++)
          if (t(e[n]))
            return pge(e, n), true;
        return false;
      }
      function $l(e) {
        return e ? fo : uy;
      }
      function fQ({ prefix: e, suffix: t }) {
        return `${e}*${t}`;
      }
      function pQ(e, t) {
        return E.assert(QI(e, t)), t.substring(e.prefix.length, t.length - e.suffix.length);
      }
      function WR(e, t, n) {
        let i, s = -1;
        for (let o = 0; o < e.length; o++) {
          const c = e[o], _ = t(c);
          _.prefix.length > s && QI(_, n) && (s = _.prefix.length, i = c);
        }
        return i;
      }
      function Ui(e, t, n) {
        return n ? fy(e.slice(0, t.length), t) : e.lastIndexOf(t, 0) === 0;
      }
      function e4(e, t) {
        return Ui(e, t) ? e.substr(t.length) : e;
      }
      function UR(e, t, n = fo) {
        return Ui(n(e), n(t)) ? e.substring(t.length) : void 0;
      }
      function QI({ prefix: e, suffix: t }, n) {
        return n.length >= e.length + t.length && Ui(n, e) && Co(n, t);
      }
      function YI(e, t) {
        return (n) => e(n) && t(n);
      }
      function H_(...e) {
        return (...t) => {
          let n;
          for (const i of e)
            if (n = i(...t), n)
              return n;
          return n;
        };
      }
      function ZI(e) {
        return (...t) => !e(...t);
      }
      function dge(e) {
      }
      function qT(e) {
        return e === void 0 ? void 0 : [e];
      }
      function KI(e, t, n, i, s, o) {
        o ?? (o = Ua);
        let c = 0, _ = 0;
        const u = e.length, g = t.length;
        let m = false;
        for (; c < u && _ < g; ) {
          const h = e[c], S = t[_], T = n(h, S);
          T === -1 ? (i(h), c++, m = true) : T === 1 ? (s(S), _++, m = true) : (o(S, h), c++, _++);
        }
        for (; c < u; )
          i(e[c++]), m = true;
        for (; _ < g; )
          s(t[_++]), m = true;
        return m;
      }
      function dQ(e) {
        const t = [];
        return mge(
          e,
          t,
          /*outer*/
          void 0,
          0
        ), t;
      }
      function mge(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) : mge(e, t, o, i + 1);
        }
      }
      function VR(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 mQ(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 qR() {
        return typeof process < "u" && !!process.nextTick && !process.browser && typeof D5e < "u";
      }
      var gQ = /* @__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))(gQ || {}), E;
      ((e) => {
        let t = 0;
        e.currentLogLevel = 2, e.isDebugging = false;
        function n(Je) {
          return e.currentLogLevel <= Je;
        }
        e.shouldLog = n;
        function i(Je, ft) {
          e.loggingHost && n(Je) && e.loggingHost.log(Je, ft);
        }
        function s(Je) {
          i(3, Je);
        }
        e.log = s, ((Je) => {
          function ft(Un) {
            i(1, Un);
          }
          Je.error = ft;
          function er(Un) {
            i(2, Un);
          }
          Je.warn = er;
          function qr(Un) {
            i(3, Un);
          }
          Je.log = qr;
          function Jn(Un) {
            i(4, Un);
          }
          Je.trace = Jn;
        })(s = e.log || (e.log = {}));
        const o = {};
        function c() {
          return t;
        }
        e.getAssertionLevel = c;
        function _(Je) {
          const ft = t;
          if (t = Je, Je > ft)
            for (const er of Zd(o)) {
              const qr = o[er];
              qr !== void 0 && e[er] !== qr.assertion && Je >= qr.level && (e[er] = qr, o[er] = void 0);
            }
        }
        e.setAssertionLevel = _;
        function u(Je) {
          return t >= Je;
        }
        e.shouldAssert = u;
        function g(Je, ft) {
          return u(Je) ? true : (o[ft] = { level: Je, assertion: e[ft] }, e[ft] = Ua, false);
        }
        function m(Je, ft) {
          debugger;
          const er = new Error(Je ? `Debug Failure. ${Je}` : "Debug Failure.");
          throw Error.captureStackTrace && Error.captureStackTrace(er, ft || m), er;
        }
        e.fail = m;
        function h(Je, ft, er) {
          return m(
            `${ft || "Unexpected node."}\r
Node ${be(Je.kind)} was unexpected.`,
            er || h
          );
        }
        e.failBadSyntaxKind = h;
        function S(Je, ft, er, qr) {
          Je || (ft = ft ? `False expression: ${ft}` : "False expression.", er && (ft += `\r
Verbose Debug Information: ` + (typeof er == "string" ? er : er())), m(ft, qr || S));
        }
        e.assert = S;
        function T(Je, ft, er, qr, Jn) {
          if (Je !== ft) {
            const Un = er ? qr ? `${er} ${qr}` : er : "";
            m(`Expected ${Je} === ${ft}. ${Un}`, Jn || T);
          }
        }
        e.assertEqual = T;
        function k(Je, ft, er, qr) {
          Je >= ft && m(`Expected ${Je} < ${ft}. ${er || ""}`, qr || k);
        }
        e.assertLessThan = k;
        function D(Je, ft, er) {
          Je > ft && m(`Expected ${Je} <= ${ft}`, er || D);
        }
        e.assertLessThanOrEqual = D;
        function P(Je, ft, er) {
          Je < ft && m(`Expected ${Je} >= ${ft}`, er || P);
        }
        e.assertGreaterThanOrEqual = P;
        function A(Je, ft, er) {
          Je == null && m(ft, er || A);
        }
        e.assertIsDefined = A;
        function O(Je, ft, er) {
          return A(Je, ft, er || O), Je;
        }
        e.checkDefined = O;
        function F(Je, ft, er) {
          for (const qr of Je)
            A(qr, ft, er || F);
        }
        e.assertEachIsDefined = F;
        function R(Je, ft, er) {
          return F(Je, ft, er || R), Je;
        }
        e.checkEachDefined = R;
        function B(Je, ft = "Illegal value:", er) {
          const qr = typeof Je == "object" && Ya(Je, "kind") && Ya(Je, "pos") ? "SyntaxKind: " + be(Je.kind) : JSON.stringify(Je);
          return m(`${ft} ${qr}`, er || B);
        }
        e.assertNever = B;
        function U(Je, ft, er, qr) {
          g(1, "assertEachNode") && S(
            ft === void 0 || Ni(Je, ft),
            er || "Unexpected node.",
            () => `Node array did not pass test '${se(ft)}'.`,
            qr || U
          );
        }
        e.assertEachNode = U;
        function $(Je, ft, er, qr) {
          g(1, "assertNode") && S(
            Je !== void 0 && (ft === void 0 || ft(Je)),
            er || "Unexpected node.",
            () => `Node ${be(Je?.kind)} did not pass test '${se(ft)}'.`,
            qr || $
          );
        }
        e.assertNode = $;
        function W(Je, ft, er, qr) {
          g(1, "assertNotNode") && S(
            Je === void 0 || ft === void 0 || !ft(Je),
            er || "Unexpected node.",
            () => `Node ${be(Je.kind)} should not have passed test '${se(ft)}'.`,
            qr || W
          );
        }
        e.assertNotNode = W;
        function _e(Je, ft, er, qr) {
          g(1, "assertOptionalNode") && S(
            ft === void 0 || Je === void 0 || ft(Je),
            er || "Unexpected node.",
            () => `Node ${be(Je?.kind)} did not pass test '${se(ft)}'.`,
            qr || _e
          );
        }
        e.assertOptionalNode = _e;
        function K(Je, ft, er, qr) {
          g(1, "assertOptionalToken") && S(
            ft === void 0 || Je === void 0 || Je.kind === ft,
            er || "Unexpected node.",
            () => `Node ${be(Je?.kind)} was not a '${be(ft)}' token.`,
            qr || K
          );
        }
        e.assertOptionalToken = K;
        function V(Je, ft, er) {
          g(1, "assertMissingNode") && S(
            Je === void 0,
            ft || "Unexpected node.",
            () => `Node ${be(Je.kind)} was unexpected'.`,
            er || V
          );
        }
        e.assertMissingNode = V;
        function ae(Je) {
        }
        e.type = ae;
        function se(Je) {
          if (typeof Je != "function")
            return "";
          if (Ya(Je, "name"))
            return Je.name;
          {
            const ft = Function.prototype.toString.call(Je), er = /^function\s+([\w$]+)\s*\(/.exec(ft);
            return er ? er[1] : "";
          }
        }
        e.getFunctionName = se;
        function ce(Je) {
          return `{ name: ${Si(Je.escapedName)}; flags: ${ne(Je.flags)}; declarations: ${hr(Je.declarations, (ft) => be(ft.kind))} }`;
        }
        e.formatSymbol = ce;
        function fe(Je = 0, ft, er) {
          const qr = q(ft);
          if (Je === 0)
            return qr.length > 0 && qr[0][0] === 0 ? qr[0][1] : "0";
          if (er) {
            const Jn = [];
            let Un = Je;
            for (const [ki, Es] of qr) {
              if (ki > Je)
                break;
              ki !== 0 && ki & Je && (Jn.push(Es), Un &= ~ki);
            }
            if (Un === 0)
              return Jn.join("|");
          } else
            for (const [Jn, Un] of qr)
              if (Jn === Je)
                return Un;
          return Je.toString();
        }
        e.formatEnum = fe;
        const he = /* @__PURE__ */ new Map();
        function q(Je) {
          const ft = he.get(Je);
          if (ft)
            return ft;
          const er = [];
          for (const Jn in Je) {
            const Un = Je[Jn];
            typeof Un == "number" && er.push([Un, Jn]);
          }
          const qr = q_(er, (Jn, Un) => po(Jn[0], Un[0]));
          return he.set(Je, qr), qr;
        }
        function be(Je) {
          return fe(
            Je,
            XR,
            /*isFlags*/
            false
          );
        }
        e.formatSyntaxKind = be;
        function je(Je) {
          return fe(
            Je,
            lj,
            /*isFlags*/
            false
          );
        }
        e.formatSnippetKind = je;
        function me(Je) {
          return fe(
            Je,
            oj,
            /*isFlags*/
            false
          );
        }
        e.formatScriptKind = me;
        function Z(Je) {
          return fe(
            Je,
            QR,
            /*isFlags*/
            true
          );
        }
        e.formatNodeFlags = Z;
        function pe(Je) {
          return fe(
            Je,
            nj,
            /*isFlags*/
            true
          );
        }
        e.formatNodeCheckFlags = pe;
        function Te(Je) {
          return fe(
            Je,
            YR,
            /*isFlags*/
            true
          );
        }
        e.formatModifierFlags = Te;
        function Fe(Je) {
          return fe(
            Je,
            cj,
            /*isFlags*/
            true
          );
        }
        e.formatTransformFlags = Fe;
        function Ye(Je) {
          return fe(
            Je,
            uj,
            /*isFlags*/
            true
          );
        }
        e.formatEmitFlags = Ye;
        function ne(Je) {
          return fe(
            Je,
            rj,
            /*isFlags*/
            true
          );
        }
        e.formatSymbolFlags = ne;
        function Se(Je) {
          return fe(
            Je,
            ij,
            /*isFlags*/
            true
          );
        }
        e.formatTypeFlags = Se;
        function ie(Je) {
          return fe(
            Je,
            aj,
            /*isFlags*/
            true
          );
        }
        e.formatSignatureFlags = ie;
        function Ne(Je) {
          return fe(
            Je,
            sj,
            /*isFlags*/
            true
          );
        }
        e.formatObjectFlags = Ne;
        function Ee(Je) {
          return fe(
            Je,
            t7,
            /*isFlags*/
            true
          );
        }
        e.formatFlowFlags = Ee;
        function Ce(Je) {
          return fe(
            Je,
            ZR,
            /*isFlags*/
            true
          );
        }
        e.formatRelationComparisonResult = Ce;
        function Ve(Je) {
          return fe(
            Je,
            DW,
            /*isFlags*/
            true
          );
        }
        e.formatCheckMode = Ve;
        function St(Je) {
          return fe(
            Je,
            wW,
            /*isFlags*/
            true
          );
        }
        e.formatSignatureCheckMode = St;
        function Bt(Je) {
          return fe(
            Je,
            EW,
            /*isFlags*/
            true
          );
        }
        e.formatTypeFacts = Bt;
        let tr = false, Nr;
        function st(Je) {
          "__debugFlowFlags" in Je || Object.defineProperties(Je, {
            // for use with vscode-js-debug's new customDescriptionGenerator in launch.json
            __tsDebuggerDisplay: {
              value() {
                const ft = 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 `${ft}${er ? ` (${Ee(er)})` : ""}`;
              }
            },
            __debugFlowFlags: {
              get() {
                return fe(
                  this.flags,
                  t7,
                  /*isFlags*/
                  true
                );
              }
            },
            __debugToString: {
              value() {
                return _i(this);
              }
            }
          });
        }
        function Wt(Je) {
          return tr && (typeof Object.setPrototypeOf == "function" ? (Nr || (Nr = Object.create(Object.prototype), st(Nr)), Object.setPrototypeOf(Je, Nr)) : st(Je)), Je;
        }
        e.attachFlowNodeDebugInfo = Wt;
        let Jr;
        function ui(Je) {
          "__tsDebuggerDisplay" in Je || Object.defineProperties(Je, {
            __tsDebuggerDisplay: {
              value(ft) {
                return ft = String(ft).replace(/(?:,[\s\w]+:[^,]+)+\]$/, "]"), `NodeArray ${ft}`;
              }
            }
          });
        }
        function Ji(Je) {
          tr && (typeof Object.setPrototypeOf == "function" ? (Jr || (Jr = Object.create(Array.prototype), ui(Jr)), Object.setPrototypeOf(Je, Jr)) : ui(Je));
        }
        e.attachNodeArrayDebugInfo = Ji;
        function Dt() {
          if (tr) return;
          const Je = /* @__PURE__ */ new WeakMap(), ft = /* @__PURE__ */ new WeakMap();
          Object.defineProperties(Yl.getSymbolConstructor().prototype, {
            // for use with vscode-js-debug's new customDescriptionGenerator in launch.json
            __tsDebuggerDisplay: {
              value() {
                const qr = this.flags & 33554432 ? "TransientSymbol" : "Symbol", Jn = this.flags & -33554433;
                return `${qr} '${sc(this)}'${Jn ? ` (${ne(Jn)})` : ""}`;
              }
            },
            __debugFlags: {
              get() {
                return ne(this.flags);
              }
            }
          }), Object.defineProperties(Yl.getTypeConstructor().prototype, {
            // for use with vscode-js-debug's new customDescriptionGenerator in launch.json
            __tsDebuggerDisplay: {
              value() {
                const qr = 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", Jn = this.flags & 524288 ? this.objectFlags & -1344 : 0;
                return `${qr}${this.symbol ? ` '${sc(this.symbol)}'` : ""}${Jn ? ` (${Ne(Jn)})` : ""}`;
              }
            },
            __debugFlags: {
              get() {
                return Se(this.flags);
              }
            },
            __debugObjectFlags: {
              get() {
                return this.flags & 524288 ? Ne(this.objectFlags) : "";
              }
            },
            __debugTypeToString: {
              value() {
                let qr = Je.get(this);
                return qr === void 0 && (qr = this.checker.typeToString(this), Je.set(this, qr)), qr;
              }
            }
          }), Object.defineProperties(Yl.getSignatureConstructor().prototype, {
            __debugFlags: {
              get() {
                return ie(this.flags);
              }
            },
            __debugSignatureToString: {
              value() {
                var qr;
                return (qr = this.checker) == null ? void 0 : qr.signatureToString(this);
              }
            }
          });
          const er = [
            Yl.getNodeConstructor(),
            Yl.getIdentifierConstructor(),
            Yl.getTokenConstructor(),
            Yl.getSourceFileConstructor()
          ];
          for (const qr of er)
            Ya(qr.prototype, "__debugKind") || Object.defineProperties(qr.prototype, {
              // for use with vscode-js-debug's new customDescriptionGenerator in launch.json
              __tsDebuggerDisplay: {
                value() {
                  return `${Mo(this) ? "GeneratedIdentifier" : Me(this) ? `Identifier '${An(this)}'` : Ai(this) ? `PrivateIdentifier '${An(this)}'` : oa(this) ? `StringLiteral ${JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...")}` : T_(this) ? `NumericLiteral ${this.text}` : s6(this) ? `BigIntLiteral ${this.text}n` : Io(this) ? "TypeParameterDeclaration" : Ii(this) ? "ParameterDeclaration" : ec(this) ? "ConstructorDeclaration" : lp(this) ? "GetAccessorDeclaration" : R_(this) ? "SetAccessorDeclaration" : Mx(this) ? "CallSignatureDeclaration" : DD(this) ? "ConstructSignatureDeclaration" : Jy(this) ? "IndexSignatureDeclaration" : Rx(this) ? "TypePredicateNode" : rf(this) ? "TypeReferenceNode" : $m(this) ? "FunctionTypeNode" : a6(this) ? "ConstructorTypeNode" : Jb(this) ? "TypeQueryNode" : r_(this) ? "TypeLiteralNode" : LN(this) ? "ArrayTypeNode" : jx(this) ? "TupleTypeNode" : kF(this) ? "OptionalTypeNode" : CF(this) ? "RestTypeNode" : b0(this) ? "UnionTypeNode" : Bx(this) ? "IntersectionTypeNode" : zb(this) ? "ConditionalTypeNode" : gS(this) ? "InferTypeNode" : hS(this) ? "ParenthesizedTypeNode" : wD(this) ? "ThisTypeNode" : Y1(this) ? "TypeOperatorNode" : Wb(this) ? "IndexedAccessTypeNode" : yS(this) ? "MappedTypeNode" : S0(this) ? "LiteralTypeNode" : o6(this) ? "NamedTupleMember" : dm(this) ? "ImportTypeNode" : be(this.kind)}${this.flags ? ` (${Z(this.flags)})` : ""}`;
                }
              },
              __debugKind: {
                get() {
                  return be(this.kind);
                }
              },
              __debugNodeFlags: {
                get() {
                  return Z(this.flags);
                }
              },
              __debugModifierFlags: {
                get() {
                  return Te(eee(this));
                }
              },
              __debugTransformFlags: {
                get() {
                  return Fe(this.transformFlags);
                }
              },
              __debugIsParseTreeNode: {
                get() {
                  return h4(this);
                }
              },
              __debugEmitFlags: {
                get() {
                  return Ye(Ca(this));
                }
              },
              __debugGetText: {
                value(Jn) {
                  if (ao(this)) return "";
                  let Un = ft.get(this);
                  if (Un === void 0) {
                    const ki = ys(this), Es = ki && xr(ki);
                    Un = Es ? Sb(Es, ki, Jn) : "", ft.set(this, Un);
                  }
                  return Un;
                }
              }
            });
          tr = true;
        }
        e.enableDebugInfo = Dt;
        function Mn(Je) {
          const ft = Je & 7;
          let er = ft === 0 ? "in out" : ft === 3 ? "[bivariant]" : ft === 2 ? "in" : ft === 1 ? "out" : ft === 4 ? "[independent]" : "";
          return Je & 8 ? er += " (unmeasurable)" : Je & 16 && (er += " (unreliable)"), er;
        }
        e.formatVariance = Mn;
        class ai {
          __debugToString() {
            var ft;
            switch (this.kind) {
              case 3:
                return ((ft = this.debugInfo) == null ? void 0 : ft.call(this)) || "(function mapper)";
              case 0:
                return `${this.source.__debugTypeToString()} -> ${this.target.__debugTypeToString()}`;
              case 1:
                return bR(
                  this.sources,
                  this.targets || hr(this.sources, () => "any"),
                  (er, qr) => `${er.__debugTypeToString()} -> ${typeof qr == "string" ? qr : qr.__debugTypeToString()}`
                ).join(", ");
              case 2:
                return bR(
                  this.sources,
                  this.targets,
                  (er, qr) => `${er.__debugTypeToString()} -> ${qr().__debugTypeToString()}`
                ).join(", ");
              case 5:
              case 4:
                return `m1: ${this.mapper1.__debugToString().split(`
`).join(`
    `)}
m2: ${this.mapper2.__debugToString().split(`
`).join(`
    `)}`;
              default:
                return B(this);
            }
          }
        }
        e.DebugTypeMapper = ai;
        function fi(Je) {
          return e.isDebugging ? Object.setPrototypeOf(Je, ai.prototype) : Je;
        }
        e.attachDebugPrototypeIfDebug = fi;
        function pn(Je) {
          return console.log(_i(Je));
        }
        e.printControlFlowGraph = pn;
        function _i(Je) {
          let ft = -1;
          function er(ye) {
            return ye.id || (ye.id = ft, ft--), ye.id;
          }
          let qr;
          ((ye) => {
            ye.lr = "─", ye.ud = "│", ye.dr = "╭", ye.dl = "╮", ye.ul = "╯", ye.ur = "╰", ye.udr = "├", ye.udl = "┤", ye.dlr = "┬", ye.ulr = "┴", ye.udlr = "╫";
          })(qr || (qr = {}));
          let Jn;
          ((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";
          })(Jn || (Jn = {}));
          const Un = 2032, ki = 882, Es = /* @__PURE__ */ Object.create(
            /*o*/
            null
          ), Zs = [], yr = Ke(Je, /* @__PURE__ */ new Set());
          for (const ye of Zs)
            ye.text = rn(ye.flowNode, ye.circular), Le(ye);
          const vs = mt(yr), Xe = pt(vs);
          return Ct(yr, 0), Pe();
          function Et(ye) {
            return !!(ye.flags & 128);
          }
          function re(ye) {
            return !!(ye.flags & 12) && !!ye.antecedent;
          }
          function it(ye) {
            return !!(ye.flags & Un);
          }
          function Y(ye) {
            return !!(ye.flags & ki);
          }
          function Ae(ye) {
            const Q = [];
            for (const dt of ye.edges)
              dt.source === ye && Q.push(dt.target);
            return Q;
          }
          function $e(ye) {
            const Q = [];
            for (const dt of ye.edges)
              dt.target === ye && Q.push(dt.source);
            return Q;
          }
          function Ke(ye, Q) {
            const dt = er(ye);
            let Mt = Es[dt];
            if (Mt && Q.has(ye))
              return Mt.circular = true, Mt = {
                id: -1,
                flowNode: ye,
                edges: [],
                text: "",
                lane: -1,
                endLane: -1,
                level: -1,
                circular: "circularity"
              }, Zs.push(Mt), Mt;
            if (Q.add(ye), !Mt)
              if (Es[dt] = Mt = { id: dt, flowNode: ye, edges: [], text: "", lane: -1, endLane: -1, level: -1, circular: false }, Zs.push(Mt), re(ye))
                for (const ke of ye.antecedent)
                  Tt(Mt, ke, Q);
              else it(ye) && Tt(Mt, ye.antecedent, Q);
            return Q.delete(ye), Mt;
          }
          function Tt(ye, Q, dt) {
            const Mt = Ke(Q, dt), ke = { source: ye, target: Mt };
            ye.edges.push(ke), Mt.edges.push(ke);
          }
          function Le(ye) {
            if (ye.level !== -1)
              return ye.level;
            let Q = 0;
            for (const dt of $e(ye))
              Q = Math.max(Q, Le(dt) + 1);
            return ye.level = Q;
          }
          function mt(ye) {
            let Q = 0;
            for (const dt of Ae(ye))
              Q = Math.max(Q, mt(dt));
            return Q + 1;
          }
          function pt(ye) {
            const Q = ue(Array(ye), 0);
            for (const dt of Zs)
              Q[dt.level] = Math.max(Q[dt.level], dt.text.length);
            return Q;
          }
          function Ct(ye, Q) {
            if (ye.lane === -1) {
              ye.lane = Q, ye.endLane = Q;
              const dt = Ae(ye);
              for (let Mt = 0; Mt < dt.length; Mt++) {
                Mt > 0 && Q++;
                const ke = dt[Mt];
                Ct(ke, Q), ke.endLane > ye.endLane && (Q = ke.endLane);
              }
              ye.endLane = Q;
            }
          }
          function qe(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 Lt(ye) {
            const Q = xr(ye);
            return Sb(
              Q,
              ye,
              /*includeTrivia*/
              false
            );
          }
          function rn(ye, Q) {
            let dt = qe(ye.flags);
            if (Q && (dt = `${dt}#${er(ye)}`), Et(ye)) {
              const Mt = [], { switchStatement: ke, clauseStart: at, clauseEnd: wt } = ye.node;
              for (let Zr = at; Zr < wt; Zr++) {
                const Rr = ke.caseBlock.clauses[Zr];
                ID(Rr) ? Mt.push("default") : Mt.push(Lt(Rr.expression));
              }
              dt += ` (${Mt.join(", ")})`;
            } else Y(ye) && ye.node && (dt += ` (${Lt(ye.node)})`);
            return Q === "circularity" ? `Circular(${dt})` : dt;
          }
          function Pe() {
            const ye = Xe.length, Q = RR(Zs, 0, (wt) => wt.lane) + 1, dt = ue(Array(Q), ""), Mt = Xe.map(() => Array(Q)), ke = Xe.map(() => ue(Array(Q), 0));
            for (const wt of Zs) {
              Mt[wt.level][wt.lane] = wt;
              const Zr = Ae(wt);
              for (let Pr = 0; Pr < Zr.length; Pr++) {
                const rt = Zr[Pr];
                let vt = 8;
                rt.lane === wt.lane && (vt |= 4), Pr > 0 && (vt |= 1), Pr < Zr.length - 1 && (vt |= 2), ke[wt.level][rt.lane] |= vt;
              }
              Zr.length === 0 && (ke[wt.level][wt.lane] |= 16);
              const Rr = $e(wt);
              for (let Pr = 0; Pr < Rr.length; Pr++) {
                const rt = Rr[Pr];
                let vt = 4;
                Pr > 0 && (vt |= 1), Pr < Rr.length - 1 && (vt |= 2), ke[wt.level - 1][rt.lane] |= vt;
              }
            }
            for (let wt = 0; wt < ye; wt++)
              for (let Zr = 0; Zr < Q; Zr++) {
                const Rr = wt > 0 ? ke[wt - 1][Zr] : 0, Pr = Zr > 0 ? ke[wt][Zr - 1] : 0;
                let rt = ke[wt][Zr];
                rt || (Rr & 8 && (rt |= 12), Pr & 2 && (rt |= 3), ke[wt][Zr] = rt);
              }
            for (let wt = 0; wt < ye; wt++)
              for (let Zr = 0; Zr < dt.length; Zr++) {
                const Rr = ke[wt][Zr], Pr = Rr & 4 ? "─" : " ", rt = Mt[wt][Zr];
                rt ? (at(Zr, rt.text), wt < ye - 1 && (at(Zr, " "), at(Zr, M(Pr, Xe[wt] - rt.text.length)))) : wt < ye - 1 && at(Zr, M(Pr, Xe[wt] + 1)), at(Zr, yt(Rr)), at(Zr, Rr & 8 && wt < ye - 1 && !Mt[wt + 1][Zr] ? "─" : " ");
              }
            return `
${dt.join(`
`)}
`;
            function at(wt, Zr) {
              dt[wt] += Zr;
            }
          }
          function yt(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 ue(ye, Q) {
            if (ye.fill)
              ye.fill(Q);
            else
              for (let dt = 0; dt < ye.length; dt++)
                ye[dt] = Q;
            return ye;
          }
          function M(ye, Q) {
            if (ye.repeat)
              return Q > 0 ? ye.repeat(Q) : "";
            let dt = "";
            for (; dt.length < Q; )
              dt += ye;
            return dt;
          }
        }
        e.formatControlFlowGraph = _i;
      })(E || (E = {}));
      var $5e = /^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i, X5e = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i, Q5e = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)$/i, Y5e = /^[a-z0-9-]+(?:\.[a-z0-9-]+)*$/i, Z5e = /^[a-z0-9-]+$/i, gge = /^(?:0|[1-9]\d*)$/, hQ = class UI {
        constructor(t, n = 0, i = 0, s = "", o = "") {
          typeof t == "string" && ({ major: t, minor: n, patch: i, prerelease: s, build: o } = E.checkDefined(hge(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 ? ss(s) ? s : s.split(".") : Ge, _ = o ? ss(o) ? o : o.split(".") : Ge;
          E.assert(Ni(c, (u) => Q5e.test(u)), "Invalid argument: prerelease"), E.assert(Ni(_, (u) => Z5e.test(u)), "Invalid argument: build"), this.major = t, this.minor = n, this.patch = i, this.prerelease = c, this.build = _;
        }
        static tryParse(t) {
          const n = hge(t);
          if (!n) return;
          const { major: i, minor: s, patch: o, prerelease: c, build: _ } = n;
          return new UI(i, s, o, c, _);
        }
        compareTo(t) {
          return this === t ? 0 : t === void 0 ? 1 : po(this.major, t.major) || po(this.minor, t.minor) || po(this.patch, t.patch) || K5e(this.prerelease, t.prerelease);
        }
        increment(t) {
          switch (t) {
            case "major":
              return new UI(this.major + 1, 0, 0);
            case "minor":
              return new UI(this.major, this.minor + 1, 0);
            case "patch":
              return new UI(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 UI(n, i, s, o, c);
        }
        toString() {
          let t = `${this.major}.${this.minor}.${this.patch}`;
          return ot(this.prerelease) && (t += `-${this.prerelease.join(".")}`), ot(this.build) && (t += `+${this.build.join(".")}`), t;
        }
      };
      hQ.zero = new hQ(0, 0, 0, ["0"]);
      var vd = hQ;
      function hge(e) {
        const t = $5e.exec(e);
        if (!t) return;
        const [, n, i = "0", s = "0", o = "", c = ""] = t;
        if (!(o && !X5e.test(o)) && !(c && !Y5e.test(c)))
          return {
            major: parseInt(n, 10),
            minor: parseInt(i, 10),
            patch: parseInt(s, 10),
            prerelease: o,
            build: c
          };
      }
      function K5e(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 = gge.test(s), _ = gge.test(o);
          if (c || _) {
            if (c !== _) return c ? -1 : 1;
            const u = po(+s, +o);
            if (u) return u;
          } else {
            const u = ou(s, o);
            if (u) return u;
          }
        }
        return po(e.length, t.length);
      }
      var e7 = class P5e {
        constructor(t) {
          this._alternatives = t ? E.checkDefined(yge(t), "Invalid range spec.") : Ge;
        }
        static tryParse(t) {
          const n = yge(t);
          if (n) {
            const i = new P5e("");
            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 vd(t)), oFe(t, this._alternatives);
        }
        toString() {
          return uFe(this._alternatives);
        }
      }, eFe = /\|\|/, tFe = /\s+/, rFe = /^([x*0]|[1-9]\d*)(?:\.([x*0]|[1-9]\d*)(?:\.([x*0]|[1-9]\d*)(?:-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i, nFe = /^\s*([a-z0-9-+.*]+)\s+-\s+([a-z0-9-+.*]+)\s*$/i, iFe = /^([~^<>=]|<=|>=)?\s*([a-z0-9-+.*]+)$/i;
      function yge(e) {
        const t = [];
        for (let n of e.trim().split(eFe)) {
          if (!n) continue;
          const i = [];
          n = n.trim();
          const s = nFe.exec(n);
          if (s) {
            if (!sFe(s[1], s[2], i)) return;
          } else
            for (const o of n.split(tFe)) {
              const c = iFe.exec(o.trim());
              if (!c || !aFe(c[1], c[2], i)) return;
            }
          t.push(i);
        }
        return t;
      }
      function yQ(e) {
        const t = rFe.exec(e);
        if (!t) return;
        const [, n, i = "*", s = "*", o, c] = t;
        return { version: new vd(
          Np(n) ? 0 : parseInt(n, 10),
          Np(n) || Np(i) ? 0 : parseInt(i, 10),
          Np(n) || Np(i) || Np(s) ? 0 : parseInt(s, 10),
          o,
          c
        ), major: n, minor: i, patch: s };
      }
      function sFe(e, t, n) {
        const i = yQ(e);
        if (!i) return false;
        const s = yQ(t);
        return s ? (Np(i.major) || n.push(Bm(">=", i.version)), Np(s.major) || n.push(
          Np(s.minor) ? Bm("<", s.version.increment("major")) : Np(s.patch) ? Bm("<", s.version.increment("minor")) : Bm("<=", s.version)
        ), true) : false;
      }
      function aFe(e, t, n) {
        const i = yQ(t);
        if (!i) return false;
        const { version: s, major: o, minor: c, patch: _ } = i;
        if (Np(o))
          (e === "<" || e === ">") && n.push(Bm("<", vd.zero));
        else switch (e) {
          case "~":
            n.push(Bm(">=", s)), n.push(Bm(
              "<",
              s.increment(
                Np(c) ? "major" : "minor"
              )
            ));
            break;
          case "^":
            n.push(Bm(">=", s)), n.push(Bm(
              "<",
              s.increment(
                s.major > 0 || Np(c) ? "major" : s.minor > 0 || Np(_) ? "minor" : "patch"
              )
            ));
            break;
          case "<":
          case ">=":
            n.push(
              Np(c) || Np(_) ? Bm(e, s.with({ prerelease: "0" })) : Bm(e, s)
            );
            break;
          case "<=":
          case ">":
            n.push(
              Np(c) ? Bm(e === "<=" ? "<" : ">=", s.increment("major").with({ prerelease: "0" })) : Np(_) ? Bm(e === "<=" ? "<" : ">=", s.increment("minor").with({ prerelease: "0" })) : Bm(e, s)
            );
            break;
          case "=":
          case void 0:
            Np(c) || Np(_) ? (n.push(Bm(">=", s.with({ prerelease: "0" }))), n.push(Bm("<", s.increment(Np(c) ? "major" : "minor").with({ prerelease: "0" })))) : n.push(Bm("=", s));
            break;
          default:
            return false;
        }
        return true;
      }
      function Np(e) {
        return e === "*" || e === "x" || e === "X";
      }
      function Bm(e, t) {
        return { operator: e, operand: t };
      }
      function oFe(e, t) {
        if (t.length === 0) return true;
        for (const n of t)
          if (cFe(e, n)) return true;
        return false;
      }
      function cFe(e, t) {
        for (const n of t)
          if (!lFe(e, n.operator, n.operand)) return false;
        return true;
      }
      function lFe(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 uFe(e) {
        return hr(e, _Fe).join(" || ") || "*";
      }
      function _Fe(e) {
        return hr(e, fFe).join(" ");
      }
      function fFe(e) {
        return `${e.operator}${e.operand}`;
      }
      function pFe() {
        if (qR())
          try {
            const { performance: e } = qE;
            if (e)
              return {
                shouldWriteNativeEvents: false,
                performance: e
              };
          } catch {
          }
        if (typeof performance == "object")
          return {
            shouldWriteNativeEvents: true,
            performance
          };
      }
      function dFe() {
        const e = pFe();
        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 vQ = dFe(), vge = vQ?.performanceTime;
      function bQ() {
        return vQ;
      }
      var no = vge ? () => vge.now() : Date.now, SQ = {};
      Ec(SQ, {
        clearMarks: () => Cge,
        clearMeasures: () => kge,
        createTimer: () => HR,
        createTimerIf: () => bge,
        disable: () => kQ,
        enable: () => $R,
        forEachMark: () => xge,
        forEachMeasure: () => GR,
        getCount: () => Tge,
        getDuration: () => s4,
        isEnabled: () => xQ,
        mark: () => Qo,
        measure: () => Zf,
        nullTimer: () => TQ
      });
      var t4, J2;
      function bge(e, t, n, i) {
        return e ? HR(t, n, i) : TQ;
      }
      function HR(e, t, n) {
        let i = 0;
        return {
          enter: s,
          exit: o
        };
        function s() {
          ++i === 1 && Qo(t);
        }
        function o() {
          --i === 0 ? (Qo(n), Zf(e, t, n)) : i < 0 && E.fail("enter/exit count does not match.");
        }
      }
      var TQ = { enter: Ua, exit: Ua }, r4 = false, Sge = no(), n4 = /* @__PURE__ */ new Map(), JP = /* @__PURE__ */ new Map(), i4 = /* @__PURE__ */ new Map();
      function Qo(e) {
        if (r4) {
          const t = JP.get(e) ?? 0;
          JP.set(e, t + 1), n4.set(e, no()), J2?.mark(e), typeof onProfilerEvent == "function" && onProfilerEvent(e);
        }
      }
      function Zf(e, t, n) {
        if (r4) {
          const i = (n !== void 0 ? n4.get(n) : void 0) ?? no(), s = (t !== void 0 ? n4.get(t) : void 0) ?? Sge, o = i4.get(e) || 0;
          i4.set(e, o + (i - s)), J2?.measure(e, t, n);
        }
      }
      function Tge(e) {
        return JP.get(e) || 0;
      }
      function s4(e) {
        return i4.get(e) || 0;
      }
      function GR(e) {
        i4.forEach((t, n) => e(n, t));
      }
      function xge(e) {
        n4.forEach((t, n) => e(n));
      }
      function kge(e) {
        e !== void 0 ? i4.delete(e) : i4.clear(), J2?.clearMeasures(e);
      }
      function Cge(e) {
        e !== void 0 ? (JP.delete(e), n4.delete(e)) : (JP.clear(), n4.clear()), J2?.clearMarks(e);
      }
      function xQ() {
        return r4;
      }
      function $R(e = fl) {
        var t;
        return r4 || (r4 = true, t4 || (t4 = bQ()), t4?.performance && (Sge = t4.performance.timeOrigin, (t4.shouldWriteNativeEvents || (t = e?.cpuProfilingEnabled) != null && t.call(e) || e?.debugMode) && (J2 = t4.performance))), true;
      }
      function kQ() {
        r4 && (n4.clear(), JP.clear(), i4.clear(), J2 = void 0, r4 = false);
      }
      var on, zP;
      ((e) => {
        let t, n = 0, i = 0, s;
        const o = [];
        let c;
        const _ = [];
        function u(U, $, W) {
          if (E.assert(!on, "Tracing already started"), t === void 0)
            try {
              t = qE;
            } catch (se) {
              throw new Error(`tracing requires having fs
(original error: ${se.message || se})`);
            }
          s = U, o.length = 0, c === void 0 && (c = On($, "legend.json")), t.existsSync($) || t.mkdirSync($, { recursive: true });
          const _e = s === "build" ? `.${process.pid}-${++n}` : s === "server" ? `.${process.pid}` : "", K = On($, `trace${_e}.json`), V = On($, `types${_e}.json`);
          _.push({
            configFilePath: W,
            tracePath: K,
            typesPath: V
          }), i = t.openSync(K, "w"), on = e;
          const ae = { cat: "__metadata", ph: "M", ts: 1e3 * no(), pid: 1, tid: 1 };
          t.writeSync(
            i,
            `[
` + [{ name: "process_name", args: { name: "tsc" }, ...ae }, { name: "thread_name", args: { name: "Main" }, ...ae }, { name: "TracingStartedInBrowser", ...ae, cat: "disabled-by-default-devtools.timeline" }].map((se) => JSON.stringify(se)).join(`,
`)
          );
        }
        e.startTracing = u;
        function g() {
          E.assert(on, "Tracing is not in progress"), E.assert(!!o.length == (s !== "server")), t.writeSync(i, `
]
`), t.closeSync(i), on = void 0, o.length ? R(o) : _[_.length - 1].typesPath = void 0;
        }
        e.stopTracing = g;
        function m(U) {
          s !== "server" && o.push(U);
        }
        e.recordType = m, ((U) => {
          U.Parse = "parse", U.Program = "program", U.Bind = "bind", U.Check = "check", U.CheckTypes = "checkTypes", U.Emit = "emit", U.Session = "session";
        })(e.Phase || (e.Phase = {}));
        function h(U, $, W) {
          O("I", U, $, W, '"s":"g"');
        }
        e.instant = h;
        const S = [];
        function T(U, $, W, _e = false) {
          _e && O("B", U, $, W), S.push({ phase: U, name: $, args: W, time: 1e3 * no(), separateBeginAndEnd: _e });
        }
        e.push = T;
        function k(U) {
          E.assert(S.length > 0), A(S.length - 1, 1e3 * no(), U), S.length--;
        }
        e.pop = k;
        function D() {
          const U = 1e3 * no();
          for (let $ = S.length - 1; $ >= 0; $--)
            A($, U);
          S.length = 0;
        }
        e.popAll = D;
        const P = 1e3 * 10;
        function A(U, $, W) {
          const { phase: _e, name: K, args: V, time: ae, separateBeginAndEnd: se } = S[U];
          se ? (E.assert(!W, "`results` are not supported for events with `separateBeginAndEnd`"), O(
            "E",
            _e,
            K,
            V,
            /*extras*/
            void 0,
            $
          )) : P - ae % P <= $ - ae && O("X", _e, K, { ...V, results: W }, `"dur":${$ - ae}`, ae);
        }
        function O(U, $, W, _e, K, V = 1e3 * no()) {
          s === "server" && $ === "checkTypes" || (Qo("beginTracing"), t.writeSync(i, `,
{"pid":1,"tid":1,"ph":"${U}","cat":"${$}","ts":${V},"name":"${W}"`), K && t.writeSync(i, `,${K}`), _e && t.writeSync(i, `,"args":${JSON.stringify(_e)}`), t.writeSync(i, "}"), Qo("endTracing"), Zf("Tracing", "beginTracing", "endTracing"));
        }
        function F(U) {
          const $ = xr(U);
          return $ ? {
            path: $.path,
            start: W(Rs($, U.pos)),
            end: W(Rs($, U.end))
          } : void 0;
          function W(_e) {
            return {
              line: _e.line + 1,
              character: _e.character + 1
            };
          }
        }
        function R(U) {
          var $, W, _e, K, V, ae, se, ce, fe, he, q, be, je, me, Z, pe, Te, Fe, Ye;
          Qo("beginDumpTypes");
          const ne = _[_.length - 1].typesPath, Se = t.openSync(ne, "w"), ie = /* @__PURE__ */ new Map();
          t.writeSync(Se, "[");
          const Ne = U.length;
          for (let Ee = 0; Ee < Ne; Ee++) {
            const Ce = U[Ee], Ve = Ce.objectFlags, St = Ce.aliasSymbol ?? Ce.symbol;
            let Bt;
            if (Ve & 16 | Ce.flags & 2944)
              try {
                Bt = ($ = Ce.checker) == null ? void 0 : $.typeToString(Ce);
              } catch {
                Bt = void 0;
              }
            let tr = {};
            if (Ce.flags & 8388608) {
              const ai = Ce;
              tr = {
                indexedAccessObjectType: (W = ai.objectType) == null ? void 0 : W.id,
                indexedAccessIndexType: (_e = ai.indexType) == null ? void 0 : _e.id
              };
            }
            let Nr = {};
            if (Ve & 4) {
              const ai = Ce;
              Nr = {
                instantiatedType: (K = ai.target) == null ? void 0 : K.id,
                typeArguments: (V = ai.resolvedTypeArguments) == null ? void 0 : V.map((fi) => fi.id),
                referenceLocation: F(ai.node)
              };
            }
            let st = {};
            if (Ce.flags & 16777216) {
              const ai = Ce;
              st = {
                conditionalCheckType: (ae = ai.checkType) == null ? void 0 : ae.id,
                conditionalExtendsType: (se = ai.extendsType) == null ? void 0 : se.id,
                conditionalTrueType: ((ce = ai.resolvedTrueType) == null ? void 0 : ce.id) ?? -1,
                conditionalFalseType: ((fe = ai.resolvedFalseType) == null ? void 0 : fe.id) ?? -1
              };
            }
            let Wt = {};
            if (Ce.flags & 33554432) {
              const ai = Ce;
              Wt = {
                substitutionBaseType: (he = ai.baseType) == null ? void 0 : he.id,
                constraintType: (q = ai.constraint) == null ? void 0 : q.id
              };
            }
            let Jr = {};
            if (Ve & 1024) {
              const ai = Ce;
              Jr = {
                reverseMappedSourceType: (be = ai.source) == null ? void 0 : be.id,
                reverseMappedMappedType: (je = ai.mappedType) == null ? void 0 : je.id,
                reverseMappedConstraintType: (me = ai.constraintType) == null ? void 0 : me.id
              };
            }
            let ui = {};
            if (Ve & 256) {
              const ai = Ce;
              ui = {
                evolvingArrayElementType: ai.elementType.id,
                evolvingArrayFinalType: (Z = ai.finalArrayType) == null ? void 0 : Z.id
              };
            }
            let Ji;
            const Dt = Ce.checker.getRecursionIdentity(Ce);
            Dt && (Ji = ie.get(Dt), Ji || (Ji = ie.size, ie.set(Dt, Ji)));
            const Mn = {
              id: Ce.id,
              intrinsicName: Ce.intrinsicName,
              symbolName: St?.escapedName && Si(St.escapedName),
              recursionId: Ji,
              isTuple: Ve & 8 ? true : void 0,
              unionTypes: Ce.flags & 1048576 ? (pe = Ce.types) == null ? void 0 : pe.map((ai) => ai.id) : void 0,
              intersectionTypes: Ce.flags & 2097152 ? Ce.types.map((ai) => ai.id) : void 0,
              aliasTypeArguments: (Te = Ce.aliasTypeArguments) == null ? void 0 : Te.map((ai) => ai.id),
              keyofType: Ce.flags & 4194304 ? (Fe = Ce.type) == null ? void 0 : Fe.id : void 0,
              ...tr,
              ...Nr,
              ...st,
              ...Wt,
              ...Jr,
              ...ui,
              destructuringPattern: F(Ce.pattern),
              firstDeclaration: F((Ye = St?.declarations) == null ? void 0 : Ye[0]),
              flags: E.formatTypeFlags(Ce.flags).split("|"),
              display: Bt
            };
            t.writeSync(Se, JSON.stringify(Mn)), Ee < Ne - 1 && t.writeSync(Se, `,
`);
          }
          t.writeSync(Se, `]
`), t.closeSync(Se), Qo("endDumpTypes"), Zf("Dump types", "beginDumpTypes", "endDumpTypes");
        }
        function B() {
          c && t.writeFileSync(c, JSON.stringify(_));
        }
        e.dumpLegend = B;
      })(zP || (zP = {}));
      var CQ = zP.startTracing, EQ = zP.dumpLegend, XR = /* @__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.DeferKeyword = 166] = "DeferKeyword", e[e.QualifiedName = 167] = "QualifiedName", e[e.ComputedPropertyName = 168] = "ComputedPropertyName", e[e.TypeParameter = 169] = "TypeParameter", e[e.Parameter = 170] = "Parameter", e[e.Decorator = 171] = "Decorator", e[e.PropertySignature = 172] = "PropertySignature", e[e.PropertyDeclaration = 173] = "PropertyDeclaration", e[e.MethodSignature = 174] = "MethodSignature", e[e.MethodDeclaration = 175] = "MethodDeclaration", e[e.ClassStaticBlockDeclaration = 176] = "ClassStaticBlockDeclaration", e[e.Constructor = 177] = "Constructor", e[e.GetAccessor = 178] = "GetAccessor", e[e.SetAccessor = 179] = "SetAccessor", e[e.CallSignature = 180] = "CallSignature", e[e.ConstructSignature = 181] = "ConstructSignature", e[e.IndexSignature = 182] = "IndexSignature", e[e.TypePredicate = 183] = "TypePredicate", e[e.TypeReference = 184] = "TypeReference", e[e.FunctionType = 185] = "FunctionType", e[e.ConstructorType = 186] = "ConstructorType", e[e.TypeQuery = 187] = "TypeQuery", e[e.TypeLiteral = 188] = "TypeLiteral", e[e.ArrayType = 189] = "ArrayType", e[e.TupleType = 190] = "TupleType", e[e.OptionalType = 191] = "OptionalType", e[e.RestType = 192] = "RestType", e[e.UnionType = 193] = "UnionType", e[e.IntersectionType = 194] = "IntersectionType", e[e.ConditionalType = 195] = "ConditionalType", e[e.InferType = 196] = "InferType", e[e.ParenthesizedType = 197] = "ParenthesizedType", e[e.ThisType = 198] = "ThisType", e[e.TypeOperator = 199] = "TypeOperator", e[e.IndexedAccessType = 200] = "IndexedAccessType", e[e.MappedType = 201] = "MappedType", e[e.LiteralType = 202] = "LiteralType", e[e.NamedTupleMember = 203] = "NamedTupleMember", e[e.TemplateLiteralType = 204] = "TemplateLiteralType", e[e.TemplateLiteralTypeSpan = 205] = "TemplateLiteralTypeSpan", e[e.ImportType = 206] = "ImportType", e[e.ObjectBindingPattern = 207] = "ObjectBindingPattern", e[e.ArrayBindingPattern = 208] = "ArrayBindingPattern", e[e.BindingElement = 209] = "BindingElement", e[e.ArrayLiteralExpression = 210] = "ArrayLiteralExpression", e[e.ObjectLiteralExpression = 211] = "ObjectLiteralExpression", e[e.PropertyAccessExpression = 212] = "PropertyAccessExpression", e[e.ElementAccessExpression = 213] = "ElementAccessExpression", e[e.CallExpression = 214] = "CallExpression", e[e.NewExpression = 215] = "NewExpression", e[e.TaggedTemplateExpression = 216] = "TaggedTemplateExpression", e[e.TypeAssertionExpression = 217] = "TypeAssertionExpression", e[e.ParenthesizedExpression = 218] = "ParenthesizedExpression", e[e.FunctionExpression = 219] = "FunctionExpression", e[e.ArrowFunction = 220] = "ArrowFunction", e[e.DeleteExpression = 221] = "DeleteExpression", e[e.TypeOfExpression = 222] = "TypeOfExpression", e[e.VoidExpression = 223] = "VoidExpression", e[e.AwaitExpression = 224] = "AwaitExpression", e[e.PrefixUnaryExpression = 225] = "PrefixUnaryExpression", e[e.PostfixUnaryExpression = 226] = "PostfixUnaryExpression", e[e.BinaryExpression = 227] = "BinaryExpression", e[e.ConditionalExpression = 228] = "ConditionalExpression", e[e.TemplateExpression = 229] = "TemplateExpression", e[e.YieldExpression = 230] = "YieldExpression", e[e.SpreadElement = 231] = "SpreadElement", e[e.ClassExpression = 232] = "ClassExpression", e[e.OmittedExpression = 233] = "OmittedExpression", e[e.ExpressionWithTypeArguments = 234] = "ExpressionWithTypeArguments", e[e.AsExpression = 235] = "AsExpression", e[e.NonNullExpression = 236] = "NonNullExpression", e[e.MetaProperty = 237] = "MetaProperty", e[e.SyntheticExpression = 238] = "SyntheticExpression", e[e.SatisfiesExpression = 239] = "SatisfiesExpression", e[e.TemplateSpan = 240] = "TemplateSpan", e[e.SemicolonClassElement = 241] = "SemicolonClassElement", e[e.Block = 242] = "Block", e[e.EmptyStatement = 243] = "EmptyStatement", e[e.VariableStatement = 244] = "VariableStatement", e[e.ExpressionStatement = 245] = "ExpressionStatement", e[e.IfStatement = 246] = "IfStatement", e[e.DoStatement = 247] = "DoStatement", e[e.WhileStatement = 248] = "WhileStatement", e[e.ForStatement = 249] = "ForStatement", e[e.ForInStatement = 250] = "ForInStatement", e[e.ForOfStatement = 251] = "ForOfStatement", e[e.ContinueStatement = 252] = "ContinueStatement", e[e.BreakStatement = 253] = "BreakStatement", e[e.ReturnStatement = 254] = "ReturnStatement", e[e.WithStatement = 255] = "WithStatement", e[e.SwitchStatement = 256] = "SwitchStatement", e[e.LabeledStatement = 257] = "LabeledStatement", e[e.ThrowStatement = 258] = "ThrowStatement", e[e.TryStatement = 259] = "TryStatement", e[e.DebuggerStatement = 260] = "DebuggerStatement", e[e.VariableDeclaration = 261] = "VariableDeclaration", e[e.VariableDeclarationList = 262] = "VariableDeclarationList", e[e.FunctionDeclaration = 263] = "FunctionDeclaration", e[e.ClassDeclaration = 264] = "ClassDeclaration", e[e.InterfaceDeclaration = 265] = "InterfaceDeclaration", e[e.TypeAliasDeclaration = 266] = "TypeAliasDeclaration", e[e.EnumDeclaration = 267] = "EnumDeclaration", e[e.ModuleDeclaration = 268] = "ModuleDeclaration", e[e.ModuleBlock = 269] = "ModuleBlock", e[e.CaseBlock = 270] = "CaseBlock", e[e.NamespaceExportDeclaration = 271] = "NamespaceExportDeclaration", e[e.ImportEqualsDeclaration = 272] = "ImportEqualsDeclaration", e[e.ImportDeclaration = 273] = "ImportDeclaration", e[e.ImportClause = 274] = "ImportClause", e[e.NamespaceImport = 275] = "NamespaceImport", e[e.NamedImports = 276] = "NamedImports", e[e.ImportSpecifier = 277] = "ImportSpecifier", e[e.ExportAssignment = 278] = "ExportAssignment", e[e.ExportDeclaration = 279] = "ExportDeclaration", e[e.NamedExports = 280] = "NamedExports", e[e.NamespaceExport = 281] = "NamespaceExport", e[e.ExportSpecifier = 282] = "ExportSpecifier", e[e.MissingDeclaration = 283] = "MissingDeclaration", e[e.ExternalModuleReference = 284] = "ExternalModuleReference", e[e.JsxElement = 285] = "JsxElement", e[e.JsxSelfClosingElement = 286] = "JsxSelfClosingElement", e[e.JsxOpeningElement = 287] = "JsxOpeningElement", e[e.JsxClosingElement = 288] = "JsxClosingElement", e[e.JsxFragment = 289] = "JsxFragment", e[e.JsxOpeningFragment = 290] = "JsxOpeningFragment", e[e.JsxClosingFragment = 291] = "JsxClosingFragment", e[e.JsxAttribute = 292] = "JsxAttribute", e[e.JsxAttributes = 293] = "JsxAttributes", e[e.JsxSpreadAttribute = 294] = "JsxSpreadAttribute", e[e.JsxExpression = 295] = "JsxExpression", e[e.JsxNamespacedName = 296] = "JsxNamespacedName", e[e.CaseClause = 297] = "CaseClause", e[e.DefaultClause = 298] = "DefaultClause", e[e.HeritageClause = 299] = "HeritageClause", e[e.CatchClause = 300] = "CatchClause", e[e.ImportAttributes = 301] = "ImportAttributes", e[e.ImportAttribute = 302] = "ImportAttribute", e[
        e.AssertClause = 301
        /* ImportAttributes */
      ] = "AssertClause", e[
        e.AssertEntry = 302
        /* ImportAttribute */
      ] = "AssertEntry", e[e.ImportTypeAssertionContainer = 303] = "ImportTypeAssertionContainer", e[e.PropertyAssignment = 304] = "PropertyAssignment", e[e.ShorthandPropertyAssignment = 305] = "ShorthandPropertyAssignment", e[e.SpreadAssignment = 306] = "SpreadAssignment", e[e.EnumMember = 307] = "EnumMember", e[e.SourceFile = 308] = "SourceFile", e[e.Bundle = 309] = "Bundle", e[e.JSDocTypeExpression = 310] = "JSDocTypeExpression", e[e.JSDocNameReference = 311] = "JSDocNameReference", e[e.JSDocMemberName = 312] = "JSDocMemberName", e[e.JSDocAllType = 313] = "JSDocAllType", e[e.JSDocUnknownType = 314] = "JSDocUnknownType", e[e.JSDocNullableType = 315] = "JSDocNullableType", e[e.JSDocNonNullableType = 316] = "JSDocNonNullableType", e[e.JSDocOptionalType = 317] = "JSDocOptionalType", e[e.JSDocFunctionType = 318] = "JSDocFunctionType", e[e.JSDocVariadicType = 319] = "JSDocVariadicType", e[e.JSDocNamepathType = 320] = "JSDocNamepathType", e[e.JSDoc = 321] = "JSDoc", e[
        e.JSDocComment = 321
        /* JSDoc */
      ] = "JSDocComment", e[e.JSDocText = 322] = "JSDocText", e[e.JSDocTypeLiteral = 323] = "JSDocTypeLiteral", e[e.JSDocSignature = 324] = "JSDocSignature", e[e.JSDocLink = 325] = "JSDocLink", e[e.JSDocLinkCode = 326] = "JSDocLinkCode", e[e.JSDocLinkPlain = 327] = "JSDocLinkPlain", e[e.JSDocTag = 328] = "JSDocTag", e[e.JSDocAugmentsTag = 329] = "JSDocAugmentsTag", e[e.JSDocImplementsTag = 330] = "JSDocImplementsTag", e[e.JSDocAuthorTag = 331] = "JSDocAuthorTag", e[e.JSDocDeprecatedTag = 332] = "JSDocDeprecatedTag", e[e.JSDocClassTag = 333] = "JSDocClassTag", e[e.JSDocPublicTag = 334] = "JSDocPublicTag", e[e.JSDocPrivateTag = 335] = "JSDocPrivateTag", e[e.JSDocProtectedTag = 336] = "JSDocProtectedTag", e[e.JSDocReadonlyTag = 337] = "JSDocReadonlyTag", e[e.JSDocOverrideTag = 338] = "JSDocOverrideTag", e[e.JSDocCallbackTag = 339] = "JSDocCallbackTag", e[e.JSDocOverloadTag = 340] = "JSDocOverloadTag", e[e.JSDocEnumTag = 341] = "JSDocEnumTag", e[e.JSDocParameterTag = 342] = "JSDocParameterTag", e[e.JSDocReturnTag = 343] = "JSDocReturnTag", e[e.JSDocThisTag = 344] = "JSDocThisTag", e[e.JSDocTypeTag = 345] = "JSDocTypeTag", e[e.JSDocTemplateTag = 346] = "JSDocTemplateTag", e[e.JSDocTypedefTag = 347] = "JSDocTypedefTag", e[e.JSDocSeeTag = 348] = "JSDocSeeTag", e[e.JSDocPropertyTag = 349] = "JSDocPropertyTag", e[e.JSDocThrowsTag = 350] = "JSDocThrowsTag", e[e.JSDocSatisfiesTag = 351] = "JSDocSatisfiesTag", e[e.JSDocImportTag = 352] = "JSDocImportTag", e[e.SyntaxList = 353] = "SyntaxList", e[e.NotEmittedStatement = 354] = "NotEmittedStatement", e[e.NotEmittedTypeElement = 355] = "NotEmittedTypeElement", e[e.PartiallyEmittedExpression = 356] = "PartiallyEmittedExpression", e[e.CommaListExpression = 357] = "CommaListExpression", e[e.SyntheticReferenceExpression = 358] = "SyntheticReferenceExpression", e[e.Count = 359] = "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 = 166
        /* DeferKeyword */
      ] = "LastKeyword", e[
        e.FirstFutureReservedWord = 119
        /* ImplementsKeyword */
      ] = "FirstFutureReservedWord", e[
        e.LastFutureReservedWord = 127
        /* YieldKeyword */
      ] = "LastFutureReservedWord", e[
        e.FirstTypeNode = 183
        /* TypePredicate */
      ] = "FirstTypeNode", e[
        e.LastTypeNode = 206
        /* ImportType */
      ] = "LastTypeNode", e[
        e.FirstPunctuation = 19
        /* OpenBraceToken */
      ] = "FirstPunctuation", e[
        e.LastPunctuation = 79
        /* CaretEqualsToken */
      ] = "LastPunctuation", e[
        e.FirstToken = 0
        /* Unknown */
      ] = "FirstToken", e[
        e.LastToken = 166
        /* 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 = 244
        /* VariableStatement */
      ] = "FirstStatement", e[
        e.LastStatement = 260
        /* DebuggerStatement */
      ] = "LastStatement", e[
        e.FirstNode = 167
        /* QualifiedName */
      ] = "FirstNode", e[
        e.FirstJSDocNode = 310
        /* JSDocTypeExpression */
      ] = "FirstJSDocNode", e[
        e.LastJSDocNode = 352
        /* JSDocImportTag */
      ] = "LastJSDocNode", e[
        e.FirstJSDocTagNode = 328
        /* JSDocTag */
      ] = "FirstJSDocTagNode", e[
        e.LastJSDocTagNode = 352
        /* JSDocImportTag */
      ] = "LastJSDocTagNode", e[
        e.FirstContextualKeyword = 128
        /* AbstractKeyword */
      ] = "FirstContextualKeyword", e[
        e.LastContextualKeyword = 166
        /* LastKeyword */
      ] = "LastContextualKeyword", e))(XR || {}), 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 || {}), YR = /* @__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))(YR || {}), DQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.IntrinsicNamedElement = 1] = "IntrinsicNamedElement", e[e.IntrinsicIndexedElement = 2] = "IntrinsicIndexedElement", e[e.IntrinsicElement = 3] = "IntrinsicElement", e))(DQ || {}), ZR = /* @__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))(ZR || {}), wQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Always = 1] = "Always", e[e.Never = 2] = "Never", e[e.Sometimes = 3] = "Sometimes", e))(wQ || {}), KR = /* @__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))(KR || {}), PQ = /* @__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))(PQ || {}), NQ = /* @__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))(NQ || {}), t7 = /* @__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))(t7 || {}), AQ = /* @__PURE__ */ ((e) => (e[e.ExpectError = 0] = "ExpectError", e[e.Ignore = 1] = "Ignore", e))(AQ || {}), a4 = class {
      }, ej = /* @__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))(ej || {}), IQ = /* @__PURE__ */ ((e) => (e[e.FilePreprocessingLibReferenceDiagnostic = 0] = "FilePreprocessingLibReferenceDiagnostic", e[e.FilePreprocessingFileExplainingDiagnostic = 1] = "FilePreprocessingFileExplainingDiagnostic", e[e.ResolutionDiagnostics = 2] = "ResolutionDiagnostics", e))(IQ || {}), FQ = /* @__PURE__ */ ((e) => (e[e.Js = 0] = "Js", e[e.Dts = 1] = "Dts", e[e.BuilderSignature = 2] = "BuilderSignature", e))(FQ || {}), tj = /* @__PURE__ */ ((e) => (e[e.Not = 0] = "Not", e[e.SafeModules = 1] = "SafeModules", e[e.Completely = 2] = "Completely", e))(tj || {}), OQ = /* @__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))(OQ || {}), LQ = /* @__PURE__ */ ((e) => (e[e.Ok = 0] = "Ok", e[e.NeedsOverride = 1] = "NeedsOverride", e[e.HasInvalidOverride = 2] = "HasInvalidOverride", e))(LQ || {}), MQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Literal = 1] = "Literal", e[e.Subtype = 2] = "Subtype", e))(MQ || {}), RQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.NoSupertypeReduction = 1] = "NoSupertypeReduction", e[e.NoConstraintReduction = 2] = "NoConstraintReduction", e))(RQ || {}), jQ = /* @__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))(jQ || {}), BQ = /* @__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))(BQ || {}), JQ = /* @__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))(JQ || {}), zQ = /* @__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))(zQ || {}), WQ = /* @__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))(WQ || {}), UQ = /* @__PURE__ */ ((e) => (e[e.Accessible = 0] = "Accessible", e[e.NotAccessible = 1] = "NotAccessible", e[e.CannotBeNamed = 2] = "CannotBeNamed", e[e.NotResolved = 3] = "NotResolved", e))(UQ || {}), VQ = /* @__PURE__ */ ((e) => (e[e.This = 0] = "This", e[e.Identifier = 1] = "Identifier", e[e.AssertsThis = 2] = "AssertsThis", e[e.AssertsIdentifier = 3] = "AssertsIdentifier", e))(VQ || {}), qQ = /* @__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))(qQ || {}), rj = /* @__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))(rj || {}), HQ = /* @__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))(HQ || {}), GQ = /* @__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))(GQ || {}), nj = /* @__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))(nj || {}), ij = /* @__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))(ij || {}), sj = /* @__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.SingleSignatureType = 134217728] = "SingleSignatureType", 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.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))(sj || {}), $Q = /* @__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))($Q || {}), XQ = /* @__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))(XQ || {}), QQ = /* @__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))(QQ || {}), YQ = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.StringsOnly = 1] = "StringsOnly", e[e.NoIndexSignatures = 2] = "NoIndexSignatures", e[e.NoReducibleCheck = 4] = "NoReducibleCheck", e))(YQ || {}), ZQ = /* @__PURE__ */ ((e) => (e[e.Component = 0] = "Component", e[e.Function = 1] = "Function", e[e.Mixed = 2] = "Mixed", e))(ZQ || {}), KQ = /* @__PURE__ */ ((e) => (e[e.Call = 0] = "Call", e[e.Construct = 1] = "Construct", e))(KQ || {}), aj = /* @__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))(aj || {}), eY = /* @__PURE__ */ ((e) => (e[e.String = 0] = "String", e[e.Number = 1] = "Number", e))(eY || {}), tY = /* @__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))(tY || {}), rY = /* @__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))(rY || {}), nY = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.NoDefault = 1] = "NoDefault", e[e.AnyDefault = 2] = "AnyDefault", e[e.SkippedGenericFunction = 4] = "SkippedGenericFunction", e))(nY || {}), iY = /* @__PURE__ */ ((e) => (e[e.False = 0] = "False", e[e.Unknown = 1] = "Unknown", e[e.Maybe = 3] = "Maybe", e[e.True = -1] = "True", e))(iY || {}), sY = /* @__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))(sY || {}), r7 = /* @__PURE__ */ ((e) => (e[e.Warning = 0] = "Warning", e[e.Error = 1] = "Error", e[e.Suggestion = 2] = "Suggestion", e[e.Message = 3] = "Message", e))(r7 || {});
      function z2(e, t = true) {
        const n = r7[e.category];
        return t ? n.toLowerCase() : n;
      }
      var gC = /* @__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))(gC || {}), aY = /* @__PURE__ */ ((e) => (e[e.Legacy = 1] = "Legacy", e[e.Auto = 2] = "Auto", e[e.Force = 3] = "Force", e))(aY || {}), oY = /* @__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))(oY || {}), cY = /* @__PURE__ */ ((e) => (e[e.UseFsEvents = 0] = "UseFsEvents", e[e.FixedPollingInterval = 1] = "FixedPollingInterval", e[e.DynamicPriorityPolling = 2] = "DynamicPriorityPolling", e[e.FixedChunkSizePolling = 3] = "FixedChunkSizePolling", e))(cY || {}), lY = /* @__PURE__ */ ((e) => (e[e.FixedInterval = 0] = "FixedInterval", e[e.PriorityInterval = 1] = "PriorityInterval", e[e.DynamicPriority = 2] = "DynamicPriority", e[e.FixedChunkSize = 3] = "FixedChunkSize", e))(lY || {}), hC = /* @__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.Node20 = 102] = "Node20", e[e.NodeNext = 199] = "NodeNext", e[e.Preserve = 200] = "Preserve", e))(hC || {}), uY = /* @__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))(uY || {}), _Y = /* @__PURE__ */ ((e) => (e[e.Remove = 0] = "Remove", e[e.Preserve = 1] = "Preserve", e[e.Error = 2] = "Error", e))(_Y || {}), fY = /* @__PURE__ */ ((e) => (e[e.CarriageReturnLineFeed = 0] = "CarriageReturnLineFeed", e[e.LineFeed = 1] = "LineFeed", e))(fY || {}), oj = /* @__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))(oj || {}), pY = /* @__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))(pY || {}), dY = /* @__PURE__ */ ((e) => (e[e.Standard = 0] = "Standard", e[e.JSX = 1] = "JSX", e))(dY || {}), mY = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Recursive = 1] = "Recursive", e))(mY || {}), gY = /* @__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))(gY || {}), hY = /* @__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))(hY || {}), cj = /* @__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))(cj || {}), lj = /* @__PURE__ */ ((e) => (e[e.TabStop = 0] = "TabStop", e[e.Placeholder = 1] = "Placeholder", e[e.Choice = 2] = "Choice", e[e.Variable = 3] = "Variable", e))(lj || {}), uj = /* @__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))(uj || {}), yY = /* @__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))(yY || {}), Tl = {
        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 */
      }, vY = /* @__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))(vY || {}), bY = /* @__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))(bY || {}), SY = /* @__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))(SY || {}), TY = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.InParameters = 1] = "InParameters", e[e.VariablesHoistedInParameters = 2] = "VariablesHoistedInParameters", e))(TY || {}), xY = /* @__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))(xY || {}), kY = /* @__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))(kY || {}), n7 = {
        reference: {
          args: [
            { name: "types", optional: true, captureSpan: true },
            { name: "lib", optional: true, captureSpan: true },
            { name: "path", optional: true, captureSpan: true },
            { name: "no-default-lib", optional: true },
            { name: "resolution-mode", optional: true },
            { name: "preserve", optional: true }
          ],
          kind: 1
          /* TripleSlashXML */
        },
        "amd-dependency": {
          args: [{ name: "path" }, { name: "name", optional: true }],
          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 */
        }
      }, CY = /* @__PURE__ */ ((e) => (e[e.ParseAll = 0] = "ParseAll", e[e.ParseNone = 1] = "ParseNone", e[e.ParseForTypeErrors = 2] = "ParseForTypeErrors", e[e.ParseForTypeInfo = 3] = "ParseForTypeInfo", e))(CY || {});
      function o4(e) {
        let t = 5381;
        for (let n = 0; n < e.length; n++)
          t = (t << 5) + t + e.charCodeAt(n);
        return t.toString();
      }
      function Ege() {
        Error.stackTraceLimit < 100 && (Error.stackTraceLimit = 100);
      }
      var EY = /* @__PURE__ */ ((e) => (e[e.Created = 0] = "Created", e[e.Changed = 1] = "Changed", e[e.Deleted = 2] = "Deleted", e))(EY || {}), _j = /* @__PURE__ */ ((e) => (e[e.High = 2e3] = "High", e[e.Medium = 500] = "Medium", e[e.Low = 250] = "Low", e))(_j || {}), G_ = /* @__PURE__ */ new Date(0);
      function HT(e, t) {
        return e.getModifiedTime(t) || G_;
      }
      function DY(e) {
        return {
          250: e.Low,
          500: e.Medium,
          2e3: e.High
        };
      }
      var fj = { Low: 32, Medium: 64, High: 256 }, pj = DY(fj), i7 = DY(fj);
      function mFe(e) {
        if (!e.getEnvironmentVariable)
          return;
        const t = s("TSC_WATCH_POLLINGINTERVAL", _j);
        pj = o("TSC_WATCH_POLLINGCHUNKSIZE", fj) || pj, i7 = o("TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS", fj) || i7;
        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"), true;
          return false;
          function g(m) {
            _[m] = u[m] || _[m];
          }
        }
        function o(c, _) {
          const u = i(c);
          return (t || u) && DY(u ? { ..._, ...u } : _);
        }
      }
      function Dge(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 = vFe(u, HT(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 gFe(e) {
        const t = [], n = [], i = _(
          250
          /* Low */
        ), s = _(
          500
          /* Medium */
        ), o = _(
          2e3
          /* High */
        );
        return c;
        function c(P, A, O) {
          const F = {
            fileName: P,
            callback: A,
            unchangedPolls: 0,
            mtime: HT(e, P)
          };
          return t.push(F), S(F, O), {
            close: () => {
              F.isClosed = true, VT(t, F);
            }
          };
        }
        function _(P) {
          const A = [];
          return A.pollingInterval = P, A.pollIndex = 0, A.pollScheduled = false, A;
        }
        function u(P, A) {
          A.pollIndex = m(A, A.pollingInterval, A.pollIndex, pj[A.pollingInterval]), A.length ? D(A.pollingInterval) : (E.assert(A.pollIndex === 0), A.pollScheduled = false);
        }
        function g(P, A) {
          m(
            n,
            250,
            /*pollIndex*/
            0,
            n.length
          ), u(P, A), !A.pollScheduled && n.length && D(
            250
            /* Low */
          );
        }
        function m(P, A, O, F) {
          return Dge(
            e,
            P,
            O,
            F,
            R
          );
          function R(B, U, $) {
            $ ? (B.unchangedPolls = 0, P !== n && (P[U] = void 0, T(B))) : B.unchangedPolls !== i7[A] ? B.unchangedPolls++ : P === n ? (B.unchangedPolls = 1, P[U] = void 0, S(
              B,
              250
              /* Low */
            )) : A !== 2e3 && (B.unchangedPolls++, P[U] = void 0, S(
              B,
              A === 250 ? 500 : 2e3
              /* High */
            ));
          }
        }
        function h(P) {
          switch (P) {
            case 250:
              return i;
            case 500:
              return s;
            case 2e3:
              return o;
          }
        }
        function S(P, A) {
          h(A).push(P), k(A);
        }
        function T(P) {
          n.push(P), k(
            250
            /* Low */
          );
        }
        function k(P) {
          h(P).pollScheduled || D(P);
        }
        function D(P) {
          h(P).pollScheduled = e.setTimeout(P === 250 ? g : u, P, P === 250 ? "pollLowPollingIntervalQueue" : "pollPollingIntervalQueue", h(P));
        }
      }
      function hFe(e, t, n, i) {
        const s = Pp(), o = i ? /* @__PURE__ */ new Map() : void 0, c = /* @__PURE__ */ new Map(), _ = $l(t);
        return u;
        function u(m, h, S, T) {
          const k = _(m);
          s.add(k, h).length === 1 && o && o.set(k, n(m) || G_);
          const D = Hn(k) || ".", P = c.get(D) || g(Hn(m) || ".", D, T);
          return P.referenceCount++, {
            close: () => {
              P.referenceCount === 1 ? (P.close(), c.delete(D)) : P.referenceCount--, s.remove(k, h);
            }
          };
        }
        function g(m, h, S) {
          const T = e(
            m,
            1,
            (k, D) => {
              if (!ms(D)) return;
              const P = Qi(D, m), A = _(P), O = P && s.get(A);
              if (O) {
                let F, R = 1;
                if (o) {
                  const B = o.get(A);
                  if (k === "change" && (F = n(P) || G_, F.getTime() === B.getTime()))
                    return;
                  F || (F = n(P) || G_), o.set(A, F), B === G_ ? R = 0 : F === G_ && (R = 2);
                }
                for (const B of O)
                  B(P, R, F);
              }
            },
            /*recursive*/
            false,
            500,
            S
          );
          return T.referenceCount = 0, c.set(h, T), T;
        }
      }
      function yFe(e) {
        const t = [];
        let n = 0, i;
        return s;
        function s(_, u) {
          const g = {
            fileName: _,
            callback: u,
            mtime: HT(e, _)
          };
          return t.push(g), c(), {
            close: () => {
              g.isClosed = true, VT(t, g);
            }
          };
        }
        function o() {
          i = void 0, n = Dge(e, t, n, pj[
            250
            /* Low */
          ]), c();
        }
        function c() {
          !t.length || i || (i = e.setTimeout(o, 2e3, "pollQueue"));
        }
      }
      function wge(e, t, n, i, s) {
        const c = $l(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 && (!KE(u.callbacks, i) || u.callbacks.length || (e.delete(c), fp(u)));
          }
        };
      }
      function vFe(e, t) {
        const n = e.mtime.getTime(), i = t.getTime();
        return n !== i ? (e.mtime = t, e.callback(e.fileName, dj(n, i), t), true) : false;
      }
      function dj(e, t) {
        return e === 0 ? 0 : t === 0 ? 2 : 1;
      }
      var s7 = ["/node_modules/.", "/.git", "/.#"], Pge = Ua;
      function WP(e) {
        return Pge(e);
      }
      function wY(e) {
        Pge = e;
      }
      function bFe({
        watchDirectory: e,
        useCaseSensitiveFileNames: t,
        getCurrentDirectory: n,
        getAccessibleSortedChildDirectories: i,
        fileSystemEntryExists: s,
        realpath: o,
        setTimeout: c,
        clearTimeout: _
      }) {
        const u = /* @__PURE__ */ new Map(), g = Pp(), m = /* @__PURE__ */ new Map();
        let h;
        const S = dC(!t), T = $l(t);
        return (W, _e, K, V) => K ? k(W, V, _e) : e(W, _e, K, V);
        function k(W, _e, K, V) {
          const ae = T(W);
          let se = u.get(ae);
          se ? se.refCount++ : (se = {
            watcher: e(
              W,
              (fe) => {
                var he;
                U(fe, _e) || (_e?.synchronousWatchDirectory ? ((he = u.get(ae)) != null && he.targetWatcher || D(W, ae, fe), B(W, ae, _e)) : P(W, ae, fe, _e));
              },
              /*recursive*/
              false,
              _e
            ),
            refCount: 1,
            childWatches: Ge,
            targetWatcher: void 0,
            links: void 0
          }, u.set(ae, se), B(W, ae, _e)), V && (se.links ?? (se.links = /* @__PURE__ */ new Set())).add(V);
          const ce = K && { dirName: W, callback: K };
          return ce && g.add(ae, ce), {
            dirName: W,
            close: () => {
              var fe;
              const he = E.checkDefined(u.get(ae));
              ce && g.remove(ae, ce), V && ((fe = he.links) == null || fe.delete(V)), he.refCount--, !he.refCount && (u.delete(ae), he.links = void 0, fp(he), R(he), he.childWatches.forEach(nd));
            }
          };
        }
        function D(W, _e, K, V) {
          var ae, se;
          let ce, fe;
          ms(K) ? ce = K : fe = K, g.forEach((he, q) => {
            if (!(fe && fe.get(q) === true) && (q === _e || Ui(_e, q) && _e[q.length] === yo))
              if (fe)
                if (V) {
                  const be = fe.get(q);
                  be ? be.push(...V) : fe.set(q, V.slice());
                } else
                  fe.set(q, true);
              else
                he.forEach(({ callback: be }) => be(ce));
          }), (se = (ae = u.get(_e)) == null ? void 0 : ae.links) == null || se.forEach((he) => {
            const q = (be) => On(he, Ef(W, be, T));
            fe ? D(he, T(he), fe, V?.map(q)) : D(he, T(he), q(ce));
          });
        }
        function P(W, _e, K, V) {
          const ae = u.get(_e);
          if (ae && s(
            W,
            1
            /* Directory */
          )) {
            A(W, _e, K, V);
            return;
          }
          D(W, _e, K), R(ae), F(ae);
        }
        function A(W, _e, K, V) {
          const ae = m.get(_e);
          ae ? ae.fileNames.push(K) : m.set(_e, { dirName: W, options: V, fileNames: [K] }), h && (_(h), h = void 0), h = c(O, 1e3, "timerToUpdateChildWatches");
        }
        function O() {
          var W;
          h = void 0, WP(`sysLog:: onTimerToUpdateChildWatches:: ${m.size}`);
          const _e = no(), K = /* @__PURE__ */ new Map();
          for (; !h && m.size; ) {
            const ae = m.entries().next();
            E.assert(!ae.done);
            const { value: [se, { dirName: ce, options: fe, fileNames: he }] } = ae;
            m.delete(se);
            const q = B(ce, se, fe);
            (W = u.get(se)) != null && W.targetWatcher || D(ce, se, K, q ? void 0 : he);
          }
          WP(`sysLog:: invokingWatchers:: Elapsed:: ${no() - _e}ms:: ${m.size}`), g.forEach((ae, se) => {
            const ce = K.get(se);
            ce && ae.forEach(({ callback: fe, dirName: he }) => {
              ss(ce) ? ce.forEach(fe) : fe(he);
            });
          });
          const V = no() - _e;
          WP(`sysLog:: Elapsed:: ${V}ms:: onTimerToUpdateChildWatches:: ${m.size} ${h}`);
        }
        function F(W) {
          if (!W) return;
          const _e = W.childWatches;
          W.childWatches = Ge;
          for (const K of _e)
            K.close(), F(u.get(T(K.dirName)));
        }
        function R(W) {
          W?.targetWatcher && (W.targetWatcher.close(), W.targetWatcher = void 0);
        }
        function B(W, _e, K) {
          const V = u.get(_e);
          if (!V) return false;
          const ae = qs(o(W));
          let se, ce;
          return S(ae, W) === 0 ? se = KI(
            s(
              W,
              1
              /* Directory */
            ) ? Fi(i(W), (q) => {
              const be = Qi(q, W);
              return !U(be, K) && S(be, qs(o(be))) === 0 ? be : void 0;
            }) : Ge,
            V.childWatches,
            (q, be) => S(q, be.dirName),
            fe,
            nd,
            he
          ) : V.targetWatcher && S(ae, V.targetWatcher.dirName) === 0 ? (se = false, E.assert(V.childWatches === Ge)) : (R(V), V.targetWatcher = k(
            ae,
            K,
            /*callback*/
            void 0,
            W
          ), V.childWatches.forEach(nd), se = true), V.childWatches = ce || Ge, se;
          function fe(q) {
            const be = k(q, K);
            he(be);
          }
          function he(q) {
            (ce || (ce = [])).push(q);
          }
        }
        function U(W, _e) {
          return ot(s7, (K) => $(W, K)) || Nge(W, _e, t, n);
        }
        function $(W, _e) {
          return W.includes(_e) ? true : t ? false : T(W).includes(_e);
        }
      }
      var PY = /* @__PURE__ */ ((e) => (e[e.File = 0] = "File", e[e.Directory = 1] = "Directory", e))(PY || {});
      function SFe(e) {
        return (t, n, i) => e(n === 1 ? "change" : "rename", "", i);
      }
      function TFe(e, t, n) {
        return (i, s, o) => {
          i === "rename" ? (o || (o = n(e) || G_), t(e, o !== G_ ? 0 : 2, o)) : t(e, 1, o);
        };
      }
      function Nge(e, t, n, i) {
        return (t?.excludeDirectories || t?.excludeFiles) && (iO(e, t?.excludeFiles, n, i()) || iO(e, t?.excludeDirectories, n, i()));
      }
      function Age(e, t, n, i, s) {
        return (o, c) => {
          if (o === "rename") {
            const _ = c ? qs(On(e, c)) : e;
            (!c || !Nge(_, n, i, s)) && t(_);
          }
        };
      }
      function NY({
        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: P
      }) {
        const A = /* @__PURE__ */ new Map(), O = /* @__PURE__ */ new Map(), F = /* @__PURE__ */ new Map();
        let R, B, U, $, W = false;
        return {
          watchFile: _e,
          watchDirectory: ce
        };
        function _e(Z, pe, Te, Fe) {
          Fe = ae(Fe, S);
          const Ye = E.checkDefined(Fe.watchFile);
          switch (Ye) {
            case 0:
              return q(
                Z,
                pe,
                250,
                /*options*/
                void 0
              );
            case 1:
              return q(
                Z,
                pe,
                Te,
                /*options*/
                void 0
              );
            case 2:
              return K()(
                Z,
                pe,
                Te,
                /*options*/
                void 0
              );
            case 3:
              return V()(
                Z,
                pe,
                /* pollingInterval */
                void 0,
                /*options*/
                void 0
              );
            case 4:
              return be(
                Z,
                0,
                TFe(Z, pe, t),
                /*recursive*/
                false,
                Te,
                T8(Fe)
              );
            case 5:
              return U || (U = hFe(be, c, t, D)), U(Z, pe, Te, T8(Fe));
            default:
              E.assertNever(Ye);
          }
        }
        function K() {
          return R || (R = gFe({ getModifiedTime: t, setTimeout: n }));
        }
        function V() {
          return B || (B = yFe({ getModifiedTime: t, setTimeout: n }));
        }
        function ae(Z, pe) {
          if (Z && Z.watchFile !== void 0) return Z;
          switch (h) {
            case "PriorityPollingInterval":
              return {
                watchFile: 1
                /* PriorityPollingInterval */
              };
            case "DynamicPriorityPolling":
              return {
                watchFile: 2
                /* DynamicPriorityPolling */
              };
            case "UseFsEvents":
              return se(4, 1, Z);
            case "UseFsEventsWithFallbackDynamicPolling":
              return se(4, 2, Z);
            case "UseFsEventsOnParentDirectory":
              pe = true;
            // fall through
            default:
              return pe ? (
                // Use notifications from FS to watch with falling back to fs.watchFile
                se(5, 1, Z)
              ) : (
                // Default to using fs events
                {
                  watchFile: 4
                  /* UseFsEvents */
                }
              );
          }
        }
        function se(Z, pe, Te) {
          const Fe = Te?.fallbackPolling;
          return {
            watchFile: Z,
            fallbackPolling: Fe === void 0 ? pe : Fe
          };
        }
        function ce(Z, pe, Te, Fe) {
          return u ? be(
            Z,
            1,
            Age(Z, pe, Fe, c, _),
            Te,
            500,
            T8(Fe)
          ) : ($ || ($ = bFe({
            useCaseSensitiveFileNames: c,
            getCurrentDirectory: _,
            fileSystemEntryExists: o,
            getAccessibleSortedChildDirectories: g,
            watchDirectory: fe,
            realpath: m,
            setTimeout: n,
            clearTimeout: i
          })), $(Z, pe, Te, Fe));
        }
        function fe(Z, pe, Te, Fe) {
          E.assert(!Te);
          const Ye = he(Fe), ne = E.checkDefined(Ye.watchDirectory);
          switch (ne) {
            case 1:
              return q(
                Z,
                () => pe(Z),
                500,
                /*options*/
                void 0
              );
            case 2:
              return K()(
                Z,
                () => pe(Z),
                500,
                /*options*/
                void 0
              );
            case 3:
              return V()(
                Z,
                () => pe(Z),
                /* pollingInterval */
                void 0,
                /*options*/
                void 0
              );
            case 0:
              return be(
                Z,
                1,
                Age(Z, pe, Fe, c, _),
                Te,
                500,
                T8(Ye)
              );
            default:
              E.assertNever(ne);
          }
        }
        function he(Z) {
          if (Z && Z.watchDirectory !== void 0) return Z;
          switch (T) {
            case "RecursiveDirectoryUsingFsWatchFile":
              return {
                watchDirectory: 1
                /* FixedPollingInterval */
              };
            case "RecursiveDirectoryUsingDynamicPriorityPolling":
              return {
                watchDirectory: 2
                /* DynamicPriorityPolling */
              };
            default:
              const pe = Z?.fallbackPolling;
              return {
                watchDirectory: 0,
                fallbackPolling: pe !== void 0 ? pe : void 0
              };
          }
        }
        function q(Z, pe, Te, Fe) {
          return wge(
            A,
            c,
            Z,
            pe,
            (Ye) => e(Z, Ye, Te, Fe)
          );
        }
        function be(Z, pe, Te, Fe, Ye, ne) {
          return wge(
            Fe ? F : O,
            c,
            Z,
            Te,
            (Se) => je(Z, pe, Se, Fe, Ye, ne)
          );
        }
        function je(Z, pe, Te, Fe, Ye, ne) {
          let Se, ie;
          k && (Se = Z.substring(Z.lastIndexOf(yo)), ie = Se.slice(yo.length));
          let Ne = o(Z, pe) ? Ce() : Bt();
          return {
            close: () => {
              Ne && (Ne.close(), Ne = void 0);
            }
          };
          function Ee(tr) {
            Ne && (P(`sysLog:: ${Z}:: Changing watcher to ${tr === Ce ? "Present" : "Missing"}FileSystemEntryWatcher`), Ne.close(), Ne = tr());
          }
          function Ce() {
            if (W)
              return P(`sysLog:: ${Z}:: Defaulting to watchFile`), St();
            try {
              const tr = (pe === 1 || !D ? s : me)(
                Z,
                Fe,
                k ? Ve : Te
              );
              return tr.on("error", () => {
                Te("rename", ""), Ee(Bt);
              }), tr;
            } catch (tr) {
              return W || (W = tr.code === "ENOSPC"), P(`sysLog:: ${Z}:: Changing to watchFile`), St();
            }
          }
          function Ve(tr, Nr) {
            let st;
            if (Nr && Co(Nr, "~") && (st = Nr, Nr = Nr.slice(0, Nr.length - 1)), tr === "rename" && (!Nr || Nr === ie || Co(Nr, Se))) {
              const Wt = t(Z) || G_;
              st && Te(tr, st, Wt), Te(tr, Nr, Wt), k ? Ee(Wt === G_ ? Bt : Ce) : Wt === G_ && Ee(Bt);
            } else
              st && Te(tr, st), Te(tr, Nr);
          }
          function St() {
            return _e(
              Z,
              SFe(Te),
              Ye,
              ne
            );
          }
          function Bt() {
            return _e(
              Z,
              (tr, Nr, st) => {
                Nr === 0 && (st || (st = t(Z) || G_), st !== G_ && (Te("rename", "", st), Ee(Ce)));
              },
              Ye,
              ne
            );
          }
        }
        function me(Z, pe, Te) {
          let Fe = t(Z) || G_;
          return s(Z, pe, (Ye, ne, Se) => {
            Ye === "change" && (Se || (Se = t(Z) || G_), Se.getTime() === Fe.getTime()) || (Fe = Se || t(Z) || G_, Te(Ye, ne, Fe));
          });
        }
      }
      function AY(e) {
        const t = e.writeFile;
        e.writeFile = (n, i, s) => YB(
          n,
          i,
          !!s,
          (o, c, _) => t.call(e, o, c, _),
          (o) => e.createDirectory(o),
          (o) => e.directoryExists(o)
        );
      }
      var fl = (() => {
        const e = "\uFEFF";
        function t() {
          const i = /^native |^\([^)]+\)$|^(?:internal[\\/]|[\w\s]+(?:\.js)?$)/, s = qE, o = qE, c = qE;
          let _;
          try {
            _ = qE;
          } catch {
            _ = void 0;
          }
          let u, g = "./profile.cpuprofile";
          const m = process.platform === "darwin", h = process.platform === "linux" || m, S = { throwIfNoEntry: false }, T = c.platform(), k = K(), D = s.realpathSync.native ? process.platform === "win32" ? pe : s.realpathSync.native : s.realpathSync, P = __filename.endsWith("sys.js") ? o.join(o.dirname(__dirname), "__fake__.js") : __filename, A = process.platform === "win32" || m, O = Bu(() => process.cwd()), { watchFile: F, watchDirectory: R } = NY({
            pollingWatchFileWorker: ae,
            getModifiedTime: Fe,
            setTimeout,
            clearTimeout,
            fsWatchWorker: se,
            useCaseSensitiveFileNames: k,
            getCurrentDirectory: O,
            fileSystemEntryExists: be,
            // 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: (ie) => he(ie).directories,
            realpath: Te,
            tscWatchFile: define_process_env_default.TSC_WATCHFILE,
            useNonPollingWatchers: !!define_process_env_default.TSC_NONPOLLING_WATCHER,
            tscWatchDirectory: define_process_env_default.TSC_WATCHDIRECTORY,
            inodeWatching: h,
            fsWatchWithTimestamp: m,
            sysLog: WP
          }), B = {
            args: process.argv.slice(2),
            newLine: c.EOL,
            useCaseSensitiveFileNames: k,
            write(ie) {
              process.stdout.write(ie);
            },
            getWidthOfTerminal() {
              return process.stdout.columns;
            },
            writeOutputIsTTY() {
              return process.stdout.isTTY;
            },
            readFile: ce,
            writeFile: fe,
            watchFile: F,
            watchDirectory: R,
            preferNonRecursiveWatch: !A,
            resolvePath: (ie) => o.resolve(ie),
            fileExists: je,
            directoryExists: me,
            getAccessibleFileSystemEntries: he,
            createDirectory(ie) {
              if (!B.directoryExists(ie))
                try {
                  s.mkdirSync(ie);
                } catch (Ne) {
                  if (Ne.code !== "EEXIST")
                    throw Ne;
                }
            },
            getExecutingFilePath() {
              return P;
            },
            getCurrentDirectory: O,
            getDirectories: Z,
            getEnvironmentVariable(ie) {
              return define_process_env_default[ie] || "";
            },
            readDirectory: q,
            getModifiedTime: Fe,
            setModifiedTime: Ye,
            deleteFile: ne,
            createHash: _ ? Se : o4,
            createSHA256Hash: _ ? Se : void 0,
            getMemoryUsage() {
              return Gd.gc && Gd.gc(), process.memoryUsage().heapUsed;
            },
            getFileSize(ie) {
              const Ne = U(ie);
              return Ne?.isFile() ? Ne.size : 0;
            },
            exit(ie) {
              _e(() => process.exit(ie));
            },
            enableCPUProfiler: $,
            disableCPUProfiler: _e,
            cpuProfilingEnabled: () => !!u || ds(process.execArgv, "--cpu-prof") || ds(process.execArgv, "--prof"),
            realpath: Te,
            debugMode: !!define_process_env_default.NODE_INSPECTOR_IPC || !!define_process_env_default.VSCODE_INSPECTOR_OPTIONS || ot(process.execArgv, (ie) => /^--(?:inspect|debug)(?:-brk)?(?:=\d+)?$/i.test(ie)) || !!process.recordreplay,
            tryEnableSourceMapsForHost() {
              try {
                qE.install();
              } catch {
              }
            },
            setTimeout,
            clearTimeout,
            clearScreen: () => {
              process.stdout.write("\x1B[2J\x1B[3J\x1B[H");
            },
            setBlocking: () => {
              var ie;
              const Ne = (ie = process.stdout) == null ? void 0 : ie._handle;
              Ne && Ne.setBlocking && Ne.setBlocking(true);
            },
            base64decode: (ie) => Buffer.from(ie, "base64").toString("utf8"),
            base64encode: (ie) => Buffer.from(ie).toString("base64"),
            require: (ie, Ne) => {
              try {
                const Ee = tne(Ne, ie, B);
                return { module: D5e(Ee), modulePath: Ee, error: void 0 };
              } catch (Ee) {
                return { module: void 0, modulePath: void 0, error: Ee };
              }
            }
          };
          return B;
          function U(ie) {
            try {
              return s.statSync(ie, S);
            } catch {
              return;
            }
          }
          function $(ie, Ne) {
            if (u)
              return Ne(), false;
            const Ee = qE;
            if (!Ee || !Ee.Session)
              return Ne(), false;
            const Ce = new Ee.Session();
            return Ce.connect(), Ce.post("Profiler.enable", () => {
              Ce.post("Profiler.start", () => {
                u = Ce, g = ie, Ne();
              });
            }), true;
          }
          function W(ie) {
            let Ne = 0;
            const Ee = /* @__PURE__ */ new Map(), Ce = Rl(o.dirname(P)), Ve = `file://${bd(Ce) === 1 ? "" : "/"}${Ce}`;
            for (const St of ie.nodes)
              if (St.callFrame.url) {
                const Bt = Rl(St.callFrame.url);
                Kf(Ve, Bt, k) ? St.callFrame.url = XT(
                  Ve,
                  Bt,
                  Ve,
                  $l(k),
                  /*isAbsolutePathAnUrl*/
                  true
                ) : i.test(Bt) || (St.callFrame.url = (Ee.has(Bt) ? Ee : Ee.set(Bt, `external${Ne}.js`)).get(Bt), Ne++);
              }
            return ie;
          }
          function _e(ie) {
            if (u && u !== "stopping") {
              const Ne = u;
              return u.post("Profiler.stop", (Ee, { profile: Ce }) => {
                var Ve;
                if (!Ee) {
                  (Ve = U(g)) != null && Ve.isDirectory() && (g = o.join(g, `${(/* @__PURE__ */ new Date()).toISOString().replace(/:/g, "-")}+P${process.pid}.cpuprofile`));
                  try {
                    s.mkdirSync(o.dirname(g), { recursive: true });
                  } catch {
                  }
                  s.writeFileSync(g, JSON.stringify(W(Ce)));
                }
                u = void 0, Ne.disconnect(), ie();
              }), u = "stopping", true;
            } else
              return ie(), false;
          }
          function K() {
            return T === "win32" || T === "win64" ? false : !je(V(__filename));
          }
          function V(ie) {
            return ie.replace(/\w/g, (Ne) => {
              const Ee = Ne.toUpperCase();
              return Ne === Ee ? Ne.toLowerCase() : Ee;
            });
          }
          function ae(ie, Ne, Ee) {
            s.watchFile(ie, { persistent: true, interval: Ee }, Ve);
            let Ce;
            return {
              close: () => s.unwatchFile(ie, Ve)
            };
            function Ve(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;
              }
              Ne(ie, Ce, St.mtime);
            }
          }
          function se(ie, Ne, Ee) {
            return s.watch(
              ie,
              A ? { persistent: true, recursive: !!Ne } : { persistent: true },
              Ee
            );
          }
          function ce(ie, Ne) {
            let Ee;
            try {
              Ee = s.readFileSync(ie);
            } catch {
              return;
            }
            let Ce = Ee.length;
            if (Ce >= 2 && Ee[0] === 254 && Ee[1] === 255) {
              Ce &= -2;
              for (let Ve = 0; Ve < Ce; Ve += 2) {
                const St = Ee[Ve];
                Ee[Ve] = Ee[Ve + 1], Ee[Ve + 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(ie, Ne, Ee) {
            Ee && (Ne = e + Ne);
            let Ce;
            try {
              Ce = s.openSync(ie, "w"), s.writeSync(
                Ce,
                Ne,
                /*position*/
                void 0,
                "utf8"
              );
            } finally {
              Ce !== void 0 && s.closeSync(Ce);
            }
          }
          function he(ie) {
            try {
              const Ne = s.readdirSync(ie || ".", { withFileTypes: true }), Ee = [], Ce = [];
              for (const Ve of Ne) {
                const St = typeof Ve == "string" ? Ve : Ve.name;
                if (St === "." || St === "..")
                  continue;
                let Bt;
                if (typeof Ve == "string" || Ve.isSymbolicLink()) {
                  const tr = On(ie, St);
                  if (Bt = U(tr), !Bt)
                    continue;
                } else
                  Bt = Ve;
                Bt.isFile() ? Ee.push(St) : Bt.isDirectory() && Ce.push(St);
              }
              return Ee.sort(), Ce.sort(), { files: Ee, directories: Ce };
            } catch {
              return IJ;
            }
          }
          function q(ie, Ne, Ee, Ce, Ve) {
            return wJ(ie, Ne, Ee, Ce, k, process.cwd(), Ve, he, Te);
          }
          function be(ie, Ne) {
            const Ee = U(ie);
            if (!Ee)
              return false;
            switch (Ne) {
              case 0:
                return Ee.isFile();
              case 1:
                return Ee.isDirectory();
              default:
                return false;
            }
          }
          function je(ie) {
            return be(
              ie,
              0
              /* File */
            );
          }
          function me(ie) {
            return be(
              ie,
              1
              /* Directory */
            );
          }
          function Z(ie) {
            return he(ie).directories.slice();
          }
          function pe(ie) {
            return ie.length < 260 ? s.realpathSync.native(ie) : s.realpathSync(ie);
          }
          function Te(ie) {
            try {
              return D(ie);
            } catch {
              return ie;
            }
          }
          function Fe(ie) {
            var Ne;
            return (Ne = U(ie)) == null ? void 0 : Ne.mtime;
          }
          function Ye(ie, Ne) {
            try {
              s.utimesSync(ie, Ne, Ne);
            } catch {
              return;
            }
          }
          function ne(ie) {
            try {
              return s.unlinkSync(ie);
            } catch {
              return;
            }
          }
          function Se(ie) {
            const Ne = _.createHash("sha256");
            return Ne.update(ie), Ne.digest("hex");
          }
        }
        let n;
        return qR() && (n = t()), n && AY(n), n;
      })();
      function Ige(e) {
        fl = e;
      }
      fl && fl.getEnvironmentVariable && (mFe(fl), E.setAssertionLevel(
        /^development$/i.test(fl.getEnvironmentVariable("NODE_ENV")) ? 1 : 0
        /* None */
      )), fl && fl.debugMode && (E.isDebugging = true);
      var yo = "/", a7 = "\\", Fge = "://", xFe = /\\/g;
      function mj(e) {
        return e === 47 || e === 92;
      }
      function IY(e) {
        return o7(e) < 0;
      }
      function $_(e) {
        return o7(e) > 0;
      }
      function gj(e) {
        const t = o7(e);
        return t > 0 && t === e.length;
      }
      function c4(e) {
        return o7(e) !== 0;
      }
      function vf(e) {
        return /^\.\.?(?:$|[\\/])/.test(e);
      }
      function hj(e) {
        return !c4(e) && !vf(e);
      }
      function yC(e) {
        return Xc(e).includes(".");
      }
      function Ho(e, t) {
        return e.length > t.length && Co(e, t);
      }
      function bc(e, t) {
        for (const n of t)
          if (Ho(e, n))
            return true;
        return false;
      }
      function dy(e) {
        return e.length > 0 && mj(e.charCodeAt(e.length - 1));
      }
      function Oge(e) {
        return e >= 97 && e <= 122 || e >= 65 && e <= 90;
      }
      function kFe(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 o7(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 ? yo : a7, 2);
          return i < 0 ? e.length : i + 1;
        }
        if (Oge(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(Fge);
        if (n !== -1) {
          const i = n + Fge.length, s = e.indexOf(yo, i);
          if (s !== -1) {
            const o = e.slice(0, n), c = e.slice(i, s);
            if (o === "file" && (c === "" || c === "localhost") && Oge(e.charCodeAt(s + 1))) {
              const _ = kFe(e, s + 2);
              if (_ !== -1) {
                if (e.charCodeAt(_) === 47)
                  return ~(_ + 1);
                if (_ === e.length)
                  return ~_;
              }
            }
            return ~(s + 1);
          }
          return ~e.length;
        }
        return 0;
      }
      function bd(e) {
        const t = o7(e);
        return t < 0 ? ~t : t;
      }
      function Hn(e) {
        e = Rl(e);
        const t = bd(e);
        return t === e.length ? e : (e = a0(e), e.slice(0, Math.max(t, e.lastIndexOf(yo))));
      }
      function Xc(e, t, n) {
        if (e = Rl(e), bd(e) === e.length) return "";
        e = a0(e);
        const s = e.slice(Math.max(bd(e), e.lastIndexOf(yo) + 1)), o = t !== void 0 && n !== void 0 ? GT(s, t, n) : void 0;
        return o ? s.slice(0, s.length - o.length) : s;
      }
      function Lge(e, t, n) {
        if (Ui(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 CFe(e, t, n) {
        if (typeof t == "string")
          return Lge(e, t, n) || "";
        for (const i of t) {
          const s = Lge(e, i, n);
          if (s) return s;
        }
        return "";
      }
      function GT(e, t, n) {
        if (t)
          return CFe(a0(e), t, n ? fy : db);
        const i = Xc(e), s = i.lastIndexOf(".");
        return s >= 0 ? i.substring(s) : "";
      }
      function EFe(e, t) {
        const n = e.substring(0, t), i = e.substring(t).split(yo);
        return i.length && !ko(i) && i.pop(), [n, ...i];
      }
      function cu(e, t = "") {
        return e = On(t, e), EFe(e, bd(e));
      }
      function O1(e, t) {
        return e.length === 0 ? "" : (e[0] && pl(e[0])) + e.slice(1, t).join(yo);
      }
      function Rl(e) {
        return e.includes("\\") ? e.replace(xFe, yo) : e;
      }
      function $T(e) {
        if (!ot(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 On(e, ...t) {
        e && (e = Rl(e));
        for (let n of t)
          n && (n = Rl(n), !e || bd(n) !== 0 ? e = n : e = pl(e) + n);
        return e;
      }
      function my(e, ...t) {
        return qs(ot(t) ? On(e, ...t) : Rl(e));
      }
      function c7(e, t) {
        return $T(cu(e, t));
      }
      function Qi(e, t) {
        let n = bd(e);
        n === 0 && t ? (e = On(t, e), n = bd(e)) : e = Rl(e);
        const i = Mge(e);
        if (i !== void 0)
          return i.length > n ? a0(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(yo, _ + 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(yo, g - 2))) : c = e.substring(0, g);
            else {
              const k = c.lastIndexOf(yo);
              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 += yo), m = true, c += e.substring(u, S)) : (m = true, g = S);
          _ = S + 1;
        }
        return c ?? (s > n ? a0(e) : e);
      }
      function qs(e) {
        e = Rl(e);
        let t = Mge(e);
        return t !== void 0 ? t : (t = Qi(e, ""), t && dy(e) ? pl(t) : t);
      }
      function Mge(e) {
        if (!vj.test(e))
          return e;
        let t = e.replace(/\/\.\//g, "/");
        if (t.startsWith("./") && (t = t.slice(2)), t !== e && (e = t, !vj.test(e)))
          return e;
      }
      function DFe(e) {
        return e.length === 0 ? "" : e.slice(1).join(yo);
      }
      function yj(e, t) {
        return DFe(c7(e, t));
      }
      function io(e, t, n) {
        const i = $_(e) ? qs(e) : Qi(e, t);
        return n(i);
      }
      function a0(e) {
        return dy(e) ? e.substr(0, e.length - 1) : e;
      }
      function pl(e) {
        return dy(e) ? e : e + yo;
      }
      function W2(e) {
        return !c4(e) && !vf(e) ? "./" + e : e;
      }
      function UP(e, t, n, i) {
        const s = n !== void 0 && i !== void 0 ? GT(e, n, i) : GT(e);
        return s ? e.slice(0, e.length - s.length) + (Ui(t, ".") ? t : "." + t) : e;
      }
      function l7(e, t) {
        const n = VF(e);
        return n ? e.slice(0, e.length - n.length) + (Ui(t, ".") ? t : "." + t) : UP(e, t);
      }
      var vj = /\/\/|(?:^|\/)\.\.?(?:$|\/)/;
      function FY(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, bd(e)), s = t.substring(0, bd(t)), o = jP(i, s);
        if (o !== 0)
          return o;
        const c = e.substring(i.length), _ = t.substring(s.length);
        if (!vj.test(c) && !vj.test(_))
          return n(c, _);
        const u = $T(cu(e)), g = $T(cu(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 po(u.length, g.length);
      }
      function Rge(e, t) {
        return FY(e, t, ou);
      }
      function jge(e, t) {
        return FY(e, t, jP);
      }
      function _h(e, t, n, i) {
        return typeof n == "string" ? (e = On(n, e), t = On(n, t)) : typeof n == "boolean" && (i = n), FY(e, t, dC(i));
      }
      function Kf(e, t, n, i) {
        if (typeof n == "string" ? (e = On(n, e), t = On(n, t)) : typeof n == "boolean" && (i = n), e === void 0 || t === void 0) return false;
        if (e === t) return true;
        const s = $T(cu(e)), o = $T(cu(t));
        if (o.length < s.length)
          return false;
        const c = i ? fy : db;
        for (let _ = 0; _ < s.length; _++)
          if (!(_ === 0 ? fy : c)(s[_], o[_]))
            return false;
        return true;
      }
      function bj(e, t, n) {
        const i = n(e), s = n(t);
        return Ui(i, s + "/") || Ui(i, s + "\\");
      }
      function Bge(e, t, n, i) {
        const s = $T(cu(e)), o = $T(cu(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 ? fy : 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(bd(e) > 0 == bd(t) > 0, "Paths must either both be absolute or both be relative");
        const o = Bge(e, t, (typeof n == "boolean" ? n : false) ? fy : db, typeof n == "function" ? n : fo);
        return O1(o);
      }
      function l4(e, t, n) {
        return $_(e) ? XT(
          t,
          e,
          t,
          n,
          /*isAbsolutePathAnUrl*/
          false
        ) : e;
      }
      function vC(e, t, n) {
        return W2(Ef(Hn(e), t, n));
      }
      function XT(e, t, n, i, s) {
        const o = Bge(
          my(n, e),
          my(n, t),
          db,
          i
        ), c = o[0];
        if (s && $_(c)) {
          const _ = c.charAt(0) === yo ? "file://" : "file:///";
          o[0] = _ + c;
        }
        return O1(o);
      }
      function u4(e, t) {
        for (; ; ) {
          const n = t(e);
          if (n !== void 0)
            return n;
          const i = Hn(e);
          if (i === e)
            return;
          e = i;
        }
      }
      function u7(e) {
        return Co(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."),
        ECMAScript_imports_and_exports_cannot_be_written_in_a_CommonJS_file_under_verbatimModuleSyntax: b(1286, 1, "ECMAScript_imports_and_exports_cannot_be_written_in_a_CommonJS_file_under_verbatimModuleSyntax_1286", "ECMAScript imports and exports cannot be written in a CommonJS file under 'verbatimModuleSyntax'."),
        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 }'."),
        ECMAScript_module_syntax_is_not_allowed_in_a_CommonJS_module_when_module_is_set_to_preserve: b(1293, 1, "ECMAScript_module_syntax_is_not_allowed_in_a_CommonJS_module_when_module_is_set_to_preserve_1293", "ECMAScript module 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."),
        ECMAScript_imports_and_exports_cannot_be_written_in_a_CommonJS_file_under_verbatimModuleSyntax_Adjust_the_type_field_in_the_nearest_package_json_to_make_this_file_an_ECMAScript_module_or_adjust_your_verbatimModuleSyntax_module_and_moduleResolution_settings_in_TypeScript: b(1295, 1, "ECMAScript_imports_and_exports_cannot_be_written_in_a_CommonJS_file_under_verbatimModuleSyntax_Adjus_1295", "ECMAScript imports and exports cannot be written in a CommonJS file under 'verbatimModuleSyntax'. Adjust the 'type' field in the nearest 'package.json' to make this file an ECMAScript module, or adjust your 'verbatimModuleSyntax', 'module', and 'moduleResolution' settings in TypeScript."),
        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_node20_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', 'node20', or 'nodenext'."),
        Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_node18_node20_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', 'node20', '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_node20_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', 'node20', 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_node20_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', 'node20', '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_node20_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', 'node20', '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*/
          true
        ),
        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}'."),
        using_declarations_are_not_allowed_in_ambient_contexts: b(1545, 1, "using_declarations_are_not_allowed_in_ambient_contexts_1545", "'using' declarations are not allowed in ambient contexts."),
        await_using_declarations_are_not_allowed_in_ambient_contexts: b(1546, 1, "await_using_declarations_are_not_allowed_in_ambient_contexts_1546", "'await using' declarations are not allowed in ambient contexts."),
        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*/
          true
        ),
        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*/
          true
        ),
        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*/
          true
        ),
        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*/
          true
        ),
        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}'."),
        Call_target_does_not_contain_any_signatures: b(2346, 1, "Call_target_does_not_contain_any_signatures_2346", "Call target does not contain any signatures."),
        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*/
          true
        ),
        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_and_above_with_module_0: b(2725, 1, "Class_name_cannot_be_Object_when_targeting_ES5_and_above_with_module_0_2725", "Class name cannot be 'Object' when targeting ES5 and above 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_or_class_static_initialization_blocks: b(2815, 1, "arguments_cannot_be_referenced_in_property_initializers_or_class_static_initialization_blocks_2815", "'arguments' cannot be referenced in property initializers or class static initialization blocks."),
        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_node20_nodenext_or_preserve: b(2821, 1, "Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_node20_nodenext__2821", "Import assertions are only supported when the '--module' option is set to 'esnext', 'node18', 'node20', '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_node20_nodenext_or_preserve: b(2823, 1, "Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_node20_nodenext__2823", "Import attributes are only supported when the '--module' option is set to 'esnext', 'node18', 'node20', '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_node20_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', 'node20', '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'."),
        This_expression_is_never_nullish: b(2881, 1, "This_expression_is_never_nullish_2881", "This expression is never nullish."),
        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*/
          true
        ),
        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*/
          true
        ),
        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*/
          true
        ),
        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*/
          true
        ),
        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*/
          true
        ),
        All_variables_are_unused: b(
          6199,
          1,
          "All_variables_are_unused_6199",
          "All variables are unused.",
          /*reportsUnnecessary*/
          true
        ),
        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}'."),
        File_Layout: b(6284, 3, "File_Layout_6284", "File Layout"),
        Environment_Settings: b(6285, 3, "Environment_Settings_6285", "Environment Settings"),
        See_also_https_Colon_Slash_Slashaka_ms_Slashtsconfig_Slashmodule: b(6286, 3, "See_also_https_Colon_Slash_Slashaka_ms_Slashtsconfig_Slashmodule_6286", "See also https://aka.ms/tsconfig/module"),
        For_nodejs_Colon: b(6287, 3, "For_nodejs_Colon_6287", "For nodejs:"),
        and_npm_install_D_types_Slashnode: b(6290, 3, "and_npm_install_D_types_Slashnode_6290", "and npm install -D @types/node"),
        Other_Outputs: b(6291, 3, "Other_Outputs_6291", "Other Outputs"),
        Stricter_Typechecking_Options: b(6292, 3, "Stricter_Typechecking_Options_6292", "Stricter Typechecking Options"),
        Style_Options: b(6293, 3, "Style_Options_6293", "Style Options"),
        Recommended_Options: b(6294, 3, "Recommended_Options_6294", "Recommended Options"),
        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*/
          true
        ),
        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*/
          true
        ),
        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*/
          true
        ),
        Unused_label: b(
          7028,
          1,
          "Unused_label_7028",
          "Unused label.",
          /*reportsUnnecessary*/
          true
        ),
        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'."),
        Default_imports_are_not_allowed_in_a_deferred_import: b(18058, 1, "Default_imports_are_not_allowed_in_a_deferred_import_18058", "Default imports are not allowed in a deferred import."),
        Named_imports_are_not_allowed_in_a_deferred_import: b(18059, 1, "Named_imports_are_not_allowed_in_a_deferred_import_18059", "Named imports are not allowed in a deferred import."),
        Deferred_imports_are_only_supported_when_the_module_flag_is_set_to_esnext_or_preserve: b(18060, 1, "Deferred_imports_are_only_supported_when_the_module_flag_is_set_to_esnext_or_preserve_18060", "Deferred imports are only supported when the '--module' flag is set to 'esnext' or 'preserve'."),
        _0_is_not_a_valid_meta_property_for_keyword_import_Did_you_mean_meta_or_defer: b(18061, 1, "_0_is_not_a_valid_meta_property_for_keyword_import_Did_you_mean_meta_or_defer_18061", "'{0}' is not a valid meta-property for keyword 'import'. Did you mean 'meta' or 'defer'?")
      };
      function m_(e) {
        return e >= 80;
      }
      function OY(e) {
        return e === 32 || m_(e);
      }
      var _7 = {
        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,
        defer: 166,
        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 */
      }, wFe = new Map(Object.entries(_7)), Jge = new Map(Object.entries({
        ..._7,
        "{": 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 */
      })), zge = /* @__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 */
        ]
      ]), PFe = /* @__PURE__ */ new Map([
        [1, Tl.RegularExpressionFlagsHasIndices],
        [16, Tl.RegularExpressionFlagsDotAll],
        [32, Tl.RegularExpressionFlagsUnicode],
        [64, Tl.RegularExpressionFlagsUnicodeSets],
        [128, Tl.RegularExpressionFlagsSticky]
      ]), NFe = [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], AFe = [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], IFe = [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], FFe = [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], OFe = /^\/\/\/?\s*@(ts-expect-error|ts-ignore)/, LFe = /^(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/, MFe = /@(?:see|link)/i;
      function Sj(e, t) {
        if (e < t[0])
          return false;
        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 true;
          e < t[s] ? i = s : n = s + 2;
        }
        return false;
      }
      function f7(e, t) {
        return t >= 2 ? Sj(e, IFe) : Sj(e, NFe);
      }
      function RFe(e, t) {
        return t >= 2 ? Sj(e, FFe) : Sj(e, AFe);
      }
      function Wge(e) {
        const t = [];
        return e.forEach((n, i) => {
          t[n] = i;
        }), t;
      }
      var jFe = Wge(Jge);
      function Vs(e) {
        return jFe[e];
      }
      function U2(e) {
        return Jge.get(e);
      }
      var BFe = Wge(zge);
      function Uge(e) {
        return BFe[e];
      }
      function Tj(e) {
        return zge.get(e);
      }
      function QT(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 && Su(s) && (t.push(i), i = n);
              break;
          }
        }
        return t.push(i), t;
      }
      function VP(e, t, n, i) {
        return e.getPositionOfLineAndCharacter ? e.getPositionOfLineAndCharacter(t, n, i) : p7(vg(e), t, n, e.text, i);
      }
      function p7(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 ? yf(e, QT(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 vg(e) {
        return e.lineMap || (e.lineMap = QT(e.text));
      }
      function bC(e, t) {
        const n = _4(e, t);
        return {
          line: n,
          character: t - e[n]
        };
      }
      function _4(e, t, n) {
        let i = cy(e, t, fo, po, n);
        return i < 0 && (i = ~i - 1, E.assert(i !== -1, "position cannot precede the beginning of the file")), i;
      }
      function f4(e, t, n) {
        if (t === n) return 0;
        const i = vg(e), s = Math.min(t, n), o = s === n, c = o ? t : n, _ = _4(i, s), u = _4(i, c, _);
        return o ? _ - u : u - _;
      }
      function Rs(e, t) {
        return bC(vg(e), t);
      }
      function bg(e) {
        return em(e) || Su(e);
      }
      function em(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 Su(e) {
        return e === 10 || e === 13 || e === 8232 || e === 8233;
      }
      function SC(e) {
        return e >= 48 && e <= 57;
      }
      function LY(e) {
        return SC(e) || e >= 65 && e <= 70 || e >= 97 && e <= 102;
      }
      function MY(e) {
        return e >= 65 && e <= 90 || e >= 97 && e <= 122;
      }
      function Vge(e) {
        return MY(e) || SC(e) || e === 95;
      }
      function RY(e) {
        return e >= 48 && e <= 55;
      }
      function jY(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 true;
          case 35:
            return t === 0;
          default:
            return n > 127;
        }
      }
      function aa(e, t, n, i, s) {
        if (Ed(t))
          return t;
        let o = false;
        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 && !Su(e.charCodeAt(t)); )
                  t++;
                o = false;
                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 = false;
                continue;
              }
              break;
            case 60:
            case 124:
            case 61:
            case 62:
              if (p4(e, t)) {
                t = qP(e, t), o = false;
                continue;
              }
              break;
            case 35:
              if (t === 0 && qge(e, t)) {
                t = Hge(e, t), o = false;
                continue;
              }
              break;
            case 42:
              if (o) {
                t++, o = false;
                continue;
              }
              break;
            default:
              if (c > 127 && bg(c)) {
                t++;
                continue;
              }
              break;
          }
          return t;
        }
      }
      var xj = 7;
      function p4(e, t) {
        if (E.assert(t >= 0), t === 0 || Su(e.charCodeAt(t - 1))) {
          const n = e.charCodeAt(t);
          if (t + xj < e.length) {
            for (let i = 0; i < xj; i++)
              if (e.charCodeAt(t + i) !== n)
                return false;
            return n === 61 || e.charCodeAt(t + xj) === 32;
          }
        }
        return false;
      }
      function qP(e, t, n) {
        n && n(p.Merge_conflict_marker_encountered, t, xj);
        const i = e.charCodeAt(t), s = e.length;
        if (i === 60 || i === 62)
          for (; t < s && !Su(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 && p4(e, t))
              break;
            t++;
          }
        return t;
      }
      var BY = /^#!.*/;
      function qge(e, t) {
        return E.assert(t === 0), BY.test(e);
      }
      function Hge(e, t) {
        const n = BY.exec(e)[0];
        return t = t + n.length, t;
      }
      function kj(e, t, n, i, s, o, c) {
        let _, u, g, m, h = false, S = i, T = c;
        if (n === 0) {
          S = true;
          const k = d7(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 = true, h && (m = true);
                continue;
              case 9:
              case 11:
              case 12:
              case 32:
                n++;
                continue;
              case 47:
                const D = t.charCodeAt(n + 1);
                let P = false;
                if (D === 47 || D === 42) {
                  const A = D === 47 ? 2 : 3, O = n;
                  if (n += 2, D === 47)
                    for (; n < t.length; ) {
                      if (Su(t.charCodeAt(n))) {
                        P = true;
                        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 = P, h = true;
                  }
                  continue;
                }
                break e;
              default:
                if (k > 127 && bg(k)) {
                  h && Su(k) && (m = true), n++;
                  continue;
                }
                break e;
            }
          }
        return h && (T = s(_, u, g, m, o, T)), T;
      }
      function HP(e, t, n, i) {
        return kj(
          /*reduce*/
          false,
          e,
          t,
          /*trailing*/
          false,
          n,
          i
        );
      }
      function GP(e, t, n, i) {
        return kj(
          /*reduce*/
          false,
          e,
          t,
          /*trailing*/
          true,
          n,
          i
        );
      }
      function JY(e, t, n, i, s) {
        return kj(
          /*reduce*/
          true,
          e,
          t,
          /*trailing*/
          false,
          n,
          i,
          s
        );
      }
      function zY(e, t, n, i, s) {
        return kj(
          /*reduce*/
          true,
          e,
          t,
          /*trailing*/
          true,
          n,
          i,
          s
        );
      }
      function Gge(e, t, n, i, s, o = []) {
        return o.push({ kind: n, pos: e, end: t, hasTrailingNewLine: i }), o;
      }
      function Sg(e, t) {
        return JY(
          e,
          t,
          Gge,
          /*state*/
          void 0,
          /*initial*/
          void 0
        );
      }
      function gy(e, t) {
        return zY(
          e,
          t,
          Gge,
          /*state*/
          void 0,
          /*initial*/
          void 0
        );
      }
      function d7(e) {
        const t = BY.exec(e);
        if (t)
          return t[0];
      }
      function Jm(e, t) {
        return MY(e) || e === 36 || e === 95 || e > 127 && f7(e, t);
      }
      function fh(e, t, n) {
        return Vge(e) || e === 36 || // "-" and ":" are valid in JSX Identifiers
        (n === 1 ? e === 45 || e === 58 : false) || e > 127 && RFe(e, t);
      }
      function F_(e, t, n) {
        let i = d4(e, 0);
        if (!Jm(i, t))
          return false;
        for (let s = Sd(i); s < e.length; s += Sd(i))
          if (!fh(i = d4(e, s), t, n))
            return false;
        return true;
      }
      function Tg(e, t, n = 0, i, s, o, c) {
        var _ = i, u, g, m, h, S, T, k, D, P = 0, A = 0, O = 0;
        Es(_, 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: Ve,
          reScanTemplateToken: st,
          reScanTemplateHeadOrNoSubstitutionTemplate: Wt,
          scanJsxIdentifier: ai,
          scanJsxAttributeValue: fi,
          reScanJsxAttributeValue: pn,
          reScanJsxToken: Jr,
          reScanLessThanToken: ui,
          reScanHashToken: Ji,
          reScanQuestionToken: Dt,
          reScanInvalidIdentifier: ie,
          scanJsxToken: Mn,
          scanJsDocToken: Je,
          scanJSDocCommentTextToken: _i,
          scan: ne,
          getText: Un,
          clearCommentDirectives: ki,
          setText: Es,
          setScriptTarget: yr,
          setLanguageVariant: vs,
          setScriptKind: Xe,
          setJSDocParsingMode: Et,
          setOnError: Zs,
          resetTokenState: re,
          setTextPos: re,
          setSkipJsDocLeadingAsterisks: it,
          tryScan: Jn,
          lookAhead: qr,
          scanRange: er
        };
        return E.isDebugging && Object.defineProperty(F, "__debugShowCurrentPositionInText", {
          get: () => {
            const Y = F.getText();
            return Y.slice(0, F.getTokenFullStart()) + "║" + Y.slice(F.getTokenFullStart());
          }
        }), F;
        function R(Y) {
          return d4(_, Y);
        }
        function B(Y) {
          return Y >= 0 && Y < g ? R(Y) : -1;
        }
        function U(Y) {
          return _.charCodeAt(Y);
        }
        function $(Y) {
          return Y >= 0 && Y < g ? U(Y) : -1;
        }
        function W(Y, Ae = u, $e, Ke) {
          if (s) {
            const Tt = u;
            u = Ae, s(Y, $e || 0, Ke), u = Tt;
          }
        }
        function _e() {
          let Y = u, Ae = false, $e = false, Ke = "";
          for (; ; ) {
            const Tt = U(u);
            if (Tt === 95) {
              k |= 512, Ae ? (Ae = false, $e = true, Ke += _.substring(Y, u)) : (k |= 16384, W($e ? p.Multiple_consecutive_numeric_separators_are_not_permitted : p.Numeric_separators_are_not_allowed_here, u, 1)), u++, Y = u;
              continue;
            }
            if (SC(Tt)) {
              Ae = true, $e = false, u++;
              continue;
            }
            break;
          }
          return U(u - 1) === 95 && (k |= 16384, W(p.Numeric_separators_are_not_allowed_here, u - 1, 1)), Ke + _.substring(Y, u);
        }
        function K() {
          let Y = u, Ae;
          if (U(u) === 48)
            if (u++, U(u) === 95)
              k |= 16896, W(p.Numeric_separators_are_not_allowed_here, u, 1), u--, Ae = _e();
            else if (!ae())
              k |= 8192, Ae = "" + +T;
            else if (!T)
              Ae = "0";
            else {
              T = "" + parseInt(T, 8), k |= 32;
              const mt = S === 41, pt = (mt ? "-" : "") + "0o" + (+T).toString(8);
              return mt && Y--, W(p.Octal_literals_are_not_allowed_Use_the_syntax_0, Y, u - Y, pt), 9;
            }
          else
            Ae = _e();
          let $e, Ke;
          U(u) === 46 && (u++, $e = _e());
          let Tt = u;
          if (U(u) === 69 || U(u) === 101) {
            u++, k |= 16, (U(u) === 43 || U(u) === 45) && u++;
            const mt = u, pt = _e();
            pt ? (Ke = _.substring(Tt, mt) + pt, Tt = u) : W(p.Digit_expected);
          }
          let Le;
          if (k & 512 ? (Le = Ae, $e && (Le += "." + $e), Ke && (Le += Ke)) : Le = _.substring(Y, Tt), k & 8192)
            return W(p.Decimals_with_leading_zeros_are_not_allowed, Y, Tt - Y), T = "" + +Le, 9;
          if ($e !== void 0 || k & 16)
            return V(Y, $e === void 0 && !!(k & 16)), T = "" + +Le, 9;
          {
            T = Le;
            const mt = Ye();
            return V(Y), mt;
          }
        }
        function V(Y, Ae) {
          if (!Jm(R(u), e))
            return;
          const $e = u, { length: Ke } = pe();
          Ke === 1 && _[$e] === "n" ? W(Ae ? p.A_bigint_literal_cannot_use_exponential_notation : p.A_bigint_literal_must_be_an_integer, Y, $e - Y + 1) : (W(p.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal, $e, Ke), u = $e);
        }
        function ae() {
          const Y = u;
          let Ae = true;
          for (; SC($(u)); )
            RY(U(u)) || (Ae = false), u++;
          return T = _.substring(Y, u), Ae;
        }
        function se(Y, Ae) {
          const $e = fe(
            /*minCount*/
            Y,
            /*scanAsManyAsPossible*/
            false,
            Ae
          );
          return $e ? parseInt($e, 16) : -1;
        }
        function ce(Y, Ae) {
          return fe(
            /*minCount*/
            Y,
            /*scanAsManyAsPossible*/
            true,
            Ae
          );
        }
        function fe(Y, Ae, $e) {
          let Ke = [], Tt = false, Le = false;
          for (; Ke.length < Y || Ae; ) {
            let mt = U(u);
            if ($e && mt === 95) {
              k |= 512, Tt ? (Tt = false, Le = true) : W(Le ? p.Multiple_consecutive_numeric_separators_are_not_permitted : p.Numeric_separators_are_not_allowed_here, u, 1), u++;
              continue;
            }
            if (Tt = $e, mt >= 65 && mt <= 70)
              mt += 32;
            else if (!(mt >= 48 && mt <= 57 || mt >= 97 && mt <= 102))
              break;
            Ke.push(mt), u++, Le = false;
          }
          return Ke.length < Y && (Ke = []), U(u - 1) === 95 && W(p.Numeric_separators_are_not_allowed_here, u - 1, 1), String.fromCharCode(...Ke);
        }
        function he(Y = false) {
          const Ae = U(u);
          u++;
          let $e = "", Ke = u;
          for (; ; ) {
            if (u >= g) {
              $e += _.substring(Ke, u), k |= 4, W(p.Unterminated_string_literal);
              break;
            }
            const Tt = U(u);
            if (Tt === Ae) {
              $e += _.substring(Ke, u), u++;
              break;
            }
            if (Tt === 92 && !Y) {
              $e += _.substring(Ke, u), $e += be(
                3
                /* ReportErrors */
              ), Ke = u;
              continue;
            }
            if ((Tt === 10 || Tt === 13) && !Y) {
              $e += _.substring(Ke, u), k |= 4, W(p.Unterminated_string_literal);
              break;
            }
            u++;
          }
          return $e;
        }
        function q(Y) {
          const Ae = U(u) === 96;
          u++;
          let $e = u, Ke = "", Tt;
          for (; ; ) {
            if (u >= g) {
              Ke += _.substring($e, u), k |= 4, W(p.Unterminated_template_literal), Tt = Ae ? 15 : 18;
              break;
            }
            const Le = U(u);
            if (Le === 96) {
              Ke += _.substring($e, u), u++, Tt = Ae ? 15 : 18;
              break;
            }
            if (Le === 36 && u + 1 < g && U(u + 1) === 123) {
              Ke += _.substring($e, u), u += 2, Tt = Ae ? 16 : 17;
              break;
            }
            if (Le === 92) {
              Ke += _.substring($e, u), Ke += be(1 | (Y ? 2 : 0)), $e = u;
              continue;
            }
            if (Le === 13) {
              Ke += _.substring($e, u), u++, u < g && U(u) === 10 && u++, Ke += `
`, $e = u;
              continue;
            }
            u++;
          }
          return E.assert(Tt !== void 0), T = Ke, Tt;
        }
        function be(Y) {
          const Ae = u;
          if (u++, u >= g)
            return W(p.Unexpected_end_of_text), "";
          const $e = U(u);
          switch (u++, $e) {
            case 48:
              if (u >= g || !SC(U(u)))
                return "\0";
            // '\01', '\011'
            // falls through
            case 49:
            case 50:
            case 51:
              u < g && RY(U(u)) && u++;
            // '\17', '\177'
            // falls through
            case 52:
            case 53:
            case 54:
            case 55:
              if (u < g && RY(U(u)) && u++, k |= 2048, Y & 6) {
                const Le = parseInt(_.substring(Ae + 1, u), 8);
                return Y & 4 && !(Y & 32) && $e !== 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, Ae, u - Ae, "\\x" + Le.toString(16).padStart(2, "0")) : W(p.Octal_escape_sequences_are_not_allowed_Use_the_syntax_0, Ae, u - Ae, "\\x" + Le.toString(16).padStart(2, "0")), String.fromCharCode(Le);
              }
              return _.substring(Ae, u);
            case 56:
            case 57:
              return k |= 2048, Y & 6 ? (Y & 4 && !(Y & 32) ? W(p.Decimal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class, Ae, u - Ae) : W(p.Escape_sequence_0_is_not_allowed, Ae, u - Ae, _.substring(Ae, u)), String.fromCharCode($e)) : _.substring(Ae, 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 && U(u) === 123) {
                u -= 2;
                const Le = je(!!(Y & 6));
                return Y & 17 || (k |= 2048, Y & 6 && W(p.Unicode_escape_sequences_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_set, Ae, u - Ae)), Le;
              }
              for (; u < Ae + 6; u++)
                if (!(u < g && LY(U(u))))
                  return k |= 2048, Y & 6 && W(p.Hexadecimal_digit_expected), _.substring(Ae, u);
              k |= 1024;
              const Ke = parseInt(_.substring(Ae + 2, u), 16), Tt = String.fromCharCode(Ke);
              if (Y & 16 && Ke >= 55296 && Ke <= 56319 && u + 6 < g && _.substring(u, u + 2) === "\\u" && U(u + 2) !== 123) {
                const Le = u;
                let mt = u + 2;
                for (; mt < Le + 6; mt++)
                  if (!LY(U(mt)))
                    return Tt;
                const pt = parseInt(_.substring(Le + 2, mt), 16);
                if (pt >= 56320 && pt <= 57343)
                  return u = mt, Tt + String.fromCharCode(pt);
              }
              return Tt;
            case 120:
              for (; u < Ae + 4; u++)
                if (!(u < g && LY(U(u))))
                  return k |= 2048, Y & 6 && W(p.Hexadecimal_digit_expected), _.substring(Ae, u);
              return k |= 4096, String.fromCharCode(parseInt(_.substring(Ae + 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 && U(u) === 10 && u++;
            // falls through
            case 10:
            case 8232:
            case 8233:
              return "";
            default:
              return (Y & 16 || Y & 4 && !(Y & 8) && fh($e, e)) && W(p.This_character_cannot_be_escaped_in_a_regular_expression, u - 2, 2), String.fromCharCode($e);
          }
        }
        function je(Y) {
          const Ae = u;
          u += 3;
          const $e = u, Ke = ce(
            1,
            /*canHaveSeparators*/
            false
          ), Tt = Ke ? parseInt(Ke, 16) : -1;
          let Le = false;
          return Tt < 0 ? (Y && W(p.Hexadecimal_digit_expected), Le = true) : Tt > 1114111 && (Y && W(p.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive, $e, u - $e), Le = true), u >= g ? (Y && W(p.Unexpected_end_of_text), Le = true) : U(u) === 125 ? u++ : (Y && W(p.Unterminated_Unicode_escape_sequence), Le = true), Le ? (k |= 2048, _.substring(Ae, u)) : (k |= 8, m4(Tt));
        }
        function me() {
          if (u + 5 < g && U(u + 1) === 117) {
            const Y = u;
            u += 2;
            const Ae = se(
              4,
              /*canHaveSeparators*/
              false
            );
            return u = Y, Ae;
          }
          return -1;
        }
        function Z() {
          if (R(u + 1) === 117 && R(u + 2) === 123) {
            const Y = u;
            u += 3;
            const Ae = ce(
              1,
              /*canHaveSeparators*/
              false
            ), $e = Ae ? parseInt(Ae, 16) : -1;
            return u = Y, $e;
          }
          return -1;
        }
        function pe() {
          let Y = "", Ae = u;
          for (; u < g; ) {
            let $e = R(u);
            if (fh($e, e))
              u += Sd($e);
            else if ($e === 92) {
              if ($e = Z(), $e >= 0 && fh($e, e)) {
                Y += je(
                  /*shouldEmitInvalidEscapeError*/
                  true
                ), Ae = u;
                continue;
              }
              if ($e = me(), !($e >= 0 && fh($e, e)))
                break;
              k |= 1024, Y += _.substring(Ae, u), Y += m4($e), u += 6, Ae = u;
            } else
              break;
          }
          return Y += _.substring(Ae, u), Y;
        }
        function Te() {
          const Y = T.length;
          if (Y >= 2 && Y <= 12) {
            const Ae = T.charCodeAt(0);
            if (Ae >= 97 && Ae <= 122) {
              const $e = wFe.get(T);
              if ($e !== void 0)
                return S = $e;
            }
          }
          return S = 80;
        }
        function Fe(Y) {
          let Ae = "", $e = false, Ke = false;
          for (; ; ) {
            const Tt = U(u);
            if (Tt === 95) {
              k |= 512, $e ? ($e = false, Ke = true) : W(Ke ? p.Multiple_consecutive_numeric_separators_are_not_permitted : p.Numeric_separators_are_not_allowed_here, u, 1), u++;
              continue;
            }
            if ($e = true, !SC(Tt) || Tt - 48 >= Y)
              break;
            Ae += _[u], u++, Ke = false;
          }
          return U(u - 1) === 95 && W(p.Numeric_separators_are_not_allowed_here, u - 1, 1), Ae;
        }
        function Ye() {
          return U(u) === 110 ? (T += "n", k & 384 && (T = pD(T) + "n"), u++, 10) : (T = "" + (k & 128 ? parseInt(T.slice(2), 2) : k & 256 ? parseInt(T.slice(2), 8) : +T), 9);
        }
        function ne() {
          for (m = u, k = 0; ; ) {
            if (h = u, u >= g)
              return S = 1;
            const Y = R(u);
            if (u === 0 && Y === 35 && qge(_, u)) {
              if (u = Hge(_, u), t)
                continue;
              return S = 6;
            }
            switch (Y) {
              case 10:
              case 13:
                if (k |= 1, t) {
                  u++;
                  continue;
                } else
                  return Y === 13 && u + 1 < g && U(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 && em(U(u)); )
                    u++;
                  return S = 5;
                }
              case 33:
                return U(u + 1) === 61 ? U(u + 2) === 61 ? (u += 3, S = 38) : (u += 2, S = 36) : (u++, S = 54);
              case 34:
              case 39:
                return T = he(), S = 11;
              case 96:
                return S = q(
                  /*shouldEmitInvalidEscapeError*/
                  false
                );
              case 37:
                return U(u + 1) === 61 ? (u += 2, S = 70) : (u++, S = 45);
              case 38:
                return U(u + 1) === 38 ? U(u + 2) === 61 ? (u += 3, S = 77) : (u += 2, S = 56) : U(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 (U(u + 1) === 61)
                  return u += 2, S = 67;
                if (U(u + 1) === 42)
                  return U(u + 2) === 61 ? (u += 3, S = 68) : (u += 2, S = 43);
                if (u++, P && (k & 32768) === 0 && k & 1) {
                  k |= 32768;
                  continue;
                }
                return S = 42;
              case 43:
                return U(u + 1) === 43 ? (u += 2, S = 46) : U(u + 1) === 61 ? (u += 2, S = 65) : (u++, S = 40);
              case 44:
                return u++, S = 28;
              case 45:
                return U(u + 1) === 45 ? (u += 2, S = 47) : U(u + 1) === 61 ? (u += 2, S = 66) : (u++, S = 41);
              case 46:
                return SC(U(u + 1)) ? (K(), S = 9) : U(u + 1) === 46 && U(u + 2) === 46 ? (u += 3, S = 26) : (u++, S = 25);
              case 47:
                if (U(u + 1) === 47) {
                  for (u += 2; u < g && !Su(U(u)); )
                    u++;
                  if (D = tr(
                    D,
                    _.slice(h, u),
                    OFe,
                    h
                  ), t)
                    continue;
                  return S = 2;
                }
                if (U(u + 1) === 42) {
                  u += 2;
                  const mt = U(u) === 42 && U(u + 1) !== 47;
                  let pt = false, Ct = h;
                  for (; u < g; ) {
                    const qe = U(u);
                    if (qe === 42 && U(u + 1) === 47) {
                      u += 2, pt = true;
                      break;
                    }
                    u++, Su(qe) && (Ct = u, k |= 1);
                  }
                  if (mt && Se() && (k |= 2), D = tr(D, _.slice(Ct, u), LFe, Ct), pt || W(p.Asterisk_Slash_expected), t)
                    continue;
                  return pt || (k |= 4), S = 3;
                }
                return U(u + 1) === 61 ? (u += 2, S = 69) : (u++, S = 44);
              case 48:
                if (u + 2 < g && (U(u + 1) === 88 || U(u + 1) === 120))
                  return u += 2, T = ce(
                    1,
                    /*canHaveSeparators*/
                    true
                  ), T || (W(p.Hexadecimal_digit_expected), T = "0"), T = "0x" + T, k |= 64, S = Ye();
                if (u + 2 < g && (U(u + 1) === 66 || U(u + 1) === 98))
                  return u += 2, T = Fe(
                    /* base */
                    2
                  ), T || (W(p.Binary_digit_expected), T = "0"), T = "0b" + T, k |= 128, S = Ye();
                if (u + 2 < g && (U(u + 1) === 79 || U(u + 1) === 111))
                  return u += 2, T = Fe(
                    /* base */
                    8
                  ), T || (W(p.Octal_digit_expected), T = "0"), T = "0o" + T, k |= 256, S = Ye();
              // 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 (p4(_, u)) {
                  if (u = qP(_, u, W), t)
                    continue;
                  return S = 7;
                }
                return U(u + 1) === 60 ? U(u + 2) === 61 ? (u += 3, S = 71) : (u += 2, S = 48) : U(u + 1) === 61 ? (u += 2, S = 33) : n === 1 && U(u + 1) === 47 && U(u + 2) !== 42 ? (u += 2, S = 31) : (u++, S = 30);
              case 61:
                if (p4(_, u)) {
                  if (u = qP(_, u, W), t)
                    continue;
                  return S = 7;
                }
                return U(u + 1) === 61 ? U(u + 2) === 61 ? (u += 3, S = 37) : (u += 2, S = 35) : U(u + 1) === 62 ? (u += 2, S = 39) : (u++, S = 64);
              case 62:
                if (p4(_, u)) {
                  if (u = qP(_, u, W), t)
                    continue;
                  return S = 7;
                }
                return u++, S = 32;
              case 63:
                return U(u + 1) === 46 && !SC(U(u + 2)) ? (u += 2, S = 29) : U(u + 1) === 63 ? U(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 U(u + 1) === 61 ? (u += 2, S = 79) : (u++, S = 53);
              case 123:
                return u++, S = 19;
              case 124:
                if (p4(_, u)) {
                  if (u = qP(_, u, W), t)
                    continue;
                  return S = 7;
                }
                return U(u + 1) === 124 ? U(u + 2) === 61 ? (u += 3, S = 76) : (u += 2, S = 57) : U(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 Ae = Z();
                if (Ae >= 0 && Jm(Ae, e))
                  return T = je(
                    /*shouldEmitInvalidEscapeError*/
                    true
                  ) + pe(), S = Te();
                const $e = me();
                return $e >= 0 && Jm($e, e) ? (u += 6, k |= 1024, T = String.fromCharCode($e) + pe(), S = Te()) : (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 Ke = R(u + 1);
                if (Ke === 92) {
                  u++;
                  const mt = Z();
                  if (mt >= 0 && Jm(mt, e))
                    return T = "#" + je(
                      /*shouldEmitInvalidEscapeError*/
                      true
                    ) + pe(), S = 81;
                  const pt = me();
                  if (pt >= 0 && Jm(pt, e))
                    return u += 6, k |= 1024, T = "#" + String.fromCharCode(pt) + pe(), S = 81;
                  u--;
                }
                return Jm(Ke, e) ? (u++, Ne(Ke, e)) : (T = "#", W(p.Invalid_character, u++, Sd(Y))), S = 81;
              case 65533:
                return W(p.File_appears_to_be_binary, 0, 0), u = g, S = 8;
              default:
                const Tt = Ne(Y, e);
                if (Tt)
                  return S = Tt;
                if (em(Y)) {
                  u += Sd(Y);
                  continue;
                } else if (Su(Y)) {
                  k |= 1, u += Sd(Y);
                  continue;
                }
                const Le = Sd(Y);
                return W(p.Invalid_character, u, Le), u += Le, S = 0;
            }
          }
        }
        function Se() {
          switch (O) {
            case 0:
              return true;
            case 1:
              return false;
          }
          return A !== 3 && A !== 4 ? true : O === 3 ? false : MFe.test(_.slice(m, u));
        }
        function ie() {
          E.assert(S === 0, "'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."), u = h = m, k = 0;
          const Y = R(u), Ae = Ne(
            Y,
            99
            /* ESNext */
          );
          return Ae ? S = Ae : (u += Sd(Y), S);
        }
        function Ne(Y, Ae) {
          let $e = Y;
          if (Jm($e, Ae)) {
            for (u += Sd($e); u < g && fh($e = R(u), Ae); ) u += Sd($e);
            return T = _.substring(h, u), $e === 92 && (T += pe()), Te();
          }
        }
        function Ee() {
          if (S === 32) {
            if (U(u) === 62)
              return U(u + 1) === 62 ? U(u + 2) === 61 ? (u += 3, S = 73) : (u += 2, S = 50) : U(u + 1) === 61 ? (u += 2, S = 72) : (u++, S = 49);
            if (U(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 Ve(Y) {
          if (S === 44 || S === 69) {
            const Ae = h + 1;
            u = Ae;
            let $e = false, Ke = false, Tt = false;
            for (; ; ) {
              const mt = $(u);
              if (mt === -1 || Su(mt)) {
                k |= 4;
                break;
              }
              if ($e)
                $e = false;
              else {
                if (mt === 47 && !Tt)
                  break;
                mt === 91 ? Tt = true : mt === 92 ? $e = true : mt === 93 ? Tt = false : !Tt && mt === 40 && $(u + 1) === 63 && $(u + 2) === 60 && $(u + 3) !== 61 && $(u + 3) !== 33 && (Ke = true);
              }
              u++;
            }
            const Le = u;
            if (k & 4) {
              u = Ae, $e = false;
              let mt = 0, pt = false, Ct = 0;
              for (; u < Le; ) {
                const qe = U(u);
                if ($e)
                  $e = false;
                else if (qe === 92)
                  $e = true;
                else if (qe === 91)
                  mt++;
                else if (qe === 93 && mt)
                  mt--;
                else if (!mt) {
                  if (qe === 123)
                    pt = true;
                  else if (qe === 125 && pt)
                    pt = false;
                  else if (!pt) {
                    if (qe === 40)
                      Ct++;
                    else if (qe === 41 && Ct)
                      Ct--;
                    else if (qe === 41 || qe === 93 || qe === 125)
                      break;
                  }
                }
                u++;
              }
              for (; bg($(u - 1)) || $(u - 1) === 59; ) u--;
              W(p.Unterminated_regular_expression_literal, h, u - h);
            } else {
              u++;
              let mt = 0;
              for (; ; ) {
                const pt = B(u);
                if (pt === -1 || !fh(pt, e))
                  break;
                const Ct = Sd(pt);
                if (Y) {
                  const qe = Tj(pt);
                  qe === void 0 ? W(p.Unknown_regular_expression_flag, u, Ct) : mt & qe ? W(p.Duplicate_regular_expression_flag, u, Ct) : ((mt | qe) & 96) === 96 ? W(p.The_Unicode_u_flag_and_the_Unicode_Sets_v_flag_cannot_be_set_simultaneously, u, Ct) : (mt |= qe, Bt(qe, Ct));
                }
                u += Ct;
              }
              Y && er(Ae, Le - Ae, () => {
                St(
                  mt,
                  /*annexB*/
                  true,
                  Ke
                );
              });
            }
            T = _.substring(h, u), S = 14;
          }
          return S;
        }
        function St(Y, Ae, $e) {
          var Ke = !!(Y & 64), Tt = !!(Y & 96), Le = Tt || false, mt = false, pt = 0, Ct, qe, Lt, rn = [], Pe;
          function yt(kt) {
            for (; ; ) {
              if (rn.push(Pe), Pe = void 0, ue(kt), Pe = rn.pop(), $(u) !== 124)
                return;
              u++;
            }
          }
          function ue(kt) {
            let cr = false;
            for (; ; ) {
              const fr = u, vr = $(u);
              switch (vr) {
                case -1:
                  return;
                case 94:
                case 36:
                  u++, cr = false;
                  break;
                case 92:
                  switch (u++, $(u)) {
                    case 98:
                    case 66:
                      u++, cr = false;
                      break;
                    default:
                      ye(), cr = true;
                      break;
                  }
                  break;
                case 40:
                  if (u++, $(u) === 63)
                    switch (u++, $(u)) {
                      case 61:
                      case 33:
                        u++, cr = !Le;
                        break;
                      case 60:
                        const Is = u;
                        switch (u++, $(u)) {
                          case 61:
                          case 33:
                            u++, cr = false;
                            break;
                          default:
                            Mt(
                              /*isReference*/
                              false
                            ), nr(
                              62
                              /* greaterThan */
                            ), e < 5 && W(p.Named_capturing_groups_are_only_available_when_targeting_ES2018_or_later, Is, u - Is), pt++, cr = true;
                            break;
                        }
                        break;
                      default:
                        const Ms = u, ps = M(
                          0
                          /* None */
                        );
                        $(u) === 45 && (u++, M(ps), u === Ms + 1 && W(p.Subpattern_flags_must_be_present_when_there_is_a_minus_sign, Ms, u - Ms)), nr(
                          58
                          /* colon */
                        ), cr = true;
                        break;
                    }
                  else
                    pt++, cr = true;
                  yt(
                    /*isInGroup*/
                    true
                  ), nr(
                    41
                    /* closeParen */
                  );
                  break;
                case 123:
                  u++;
                  const Xt = u;
                  ae();
                  const oi = T;
                  if (!Le && !oi) {
                    cr = true;
                    break;
                  }
                  if ($(u) === 44) {
                    u++, ae();
                    const Is = T;
                    if (oi)
                      Is && Number.parseInt(oi) > Number.parseInt(Is) && (Le || $(u) === 125) && W(p.Numbers_out_of_order_in_quantifier, Xt, u - Xt);
                    else if (Is || $(u) === 125)
                      W(p.Incomplete_quantifier_Digit_expected, Xt, 0);
                    else {
                      W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, fr, 1, String.fromCharCode(vr)), cr = true;
                      break;
                    }
                  } else if (!oi) {
                    Le && W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, fr, 1, String.fromCharCode(vr)), cr = true;
                    break;
                  }
                  if ($(u) !== 125)
                    if (Le)
                      W(p._0_expected, u, 0, "}"), u--;
                    else {
                      cr = true;
                      break;
                    }
                // falls through
                case 42:
                case 43:
                case 63:
                  u++, $(u) === 63 && u++, cr || W(p.There_is_nothing_available_for_repetition, fr, u - fr), cr = false;
                  break;
                case 46:
                  u++, cr = true;
                  break;
                case 91:
                  u++, Ke ? wt() : at(), nr(
                    93
                    /* closeBracket */
                  ), cr = true;
                  break;
                case 41:
                  if (kt)
                    return;
                // falls through
                case 93:
                case 125:
                  (Le || vr === 41) && W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, u, 1, String.fromCharCode(vr)), u++, cr = true;
                  break;
                case 47:
                case 124:
                  return;
                default:
                  _r(), cr = true;
                  break;
              }
            }
          }
          function M(kt) {
            for (; ; ) {
              const cr = B(u);
              if (cr === -1 || !fh(cr, e))
                break;
              const fr = Sd(cr), vr = Tj(cr);
              vr === void 0 ? W(p.Unknown_regular_expression_flag, u, fr) : kt & vr ? W(p.Duplicate_regular_expression_flag, u, fr) : vr & 28 ? (kt |= vr, Bt(vr, fr)) : W(p.This_regular_expression_flag_cannot_be_toggled_within_a_subpattern, u, fr), u += fr;
            }
            return kt;
          }
          function ye() {
            switch (E.assertEqual(
              U(u - 1),
              92
              /* backslash */
            ), $(u)) {
              case 107:
                u++, $(u) === 60 ? (u++, Mt(
                  /*isReference*/
                  true
                ), nr(
                  62
                  /* greaterThan */
                )) : (Le || $e) && W(p.k_must_be_followed_by_a_capturing_group_name_enclosed_in_angle_brackets, u - 2, 2);
                break;
              case 113:
                if (Ke) {
                  u++, W(p.q_is_only_available_inside_character_class, u - 2, 2);
                  break;
                }
              // falls through
              default:
                E.assert(Nt() || Q() || dt(
                  /*atomEscape*/
                  true
                ));
                break;
            }
          }
          function Q() {
            E.assertEqual(
              U(u - 1),
              92
              /* backslash */
            );
            const kt = $(u);
            if (kt >= 49 && kt <= 57) {
              const cr = u;
              return ae(), Lt = Er(Lt, { pos: cr, end: u, value: +T }), true;
            }
            return false;
          }
          function dt(kt) {
            E.assertEqual(
              U(u - 1),
              92
              /* backslash */
            );
            let cr = $(u);
            switch (cr) {
              case -1:
                return W(p.Undetermined_character_escape, u - 1, 1), "\\";
              case 99:
                if (u++, cr = $(u), MY(cr))
                  return u++, String.fromCharCode(cr & 31);
                if (Le)
                  W(p.c_must_be_followed_by_an_ASCII_letter, u - 2, 2);
                else if (kt)
                  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--, be(
                  12 | (Tt ? 16 : 0) | (kt ? 32 : 0)
                );
            }
          }
          function Mt(kt) {
            E.assertEqual(
              U(u - 1),
              60
              /* lessThan */
            ), h = u, Ne(B(u), e), u === h ? W(p.Expected_a_capturing_group_name) : kt ? qe = Er(qe, { pos: h, end: u, name: T }) : Pe?.has(T) || rn.some((cr) => cr?.has(T)) ? W(p.Named_capturing_groups_with_the_same_name_must_be_mutually_exclusive_to_each_other, h, u - h) : (Pe ?? (Pe = /* @__PURE__ */ new Set()), Pe.add(T), Ct ?? (Ct = /* @__PURE__ */ new Set()), Ct.add(T));
          }
          function ke(kt) {
            return kt === 93 || kt === -1 || u >= g;
          }
          function at() {
            for (E.assertEqual(
              U(u - 1),
              91
              /* openBracket */
            ), $(u) === 94 && u++; ; ) {
              const kt = $(u);
              if (ke(kt))
                return;
              const cr = u, fr = vt();
              if ($(u) === 45) {
                u++;
                const vr = $(u);
                if (ke(vr))
                  return;
                !fr && Le && W(p.A_character_class_range_must_not_be_bounded_by_another_character_class, cr, u - 1 - cr);
                const Xt = u, oi = vt();
                if (!oi && Le) {
                  W(p.A_character_class_range_must_not_be_bounded_by_another_character_class, Xt, u - Xt);
                  continue;
                }
                if (!fr)
                  continue;
                const Is = d4(fr, 0), Ms = d4(oi, 0);
                fr.length === Sd(Is) && oi.length === Sd(Ms) && Is > Ms && W(p.Range_out_of_order_in_character_class, cr, u - cr);
              }
            }
          }
          function wt() {
            E.assertEqual(
              U(u - 1),
              91
              /* openBracket */
            );
            let kt = false;
            $(u) === 94 && (u++, kt = true);
            let cr = false, fr = $(u);
            if (ke(fr))
              return;
            let vr = u, Xt;
            switch (_.slice(u, u + 2)) {
              // TODO: don't use slice
              case "--":
              case "&&":
                W(p.Expected_a_class_set_operand), mt = false;
                break;
              default:
                Xt = Rr();
                break;
            }
            switch ($(u)) {
              case 45:
                if ($(u + 1) === 45) {
                  kt && mt && W(p.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class, vr, u - vr), cr = mt, Zr(
                    3
                    /* ClassSubtraction */
                  ), mt = !kt && cr;
                  return;
                }
                break;
              case 38:
                if ($(u + 1) === 38) {
                  Zr(
                    2
                    /* ClassIntersection */
                  ), kt && mt && W(p.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class, vr, u - vr), cr = mt, mt = !kt && cr;
                  return;
                } else
                  W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, u, 1, String.fromCharCode(fr));
                break;
              default:
                kt && mt && W(p.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class, vr, u - vr), cr = mt;
                break;
            }
            for (; fr = $(u), fr !== -1; ) {
              switch (fr) {
                case 45:
                  if (u++, fr = $(u), ke(fr)) {
                    mt = !kt && cr;
                    return;
                  }
                  if (fr === 45) {
                    u++, W(p.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead, u - 2, 2), vr = u - 2, Xt = _.slice(vr, u);
                    continue;
                  } else {
                    Xt || W(p.A_character_class_range_must_not_be_bounded_by_another_character_class, vr, u - 1 - vr);
                    const oi = u, Is = Rr();
                    if (kt && mt && W(p.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class, oi, u - oi), cr || (cr = mt), !Is) {
                      W(p.A_character_class_range_must_not_be_bounded_by_another_character_class, oi, u - oi);
                      break;
                    }
                    if (!Xt)
                      break;
                    const Ms = d4(Xt, 0), ps = d4(Is, 0);
                    Xt.length === Sd(Ms) && Is.length === Sd(ps) && Ms > ps && W(p.Range_out_of_order_in_character_class, vr, u - vr);
                  }
                  break;
                case 38:
                  vr = u, u++, $(u) === 38 ? (u++, W(p.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead, u - 2, 2), $(u) === 38 && (W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, u, 1, String.fromCharCode(fr)), u++)) : W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, u - 1, 1, String.fromCharCode(fr)), Xt = _.slice(vr, u);
                  continue;
              }
              if (ke($(u)))
                break;
              switch (vr = 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, Xt = _.slice(vr, u);
                  break;
                default:
                  Xt = Rr();
                  break;
              }
            }
            mt = !kt && cr;
          }
          function Zr(kt) {
            let cr = mt;
            for (; ; ) {
              let fr = $(u);
              if (ke(fr))
                break;
              switch (fr) {
                case 45:
                  u++, $(u) === 45 ? (u++, kt !== 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++, $(u) === 38 ? (u++, kt !== 2 && W(p.Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead, u - 2, 2), $(u) === 38 && (W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, u, 1, String.fromCharCode(fr)), u++)) : W(p.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, u - 1, 1, String.fromCharCode(fr));
                  break;
                default:
                  switch (kt) {
                    case 3:
                      W(p._0_expected, u, 0, "--");
                      break;
                    case 2:
                      W(p._0_expected, u, 0, "&&");
                      break;
                  }
                  break;
              }
              if (fr = $(u), ke(fr)) {
                W(p.Expected_a_class_set_operand);
                break;
              }
              Rr(), cr && (cr = mt);
            }
            mt = cr;
          }
          function Rr() {
            switch (mt = false, $(u)) {
              case -1:
                return "";
              case 91:
                return u++, wt(), nr(
                  93
                  /* closeBracket */
                ), "";
              case 92:
                if (u++, Nt())
                  return "";
                if ($(u) === 113)
                  return u++, $(u) === 123 ? (u++, Pr(), nr(
                    125
                    /* closeBrace */
                  ), "") : (W(p.q_must_be_followed_by_string_alternatives_enclosed_in_braces, u - 2, 2), "q");
                u--;
              // falls through
              default:
                return rt();
            }
          }
          function Pr() {
            E.assertEqual(
              U(u - 1),
              123
              /* openBrace */
            );
            let kt = 0;
            for (; ; )
              switch ($(u)) {
                case -1:
                  return;
                case 125:
                  kt !== 1 && (mt = true);
                  return;
                case 124:
                  kt !== 1 && (mt = true), u++, o = u, kt = 0;
                  break;
                default:
                  rt(), kt++;
                  break;
              }
          }
          function rt() {
            const kt = $(u);
            if (kt === -1)
              return "";
            if (kt === 92) {
              u++;
              const cr = $(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 dt(
                    /*atomEscape*/
                    false
                  );
              }
            } else if (kt === $(u + 1))
              switch (kt) {
                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 (kt) {
              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(kt)), u++, String.fromCharCode(kt);
            }
            return _r();
          }
          function vt() {
            if ($(u) === 92) {
              u++;
              const kt = $(u);
              switch (kt) {
                case 98:
                  return u++, "\b";
                case 45:
                  return u++, String.fromCharCode(kt);
                default:
                  return Nt() ? "" : dt(
                    /*atomEscape*/
                    false
                  );
              }
            } else
              return _r();
          }
          function Nt() {
            E.assertEqual(
              U(u - 1),
              92
              /* backslash */
            );
            let kt = false;
            const cr = u - 1, fr = $(u);
            switch (fr) {
              case 100:
              case 68:
              case 115:
              case 83:
              case 119:
              case 87:
                return u++, true;
              case 80:
                kt = true;
              // falls through
              case 112:
                if (u++, $(u) === 123) {
                  u++;
                  const vr = u, Xt = Jt();
                  if ($(u) === 61) {
                    const oi = $ge.get(Xt);
                    if (u === vr)
                      W(p.Expected_a_Unicode_property_name);
                    else if (oi === void 0) {
                      W(p.Unknown_Unicode_property_name, vr, u - vr);
                      const ps = mb(Xt, $ge.keys(), fo);
                      ps && W(p.Did_you_mean_0, vr, u - vr, ps);
                    }
                    u++;
                    const Is = u, Ms = Jt();
                    if (u === Is)
                      W(p.Expected_a_Unicode_property_value);
                    else if (oi !== void 0 && !$P[oi].has(Ms)) {
                      W(p.Unknown_Unicode_property_value, Is, u - Is);
                      const ps = mb(Ms, $P[oi], fo);
                      ps && W(p.Did_you_mean_0, Is, u - Is, ps);
                    }
                  } else if (u === vr)
                    W(p.Expected_a_Unicode_property_name_or_value);
                  else if (Qge.has(Xt))
                    Ke ? kt ? W(p.Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class, vr, u - vr) : mt = true : 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, vr, u - vr);
                  else if (!$P.General_Category.has(Xt) && !Xge.has(Xt)) {
                    W(p.Unknown_Unicode_property_name_or_value, vr, u - vr);
                    const oi = mb(Xt, [...$P.General_Category, ...Xge, ...Qge], fo);
                    oi && W(p.Did_you_mean_0, vr, u - vr, oi);
                  }
                  nr(
                    125
                    /* closeBrace */
                  ), Tt || 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 (Le)
                  W(p._0_must_be_followed_by_a_Unicode_property_value_expression_enclosed_in_braces, u - 2, 2, String.fromCharCode(fr));
                else
                  return u--, false;
                return true;
            }
            return false;
          }
          function Jt() {
            let kt = "";
            for (; ; ) {
              const cr = $(u);
              if (cr === -1 || !Vge(cr))
                break;
              kt += String.fromCharCode(cr), u++;
            }
            return kt;
          }
          function _r() {
            const kt = Tt ? Sd(B(u)) : 1;
            return u += kt, kt > 0 ? _.substring(u - kt, u) : "";
          }
          function nr(kt) {
            $(u) === kt ? u++ : W(p._0_expected, u, 0, String.fromCharCode(kt));
          }
          yt(
            /*isInGroup*/
            false
          ), lr(qe, (kt) => {
            if (!Ct?.has(kt.name) && (W(p.There_is_no_capturing_group_named_0_in_this_regular_expression, kt.pos, kt.end - kt.pos, kt.name), Ct)) {
              const cr = mb(kt.name, Ct, fo);
              cr && W(p.Did_you_mean_0, kt.pos, kt.end - kt.pos, cr);
            }
          }), lr(Lt, (kt) => {
            kt.value > pt && (pt ? W(p.This_backreference_refers_to_a_group_that_does_not_exist_There_are_only_0_capturing_groups_in_this_regular_expression, kt.pos, kt.end - kt.pos, pt) : W(p.This_backreference_refers_to_a_group_that_does_not_exist_There_are_no_capturing_groups_in_this_regular_expression, kt.pos, kt.end - kt.pos));
          });
        }
        function Bt(Y, Ae) {
          const $e = PFe.get(Y);
          $e && e < $e && W(p.This_regular_expression_flag_is_only_available_when_targeting_0_or_later, u, Ae, V5($e));
        }
        function tr(Y, Ae, $e, Ke) {
          const Tt = Nr(Ae.trimStart(), $e);
          return Tt === void 0 ? Y : Er(
            Y,
            {
              range: { pos: Ke, end: u },
              type: Tt
            }
          );
        }
        function Nr(Y, Ae) {
          const $e = Ae.exec(Y);
          if ($e)
            switch ($e[1]) {
              case "ts-expect-error":
                return 0;
              case "ts-ignore":
                return 1;
            }
        }
        function st(Y) {
          return u = h, S = q(!Y);
        }
        function Wt() {
          return u = h, S = q(
            /*shouldEmitInvalidEscapeError*/
            true
          );
        }
        function Jr(Y = true) {
          return u = h = m, S = Mn(Y);
        }
        function ui() {
          return S === 48 ? (u = h + 1, S = 30) : S;
        }
        function Ji() {
          return S === 81 ? (u = h + 1, S = 63) : S;
        }
        function Dt() {
          return E.assert(S === 61, "'reScanQuestionToken' should only be called on a '??'"), u = h + 1, S = 58;
        }
        function Mn(Y = true) {
          if (m = h = u, u >= g)
            return S = 1;
          let Ae = U(u);
          if (Ae === 60)
            return U(u + 1) === 47 ? (u += 2, S = 31) : (u++, S = 30);
          if (Ae === 123)
            return u++, S = 19;
          let $e = 0;
          for (; u < g && (Ae = U(u), Ae !== 123); ) {
            if (Ae === 60) {
              if (p4(_, u))
                return u = qP(_, u, W), S = 7;
              break;
            }
            if (Ae === 62 && W(p.Unexpected_token_Did_you_mean_or_gt, u, 1), Ae === 125 && W(p.Unexpected_token_Did_you_mean_or_rbrace, u, 1), Su(Ae) && $e === 0)
              $e = -1;
            else {
              if (!Y && Su(Ae) && $e > 0)
                break;
              bg(Ae) || ($e = u);
            }
            u++;
          }
          return T = _.substring(m, u), $e === -1 ? 13 : 12;
        }
        function ai() {
          if (m_(S)) {
            for (; u < g; ) {
              if (U(u) === 45) {
                T += "-", u++;
                continue;
              }
              const Ae = u;
              if (T += pe(), u === Ae)
                break;
            }
            return Te();
          }
          return S;
        }
        function fi() {
          switch (m = u, U(u)) {
            case 34:
            case 39:
              return T = he(
                /*jsxAttributeString*/
                true
              ), S = 11;
            default:
              return ne();
          }
        }
        function pn() {
          return u = h = m, fi();
        }
        function _i(Y) {
          if (m = h = u, k = 0, u >= g)
            return S = 1;
          for (let Ae = U(u); u < g && !Su(Ae) && Ae !== 96; Ae = R(++u))
            if (!Y) {
              if (Ae === 123)
                break;
              if (Ae === 64 && u - 1 >= 0 && em(U(u - 1)) && !(u + 1 < g && bg(U(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 Y = R(u);
          switch (u += Sd(Y), Y) {
            case 9:
            case 11:
            case 12:
            case 32:
              for (; u < g && em(U(u)); )
                u++;
              return S = 5;
            case 64:
              return S = 60;
            case 13:
              U(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 Ae = Z();
              if (Ae >= 0 && Jm(Ae, e))
                return T = je(
                  /*shouldEmitInvalidEscapeError*/
                  true
                ) + pe(), S = Te();
              const $e = me();
              return $e >= 0 && Jm($e, e) ? (u += 6, k |= 1024, T = String.fromCharCode($e) + pe(), S = Te()) : (u++, S = 0);
          }
          if (Jm(Y, e)) {
            let Ae = Y;
            for (; u < g && fh(Ae = R(u), e) || Ae === 45; ) u += Sd(Ae);
            return T = _.substring(h, u), Ae === 92 && (T += pe()), S = Te();
          } else
            return S = 0;
        }
        function ft(Y, Ae) {
          const $e = u, Ke = m, Tt = h, Le = S, mt = T, pt = k, Ct = Y();
          return (!Ct || Ae) && (u = $e, m = Ke, h = Tt, S = Le, T = mt, k = pt), Ct;
        }
        function er(Y, Ae, $e) {
          const Ke = g, Tt = u, Le = m, mt = h, pt = S, Ct = T, qe = k, Lt = D;
          Es(_, Y, Ae);
          const rn = $e();
          return g = Ke, u = Tt, m = Le, h = mt, S = pt, T = Ct, k = qe, D = Lt, rn;
        }
        function qr(Y) {
          return ft(
            Y,
            /*isLookahead*/
            true
          );
        }
        function Jn(Y) {
          return ft(
            Y,
            /*isLookahead*/
            false
          );
        }
        function Un() {
          return _;
        }
        function ki() {
          D = void 0;
        }
        function Es(Y, Ae, $e) {
          _ = Y || "", g = $e === void 0 ? _.length : Ae + $e, re(Ae || 0);
        }
        function Zs(Y) {
          s = Y;
        }
        function yr(Y) {
          e = Y;
        }
        function vs(Y) {
          n = Y;
        }
        function Xe(Y) {
          A = Y;
        }
        function Et(Y) {
          O = Y;
        }
        function re(Y) {
          E.assert(Y >= 0), u = Y, m = Y, h = Y, S = 0, T = void 0, k = 0;
        }
        function it(Y) {
          P += Y ? 1 : -1;
        }
      }
      function d4(e, t) {
        return e.codePointAt(t);
      }
      function Sd(e) {
        return e >= 65536 ? 2 : e === -1 ? 0 : 1;
      }
      function JFe(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 zFe = String.fromCodePoint ? (e) => String.fromCodePoint(e) : JFe;
      function m4(e) {
        return zFe(e);
      }
      var $ge = new Map(Object.entries({
        General_Category: "General_Category",
        gc: "General_Category",
        Script: "Script",
        sc: "Script",
        Script_Extensions: "Script_Extensions",
        scx: "Script_Extensions"
      })), Xge = /* @__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"]), $P = {
        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
      };
      $P.Script_Extensions = $P.Script;
      function xl(e) {
        return vf(e) || $_(e);
      }
      function TC(e) {
        return ZE(e, sD, z5);
      }
      var WY = /* @__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 XP(e) {
        const t = pa(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 WY.get(t);
          default:
            return "lib.d.ts";
        }
      }
      function Yo(e) {
        return e.start + e.length;
      }
      function UY(e) {
        return e.length === 0;
      }
      function Cj(e, t) {
        return t >= e.start && t < Yo(e);
      }
      function QP(e, t) {
        return t >= e.pos && t <= e.end;
      }
      function VY(e, t) {
        return t.start >= e.start && Yo(t) <= Yo(e);
      }
      function Ej(e, t) {
        return t.pos >= e.start && t.end <= Yo(e);
      }
      function qY(e, t) {
        return t.start >= e.pos && Yo(t) <= e.end;
      }
      function Yge(e, t) {
        return HY(e, t) !== void 0;
      }
      function HY(e, t) {
        const n = QY(e, t);
        return n && n.length === 0 ? void 0 : n;
      }
      function GY(e, t) {
        return ZP(e.start, e.length, t.start, t.length);
      }
      function YP(e, t, n) {
        return ZP(e.start, e.length, t, n);
      }
      function ZP(e, t, n, i) {
        const s = e + t, o = n + i;
        return n <= s && o >= e;
      }
      function $Y(e, t) {
        return t <= Yo(e) && t >= e.start;
      }
      function XY(e, t) {
        return YP(t, e.pos, e.end - e.pos);
      }
      function QY(e, t) {
        const n = Math.max(e.start, t.start), i = Math.min(Yo(e), Yo(t));
        return n <= i ? Dc(n, i) : void 0;
      }
      function Dj(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 && GY(i, e[s]); ) {
            const o = Math.min(i.start, e[s].start), c = Math.max(Yo(i), Yo(e[s]));
            i = Dc(o, c), s++;
          }
          n = s, t.push(i);
        }
        return t;
      }
      function Xl(e, t) {
        if (e < 0)
          throw new Error("start < 0");
        if (t < 0)
          throw new Error("length < 0");
        return { start: e, length: t };
      }
      function Dc(e, t) {
        return Xl(e, t - e);
      }
      function g4(e) {
        return Xl(e.span.start, e.newLength);
      }
      function YY(e) {
        return UY(e.span) && e.newLength === 0;
      }
      function KP(e, t) {
        if (t < 0)
          throw new Error("newLength < 0");
        return { span: e, newLength: t };
      }
      var m7 = KP(Xl(0, 0), 0);
      function ZY(e) {
        if (e.length === 0)
          return m7;
        if (e.length === 1)
          return e[0];
        const t = e[0];
        let n = t.span.start, i = Yo(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 = Yo(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 KP(
          Dc(n, i),
          /*newLength*/
          s - n
        );
      }
      function Zge(e) {
        if (e && e.kind === 169) {
          for (let t = e; t; t = t.parent)
            if (Cs(t) || $n(t) || t.kind === 265)
              return t;
        }
      }
      function X_(e, t) {
        return Ii(e) && Gn(
          e,
          31
          /* ParameterPropertyModifier */
        ) && t.kind === 177;
      }
      function KY(e) {
        return Ds(e) ? Ni(e.elements, eZ) : false;
      }
      function eZ(e) {
        return gl(e) ? true : KY(e.name);
      }
      function V2(e) {
        let t = e.parent;
        for (; ha(t.parent); )
          t = t.parent.parent;
        return t.parent;
      }
      function tZ(e, t) {
        ha(e) && (e = V2(e));
        let n = t(e);
        return e.kind === 261 && (e = e.parent), e && e.kind === 262 && (n |= t(e), e = e.parent), e && e.kind === 244 && (n |= t(e)), n;
      }
      function L1(e) {
        return tZ(e, lu);
      }
      function wj(e) {
        return tZ(e, KK);
      }
      function ph(e) {
        return tZ(e, WFe);
      }
      function WFe(e) {
        return e.flags;
      }
      var rZ = ["cs", "de", "es", "fr", "it", "ja", "ko", "pl", "pt-br", "ru", "tr", "zh-cn", "zh-tw"];
      function Pj(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];
        ds(rZ, i) && !_(o, c, n) && _(
          o,
          /*territory*/
          void 0,
          n
        ), lQ(e);
        function _(u, g, m) {
          const h = qs(t.getExecutingFilePath()), S = Hn(h);
          let T = On(S, u);
          if (g && (T = T + "-" + g), T = t.resolvePath(On(T, "diagnosticMessages.generated.json")), !t.fileExists(T))
            return false;
          let k = "";
          try {
            k = t.readFile(T);
          } catch {
            return m && m.push($o(p.Unable_to_open_file_0, T)), false;
          }
          try {
            yee(JSON.parse(k));
          } catch {
            return m && m.push($o(p.Corrupted_locale_file_0, T)), false;
          }
          return true;
        }
      }
      function zo(e, t) {
        if (e)
          for (; e.original !== void 0; )
            e = e.original;
        return !e || !t || t(e) ? e : void 0;
      }
      function dr(e, t) {
        for (; e; ) {
          const n = t(e);
          if (n === "quit")
            return;
          if (n)
            return e;
          e = e.parent;
        }
      }
      function h4(e) {
        return (e.flags & 16) === 0;
      }
      function ys(e, t) {
        if (e === void 0 || h4(e))
          return e;
        for (e = e.original; e; ) {
          if (h4(e))
            return !t || t(e) ? e : void 0;
          e = e.original;
        }
      }
      function Zo(e) {
        return e.length >= 2 && e.charCodeAt(0) === 95 && e.charCodeAt(1) === 95 ? "_" + e : e;
      }
      function Si(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 An(e) {
        return Si(e.escapedText);
      }
      function q2(e) {
        const t = U2(e.escapedText);
        return t ? Bn(t, b_) : void 0;
      }
      function sc(e) {
        return e.valueDeclaration && xu(e.valueDeclaration) ? An(e.valueDeclaration.name) : Si(e.escapedName);
      }
      function Kge(e) {
        const t = e.parent.parent;
        if (t) {
          if (Cl(t))
            return Nj(t);
          switch (t.kind) {
            case 244:
              if (t.declarationList && t.declarationList.declarations[0])
                return Nj(t.declarationList.declarations[0]);
              break;
            case 245:
              let n = t.expression;
              switch (n.kind === 227 && n.operatorToken.kind === 64 && (n = n.left), n.kind) {
                case 212:
                  return n.name;
                case 213:
                  const i = n.argumentExpression;
                  if (Me(i))
                    return i;
              }
              break;
            case 218:
              return Nj(t.expression);
            case 257: {
              if (Cl(t.statement) || ut(t.statement))
                return Nj(t.statement);
              break;
            }
          }
        }
      }
      function Nj(e) {
        const t = us(e);
        return t && Me(t) ? t : void 0;
      }
      function e3(e, t) {
        return !!(kl(e) && Me(e.name) && An(e.name) === An(t) || Pc(e) && ot(e.declarationList.declarations, (n) => e3(n, t)));
      }
      function nZ(e) {
        return e.name || Kge(e);
      }
      function kl(e) {
        return !!e.name;
      }
      function g7(e) {
        switch (e.kind) {
          case 80:
            return e;
          case 349:
          case 342: {
            const { name: n } = e;
            if (n.kind === 167)
              return n.right;
            break;
          }
          case 214:
          case 227: {
            const n = e;
            switch (wc(n)) {
              case 1:
              case 4:
              case 5:
              case 3:
                return f5(n.left);
              case 7:
              case 8:
              case 9:
                return n.arguments[1];
              default:
                return;
            }
          }
          case 347:
            return nZ(e);
          case 341:
            return Kge(e);
          case 278: {
            const { expression: n } = e;
            return Me(n) ? n : void 0;
          }
          case 213:
            const t = e;
            if (_5(t))
              return t.argumentExpression;
        }
        return e.name;
      }
      function us(e) {
        if (e !== void 0)
          return g7(e) || (mo(e) || bo(e) || Oc(e) ? h7(e) : void 0);
      }
      function h7(e) {
        if (e.parent) {
          if (Kc(e.parent) || ha(e.parent))
            return e.parent.name;
          if (_n(e.parent) && e === e.parent.right) {
            if (Me(e.parent.left))
              return e.parent.left;
            if (vo(e.parent.left))
              return f5(e.parent.left);
          } else if (ei(e.parent) && Me(e.parent.name))
            return e.parent.name;
        } else return;
      }
      function hy(e) {
        if (Pf(e))
          return kn(e.modifiers, ol);
      }
      function gb(e) {
        if (Gn(
          e,
          98303
          /* Modifier */
        ))
          return kn(e.modifiers, Ys);
      }
      function ehe(e, t) {
        if (e.name)
          if (Me(e.name)) {
            const n = e.name.escapedText;
            return v7(e.parent, t).filter((i) => Af(i) && Me(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 = v7(e.parent, t).filter(Af);
            if (n < i.length)
              return [i[n]];
          }
        return Ge;
      }
      function xC(e) {
        return ehe(
          e,
          /*noCache*/
          false
        );
      }
      function iZ(e) {
        return ehe(
          e,
          /*noCache*/
          true
        );
      }
      function the(e, t) {
        const n = e.name.escapedText;
        return v7(e.parent, t).filter((i) => Bp(i) && i.typeParameters.some((s) => s.name.escapedText === n));
      }
      function sZ(e) {
        return the(
          e,
          /*noCache*/
          false
        );
      }
      function aZ(e) {
        return the(
          e,
          /*noCache*/
          true
        );
      }
      function oZ(e) {
        return !!Ap(e, Af);
      }
      function cZ(e) {
        return Ap(e, Vx);
      }
      function lZ(e) {
        return b7(e, OF);
      }
      function Aj(e) {
        return Ap(e, $te);
      }
      function rhe(e) {
        return Ap(e, bz);
      }
      function uZ(e) {
        return Ap(
          e,
          bz,
          /*noCache*/
          true
        );
      }
      function nhe(e) {
        return Ap(e, Sz);
      }
      function _Z(e) {
        return Ap(
          e,
          Sz,
          /*noCache*/
          true
        );
      }
      function ihe(e) {
        return Ap(e, Tz);
      }
      function fZ(e) {
        return Ap(
          e,
          Tz,
          /*noCache*/
          true
        );
      }
      function she(e) {
        return Ap(e, xz);
      }
      function pZ(e) {
        return Ap(
          e,
          xz,
          /*noCache*/
          true
        );
      }
      function dZ(e) {
        return Ap(
          e,
          IF,
          /*noCache*/
          true
        );
      }
      function Ij(e) {
        return Ap(e, kz);
      }
      function mZ(e) {
        return Ap(
          e,
          kz,
          /*noCache*/
          true
        );
      }
      function Fj(e) {
        return Ap(e, BN);
      }
      function y7(e) {
        return Ap(e, Cz);
      }
      function gZ(e) {
        return Ap(e, FF);
      }
      function ahe(e) {
        return Ap(e, Bp);
      }
      function Oj(e) {
        return Ap(e, LF);
      }
      function M1(e) {
        const t = Ap(e, OD);
        if (t && t.typeExpression && t.typeExpression.type)
          return t;
      }
      function o0(e) {
        let t = Ap(e, OD);
        return !t && Ii(e) && (t = Nn(xC(e), (n) => !!n.typeExpression)), t && t.typeExpression && t.typeExpression.type;
      }
      function t3(e) {
        const t = gZ(e);
        if (t && t.typeExpression)
          return t.typeExpression.type;
        const n = M1(e);
        if (n && n.typeExpression) {
          const i = n.typeExpression.type;
          if (r_(i)) {
            const s = Nn(i.members, Mx);
            return s && s.type;
          }
          if ($m(i) || m6(i))
            return i.type;
        }
      }
      function v7(e, t) {
        var n;
        if (!U3(e)) return Ge;
        let i = (n = e.jsDoc) == null ? void 0 : n.jsDocCache;
        if (i === void 0 || t) {
          const s = wB(e, t);
          E.assert(s.length < 2 || s[0] !== s[1]), i = xa(s, (o) => Nd(o) ? o.tags : o), t || (e.jsDoc ?? (e.jsDoc = []), e.jsDoc.jsDocCache = i);
        }
        return i;
      }
      function R1(e) {
        return v7(
          e,
          /*noCache*/
          false
        );
      }
      function Ap(e, t, n) {
        return Nn(v7(e, n), t);
      }
      function b7(e, t) {
        return R1(e).filter(t);
      }
      function ohe(e, t) {
        return R1(e).filter((n) => n.kind === t);
      }
      function r3(e) {
        return typeof e == "string" ? e : e?.map((t) => t.kind === 322 ? t.text : UFe(t)).join("");
      }
      function UFe(e) {
        const t = e.kind === 325 ? "link" : e.kind === 326 ? "linkcode" : "linkplain", n = e.name ? Q_(e.name) : "", i = e.name && (e.text === "" || e.text.startsWith("://")) ? "" : " ";
        return `{@${t} ${n}${i}${e.text}}`;
      }
      function yy(e) {
        if (x0(e)) {
          if (g6(e.parent)) {
            const t = WC(e.parent);
            if (t && wr(t.tags))
              return xa(t.tags, (n) => Bp(n) ? n.typeParameters : void 0);
          }
          return Ge;
        }
        if (Op(e))
          return E.assert(
            e.parent.kind === 321
            /* JSDoc */
          ), xa(e.parent.tags, (t) => Bp(t) ? t.typeParameters : void 0);
        if (e.typeParameters || are(e) && e.typeParameters)
          return e.typeParameters;
        if (an(e)) {
          const t = w5(e);
          if (t.length)
            return t;
          const n = o0(e);
          if (n && $m(n) && n.typeParameters)
            return n.typeParameters;
        }
        return Ge;
      }
      function kC(e) {
        return e.constraint ? e.constraint : Bp(e.parent) && e === e.parent.typeParameters[0] ? e.parent.constraint : void 0;
      }
      function xg(e) {
        return e.kind === 80 || e.kind === 81;
      }
      function n3(e) {
        return e.kind === 179 || e.kind === 178;
      }
      function S7(e) {
        return wn(e) && !!(e.flags & 64);
      }
      function Lj(e) {
        return oo(e) && !!(e.flags & 64);
      }
      function H2(e) {
        return ws(e) && !!(e.flags & 64);
      }
      function Tu(e) {
        const t = e.kind;
        return !!(e.flags & 64) && (t === 212 || t === 213 || t === 214 || t === 236);
      }
      function y4(e) {
        return Tu(e) && !zx(e) && !!e.questionDotToken;
      }
      function T7(e) {
        return y4(e.parent) && e.parent.expression === e;
      }
      function v4(e) {
        return !Tu(e.parent) || y4(e.parent) || e !== e.parent.expression;
      }
      function Mj(e) {
        return e.kind === 227 && e.operatorToken.kind === 61;
      }
      function Kp(e) {
        return rf(e) && Me(e.typeName) && e.typeName.escapedText === "const" && !e.typeArguments;
      }
      function ed(e) {
        return dc(
          e,
          8
          /* PartiallyEmittedExpressions */
        );
      }
      function x7(e) {
        return zx(e) && !!(e.flags & 64);
      }
      function b4(e) {
        return e.kind === 253 || e.kind === 252;
      }
      function Rj(e) {
        return e.kind === 281 || e.kind === 280;
      }
      function S4(e) {
        return e.kind === 349 || e.kind === 342;
      }
      function k7(e) {
        return e >= 167;
      }
      function jj(e) {
        return e >= 0 && e <= 166;
      }
      function YT(e) {
        return jj(e.kind);
      }
      function hb(e) {
        return Ya(e, "pos") && Ya(e, "end");
      }
      function T4(e) {
        return 9 <= e && e <= 15;
      }
      function G2(e) {
        return T4(e.kind);
      }
      function Bj(e) {
        switch (e.kind) {
          case 211:
          case 210:
          case 14:
          case 219:
          case 232:
            return true;
        }
        return false;
      }
      function vy(e) {
        return 15 <= e && e <= 18;
      }
      function hZ(e) {
        return vy(e.kind);
      }
      function C7(e) {
        const t = e.kind;
        return t === 17 || t === 18;
      }
      function by(e) {
        return qu(e) || Eu(e);
      }
      function CC(e) {
        switch (e.kind) {
          case 277:
            return e.isTypeOnly || e.parent.parent.phaseModifier === 156;
          case 275:
            return e.parent.phaseModifier === 156;
          case 274:
            return e.phaseModifier === 156;
          case 272:
            return e.isTypeOnly;
        }
        return false;
      }
      function yZ(e) {
        switch (e.kind) {
          case 282:
            return e.isTypeOnly || e.parent.parent.isTypeOnly;
          case 279:
            return e.isTypeOnly && !!e.moduleSpecifier && !e.exportClause;
          case 281:
            return e.parent.isTypeOnly;
        }
        return false;
      }
      function c0(e) {
        return CC(e) || yZ(e);
      }
      function vZ(e) {
        return dr(e, c0) !== void 0;
      }
      function Jj(e) {
        return e.kind === 11 || vy(e.kind);
      }
      function bZ(e) {
        return oa(e) || Me(e);
      }
      function Mo(e) {
        var t;
        return Me(e) && ((t = e.emitNode) == null ? void 0 : t.autoGenerate) !== void 0;
      }
      function $2(e) {
        var t;
        return Ai(e) && ((t = e.emitNode) == null ? void 0 : t.autoGenerate) !== void 0;
      }
      function i3(e) {
        const t = e.emitNode.autoGenerate.flags;
        return !!(t & 32) && !!(t & 16) && !!(t & 8);
      }
      function xu(e) {
        return (as(e) || KT(e)) && Ai(e.name);
      }
      function EC(e) {
        return wn(e) && Ai(e.name);
      }
      function Sy(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 true;
        }
        return false;
      }
      function x4(e) {
        return !!(hx(e) & 31);
      }
      function zj(e) {
        return x4(e) || e === 126 || e === 164 || e === 129;
      }
      function Ys(e) {
        return Sy(e.kind);
      }
      function Zu(e) {
        const t = e.kind;
        return t === 167 || t === 80;
      }
      function Wc(e) {
        const t = e.kind;
        return t === 80 || t === 81 || t === 11 || t === 9 || t === 168;
      }
      function X2(e) {
        const t = e.kind;
        return t === 80 || t === 207 || t === 208;
      }
      function Cs(e) {
        return !!e && ZT(e.kind);
      }
      function DC(e) {
        return !!e && (ZT(e.kind) || Sc(e));
      }
      function to(e) {
        return e && che(e.kind);
      }
      function k4(e) {
        return e.kind === 112 || e.kind === 97;
      }
      function che(e) {
        switch (e) {
          case 263:
          case 175:
          case 177:
          case 178:
          case 179:
          case 219:
          case 220:
            return true;
          default:
            return false;
        }
      }
      function ZT(e) {
        switch (e) {
          case 174:
          case 180:
          case 324:
          case 181:
          case 182:
          case 185:
          case 318:
          case 186:
            return true;
          default:
            return che(e);
        }
      }
      function Wj(e) {
        return Di(e) || mm(e) || Ps(e) && Cs(e.parent);
      }
      function Uc(e) {
        const t = e.kind;
        return t === 177 || t === 173 || t === 175 || t === 178 || t === 179 || t === 182 || t === 176 || t === 241;
      }
      function $n(e) {
        return e && (e.kind === 264 || e.kind === 232);
      }
      function Ty(e) {
        return e && (e.kind === 178 || e.kind === 179);
      }
      function g_(e) {
        return as(e) && cm(e);
      }
      function SZ(e) {
        return an(e) && Px(e) ? (!Eb(e) || !Fy(e.expression)) && !iS(
          e,
          /*excludeThisKeyword*/
          true
        ) : e.parent && $n(e.parent) && as(e) && !cm(e);
      }
      function KT(e) {
        switch (e.kind) {
          case 175:
          case 178:
          case 179:
            return true;
          default:
            return false;
        }
      }
      function Ro(e) {
        return Ys(e) || ol(e);
      }
      function yb(e) {
        const t = e.kind;
        return t === 181 || t === 180 || t === 172 || t === 174 || t === 182 || t === 178 || t === 179 || t === 355;
      }
      function E7(e) {
        return yb(e) || Uc(e);
      }
      function dh(e) {
        const t = e.kind;
        return t === 304 || t === 305 || t === 306 || t === 175 || t === 178 || t === 179;
      }
      function li(e) {
        return gJ(e.kind);
      }
      function TZ(e) {
        switch (e.kind) {
          case 185:
          case 186:
            return true;
        }
        return false;
      }
      function Ds(e) {
        if (e) {
          const t = e.kind;
          return t === 208 || t === 207;
        }
        return false;
      }
      function C4(e) {
        const t = e.kind;
        return t === 210 || t === 211;
      }
      function D7(e) {
        const t = e.kind;
        return t === 209 || t === 233;
      }
      function s3(e) {
        switch (e.kind) {
          case 261:
          case 170:
          case 209:
            return true;
        }
        return false;
      }
      function xZ(e) {
        return ei(e) || Ii(e) || o3(e) || c3(e);
      }
      function a3(e) {
        return Uj(e) || Vj(e);
      }
      function Uj(e) {
        switch (e.kind) {
          case 207:
          case 211:
            return true;
        }
        return false;
      }
      function o3(e) {
        switch (e.kind) {
          case 209:
          case 304:
          // AssignmentProperty
          case 305:
          // AssignmentProperty
          case 306:
            return true;
        }
        return false;
      }
      function Vj(e) {
        switch (e.kind) {
          case 208:
          case 210:
            return true;
        }
        return false;
      }
      function c3(e) {
        switch (e.kind) {
          case 209:
          case 233:
          // Elision
          case 231:
          // AssignmentRestElement
          case 210:
          // ArrayAssignmentPattern
          case 211:
          // ObjectAssignmentPattern
          case 80:
          // DestructuringAssignmentTarget
          case 212:
          // DestructuringAssignmentTarget
          case 213:
            return true;
        }
        return El(
          e,
          /*excludeCompoundAssignment*/
          true
        );
      }
      function kZ(e) {
        const t = e.kind;
        return t === 212 || t === 167 || t === 206;
      }
      function l3(e) {
        const t = e.kind;
        return t === 212 || t === 167;
      }
      function qj(e) {
        return vb(e) || My(e);
      }
      function vb(e) {
        switch (e.kind) {
          case 214:
          case 215:
          case 216:
          case 171:
          case 287:
          case 286:
          case 290:
            return true;
          case 227:
            return e.operatorToken.kind === 104;
          default:
            return false;
        }
      }
      function tm(e) {
        return e.kind === 214 || e.kind === 215;
      }
      function ex(e) {
        const t = e.kind;
        return t === 229 || t === 15;
      }
      function h_(e) {
        return lhe(ed(e).kind);
      }
      function lhe(e) {
        switch (e) {
          case 212:
          case 213:
          case 215:
          case 214:
          case 285:
          case 286:
          case 289:
          case 216:
          case 210:
          case 218:
          case 211:
          case 232:
          case 219:
          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 229:
          case 97:
          case 106:
          case 110:
          case 112:
          case 108:
          case 236:
          case 234:
          case 237:
          case 102:
          // technically this is only an Expression if it's in a CallExpression
          case 283:
            return true;
          default:
            return false;
        }
      }
      function Hj(e) {
        return uhe(ed(e).kind);
      }
      function uhe(e) {
        switch (e) {
          case 225:
          case 226:
          case 221:
          case 222:
          case 223:
          case 224:
          case 217:
            return true;
          default:
            return lhe(e);
        }
      }
      function CZ(e) {
        switch (e.kind) {
          case 226:
            return true;
          case 225:
            return e.operator === 46 || e.operator === 47;
          default:
            return false;
        }
      }
      function EZ(e) {
        switch (e.kind) {
          case 106:
          case 112:
          case 97:
          case 225:
            return true;
          default:
            return G2(e);
        }
      }
      function ut(e) {
        return VFe(ed(e).kind);
      }
      function VFe(e) {
        switch (e) {
          case 228:
          case 230:
          case 220:
          case 227:
          case 231:
          case 235:
          case 233:
          case 357:
          case 356:
          case 239:
            return true;
          default:
            return uhe(e);
        }
      }
      function bb(e) {
        const t = e.kind;
        return t === 217 || t === 235;
      }
      function xy(e, t) {
        switch (e.kind) {
          case 249:
          case 250:
          case 251:
          case 247:
          case 248:
            return true;
          case 257:
            return t && xy(e.statement, t);
        }
        return false;
      }
      function qFe(e) {
        return Fo(e) || Mc(e);
      }
      function DZ(e) {
        return ot(e, qFe);
      }
      function w7(e) {
        return !v3(e) && !Fo(e) && !Gn(
          e,
          32
          /* Export */
        ) && !Ju(e);
      }
      function u3(e) {
        return v3(e) || Fo(e) || Gn(
          e,
          32
          /* Export */
        );
      }
      function Q2(e) {
        return e.kind === 250 || e.kind === 251;
      }
      function P7(e) {
        return Ps(e) || ut(e);
      }
      function Gj(e) {
        return Ps(e);
      }
      function ep(e) {
        return Bl(e) || ut(e);
      }
      function wZ(e) {
        const t = e.kind;
        return t === 269 || t === 268 || t === 80;
      }
      function _he(e) {
        const t = e.kind;
        return t === 269 || t === 268;
      }
      function fhe(e) {
        const t = e.kind;
        return t === 80 || t === 268;
      }
      function $j(e) {
        const t = e.kind;
        return t === 276 || t === 275;
      }
      function _3(e) {
        return e.kind === 268 || e.kind === 267;
      }
      function Td(e) {
        switch (e.kind) {
          case 220:
          case 227:
          case 209:
          case 214:
          case 180:
          case 264:
          case 232:
          case 176:
          case 177:
          case 186:
          case 181:
          case 213:
          case 267:
          case 307:
          case 278:
          case 279:
          case 282:
          case 263:
          case 219:
          case 185:
          case 178:
          case 80:
          case 274:
          case 272:
          case 277:
          case 182:
          case 265:
          case 339:
          case 341:
          case 318:
          case 342:
          case 349:
          case 324:
          case 347:
          case 323:
          case 292:
          case 293:
          case 294:
          case 201:
          case 175:
          case 174:
          case 268:
          case 203:
          case 281:
          case 271:
          case 275:
          case 215:
          case 15:
          case 9:
          case 211:
          case 170:
          case 212:
          case 304:
          case 173:
          case 172:
          case 179:
          case 305:
          case 308:
          case 306:
          case 11:
          case 266:
          case 188:
          case 169:
          case 261:
            return true;
          default:
            return false;
        }
      }
      function zm(e) {
        switch (e.kind) {
          case 220:
          case 242:
          case 180:
          case 270:
          case 300:
          case 176:
          case 195:
          case 177:
          case 186:
          case 181:
          case 249:
          case 250:
          case 251:
          case 263:
          case 219:
          case 185:
          case 178:
          case 182:
          case 339:
          case 341:
          case 318:
          case 324:
          case 347:
          case 201:
          case 175:
          case 174:
          case 268:
          case 179:
          case 308:
          case 266:
            return true;
          default:
            return false;
        }
      }
      function HFe(e) {
        return e === 220 || e === 209 || e === 264 || e === 232 || e === 176 || e === 177 || e === 267 || e === 307 || e === 282 || e === 263 || e === 219 || e === 178 || e === 274 || e === 272 || e === 277 || e === 265 || e === 292 || e === 175 || e === 174 || e === 268 || e === 271 || e === 275 || e === 281 || e === 170 || e === 304 || e === 173 || e === 172 || e === 179 || e === 305 || e === 266 || e === 169 || e === 261 || e === 347 || e === 339 || e === 349 || e === 203;
      }
      function PZ(e) {
        return e === 263 || e === 283 || e === 264 || e === 265 || e === 266 || e === 267 || e === 268 || e === 273 || e === 272 || e === 279 || e === 278 || e === 271;
      }
      function NZ(e) {
        return e === 253 || e === 252 || e === 260 || e === 247 || e === 245 || e === 243 || e === 250 || e === 251 || e === 249 || e === 246 || e === 257 || e === 254 || e === 256 || e === 258 || e === 259 || e === 244 || e === 248 || e === 255 || e === 354;
      }
      function Cl(e) {
        return e.kind === 169 ? e.parent && e.parent.kind !== 346 || an(e) : HFe(e.kind);
      }
      function AZ(e) {
        return PZ(e.kind);
      }
      function f3(e) {
        return NZ(e.kind);
      }
      function Ti(e) {
        const t = e.kind;
        return NZ(t) || PZ(t) || GFe(e);
      }
      function GFe(e) {
        return e.kind !== 242 || e.parent !== void 0 && (e.parent.kind === 259 || e.parent.kind === 300) ? false : !kb(e);
      }
      function IZ(e) {
        const t = e.kind;
        return NZ(t) || PZ(t) || t === 242;
      }
      function FZ(e) {
        const t = e.kind;
        return t === 284 || t === 167 || t === 80;
      }
      function E4(e) {
        const t = e.kind;
        return t === 110 || t === 80 || t === 212 || t === 296;
      }
      function p3(e) {
        const t = e.kind;
        return t === 285 || t === 295 || t === 286 || t === 12 || t === 289;
      }
      function N7(e) {
        const t = e.kind;
        return t === 292 || t === 294;
      }
      function OZ(e) {
        const t = e.kind;
        return t === 11 || t === 295;
      }
      function ku(e) {
        const t = e.kind;
        return t === 287 || t === 286;
      }
      function LZ(e) {
        const t = e.kind;
        return t === 287 || t === 286 || t === 290;
      }
      function A7(e) {
        const t = e.kind;
        return t === 297 || t === 298;
      }
      function wC(e) {
        return e.kind >= 310 && e.kind <= 352;
      }
      function I7(e) {
        return e.kind === 321 || e.kind === 320 || e.kind === 322 || tx(e) || PC(e) || kS(e) || x0(e);
      }
      function PC(e) {
        return e.kind >= 328 && e.kind <= 352;
      }
      function rm(e) {
        return e.kind === 179;
      }
      function kg(e) {
        return e.kind === 178;
      }
      function bf(e) {
        if (!U3(e)) return false;
        const { jsDoc: t } = e;
        return !!t && t.length > 0;
      }
      function F7(e) {
        return !!e.type;
      }
      function l0(e) {
        return !!e.initializer;
      }
      function Y2(e) {
        switch (e.kind) {
          case 261:
          case 170:
          case 209:
          case 173:
          case 304:
          case 307:
            return true;
          default:
            return false;
        }
      }
      function Xj(e) {
        return e.kind === 292 || e.kind === 294 || dh(e);
      }
      function O7(e) {
        return e.kind === 184 || e.kind === 234;
      }
      var phe = 1073741823;
      function MZ(e) {
        let t = phe;
        for (const n of e) {
          if (!n.length)
            continue;
          let i = 0;
          for (; i < n.length && i < t && bg(n.charCodeAt(i)); i++)
            ;
          if (i < t && (t = i), t === 0)
            return 0;
        }
        return t === phe ? void 0 : t;
      }
      function Ma(e) {
        return e.kind === 11 || e.kind === 15;
      }
      function tx(e) {
        return e.kind === 325 || e.kind === 326 || e.kind === 327;
      }
      function Qj(e) {
        const t = ko(e.parameters);
        return !!t && Wm(t);
      }
      function Wm(e) {
        const t = Af(e) ? e.typeExpression && e.typeExpression.type : e.type;
        return e.dotDotDotToken !== void 0 || !!t && t.kind === 319;
      }
      function dhe(e, t) {
        return t.text.substring(e.pos, e.end).includes("@internal");
      }
      function RZ(e, t) {
        t ?? (t = xr(e));
        const n = ys(e);
        if (n && n.kind === 170) {
          const s = n.parent.parameters.indexOf(n), o = s > 0 ? n.parent.parameters[s - 1] : void 0, c = t.text, _ = o ? Bi(
            // to handle
            // ... parameters, /** @internal */
            // public param: string
            gy(c, aa(
              c,
              o.end + 1,
              /*stopAfterLineBreak*/
              false,
              /*stopAtComments*/
              true
            )),
            Sg(c, e.pos)
          ) : gy(c, aa(
            c,
            e.pos,
            /*stopAfterLineBreak*/
            false,
            /*stopAtComments*/
            true
          ));
          return ot(_) && dhe(fa(_), t);
        }
        const i = n && hB(n, t);
        return !!lr(i, (s) => dhe(s, t));
      }
      var Yj = [], ky = "tslib", D4 = 160, Zj = 1e6, jZ = 500;
      function Ao(e, t) {
        const n = e.declarations;
        if (n) {
          for (const i of n)
            if (i.kind === t)
              return i;
        }
      }
      function BZ(e, t) {
        return kn(e.declarations || Ge, (n) => n.kind === t);
      }
      function js(e) {
        const t = /* @__PURE__ */ new Map();
        if (e)
          for (const n of e)
            t.set(n.escapedName, n);
        return t;
      }
      function Cg(e) {
        return (e.flags & 33554432) !== 0;
      }
      function rx(e) {
        return !!(e.flags & 1536) && e.escapedName.charCodeAt(0) === 34;
      }
      var L7 = $Fe();
      function $Fe() {
        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: () => false,
          hasTrailingComment: () => false,
          hasTrailingWhitespace: () => !!e.length && bg(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 M7(e, t) {
        return e.configFilePath !== t.configFilePath || XFe(e, t);
      }
      function XFe(e, t) {
        return nx(e, t, Gz);
      }
      function JZ(e, t) {
        return nx(e, t, wre);
      }
      function nx(e, t, n) {
        return e !== t && n.some((i) => !nF(q5(e, i), q5(t, i)));
      }
      function zZ(e, t) {
        for (; ; ) {
          const n = t(e);
          if (n === "quit") return;
          if (n !== void 0) return n;
          if (Di(e)) return;
          e = e.parent;
        }
      }
      function dl(e, t) {
        const n = e.entries();
        for (const [i, s] of n) {
          const o = t(s, i);
          if (o)
            return o;
        }
      }
      function Eg(e, t) {
        const n = e.keys();
        for (const i of n) {
          const s = t(i);
          if (s)
            return s;
        }
      }
      function R7(e, t) {
        e.forEach((n, i) => {
          t.set(i, n);
        });
      }
      function NC(e) {
        const t = L7.getText();
        try {
          return e(L7), L7.getText();
        } finally {
          L7.clear(), L7.writeKeyword(t);
        }
      }
      function d3(e) {
        return e.end - e.pos;
      }
      function Kj(e, t) {
        return e.path === t.path && !e.prepend == !t.prepend && !e.circular == !t.circular;
      }
      function WZ(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 && QFe(e.resolvedModule.packageId, t.resolvedModule.packageId) && e.alternateResult === t.alternateResult;
      }
      function ix(e) {
        return e.resolvedModule;
      }
      function j7(e) {
        return e.resolvedTypeReferenceDirective;
      }
      function B7(e, t, n, i, s) {
        var o;
        const c = (o = t.getResolvedModule(e, n, i)) == null ? void 0 : o.alternateResult, _ = c && (Cu(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(Jg + "@types/") ? `@types/${w6(s)}` : s]
        ]), u = _ ? Ss(
          /*details*/
          void 0,
          _[0],
          ..._[1]
        ) : t.typesPackageExists(s) ? Ss(
          /*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,
          w6(s)
        ) : t.packageBundlesTypes(s) ? Ss(
          /*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
        ) : Ss(
          /*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,
          w6(s)
        );
        return u && (u.repopulateInfo = () => ({ moduleReference: n, mode: i, packageName: s === n ? void 0 : s })), u;
      }
      function eB(e) {
        const t = Lg(e.fileName), n = e.packageJsonScope, i = t === ".ts" ? ".mts" : t === ".js" ? ".mjs" : void 0, s = n && !n.contents.packageJsonContent.type ? i ? Ss(
          /*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,
          On(n.packageDirectory, "package.json")
        ) : Ss(
          /*details*/
          void 0,
          p.To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0,
          On(n.packageDirectory, "package.json")
        ) : i ? Ss(
          /*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
        ) : Ss(
          /*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 = () => true, s;
      }
      function QFe(e, t) {
        return e === t || !!e && !!t && e.name === t.name && e.subModuleName === t.subModuleName && e.version === t.version && e.peerDependencies === t.peerDependencies;
      }
      function J7({ name: e, subModuleName: t }) {
        return t ? `${e}/${t}` : e;
      }
      function j1(e) {
        return `${J7(e)}@${e.version}${e.peerDependencies ?? ""}`;
      }
      function UZ(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 tB(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 true;
        }
        return false;
      }
      function sx(e) {
        return YFe(e), (e.flags & 1048576) !== 0;
      }
      function YFe(e) {
        e.flags & 2097152 || (((e.flags & 262144) !== 0 || Ts(e, sx)) && (e.flags |= 1048576), e.flags |= 2097152);
      }
      function xr(e) {
        for (; e && e.kind !== 308; )
          e = e.parent;
        return e;
      }
      function m3(e) {
        return xr(e.valueDeclaration || uB(e));
      }
      function w4(e, t) {
        return !!e && (e.scriptKind === 1 || e.scriptKind === 2) && !e.checkJsDirective && t === void 0;
      }
      function VZ(e) {
        switch (e.kind) {
          case 242:
          case 270:
          case 249:
          case 250:
          case 251:
            return true;
        }
        return false;
      }
      function Cy(e, t) {
        return E.assert(e >= 0), vg(t)[e];
      }
      function mhe(e) {
        const t = xr(e), n = Rs(t, e.pos);
        return `${t.fileName}(${n.line + 1},${n.character + 1})`;
      }
      function g3(e, t) {
        E.assert(e >= 0);
        const n = vg(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(Su(s.charCodeAt(c))); o <= c && Su(s.charCodeAt(c)); )
            c--;
          return c;
        }
      }
      function z7(e, t, n) {
        return !(n && n(t)) && !e.identifiers.has(t);
      }
      function ac(e) {
        return e === void 0 ? true : e.pos === e.end && e.pos >= 0 && e.kind !== 1;
      }
      function Ip(e) {
        return !ac(e);
      }
      function qZ(e, t) {
        return Io(e) ? t === e.expression : Sc(e) ? t === e.modifiers : Vu(e) ? t === e.initializer : as(e) ? t === e.questionToken && g_(e) : Kc(e) ? t === e.modifiers || t === e.questionToken || t === e.exclamationToken || h3(e.modifiers, t, Ro) : fu(e) ? t === e.equalsToken || t === e.modifiers || t === e.questionToken || t === e.exclamationToken || h3(e.modifiers, t, Ro) : Ko(e) ? t === e.exclamationToken : ec(e) ? t === e.typeParameters || t === e.type || h3(e.typeParameters, t, Io) : lp(e) ? t === e.typeParameters || h3(e.typeParameters, t, Io) : R_(e) ? t === e.typeParameters || t === e.type || h3(e.typeParameters, t, Io) : jN(e) ? t === e.modifiers || h3(e.modifiers, t, Ro) : false;
      }
      function h3(e, t, n) {
        return !e || ss(t) || !n(t) ? false : ds(e, t);
      }
      function ghe(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 hhe(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 yhe(e) {
        return im(e) || !!(Ca(e) & 2097152);
      }
      function Dg(e, t) {
        return ghe(e, t, im);
      }
      function rB(e, t) {
        return ghe(e, t, yhe);
      }
      function vhe(e, t) {
        return hhe(e, t, im);
      }
      function Z2(e, t) {
        return hhe(e, t, yhe);
      }
      function nB(e, t, n) {
        if (e.charCodeAt(t + 1) === 47 && t + 2 < n && e.charCodeAt(t + 2) === 47) {
          const i = e.substring(t, n);
          return !!(aOe.test(i) || lOe.test(i) || uOe.test(i) || oOe.test(i) || cOe.test(i) || _Oe.test(i));
        }
        return false;
      }
      function W7(e, t) {
        return e.charCodeAt(t + 1) === 42 && e.charCodeAt(t + 2) === 33;
      }
      function HZ(e, t) {
        const n = new Map(
          t.map((c) => [
            `${Rs(e, c.range.end).line}`,
            c
          ])
        ), i = /* @__PURE__ */ new Map();
        return { getUnusedExpectations: s, markUsed: o };
        function s() {
          return ns(n.entries()).filter(([c, _]) => _.type === 0 && !i.get(c)).map(([c, _]) => _);
        }
        function o(c) {
          return n.has(`${c}`) ? (i.set(`${c}`, true), true) : false;
        }
      }
      function Ey(e, t, n) {
        if (ac(e))
          return e.pos;
        if (wC(e) || e.kind === 12)
          return aa(
            (t ?? xr(e)).text,
            e.pos,
            /*stopAfterLineBreak*/
            false,
            /*stopAtComments*/
            true
          );
        if (n && bf(e))
          return Ey(e.jsDoc[0], t);
        if (e.kind === 353) {
          t ?? (t = xr(e));
          const i = $c(Ez(e, t));
          if (i)
            return Ey(i, t, n);
        }
        return aa(
          (t ?? xr(e)).text,
          e.pos,
          /*stopAfterLineBreak*/
          false,
          /*stopAtComments*/
          false,
          M4(e)
        );
      }
      function iB(e, t) {
        const n = !ac(e) && Jp(e) ? ub(e.modifiers, ol) : void 0;
        return n ? aa((t || xr(e)).text, n.end) : Ey(e, t);
      }
      function GZ(e, t) {
        const n = !ac(e) && Jp(e) && e.modifiers ? fa(e.modifiers) : void 0;
        return n ? aa((t || xr(e)).text, n.end) : Ey(e, t);
      }
      function Sb(e, t, n = false) {
        return P4(e.text, t, n);
      }
      function ZFe(e) {
        return !!dr(e, iv);
      }
      function U7(e) {
        return !!(Mc(e) && e.exportClause && Xm(e.exportClause) && Um(e.exportClause.name));
      }
      function Dy(e) {
        return e.kind === 11 ? e.text : Si(e.escapedText);
      }
      function Tb(e) {
        return e.kind === 11 ? Zo(e.text) : e.escapedText;
      }
      function Um(e) {
        return (e.kind === 11 ? e.text : e.escapedText) === "default";
      }
      function P4(e, t, n = false) {
        if (ac(t))
          return "";
        let i = e.substring(n ? t.pos : aa(e, t.pos), t.end);
        return ZFe(t) && (i = i.split(/\r\n|\n|\r/).map((s) => s.replace(/^\s*\*/, "").trimStart()).join(`
`)), i;
      }
      function Go(e, t = false) {
        return Sb(xr(e), e, t);
      }
      function KFe(e) {
        return e.pos;
      }
      function AC(e, t) {
        return cy(e, t, KFe, po);
      }
      function Ca(e) {
        const t = e.emitNode;
        return t && t.flags || 0;
      }
      function td(e) {
        const t = e.emitNode;
        return t && t.internalFlags || 0;
      }
      var sB = /* @__PURE__ */ Bu(
        () => 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: Ge
          })),
          AsyncIterator: new Map(Object.entries({
            es2015: Ge
          })),
          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"
            ],
            esnext: [
              "pause"
            ]
          })),
          SharedArrayBuffer: new Map(Object.entries({
            es2017: [
              "byteLength",
              "slice"
            ],
            es2024: [
              "growable",
              "maxByteLength",
              "grow"
            ]
          })),
          AsyncIterable: new Map(Object.entries({
            es2018: Ge
          })),
          AsyncIterableIterator: new Map(Object.entries({
            es2018: Ge
          })),
          AsyncGenerator: new Map(Object.entries({
            es2018: Ge
          })),
          AsyncGeneratorFunction: new Map(Object.entries({
            es2018: Ge
          })),
          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: Ge,
            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: Ge
          })),
          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: Ge
          })),
          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: Ge,
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          BigUint64Array: new Map(Object.entries({
            es2020: Ge,
            es2022: [
              "at"
            ],
            es2023: [
              "findLastIndex",
              "findLast",
              "toReversed",
              "toSorted",
              "toSpliced",
              "with"
            ]
          })),
          Error: new Map(Object.entries({
            es2022: [
              "cause"
            ]
          }))
        }))
      ), $Z = /* @__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))($Z || {});
      function XZ(e, t, n) {
        if (t && eOe(e, n))
          return Sb(t, e);
        switch (e.kind) {
          case 11: {
            const i = n & 2 ? qB : n & 1 || Ca(e) & 16777216 ? Gm : b5;
            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 || Ca(e) & 16777216 ? Gm : b5, s = e.rawText ?? UB(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 eOe(e, t) {
        if (ao(e) || !e.parent || t & 4 && e.isUnterminated)
          return false;
        if (T_(e)) {
          if (e.numericLiteralFlags & 26656)
            return false;
          if (e.numericLiteralFlags & 512)
            return !!(t & 8);
        }
        return !s6(e);
      }
      function QZ(e) {
        return ms(e) ? `"${Gm(e)}"` : "" + e;
      }
      function YZ(e) {
        return Xc(e).replace(/^(\d)/, "_$1").replace(/\W/g, "_");
      }
      function aB(e) {
        return (ph(e) & 7) !== 0 || oB(e);
      }
      function oB(e) {
        const t = om(e);
        return t.kind === 261 && t.parent.kind === 300;
      }
      function Ju(e) {
        return Lc(e) && (e.name.kind === 11 || Vm(e));
      }
      function V7(e) {
        return Lc(e) && e.name.kind === 11;
      }
      function cB(e) {
        return Lc(e) && oa(e.name);
      }
      function tOe(e) {
        return Lc(e) || Me(e);
      }
      function y3(e) {
        return rOe(e.valueDeclaration);
      }
      function rOe(e) {
        return !!e && e.kind === 268 && !e.body;
      }
      function ZZ(e) {
        return e.kind === 308 || e.kind === 268 || DC(e);
      }
      function Vm(e) {
        return !!(e.flags & 2048);
      }
      function xb(e) {
        return Ju(e) && lB(e);
      }
      function lB(e) {
        switch (e.parent.kind) {
          case 308:
            return ll(e.parent);
          case 269:
            return Ju(e.parent.parent) && Di(e.parent.parent.parent) && !ll(e.parent.parent.parent);
        }
        return false;
      }
      function uB(e) {
        var t;
        return (t = e.declarations) == null ? void 0 : t.find((n) => !xb(n) && !(Lc(n) && Vm(n)));
      }
      function nOe(e) {
        return e === 1 || 100 <= e && e <= 199;
      }
      function IC(e, t) {
        return ll(e) || nOe(Wu(t)) && !!e.commonJsModuleIndicator;
      }
      function _B(e, t) {
        switch (e.scriptKind) {
          case 1:
          case 3:
          case 2:
          case 4:
            break;
          default:
            return false;
        }
        return e.isDeclarationFile ? false : !!(uu(t, "alwaysStrict") || nre(e.statements) || ll(e) || Rp(t));
      }
      function fB(e) {
        return !!(e.flags & 33554432) || Gn(
          e,
          128
          /* Ambient */
        );
      }
      function pB(e, t) {
        switch (e.kind) {
          case 308:
          case 270:
          case 300:
          case 268:
          case 249:
          case 250:
          case 251:
          case 177:
          case 175:
          case 178:
          case 179:
          case 263:
          case 219:
          case 220:
          case 173:
          case 176:
            return true;
          case 242:
            return !DC(t);
        }
        return false;
      }
      function dB(e) {
        switch (E.type(e), e.kind) {
          case 339:
          case 347:
          case 324:
            return true;
          default:
            return mB(e);
        }
      }
      function mB(e) {
        switch (E.type(e), e.kind) {
          case 180:
          case 181:
          case 174:
          case 182:
          case 185:
          case 186:
          case 318:
          case 264:
          case 232:
          case 265:
          case 266:
          case 346:
          case 263:
          case 175:
          case 177:
          case 178:
          case 179:
          case 219:
          case 220:
            return true;
          default:
            return false;
        }
      }
      function ax(e) {
        switch (e.kind) {
          case 273:
          case 272:
            return true;
          default:
            return false;
        }
      }
      function KZ(e) {
        return ax(e) || Cb(e);
      }
      function eK(e) {
        return ax(e) || F3(e);
      }
      function q7(e) {
        switch (e.kind) {
          case 273:
          case 272:
          case 244:
          case 264:
          case 263:
          case 268:
          case 266:
          case 265:
          case 267:
            return true;
          default:
            return false;
        }
      }
      function tK(e) {
        return v3(e) || Lc(e) || dm(e) || y_(e);
      }
      function v3(e) {
        return ax(e) || Mc(e);
      }
      function H7(e) {
        return dr(e.parent, (t) => !!(SW(t) & 1));
      }
      function xd(e) {
        return dr(e.parent, (t) => pB(t, t.parent));
      }
      function rK(e, t) {
        let n = xd(e);
        for (; n; )
          t(n), n = xd(n);
      }
      function so(e) {
        return !e || d3(e) === 0 ? "(Missing)" : Go(e);
      }
      function nK(e) {
        return e.declaration ? so(e.declaration.parameters[0].name) : void 0;
      }
      function b3(e) {
        return e.kind === 168 && !wf(e.expression);
      }
      function N4(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 Zo(e.text);
          case 168:
            return wf(e.expression) ? Zo(e.expression.text) : void 0;
          case 296:
            return wx(e);
          default:
            return E.assertNever(e);
        }
      }
      function ox(e) {
        return E.checkDefined(N4(e));
      }
      function Q_(e) {
        switch (e.kind) {
          case 110:
            return "this";
          case 81:
          case 80:
            return d3(e) === 0 ? An(e) : Go(e);
          case 167:
            return Q_(e.left) + "." + Q_(e.right);
          case 212:
            return Me(e.name) || Ai(e.name) ? Q_(e.expression) + "." + Q_(e.name) : E.assertNever(e.name);
          case 312:
            return Q_(e.left) + "#" + Q_(e.right);
          case 296:
            return Q_(e.namespace) + ":" + Q_(e.name);
          default:
            return E.assertNever(e);
        }
      }
      function sn(e, t, ...n) {
        const i = xr(e);
        return tp(i, e, t, ...n);
      }
      function FC(e, t, n, ...i) {
        const s = aa(e.text, t.pos);
        return al(e, s, t.end - s, n, ...i);
      }
      function tp(e, t, n, ...i) {
        const s = K2(e, t);
        return al(e, s.start, s.length, n, ...i);
      }
      function wg(e, t, n, i) {
        const s = K2(e, t);
        return G7(e, s.start, s.length, n, i);
      }
      function S3(e, t, n, i) {
        const s = aa(e.text, t.pos);
        return G7(e, s, t.end - s, n, i);
      }
      function iK(e, t, n) {
        E.assertGreaterThanOrEqual(t, 0), E.assertGreaterThanOrEqual(n, 0), E.assertLessThanOrEqual(t, e.length), E.assertLessThanOrEqual(t + n, e.length);
      }
      function G7(e, t, n, i, s) {
        return iK(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 gB(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 sK(e) {
        return typeof e.messageText == "string" ? {
          code: e.code,
          category: e.category,
          messageText: e.messageText,
          next: e.next
        } : e.messageText;
      }
      function aK(e, t, n) {
        return {
          file: e,
          start: t.pos,
          length: t.end - t.pos,
          code: n.code,
          category: n.category,
          messageText: n.message
        };
      }
      function oK(e, ...t) {
        return {
          code: e.code,
          messageText: xx(e, ...t)
        };
      }
      function nm(e, t) {
        const n = Tg(
          e.languageVersion,
          /*skipTrivia*/
          true,
          e.languageVariant,
          e.text,
          /*onError*/
          void 0,
          t
        );
        n.scan();
        const i = n.getTokenStart();
        return Dc(i, n.getTokenEnd());
      }
      function cK(e, t) {
        const n = Tg(
          e.languageVersion,
          /*skipTrivia*/
          true,
          e.languageVariant,
          e.text,
          /*onError*/
          void 0,
          t
        );
        return n.scan(), n.getToken();
      }
      function iOe(e, t) {
        const n = aa(e.text, t.pos);
        if (t.body && t.body.kind === 242) {
          const { line: i } = Rs(e, t.body.pos), { line: s } = Rs(e, t.body.end);
          if (i < s)
            return Xl(n, g3(i, e) - n + 1);
        }
        return Dc(n, t.end);
      }
      function K2(e, t) {
        let n = t;
        switch (t.kind) {
          case 308: {
            const o = aa(
              e.text,
              0,
              /*stopAfterLineBreak*/
              false
            );
            return o === e.text.length ? Xl(0, 0) : nm(e, o);
          }
          // This list is a work in progress. Add missing node kinds to improve their error
          // spans.
          case 261:
          case 209:
          case 264:
          case 232:
          case 265:
          case 268:
          case 267:
          case 307:
          case 263:
          case 219:
          case 175:
          case 178:
          case 179:
          case 266:
          case 173:
          case 172:
          case 275:
            n = t.name;
            break;
          case 220:
            return iOe(e, t);
          case 297:
          case 298: {
            const o = aa(e.text, t.pos), c = t.statements.length > 0 ? t.statements[0].pos : t.end;
            return Dc(o, c);
          }
          case 254:
          case 230: {
            const o = aa(e.text, t.pos);
            return nm(e, o);
          }
          case 239: {
            const o = aa(e.text, t.expression.end);
            return nm(e, o);
          }
          case 351: {
            const o = aa(e.text, t.tagName.pos);
            return nm(e, o);
          }
          case 177: {
            const o = t, c = aa(e.text, o.pos), _ = Tg(
              e.languageVersion,
              /*skipTrivia*/
              true,
              e.languageVariant,
              e.text,
              /*onError*/
              void 0,
              c
            );
            let u = _.scan();
            for (; u !== 137 && u !== 1; )
              u = _.scan();
            const g = _.getTokenEnd();
            return Dc(c, g);
          }
        }
        if (n === void 0)
          return nm(e, t.pos);
        E.assert(!Nd(n));
        const i = ac(n), s = i || Ix(t) ? n.pos : aa(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")), Dc(s, n.end);
      }
      function u0(e) {
        return e.kind === 308 && !Y_(e);
      }
      function Y_(e) {
        return (e.externalModuleIndicator || e.commonJsModuleIndicator) !== void 0;
      }
      function rp(e) {
        return e.scriptKind === 6;
      }
      function B1(e) {
        return !!(L1(e) & 4096);
      }
      function T3(e) {
        return !!(L1(e) & 8 && !X_(e, e.parent));
      }
      function x3(e) {
        return (ph(e) & 7) === 6;
      }
      function k3(e) {
        return (ph(e) & 7) === 4;
      }
      function OC(e) {
        return (ph(e) & 7) === 2;
      }
      function lK(e) {
        const t = ph(e) & 7;
        return t === 2 || t === 4 || t === 6;
      }
      function $7(e) {
        return (ph(e) & 7) === 1;
      }
      function eS(e) {
        return e.kind === 214 && e.expression.kind === 108;
      }
      function y_(e) {
        if (e.kind !== 214) return false;
        const t = e.expression;
        return t.kind === 102 || bS(t) && t.keywordToken === 102 && t.name.escapedText === "defer";
      }
      function LC(e) {
        return bS(e) && e.keywordToken === 102 && e.name.escapedText === "meta";
      }
      function mh(e) {
        return dm(e) && S0(e.argument) && oa(e.argument.literal);
      }
      function im(e) {
        return e.kind === 245 && e.expression.kind === 11;
      }
      function C3(e) {
        return !!(Ca(e) & 2097152);
      }
      function X7(e) {
        return C3(e) && Tc(e);
      }
      function sOe(e) {
        return Me(e.name) && !e.initializer;
      }
      function Q7(e) {
        return C3(e) && Pc(e) && Ni(e.declarationList.declarations, sOe);
      }
      function hB(e, t) {
        return e.kind !== 12 ? Sg(t.text, e.pos) : void 0;
      }
      function yB(e, t) {
        const n = e.kind === 170 || e.kind === 169 || e.kind === 219 || e.kind === 220 || e.kind === 218 || e.kind === 261 || e.kind === 282 ? Bi(gy(t, e.pos), Sg(t, e.pos)) : Sg(t, e.pos);
        return kn(
          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 aOe = /^\/\/\/\s*<reference\s+path\s*=\s*(?:'[^']*'|"[^"]*").*?\/>/, oOe = /^\/\/\/\s*<reference\s+types\s*=\s*(?:'[^']*'|"[^"]*").*?\/>/, cOe = /^\/\/\/\s*<reference\s+lib\s*=\s*(?:'[^']*'|"[^"]*").*?\/>/, lOe = /^\/\/\/\s*<amd-dependency\s+path\s*=\s*(?:'[^']*'|"[^"]*").*?\/>/, uOe = /^\/\/\/\s*<amd-module\s+(?:\S.*?)??\/>/, _Oe = /^\/\/\/\s*<reference\s+no-default-lib\s*=\s*(?:'[^']*'|"[^"]*")\s*\/>/;
      function sm(e) {
        if (183 <= e.kind && e.kind <= 206)
          return true;
        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 true;
          case 116:
            return e.parent.kind !== 223;
          case 234:
            return bhe(e);
          case 169:
            return e.parent.kind === 201 || e.parent.kind === 196;
          // 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 === 167 && e.parent.right === e || e.parent.kind === 212 && e.parent.name === e) && (e = e.parent), E.assert(e.kind === 80 || e.kind === 167 || e.kind === 212, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");
          // falls through
          case 167:
          case 212:
          case 110: {
            const { parent: t } = e;
            if (t.kind === 187)
              return false;
            if (t.kind === 206)
              return !t.isTypeOf;
            if (183 <= t.kind && t.kind <= 206)
              return true;
            switch (t.kind) {
              case 234:
                return bhe(t);
              case 169:
                return e === t.constraint;
              case 346:
                return e === t.constraint;
              case 173:
              case 172:
              case 170:
              case 261:
                return e === t.type;
              case 263:
              case 219:
              case 220:
              case 177:
              case 175:
              case 174:
              case 178:
              case 179:
                return e === t.type;
              case 180:
              case 181:
              case 182:
                return e === t.type;
              case 217:
                return e === t.type;
              case 214:
              case 215:
              case 216:
                return ds(t.typeArguments, e);
            }
          }
        }
        return false;
      }
      function bhe(e) {
        return OF(e.parent) || Vx(e.parent) || nf(e.parent) && !A5(e);
      }
      function wy(e, t) {
        return n(e);
        function n(i) {
          switch (i.kind) {
            case 254:
              return t(i);
            case 270:
            case 242:
            case 246:
            case 247:
            case 248:
            case 249:
            case 250:
            case 251:
            case 255:
            case 256:
            case 297:
            case 298:
            case 257:
            case 259:
            case 300:
              return Ts(i, n);
          }
        }
      }
      function uK(e, t) {
        return n(e);
        function n(i) {
          switch (i.kind) {
            case 230:
              t(i);
              const s = i.expression;
              s && n(s);
              return;
            case 267:
            case 265:
            case 268:
            case 266:
              return;
            default:
              if (Cs(i)) {
                if (i.name && i.name.kind === 168) {
                  n(i.name.expression);
                  return;
                }
              } else sm(i) || Ts(i, n);
          }
        }
      }
      function vB(e) {
        return e && e.kind === 189 ? e.elementType : e && e.kind === 184 ? yg(e.typeArguments) : void 0;
      }
      function _K(e) {
        switch (e.kind) {
          case 265:
          case 264:
          case 232:
          case 188:
            return e.members;
          case 211:
            return e.properties;
        }
      }
      function A4(e) {
        if (e)
          switch (e.kind) {
            case 209:
            case 307:
            case 170:
            case 304:
            case 173:
            case 172:
            case 305:
            case 261:
              return true;
          }
        return false;
      }
      function I4(e) {
        return e.parent.kind === 262 && e.parent.parent.kind === 244;
      }
      function fK(e) {
        return an(e) ? ua(e.parent) && _n(e.parent.parent) && wc(e.parent.parent) === 2 || Y7(e.parent) : false;
      }
      function Y7(e) {
        return an(e) ? _n(e) && wc(e) === 1 : false;
      }
      function pK(e) {
        return (ei(e) ? OC(e) && Me(e.name) && I4(e) : as(e) ? lS(e) && sl(e) : Vu(e) && lS(e)) || Y7(e);
      }
      function dK(e) {
        switch (e.kind) {
          case 175:
          case 174:
          case 177:
          case 178:
          case 179:
          case 263:
          case 219:
            return true;
        }
        return false;
      }
      function bB(e, t) {
        for (; ; ) {
          if (t && t(e), e.statement.kind !== 257)
            return e.statement;
          e = e.statement;
        }
      }
      function kb(e) {
        return e && e.kind === 242 && Cs(e.parent);
      }
      function Fp(e) {
        return e && e.kind === 175 && e.parent.kind === 211;
      }
      function Z7(e) {
        return (e.kind === 175 || e.kind === 178 || e.kind === 179) && (e.parent.kind === 211 || e.parent.kind === 232);
      }
      function mK(e) {
        return e && e.kind === 1;
      }
      function gK(e) {
        return e && e.kind === 0;
      }
      function MC(e, t, n, i) {
        return lr(e?.properties, (s) => {
          if (!Kc(s)) return;
          const o = N4(s.name);
          return t === o || i && i === o ? n(s) : void 0;
        });
      }
      function F4(e) {
        if (e && e.statements.length) {
          const t = e.statements[0].expression;
          return Bn(t, ua);
        }
      }
      function K7(e, t, n) {
        return E3(e, t, (i) => Kl(i.initializer) ? Nn(i.initializer.elements, (s) => oa(s) && s.text === n) : void 0);
      }
      function E3(e, t, n) {
        return MC(F4(e), t, n);
      }
      function Df(e) {
        return dr(e.parent, Cs);
      }
      function hK(e) {
        return dr(e.parent, to);
      }
      function jl(e) {
        return dr(e.parent, $n);
      }
      function yK(e) {
        return dr(e.parent, (t) => $n(t) || Cs(t) ? "quit" : Sc(t));
      }
      function e5(e) {
        return dr(e.parent, DC);
      }
      function t5(e) {
        const t = dr(e.parent, (n) => $n(n) ? "quit" : ol(n));
        return t && $n(t.parent) ? jl(t.parent) : jl(t ?? e);
      }
      function zu(e, t, n) {
        for (E.assert(
          e.kind !== 308
          /* SourceFile */
        ); ; ) {
          if (e = e.parent, !e)
            return E.fail();
          switch (e.kind) {
            case 168:
              if (n && $n(e.parent.parent))
                return e;
              e = e.parent.parent;
              break;
            case 171:
              e.parent.kind === 170 && Uc(e.parent.parent) ? e = e.parent.parent : Uc(e.parent) && (e = e.parent);
              break;
            case 220:
              if (!t)
                continue;
            // falls through
            case 263:
            case 219:
            case 268:
            case 176:
            case 173:
            case 172:
            case 175:
            case 174:
            case 177:
            case 178:
            case 179:
            case 180:
            case 181:
            case 182:
            case 267:
            case 308:
              return e;
          }
        }
      }
      function vK(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 220:
          case 263:
          case 219:
          case 173:
            return true;
          case 242:
            switch (e.parent.kind) {
              case 177:
              case 175:
              case 178:
              case 179:
                return true;
              default:
                return false;
            }
          default:
            return false;
        }
      }
      function r5(e) {
        Me(e) && (Zc(e.parent) || Tc(e.parent)) && e.parent.name === e && (e = e.parent);
        const t = zu(
          e,
          /*includeArrowFunctions*/
          true,
          /*includeClassComputedPropertyName*/
          false
        );
        return Di(t);
      }
      function bK(e) {
        const t = zu(
          e,
          /*includeArrowFunctions*/
          false,
          /*includeClassComputedPropertyName*/
          false
        );
        if (t)
          switch (t.kind) {
            case 177:
            case 263:
            case 219:
              return t;
          }
      }
      function D3(e, t) {
        for (; ; ) {
          if (e = e.parent, !e)
            return;
          switch (e.kind) {
            case 168:
              e = e.parent;
              break;
            case 263:
            case 219:
            case 220:
              if (!t)
                continue;
            // falls through
            case 173:
            case 172:
            case 175:
            case 174:
            case 177:
            case 178:
            case 179:
            case 176:
              return e;
            case 171:
              e.parent.kind === 170 && Uc(e.parent.parent) ? e = e.parent.parent : Uc(e.parent) && (e = e.parent);
              break;
          }
        }
      }
      function J1(e) {
        if (e.kind === 219 || e.kind === 220) {
          let t = e, n = e.parent;
          for (; n.kind === 218; )
            t = n, n = n.parent;
          if (n.kind === 214 && n.expression === t)
            return n;
        }
      }
      function O_(e) {
        const t = e.kind;
        return (t === 212 || t === 213) && e.expression.kind === 108;
      }
      function w3(e) {
        const t = e.kind;
        return (t === 212 || t === 213) && e.expression.kind === 110;
      }
      function n5(e) {
        var t;
        return !!e && ei(e) && ((t = e.initializer) == null ? void 0 : t.kind) === 110;
      }
      function SK(e) {
        return !!e && (fu(e) || Kc(e)) && _n(e.parent.parent) && e.parent.parent.operatorToken.kind === 64 && e.parent.parent.right.kind === 110;
      }
      function P3(e) {
        switch (e.kind) {
          case 184:
            return e.typeName;
          case 234:
            return Za(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 167:
            return e;
        }
      }
      function i5(e) {
        switch (e.kind) {
          case 216:
            return e.tag;
          case 287:
          case 286:
            return e.tagName;
          case 227:
            return e.right;
          case 290:
            return e;
          default:
            return e.expression;
        }
      }
      function N3(e, t, n, i) {
        if (e && kl(t) && Ai(t.name))
          return false;
        switch (t.kind) {
          case 264:
            return true;
          case 232:
            return !e;
          case 173:
            return n !== void 0 && (e ? Zc(n) : $n(n) && !Ob(t) && !tJ(t));
          case 178:
          case 179:
          case 175:
            return t.body !== void 0 && n !== void 0 && (e ? Zc(n) : $n(n));
          case 170:
            return e ? n !== void 0 && n.body !== void 0 && (n.kind === 177 || n.kind === 175 || n.kind === 179) && Ab(n) !== t && i !== void 0 && i.kind === 264 : false;
        }
        return false;
      }
      function RC(e, t, n, i) {
        return Pf(t) && N3(e, t, n, i);
      }
      function A3(e, t, n, i) {
        return RC(e, t, n, i) || O4(e, t, n);
      }
      function O4(e, t, n) {
        switch (t.kind) {
          case 264:
            return ot(t.members, (i) => A3(e, i, t, n));
          case 232:
            return !e && ot(t.members, (i) => A3(e, i, t, n));
          case 175:
          case 179:
          case 177:
            return ot(t.parameters, (i) => RC(e, i, t, n));
          default:
            return false;
        }
      }
      function _0(e, t) {
        if (RC(e, t)) return true;
        const n = Ag(t);
        return !!n && O4(e, n, t);
      }
      function SB(e, t, n) {
        let i;
        if (Ty(t)) {
          const { firstAccessor: s, secondAccessor: o, setAccessor: c } = Fb(n.members, t), _ = Pf(s) ? s : o && Pf(o) ? o : void 0;
          if (!_ || t !== _)
            return false;
          i = c?.parameters;
        } else Ko(t) && (i = t.parameters);
        if (RC(e, t, n))
          return true;
        if (i) {
          for (const s of i)
            if (!Ay(s) && RC(e, s, t, n))
              return true;
        }
        return false;
      }
      function TB(e) {
        if (e.textSourceNode) {
          switch (e.textSourceNode.kind) {
            case 11:
              return TB(e.textSourceNode);
            case 15:
              return e.text === "";
          }
          return false;
        }
        return e.text === "";
      }
      function jC(e) {
        const { parent: t } = e;
        return t.kind === 287 || t.kind === 286 || t.kind === 288 ? t.tagName === e : false;
      }
      function qm(e) {
        switch (e.kind) {
          case 108:
          case 106:
          case 112:
          case 97:
          case 14:
          case 210:
          case 211:
          case 212:
          case 213:
          case 214:
          case 215:
          case 216:
          case 235:
          case 217:
          case 239:
          case 236:
          case 218:
          case 219:
          case 232:
          case 220:
          case 223:
          case 221:
          case 222:
          case 225:
          case 226:
          case 227:
          case 228:
          case 231:
          case 229:
          case 233:
          case 285:
          case 286:
          case 289:
          case 230:
          case 224:
            return true;
          case 237:
            return !y_(e.parent) || e.parent.expression !== e;
          case 234:
            return !nf(e.parent) && !Vx(e.parent);
          case 167:
            for (; e.parent.kind === 167; )
              e = e.parent;
            return e.parent.kind === 187 || tx(e.parent) || FD(e.parent) || sv(e.parent) || jC(e);
          case 312:
            for (; sv(e.parent); )
              e = e.parent;
            return e.parent.kind === 187 || tx(e.parent) || FD(e.parent) || sv(e.parent) || jC(e);
          case 81:
            return _n(e.parent) && e.parent.left === e && e.parent.operatorToken.kind === 103;
          case 80:
            if (e.parent.kind === 187 || tx(e.parent) || FD(e.parent) || sv(e.parent) || jC(e))
              return true;
          // falls through
          case 9:
          case 10:
          case 11:
          case 15:
          case 110:
            return s5(e);
          default:
            return false;
        }
      }
      function s5(e) {
        const { parent: t } = e;
        switch (t.kind) {
          case 261:
          case 170:
          case 173:
          case 172:
          case 307:
          case 304:
          case 209:
            return t.initializer === e;
          case 245:
          case 246:
          case 247:
          case 248:
          case 254:
          case 255:
          case 256:
          case 297:
          case 258:
            return t.expression === e;
          case 249:
            const n = t;
            return n.initializer === e && n.initializer.kind !== 262 || n.condition === e || n.incrementor === e;
          case 250:
          case 251:
            const i = t;
            return i.initializer === e && i.initializer.kind !== 262 || i.expression === e;
          case 217:
          case 235:
            return e === t.expression;
          case 240:
            return e === t.expression;
          case 168:
            return e === t.expression;
          case 171:
          case 295:
          case 294:
          case 306:
            return true;
          case 234:
            return t.expression === e && !sm(t);
          case 305:
            return t.objectAssignmentInitializer === e;
          case 239:
            return e === t.expression;
          default:
            return qm(t);
        }
      }
      function a5(e) {
        for (; e.kind === 167 || e.kind === 80; )
          e = e.parent;
        return e.kind === 187;
      }
      function TK(e) {
        return Xm(e) && !!e.parent.moduleSpecifier;
      }
      function z1(e) {
        return e.kind === 272 && e.moduleReference.kind === 284;
      }
      function L4(e) {
        return E.assert(z1(e)), e.moduleReference.expression;
      }
      function xB(e) {
        return Cb(e) && YC(e.initializer).arguments[0];
      }
      function tS(e) {
        return e.kind === 272 && e.moduleReference.kind !== 284;
      }
      function Pg(e) {
        return e?.kind === 308;
      }
      function Ku(e) {
        return an(e);
      }
      function an(e) {
        return !!e && !!(e.flags & 524288);
      }
      function o5(e) {
        return !!e && !!(e.flags & 134217728);
      }
      function c5(e) {
        return !rp(e);
      }
      function M4(e) {
        return !!e && !!(e.flags & 16777216);
      }
      function l5(e) {
        return rf(e) && Me(e.typeName) && e.typeName.escapedText === "Object" && e.typeArguments && e.typeArguments.length === 2 && (e.typeArguments[0].kind === 154 || e.typeArguments[0].kind === 150);
      }
      function v_(e, t) {
        if (e.kind !== 214)
          return false;
        const { expression: n, arguments: i } = e;
        if (n.kind !== 80 || n.escapedText !== "require" || i.length !== 1)
          return false;
        const s = i[0];
        return !t || Ma(s);
      }
      function I3(e) {
        return She(
          e,
          /*allowAccessedRequire*/
          false
        );
      }
      function Cb(e) {
        return She(
          e,
          /*allowAccessedRequire*/
          true
        );
      }
      function xK(e) {
        return ha(e) && Cb(e.parent.parent);
      }
      function She(e, t) {
        return ei(e) && !!e.initializer && v_(
          t ? YC(e.initializer) : e.initializer,
          /*requireStringLiteralLikeArgument*/
          true
        );
      }
      function F3(e) {
        return Pc(e) && e.declarationList.declarations.length > 0 && Ni(e.declarationList.declarations, (t) => I3(t));
      }
      function O3(e) {
        return e === 39 || e === 34;
      }
      function u5(e, t) {
        return Sb(t, e).charCodeAt(0) === 34;
      }
      function R4(e) {
        return _n(e) || vo(e) || Me(e) || ws(e);
      }
      function L3(e) {
        return an(e) && e.initializer && _n(e.initializer) && (e.initializer.operatorToken.kind === 57 || e.initializer.operatorToken.kind === 61) && e.name && Za(e.name) && BC(e.name, e.initializer.left) ? e.initializer.right : e.initializer;
      }
      function j4(e) {
        const t = L3(e);
        return t && W1(t, Fy(e.name));
      }
      function fOe(e, t) {
        return lr(e.properties, (n) => Kc(n) && Me(n.name) && n.name.escapedText === "value" && n.initializer && W1(n.initializer, t));
      }
      function cx(e) {
        if (e && e.parent && _n(e.parent) && e.parent.operatorToken.kind === 64) {
          const t = Fy(e.parent.left);
          return W1(e.parent.right, t) || pOe(e.parent.left, e.parent.right, t);
        }
        if (e && ws(e) && nS(e)) {
          const t = fOe(e.arguments[2], e.arguments[1].text === "prototype");
          if (t)
            return t;
        }
      }
      function W1(e, t) {
        if (ws(e)) {
          const n = Ra(e.expression);
          return n.kind === 219 || n.kind === 220 ? e : void 0;
        }
        if (e.kind === 219 || e.kind === 232 || e.kind === 220 || ua(e) && (e.properties.length === 0 || t))
          return e;
      }
      function pOe(e, t, n) {
        const i = _n(t) && (t.operatorToken.kind === 57 || t.operatorToken.kind === 61) && W1(t.right, n);
        if (i && BC(e, t.left))
          return i;
      }
      function kK(e) {
        const t = ei(e.parent) ? e.parent.name : _n(e.parent) && e.parent.operatorToken.kind === 64 ? e.parent.left : void 0;
        return t && W1(e.right, Fy(t)) && Za(t) && BC(t, e.left);
      }
      function kB(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 && Me(t.left))
            return t.left;
        } else if (ei(e.parent))
          return e.parent.name;
      }
      function BC(e, t) {
        return am(e) && am(t) ? np(e) === np(t) : xg(e) && CK(t) && (t.expression.kind === 110 || Me(t.expression) && (t.expression.escapedText === "window" || t.expression.escapedText === "self" || t.expression.escapedText === "global")) ? BC(e, R3(t)) : CK(e) && CK(t) ? gh(e) === gh(t) && BC(e.expression, t.expression) : false;
      }
      function M3(e) {
        for (; El(
          e,
          /*excludeCompoundAssignment*/
          true
        ); )
          e = e.right;
        return e;
      }
      function rS(e) {
        return Me(e) && e.escapedText === "exports";
      }
      function CB(e) {
        return Me(e) && e.escapedText === "module";
      }
      function Ng(e) {
        return (wn(e) || EB(e)) && CB(e.expression) && gh(e) === "exports";
      }
      function wc(e) {
        const t = dOe(e);
        return t === 5 || an(e) ? t : 0;
      }
      function nS(e) {
        return wr(e.arguments) === 3 && wn(e.expression) && Me(e.expression.expression) && An(e.expression.expression) === "Object" && An(e.expression.name) === "defineProperty" && wf(e.arguments[1]) && iS(
          e.arguments[0],
          /*excludeThisKeyword*/
          true
        );
      }
      function CK(e) {
        return wn(e) || EB(e);
      }
      function EB(e) {
        return oo(e) && wf(e.argumentExpression);
      }
      function Eb(e, t) {
        return wn(e) && (!t && e.expression.kind === 110 || Me(e.name) && iS(
          e.expression,
          /*excludeThisKeyword*/
          true
        )) || _5(e, t);
      }
      function _5(e, t) {
        return EB(e) && (!t && e.expression.kind === 110 || Za(e.expression) || Eb(
          e.expression,
          /*excludeThisKeyword*/
          true
        ));
      }
      function iS(e, t) {
        return Za(e) || Eb(e, t);
      }
      function R3(e) {
        return wn(e) ? e.name : e.argumentExpression;
      }
      function dOe(e) {
        if (ws(e)) {
          if (!nS(e))
            return 0;
          const t = e.arguments[0];
          return rS(t) || Ng(t) ? 8 : Eb(t) && gh(t) === "prototype" ? 9 : 7;
        }
        return e.operatorToken.kind !== 64 || !vo(e.left) || mOe(M3(e)) ? 0 : iS(
          e.left.expression,
          /*excludeThisKeyword*/
          true
        ) && gh(e.left) === "prototype" && ua(DB(e)) ? 6 : j3(e.left);
      }
      function mOe(e) {
        return Jx(e) && T_(e.expression) && e.expression.text === "0";
      }
      function f5(e) {
        if (wn(e))
          return e.name;
        const t = Ra(e.argumentExpression);
        return T_(t) || Ma(t) ? t : e;
      }
      function gh(e) {
        const t = f5(e);
        if (t) {
          if (Me(t))
            return t.escapedText;
          if (Ma(t) || T_(t))
            return Zo(t.text);
        }
      }
      function j3(e) {
        if (e.expression.kind === 110)
          return 4;
        if (Ng(e))
          return 2;
        if (iS(
          e.expression,
          /*excludeThisKeyword*/
          true
        )) {
          if (Fy(e.expression))
            return 3;
          let t = e;
          for (; !Me(t.expression); )
            t = t.expression;
          const n = t.expression;
          if ((n.escapedText === "exports" || n.escapedText === "module" && gh(t) === "exports") && // ExportsProperty does not support binding with computed names
          Eb(e))
            return 1;
          if (iS(
            e,
            /*excludeThisKeyword*/
            true
          ) || oo(e) && y5(e))
            return 5;
        }
        return 0;
      }
      function DB(e) {
        for (; _n(e.right); )
          e = e.right;
        return e.right;
      }
      function B3(e) {
        return _n(e) && wc(e) === 3;
      }
      function EK(e) {
        return an(e) && e.parent && e.parent.kind === 245 && (!oo(e) || EB(e)) && !!M1(e.parent);
      }
      function B4(e, t) {
        const { valueDeclaration: n } = e;
        (!n || !(t.flags & 33554432 && !an(t) && !(n.flags & 33554432)) && R4(n) && !R4(t) || n.kind !== t.kind && tOe(n)) && (e.valueDeclaration = t);
      }
      function DK(e) {
        if (!e || !e.valueDeclaration)
          return false;
        const t = e.valueDeclaration;
        return t.kind === 263 || ei(t) && t.initializer && Cs(t.initializer);
      }
      function wK(e) {
        switch (e?.kind) {
          case 261:
          case 209:
          case 273:
          case 279:
          case 272:
          case 274:
          case 281:
          case 275:
          case 282:
          case 277:
          case 206:
            return true;
        }
        return false;
      }
      function lx(e) {
        var t, n;
        switch (e.kind) {
          case 261:
          case 209:
            return (t = dr(e.initializer, (i) => v_(
              i,
              /*requireStringLiteralLikeArgument*/
              true
            ))) == null ? void 0 : t.arguments[0];
          case 273:
          case 279:
          case 352:
            return Bn(e.moduleSpecifier, Ma);
          case 272:
            return Bn((n = Bn(e.moduleReference, xh)) == null ? void 0 : n.expression, Ma);
          case 274:
          case 281:
            return Bn(e.parent.moduleSpecifier, Ma);
          case 275:
          case 282:
            return Bn(e.parent.parent.moduleSpecifier, Ma);
          case 277:
            return Bn(e.parent.parent.parent.moduleSpecifier, Ma);
          case 206:
            return mh(e) ? e.argument.literal : void 0;
          default:
            E.assertNever(e);
        }
      }
      function J4(e) {
        return J3(e) || E.failBadSyntaxKind(e.parent);
      }
      function J3(e) {
        switch (e.parent.kind) {
          case 273:
          case 279:
          case 352:
            return e.parent;
          case 284:
            return e.parent.parent;
          case 214:
            return y_(e.parent) || v_(
              e.parent,
              /*requireStringLiteralLikeArgument*/
              false
            ) ? e.parent : void 0;
          case 202:
            if (!oa(e))
              break;
            return Bn(e.parent.parent, dm);
          default:
            return;
        }
      }
      function z3(e, t) {
        return !!t.rewriteRelativeImportExtensions && vf(e) && !wl(e) && _S(e);
      }
      function ux(e) {
        switch (e.kind) {
          case 273:
          case 279:
          case 352:
            return e.moduleSpecifier;
          case 272:
            return e.moduleReference.kind === 284 ? e.moduleReference.expression : void 0;
          case 206:
            return mh(e) ? e.argument.literal : void 0;
          case 214:
            return e.arguments[0];
          case 268:
            return e.name.kind === 11 ? e.name : void 0;
          default:
            return E.assertNever(e);
        }
      }
      function JC(e) {
        switch (e.kind) {
          case 273:
            return e.importClause && Bn(e.importClause.namedBindings, jg);
          case 272:
            return e;
          case 279:
            return e.exportClause && Bn(e.exportClause, Xm);
          default:
            return E.assertNever(e);
        }
      }
      function sS(e) {
        return (e.kind === 273 || e.kind === 352) && !!e.importClause && !!e.importClause.name;
      }
      function PK(e, t) {
        if (e.name) {
          const n = t(e);
          if (n) return n;
        }
        if (e.namedBindings) {
          const n = jg(e.namedBindings) ? t(e.namedBindings) : lr(e.namedBindings.elements, t);
          if (n) return n;
        }
      }
      function _x(e) {
        switch (e.kind) {
          case 170:
          case 175:
          case 174:
          case 305:
          case 304:
          case 173:
          case 172:
            return e.questionToken !== void 0;
        }
        return false;
      }
      function fx(e) {
        const t = m6(e) ? $c(e.parameters) : void 0, n = Bn(t && t.name, Me);
        return !!n && n.escapedText === "new";
      }
      function Op(e) {
        return e.kind === 347 || e.kind === 339 || e.kind === 341;
      }
      function W3(e) {
        return Op(e) || jp(e);
      }
      function gOe(e) {
        return Dl(e) && _n(e.expression) && e.expression.operatorToken.kind === 64 ? M3(e.expression) : void 0;
      }
      function The(e) {
        return Dl(e) && _n(e.expression) && wc(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 xhe(e) {
        switch (e.kind) {
          case 244:
            const t = px(e);
            return t && t.initializer;
          case 173:
            return e.initializer;
          case 304:
            return e.initializer;
        }
      }
      function px(e) {
        return Pc(e) ? $c(e.declarationList.declarations) : void 0;
      }
      function khe(e) {
        return Lc(e) && e.body && e.body.kind === 268 ? e.body : void 0;
      }
      function zC(e) {
        if (e.kind >= 244 && e.kind <= 260)
          return true;
        switch (e.kind) {
          case 80:
          case 110:
          case 108:
          case 167:
          case 237:
          case 213:
          case 212:
          case 209:
          case 219:
          case 220:
          case 175:
          case 178:
          case 179:
            return true;
          default:
            return false;
        }
      }
      function U3(e) {
        switch (e.kind) {
          case 220:
          case 227:
          case 242:
          case 253:
          case 180:
          case 297:
          case 264:
          case 232:
          case 176:
          case 177:
          case 186:
          case 181:
          case 252:
          case 260:
          case 247:
          case 213:
          case 243:
          case 1:
          case 267:
          case 307:
          case 278:
          case 279:
          case 282:
          case 245:
          case 250:
          case 251:
          case 249:
          case 263:
          case 219:
          case 185:
          case 178:
          case 80:
          case 246:
          case 273:
          case 272:
          case 182:
          case 265:
          case 318:
          case 324:
          case 257:
          case 175:
          case 174:
          case 268:
          case 203:
          case 271:
          case 211:
          case 170:
          case 218:
          case 212:
          case 304:
          case 173:
          case 172:
          case 254:
          case 241:
          case 179:
          case 305:
          case 306:
          case 256:
          case 258:
          case 259:
          case 266:
          case 169:
          case 261:
          case 244:
          case 248:
          case 255:
            return true;
          default:
            return false;
        }
      }
      function wB(e, t) {
        let n;
        A4(e) && l0(e) && bf(e.initializer) && (n = In(n, Che(e, e.initializer.jsDoc)));
        let i = e;
        for (; i && i.parent; ) {
          if (bf(i) && (n = In(n, Che(e, i.jsDoc))), i.kind === 170) {
            n = In(n, (t ? iZ : xC)(i));
            break;
          }
          if (i.kind === 169) {
            n = In(n, (t ? aZ : sZ)(i));
            break;
          }
          i = PB(i);
        }
        return n || Ge;
      }
      function Che(e, t) {
        const n = fa(t);
        return xa(t, (i) => {
          if (i === n) {
            const s = kn(i.tags, (o) => hOe(e, o));
            return i.tags === s ? [i] : s;
          } else
            return kn(i.tags, g6);
        });
      }
      function hOe(e, t) {
        return !(OD(t) || LF(t)) || !t.parent || !Nd(t.parent) || !n_(t.parent.parent) || t.parent.parent === e;
      }
      function PB(e) {
        const t = e.parent;
        if (t.kind === 304 || t.kind === 278 || t.kind === 173 || t.kind === 245 && e.kind === 212 || t.kind === 254 || khe(t) || El(e))
          return t;
        if (t.parent && (px(t.parent) === e || El(t)))
          return t.parent;
        if (t.parent && t.parent.parent && (px(t.parent.parent) || xhe(t.parent.parent) === e || The(t.parent.parent)))
          return t.parent.parent;
      }
      function V3(e) {
        if (e.symbol)
          return e.symbol;
        if (!Me(e.name))
          return;
        const t = e.name.escapedText, n = U1(e);
        if (!n)
          return;
        const i = Nn(n.parameters, (s) => s.name.kind === 80 && s.name.escapedText === t);
        return i && i.symbol;
      }
      function p5(e) {
        if (Nd(e.parent) && e.parent.tags) {
          const t = Nn(e.parent.tags, Op);
          if (t)
            return t;
        }
        return U1(e);
      }
      function NB(e) {
        return b7(e, g6);
      }
      function U1(e) {
        const t = V1(e);
        if (t)
          return Vu(t) && t.type && Cs(t.type) ? t.type : Cs(t) ? t : void 0;
      }
      function V1(e) {
        const t = Db(e);
        if (t)
          return The(t) || gOe(t) || xhe(t) || px(t) || khe(t) || t;
      }
      function Db(e) {
        const t = WC(e);
        if (!t)
          return;
        const n = t.parent;
        if (n && n.jsDoc && t === ko(n.jsDoc))
          return n;
      }
      function WC(e) {
        return dr(e.parent, Nd);
      }
      function NK(e) {
        const t = e.name.escapedText, { typeParameters: n } = e.parent.parent.parent;
        return n && Nn(n, (i) => i.name.escapedText === t);
      }
      function Ehe(e) {
        return !!e.typeArguments;
      }
      var AK = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Definite = 1] = "Definite", e[e.Compound = 2] = "Compound", e))(AK || {});
      function IK(e) {
        let t = e.parent;
        for (; ; ) {
          switch (t.kind) {
            case 227:
              const n = t, i = n.operatorToken.kind;
              return vh(i) && n.left === e ? n : void 0;
            case 225:
            case 226:
              const s = t, o = s.operator;
              return o === 46 || o === 47 ? s : void 0;
            case 250:
            case 251:
              const c = t;
              return c.initializer === e ? c : void 0;
            case 218:
            case 210:
            case 231:
            case 236:
              e = t;
              break;
            case 306:
              e = t.parent;
              break;
            case 305:
              if (t.name !== e)
                return;
              e = t.parent;
              break;
            case 304:
              if (t.name === e)
                return;
              e = t.parent;
              break;
            default:
              return;
          }
          t = e.parent;
        }
      }
      function Py(e) {
        const t = IK(e);
        if (!t)
          return 0;
        switch (t.kind) {
          case 227:
            const n = t.operatorToken.kind;
            return n === 64 || Z4(n) ? 1 : 2;
          case 225:
          case 226:
            return 2;
          case 250:
          case 251:
            return 1;
        }
      }
      function Ny(e) {
        return !!IK(e);
      }
      function yOe(e) {
        const t = Ra(e.right);
        return t.kind === 227 && Rz(t.operatorToken.kind);
      }
      function AB(e) {
        const t = IK(e);
        return !!t && El(
          t,
          /*excludeCompoundAssignment*/
          true
        ) && yOe(t);
      }
      function FK(e) {
        switch (e.kind) {
          case 242:
          case 244:
          case 255:
          case 246:
          case 256:
          case 270:
          case 297:
          case 298:
          case 257:
          case 249:
          case 250:
          case 251:
          case 247:
          case 248:
          case 259:
          case 300:
            return true;
        }
        return false;
      }
      function aS(e) {
        return mo(e) || bo(e) || KT(e) || Tc(e) || ec(e);
      }
      function Dhe(e, t) {
        for (; e && e.kind === t; )
          e = e.parent;
        return e;
      }
      function q3(e) {
        return Dhe(
          e,
          197
          /* ParenthesizedType */
        );
      }
      function rd(e) {
        return Dhe(
          e,
          218
          /* ParenthesizedExpression */
        );
      }
      function OK(e) {
        let t;
        for (; e && e.kind === 197; )
          t = e, e = e.parent;
        return [t, e];
      }
      function z4(e) {
        for (; hS(e); ) e = e.type;
        return e;
      }
      function Ra(e, t) {
        return dc(e, t ? -2147483647 : 1);
      }
      function IB(e) {
        return e.kind !== 212 && e.kind !== 213 ? false : (e = rd(e.parent), e && e.kind === 221);
      }
      function wb(e, t) {
        for (; e; ) {
          if (e === t) return true;
          e = e.parent;
        }
        return false;
      }
      function Hm(e) {
        return !Di(e) && !Ds(e) && Cl(e.parent) && e.parent.name === e;
      }
      function W4(e) {
        const t = e.parent;
        switch (e.kind) {
          case 11:
          case 15:
          case 9:
            if (Hs(t)) return t.parent;
          // falls through
          case 80:
            if (Cl(t))
              return t.name === e ? t : void 0;
            if (t_(t)) {
              const n = t.parent;
              return Af(n) && n.name === t ? n : void 0;
            } else {
              const n = t.parent;
              return _n(n) && wc(n) !== 0 && (n.left.symbol || n.symbol) && us(n) === e ? n : void 0;
            }
          case 81:
            return Cl(t) && t.name === e ? t : void 0;
          default:
            return;
        }
      }
      function H3(e) {
        return wf(e) && e.parent.kind === 168 && Cl(e.parent.parent);
      }
      function LK(e) {
        const t = e.parent;
        switch (t.kind) {
          case 173:
          case 172:
          case 175:
          case 174:
          case 178:
          case 179:
          case 307:
          case 304:
          case 212:
            return t.name === e;
          case 167:
            return t.right === e;
          case 209:
          case 277:
            return t.propertyName === e;
          case 282:
          case 292:
          case 286:
          case 287:
          case 288:
            return true;
        }
        return false;
      }
      function FB(e) {
        switch (e.parent.kind) {
          case 274:
          case 277:
          case 275:
          case 282:
          case 278:
          case 272:
          case 281:
            return e.parent;
          case 167:
            do
              e = e.parent;
            while (e.parent.kind === 167);
            return FB(e);
        }
      }
      function d5(e) {
        return Za(e) || Oc(e);
      }
      function G3(e) {
        const t = OB(e);
        return d5(t);
      }
      function OB(e) {
        return Fo(e) ? e.expression : e.right;
      }
      function MK(e) {
        return e.kind === 305 ? e.name : e.kind === 304 ? e.initializer : e.parent.right;
      }
      function kd(e) {
        const t = Pb(e);
        if (t && an(e)) {
          const n = cZ(e);
          if (n)
            return n.class;
        }
        return t;
      }
      function Pb(e) {
        const t = $3(
          e.heritageClauses,
          96
          /* ExtendsKeyword */
        );
        return t && t.types.length > 0 ? t.types[0] : void 0;
      }
      function UC(e) {
        if (an(e))
          return lZ(e).map((t) => t.class);
        {
          const t = $3(
            e.heritageClauses,
            119
            /* ImplementsKeyword */
          );
          return t?.types;
        }
      }
      function U4(e) {
        return Jl(e) ? V4(e) || Ge : $n(e) && Bi(qT(kd(e)), UC(e)) || Ge;
      }
      function V4(e) {
        const t = $3(
          e.heritageClauses,
          96
          /* ExtendsKeyword */
        );
        return t ? t.types : void 0;
      }
      function $3(e, t) {
        if (e) {
          for (const n of e)
            if (n.token === t)
              return n;
        }
      }
      function q1(e, t) {
        for (; e; ) {
          if (e.kind === t)
            return e;
          e = e.parent;
        }
      }
      function b_(e) {
        return 83 <= e && e <= 166;
      }
      function LB(e) {
        return 19 <= e && e <= 79;
      }
      function m5(e) {
        return b_(e) || LB(e);
      }
      function g5(e) {
        return 128 <= e && e <= 166;
      }
      function MB(e) {
        return b_(e) && !g5(e);
      }
      function dx(e) {
        const t = U2(e);
        return t !== void 0 && MB(t);
      }
      function RB(e) {
        const t = q2(e);
        return !!t && !g5(t);
      }
      function VC(e) {
        return 2 <= e && e <= 7;
      }
      var RK = /* @__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))(RK || {});
      function Fc(e) {
        if (!e)
          return 4;
        let t = 0;
        switch (e.kind) {
          case 263:
          case 219:
          case 175:
            e.asteriskToken && (t |= 1);
          // falls through
          case 220:
            Gn(
              e,
              1024
              /* Async */
            ) && (t |= 2);
            break;
        }
        return e.body || (t |= 4), t;
      }
      function q4(e) {
        switch (e.kind) {
          case 263:
          case 219:
          case 220:
          case 175:
            return e.body !== void 0 && e.asteriskToken === void 0 && Gn(
              e,
              1024
              /* Async */
            );
        }
        return false;
      }
      function wf(e) {
        return Ma(e) || T_(e);
      }
      function h5(e) {
        return K1(e) && (e.operator === 40 || e.operator === 41) && T_(e.operand);
      }
      function hh(e) {
        const t = us(e);
        return !!t && y5(t);
      }
      function y5(e) {
        if (!(e.kind === 168 || e.kind === 213))
          return false;
        const t = oo(e) ? Ra(e.argumentExpression) : e.expression;
        return !wf(t) && !h5(t);
      }
      function oS(e) {
        switch (e.kind) {
          case 80:
          case 81:
            return e.escapedText;
          case 11:
          case 15:
          case 9:
          case 10:
            return Zo(e.text);
          case 168:
            const t = e.expression;
            return wf(t) ? Zo(t.text) : h5(t) ? t.operator === 41 ? Vs(t.operator) + t.operand.text : t.operand.text : void 0;
          case 296:
            return wx(e);
          default:
            return E.assertNever(e);
        }
      }
      function am(e) {
        switch (e.kind) {
          case 80:
          case 11:
          case 15:
          case 9:
            return true;
          default:
            return false;
        }
      }
      function np(e) {
        return xg(e) ? An(e) : Pd(e) ? vD(e) : e.text;
      }
      function H4(e) {
        return xg(e) ? e.escapedText : Pd(e) ? wx(e) : Zo(e.text);
      }
      function X3(e, t) {
        return `__#${$s(e)}@${t}`;
      }
      function G4(e) {
        return Ui(e.escapedName, "__@");
      }
      function jK(e) {
        return Ui(e.escapedName, "__#");
      }
      function vOe(e) {
        return Me(e) ? An(e) === "__proto__" : oa(e) && e.text === "__proto__";
      }
      function v5(e, t) {
        switch (e = dc(e), e.kind) {
          case 232:
            if (VW(e))
              return false;
            break;
          case 219:
            if (e.name)
              return false;
            break;
          case 220:
            break;
          default:
            return false;
        }
        return typeof t == "function" ? t(e) : true;
      }
      function jB(e) {
        switch (e.kind) {
          case 304:
            return !vOe(e.name);
          case 305:
            return !!e.objectAssignmentInitializer;
          case 261:
            return Me(e.name) && !!e.initializer;
          case 170:
            return Me(e.name) && !!e.initializer && !e.dotDotDotToken;
          case 209:
            return Me(e.name) && !!e.initializer && !e.dotDotDotToken;
          case 173:
            return !!e.initializer;
          case 227:
            switch (e.operatorToken.kind) {
              case 64:
              case 77:
              case 76:
              case 78:
                return Me(e.left);
            }
            break;
          case 278:
            return true;
        }
        return false;
      }
      function Z_(e, t) {
        if (!jB(e)) return false;
        switch (e.kind) {
          case 304:
            return v5(e.initializer, t);
          case 305:
            return v5(e.objectAssignmentInitializer, t);
          case 261:
          case 170:
          case 209:
          case 173:
            return v5(e.initializer, t);
          case 227:
            return v5(e.right, t);
          case 278:
            return v5(e.expression, t);
        }
      }
      function BB(e) {
        return e.escapedText === "push" || e.escapedText === "unshift";
      }
      function H1(e) {
        return om(e).kind === 170;
      }
      function om(e) {
        for (; e.kind === 209; )
          e = e.parent.parent;
        return e;
      }
      function JB(e) {
        const t = e.kind;
        return t === 177 || t === 219 || t === 263 || t === 220 || t === 175 || t === 178 || t === 179 || t === 268 || t === 308;
      }
      function ao(e) {
        return Ed(e.pos) || Ed(e.end);
      }
      var BK = /* @__PURE__ */ ((e) => (e[e.Left = 0] = "Left", e[e.Right = 1] = "Right", e))(BK || {});
      function zB(e) {
        const t = whe(e), n = e.kind === 215 && e.arguments !== void 0;
        return WB(e.kind, t, n);
      }
      function WB(e, t, n) {
        switch (e) {
          case 215:
            return n ? 0 : 1;
          case 225:
          case 222:
          case 223:
          case 221:
          case 224:
          case 228:
          case 230:
            return 1;
          case 227:
            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 $4(e) {
        const t = whe(e), n = e.kind === 215 && e.arguments !== void 0;
        return Q3(e.kind, t, n);
      }
      function whe(e) {
        return e.kind === 227 ? e.operatorToken.kind : e.kind === 225 || e.kind === 226 ? e.operator : e.kind;
      }
      var JK = /* @__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.LogicalOR = 5] = "LogicalOR", e[
        e.Coalesce = 5
        /* LogicalOR */
      ] = "Coalesce", 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))(JK || {});
      function Q3(e, t, n) {
        switch (e) {
          case 357:
            return 0;
          case 231:
            return 1;
          case 230:
            return 2;
          case 228:
            return 4;
          case 227:
            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 Y3(t);
            }
          // TODO: Should prefix `++` and `--` be moved to the `Update` precedence?
          case 217:
          case 236:
          case 225:
          case 222:
          case 223:
          case 221:
          case 224:
            return 16;
          case 226:
            return 17;
          case 214:
            return 18;
          case 215:
            return n ? 19 : 18;
          case 216:
          case 212:
          case 213:
          case 237:
            return 19;
          case 235:
          case 239:
            return 11;
          case 110:
          case 108:
          case 80:
          case 81:
          case 106:
          case 112:
          case 97:
          case 9:
          case 10:
          case 11:
          case 210:
          case 211:
          case 219:
          case 220:
          case 232:
          case 14:
          case 15:
          case 229:
          case 218:
          case 233:
          case 285:
          case 286:
          case 289:
            return 20;
          default:
            return -1;
        }
      }
      function Y3(e) {
        switch (e) {
          case 61:
            return 5;
          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 kn(e, (t) => {
          switch (t.kind) {
            case 295:
              return !!t.expression;
            case 12:
              return !t.containsOnlyTriviaWhiteSpaces;
            default:
              return true;
          }
        });
      }
      function X4() {
        let e = [];
        const t = [], n = /* @__PURE__ */ new Map();
        let i = false;
        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 = cy(g, u, fo, See);
          if (m >= 0)
            return g[m];
          if (~m > 0 && z5(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), ay(t, u.file.fileName, ou))) : (i && (i = false, e = e.slice()), g = e), ay(g, u, See, z5);
        }
        function c() {
          return i = true, e;
        }
        function _(u) {
          if (u)
            return n.get(u) || [];
          const g = QE(t, (m) => n.get(m));
          return e.length && g.unshift(...e), g;
        }
      }
      var bOe = /\$\{/g;
      function UB(e) {
        return e.replace(bOe, "\\${");
      }
      function zK(e) {
        return !!((e.templateFlags || 0) & 2048);
      }
      function VB(e) {
        return e && !!(mS(e) ? zK(e) : zK(e.head) || ot(e.templateSpans, (t) => zK(t.literal)));
      }
      var SOe = /[\\"\u0000-\u001f\u2028\u2029\u0085]/g, TOe = /[\\'\u0000-\u001f\u2028\u2029\u0085]/g, xOe = /\r\n|[\\`\u0000-\u0009\u000b-\u001f\u2028\u2029\u0085]/g, kOe = 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 Phe(e) {
        return "\\u" + ("0000" + e.toString(16).toUpperCase()).slice(-4);
      }
      function COe(e, t, n) {
        if (e.charCodeAt(0) === 0) {
          const i = n.charCodeAt(t + e.length);
          return i >= 48 && i <= 57 ? "\\x00" : "\\0";
        }
        return kOe.get(e) || Phe(e.charCodeAt(0));
      }
      function Gm(e, t) {
        const n = t === 96 ? xOe : t === 39 ? TOe : SOe;
        return e.replace(n, COe);
      }
      var Nhe = /[^\u0000-\u007F]/g;
      function b5(e, t) {
        return e = Gm(e, t), Nhe.test(e) ? e.replace(Nhe, (n) => Phe(n.charCodeAt(0))) : e;
      }
      var EOe = /["\u0000-\u001f\u2028\u2029\u0085]/g, DOe = /['\u0000-\u001f\u2028\u2029\u0085]/g, wOe = new Map(Object.entries({
        '"': "&quot;",
        "'": "&apos;"
      }));
      function POe(e) {
        return "&#x" + e.toString(16).toUpperCase() + ";";
      }
      function NOe(e) {
        return e.charCodeAt(0) === 0 ? "&#0;" : wOe.get(e) || POe(e.charCodeAt(0));
      }
      function qB(e, t) {
        const n = t === 39 ? DOe : EOe;
        return e.replace(n, NOe);
      }
      function Lp(e) {
        const t = e.length;
        return t >= 2 && e.charCodeAt(0) === e.charCodeAt(t - 1) && AOe(e.charCodeAt(0)) ? e.substring(1, t - 1) : e;
      }
      function AOe(e) {
        return e === 39 || e === 34 || e === 96;
      }
      function HC(e) {
        const t = e.charCodeAt(0);
        return t >= 97 && t <= 122 || e.includes("-");
      }
      var Z3 = ["", "    "];
      function S5(e) {
        const t = Z3[1];
        for (let n = Z3.length; n <= e; n++)
          Z3.push(Z3[n - 1] + t);
        return Z3[e];
      }
      function K3() {
        return Z3[1].length;
      }
      function eN(e) {
        var t, n, i, s, o, c = false;
        function _(D) {
          const P = QT(D);
          P.length > 1 ? (s = s + P.length - 1, o = t.length - D.length + fa(P), i = o - t.length === 0) : i = false;
        }
        function u(D) {
          D && D.length && (i && (D = S5(n) + D, i = false), t += D, _(D));
        }
        function g(D) {
          D && (c = false), u(D);
        }
        function m(D) {
          D && (c = true), u(D);
        }
        function h() {
          t = "", n = 0, i = true, s = 0, o = 0, c = false;
        }
        function S(D) {
          D !== void 0 && (t += D, _(D), c = false);
        }
        function T(D) {
          D && D.length && g(D);
        }
        function k(D) {
          (!i || D) && (t += e, s++, o = t.length, i = true, c = false);
        }
        return h(), {
          write: g,
          rawWrite: S,
          writeLiteral: T,
          writeLine: k,
          increaseIndent: () => {
            n++;
          },
          decreaseIndent: () => {
            n--;
          },
          getIndent: () => n,
          getTextPos: () => t.length,
          getLine: () => s,
          getColumn: () => i ? n * K3() : t.length - o,
          getText: () => t,
          isAtStartOfLine: () => i,
          hasTrailingComment: () => c,
          hasTrailingWhitespace: () => !!t.length && bg(t.charCodeAt(t.length - 1)),
          clear: h,
          writeKeyword: g,
          writeOperator: g,
          writeParameter: g,
          writeProperty: g,
          writePunctuation: g,
          writeSpace: g,
          writeStringLiteral: g,
          writeSymbol: (D, P) => g(D),
          writeTrailingSemicolon: g,
          writeComment: m
        };
      }
      function HB(e) {
        let t = false;
        function n() {
          t && (e.writeTrailingSemicolon(";"), t = false);
        }
        return {
          ...e,
          writeTrailingSemicolon() {
            t = true;
          },
          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 cS(e) {
        return e.useCaseSensitiveFileNames ? e.useCaseSensitiveFileNames() : false;
      }
      function yh(e) {
        return $l(cS(e));
      }
      function GB(e, t, n) {
        return t.moduleName || $B(e, t.fileName, n && n.fileName);
      }
      function Ahe(e, t) {
        return e.getCanonicalFileName(Qi(t, e.getCurrentDirectory()));
      }
      function WK(e, t, n) {
        const i = t.getExternalModuleFileFromDeclaration(n);
        if (!i || i.isDeclarationFile)
          return;
        const s = ux(n);
        if (!(s && Ma(s) && !vf(s.text) && !Ahe(e, i.path).includes(Ahe(e, pl(e.getCommonSourceDirectory())))))
          return GB(e, i);
      }
      function $B(e, t, n) {
        const i = (u) => e.getCanonicalFileName(u), s = io(n ? Hn(n) : e.getCommonSourceDirectory(), e.getCurrentDirectory(), i), o = Qi(t, e.getCurrentDirectory()), c = XT(
          s,
          o,
          s,
          i,
          /*isAbsolutePathAnUrl*/
          false
        ), _ = Uu(c);
        return n ? W2(_) : _;
      }
      function UK(e, t, n) {
        const i = t.getCompilerOptions();
        let s;
        return i.outDir ? s = Uu(E5(e, t, i.outDir)) : s = Uu(e), s + n;
      }
      function VK(e, t) {
        return T5(e, t.getCompilerOptions(), t);
      }
      function T5(e, t, n) {
        const i = t.declarationDir || t.outDir, s = i ? qK(e, i, n.getCurrentDirectory(), n.getCommonSourceDirectory(), (c) => n.getCanonicalFileName(c)) : e, o = x5(s);
        return Uu(s) + o;
      }
      function x5(e) {
        return bc(e, [
          ".mjs",
          ".mts"
          /* Mts */
        ]) ? ".d.mts" : bc(e, [
          ".cjs",
          ".cts"
          /* Cts */
        ]) ? ".d.cts" : bc(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 XB(e) {
        return bc(e, [
          ".d.mts",
          ".mjs",
          ".mts"
          /* Mts */
        ]) ? [
          ".mts",
          ".mjs"
          /* Mjs */
        ] : bc(e, [
          ".d.cts",
          ".cjs",
          ".cts"
          /* Cts */
        ]) ? [
          ".cts",
          ".cjs"
          /* Cjs */
        ] : bc(e, [".d.json.ts"]) ? [
          ".json"
          /* Json */
        ] : [
          ".tsx",
          ".ts",
          ".jsx",
          ".js"
          /* Js */
        ];
      }
      function QB(e, t, n, i) {
        return n ? my(
          i(),
          Ef(n, e, t)
        ) : e;
      }
      function k5(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 C5(e, t, n) {
        const i = e.getCompilerOptions();
        if (i.outFile) {
          const s = Wu(i), o = i.emitDeclarationOnly || s === 2 || s === 4;
          return kn(
            e.getSourceFiles(),
            (c) => (o || !ll(c)) && Nb(c, e, n)
          );
        } else {
          const s = t === void 0 ? e.getSourceFiles() : [t];
          return kn(
            s,
            (o) => Nb(o, e, n)
          );
        }
      }
      function Nb(e, t, n) {
        const i = t.getCompilerOptions();
        if (i.noEmitForJsFiles && Ku(e) || e.isDeclarationFile || t.isSourceFileFromExternalLibrary(e)) return false;
        if (n) return true;
        if (t.isSourceOfProjectReferenceRedirect(e.fileName)) return false;
        if (!rp(e)) return true;
        if (t.getRedirectFromSourceFile(e.fileName)) return false;
        if (i.outFile) return true;
        if (!i.outDir) return false;
        if (i.rootDir || i.composite && i.configFilePath) {
          const s = Qi(nw(i, () => [], t.getCurrentDirectory(), t.getCanonicalFileName), t.getCurrentDirectory()), o = qK(e.fileName, i.outDir, t.getCurrentDirectory(), s, t.getCanonicalFileName);
          if (_h(e.fileName, o, t.getCurrentDirectory(), !t.useCaseSensitiveFileNames()) === 0) return false;
        }
        return true;
      }
      function E5(e, t, n) {
        return qK(e, n, t.getCurrentDirectory(), t.getCommonSourceDirectory(), (i) => t.getCanonicalFileName(i));
      }
      function qK(e, t, n, i, s) {
        let o = Qi(e, n);
        return o = s(o).indexOf(s(i)) === 0 ? o.substring(i.length) : o, On(t, o);
      }
      function D5(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 Ihe(e, t, n) {
        if (e.length > bd(e) && !n(e)) {
          const i = Hn(e);
          Ihe(i, t, n), t(e);
        }
      }
      function YB(e, t, n, i, s, o) {
        try {
          i(e, t, n);
        } catch {
          Ihe(Hn(qs(e)), s, o), i(e, t, n);
        }
      }
      function Q4(e, t) {
        const n = vg(e);
        return _4(n, t);
      }
      function GC(e, t) {
        return _4(e, t);
      }
      function Ag(e) {
        return Nn(e.members, (t) => ec(t) && Ip(t.body));
      }
      function Y4(e) {
        if (e && e.parameters.length > 0) {
          const t = e.parameters.length === 2 && Ay(e.parameters[0]);
          return e.parameters[t ? 1 : 0];
        }
      }
      function HK(e) {
        const t = Y4(e);
        return t && t.type;
      }
      function Ab(e) {
        if (e.parameters.length && !x0(e)) {
          const t = e.parameters[0];
          if (Ay(t))
            return t;
        }
      }
      function Ay(e) {
        return Iy(e.name);
      }
      function Iy(e) {
        return !!e && e.kind === 80 && ZB(e);
      }
      function mx(e) {
        return !!dr(
          e,
          (t) => t.kind === 187 ? true : t.kind === 80 || t.kind === 167 ? false : "quit"
        );
      }
      function Ib(e) {
        if (!Iy(e))
          return false;
        for (; t_(e.parent) && e.parent.left === e; )
          e = e.parent;
        return e.parent.kind === 187;
      }
      function ZB(e) {
        return e.escapedText === "this";
      }
      function Fb(e, t) {
        let n, i, s, o;
        return hh(t) ? (n = t, t.kind === 178 ? s = t : t.kind === 179 ? o = t : E.fail("Accessor has wrong kind")) : lr(e, (c) => {
          if (Ty(c) && Bs(c) === Bs(t)) {
            const _ = oS(c.name), u = oS(t.name);
            _ === u && (n ? i || (i = c) : n = c, c.kind === 178 && !s && (s = c), c.kind === 179 && !o && (o = c));
          }
        }), {
          firstAccessor: n,
          secondAccessor: i,
          getAccessor: s,
          setAccessor: o
        };
      }
      function Qc(e) {
        if (!an(e) && Tc(e) || jp(e)) return;
        const t = e.type;
        return t || !an(e) ? t : S4(e) ? e.typeExpression && e.typeExpression.type : o0(e);
      }
      function GK(e) {
        return e.type;
      }
      function K_(e) {
        return x0(e) ? e.type && e.type.typeExpression && e.type.typeExpression.type : e.type || (an(e) ? t3(e) : void 0);
      }
      function w5(e) {
        return xa(R1(e), (t) => IOe(t) ? t.typeParameters : void 0);
      }
      function IOe(e) {
        return Bp(e) && !(e.parent.kind === 321 && (e.parent.tags.some(Op) || e.parent.tags.some(g6)));
      }
      function KB(e) {
        const t = Y4(e);
        return t && Qc(t);
      }
      function FOe(e, t, n, i) {
        OOe(e, t, n.pos, i);
      }
      function OOe(e, t, n, i) {
        i && i.length && n !== i[0].pos && GC(e, n) !== GC(e, i[0].pos) && t.writeLine();
      }
      function $K(e, t, n, i) {
        n !== i && GC(e, n) !== GC(e, i) && t.writeLine();
      }
      function LOe(e, t, n, i, s, o, c, _) {
        if (i && i.length > 0) {
          let u = false;
          for (const g of i)
            u && (n.writeSpace(" "), u = false), _(e, t, n, g.pos, g.end, c), g.hasTrailingNewLine ? n.writeLine() : u = true;
          u && o && n.writeSpace(" ");
        }
      }
      function XK(e, t, n, i, s, o, c) {
        let _, u;
        if (c ? s.pos === 0 && (_ = kn(Sg(e, s.pos), g)) : _ = Sg(e, s.pos), _) {
          const m = [];
          let h;
          for (const S of _) {
            if (h) {
              const T = GC(t, h.end);
              if (GC(t, S.pos) >= T + 2)
                break;
            }
            m.push(S), h = S;
          }
          if (m.length) {
            const S = GC(t, fa(m).end);
            GC(t, aa(e, s.pos)) >= S + 2 && (FOe(t, n, s, _), LOe(
              e,
              t,
              n,
              m,
              /*leadingSeparator*/
              false,
              /*trailingSeparator*/
              true,
              o,
              i
            ), u = { nodePos: s.pos, detachedCommentEndPos: fa(m).end });
          }
        }
        return u;
        function g(m) {
          return W7(e, m.pos);
        }
      }
      function $C(e, t, n, i, s, o) {
        if (e.charCodeAt(i + 1) === 42) {
          const c = bC(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 = Fhe(e, t[c.line], i));
              const T = n.getIndent() * K3() - u + Fhe(e, g, h);
              if (T > 0) {
                let k = T % K3();
                const D = S5((T - k) / K3());
                for (n.rawWrite(D); k; )
                  n.rawWrite(" "), k--;
              } else
                n.rawWrite("");
            }
            MOe(e, s, n, o, g, h), g = h;
          }
        } else
          n.writeComment(e.substring(i, s));
      }
      function MOe(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 Fhe(e, t, n) {
        let i = 0;
        for (; t < n && em(e.charCodeAt(t)); t++)
          e.charCodeAt(t) === 9 ? i += K3() - i % K3() : i++;
        return i;
      }
      function eJ(e) {
        return lu(e) !== 0;
      }
      function QK(e) {
        return f0(e) !== 0;
      }
      function ef(e, t) {
        return !!gx(e, t);
      }
      function Gn(e, t) {
        return !!YK(e, t);
      }
      function Bs(e) {
        return Uc(e) && sl(e) || Sc(e);
      }
      function sl(e) {
        return Gn(
          e,
          256
          /* Static */
        );
      }
      function P5(e) {
        return ef(
          e,
          16
          /* Override */
        );
      }
      function Ob(e) {
        return Gn(
          e,
          64
          /* Abstract */
        );
      }
      function tJ(e) {
        return Gn(
          e,
          128
          /* Ambient */
        );
      }
      function cm(e) {
        return Gn(
          e,
          512
          /* Accessor */
        );
      }
      function lS(e) {
        return ef(
          e,
          8
          /* Readonly */
        );
      }
      function Pf(e) {
        return Gn(
          e,
          32768
          /* Decorator */
        );
      }
      function gx(e, t) {
        return lu(e) & t;
      }
      function YK(e, t) {
        return f0(e) & t;
      }
      function ZK(e, t, n) {
        return e.kind >= 0 && e.kind <= 166 ? 0 : (e.modifierFlagsCache & 536870912 || (e.modifierFlagsCache = rJ(e) | 536870912), n || t && an(e) ? (!(e.modifierFlagsCache & 268435456) && e.parent && (e.modifierFlagsCache |= Ohe(e) | 268435456), Lhe(e.modifierFlagsCache)) : ROe(e.modifierFlagsCache));
      }
      function lu(e) {
        return ZK(
          e,
          /*includeJSDoc*/
          true
        );
      }
      function KK(e) {
        return ZK(
          e,
          /*includeJSDoc*/
          true,
          /*alwaysIncludeJSDoc*/
          true
        );
      }
      function f0(e) {
        return ZK(
          e,
          /*includeJSDoc*/
          false
        );
      }
      function Ohe(e) {
        let t = 0;
        return e.parent && !Ii(e) && (an(e) && (uZ(e) && (t |= 8388608), _Z(e) && (t |= 16777216), fZ(e) && (t |= 33554432), pZ(e) && (t |= 67108864), dZ(e) && (t |= 134217728)), mZ(e) && (t |= 65536)), t;
      }
      function ROe(e) {
        return e & 65535;
      }
      function Lhe(e) {
        return e & 131071 | (e & 260046848) >>> 23;
      }
      function jOe(e) {
        return Lhe(Ohe(e));
      }
      function eee(e) {
        return rJ(e) | jOe(e);
      }
      function rJ(e) {
        let t = Jp(e) ? lm(e.modifiers) : 0;
        return (e.flags & 8 || e.kind === 80 && e.flags & 4096) && (t |= 32), t;
      }
      function lm(e) {
        let t = 0;
        if (e)
          for (const n of e)
            t |= hx(n.kind);
        return t;
      }
      function hx(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 171:
            return 32768;
        }
        return 0;
      }
      function tN(e) {
        return e === 57 || e === 56;
      }
      function tee(e) {
        return tN(e) || e === 54;
      }
      function Z4(e) {
        return e === 76 || e === 77 || e === 78;
      }
      function nJ(e) {
        return _n(e) && Z4(e.operatorToken.kind);
      }
      function N5(e) {
        return tN(e) || e === 61;
      }
      function rN(e) {
        return _n(e) && N5(e.operatorToken.kind);
      }
      function vh(e) {
        return e >= 64 && e <= 79;
      }
      function iJ(e) {
        const t = sJ(e);
        return t && !t.isImplements ? t.class : void 0;
      }
      function sJ(e) {
        if (Th(e)) {
          if (nf(e.parent) && $n(e.parent.parent))
            return {
              class: e.parent.parent,
              isImplements: e.parent.token === 119
              /* ImplementsKeyword */
            };
          if (Vx(e.parent)) {
            const t = V1(e.parent);
            if (t && $n(t))
              return { class: t, isImplements: false };
          }
        }
      }
      function El(e, t) {
        return _n(e) && (t ? e.operatorToken.kind === 64 : vh(e.operatorToken.kind)) && h_(e.left);
      }
      function p0(e) {
        if (El(
          e,
          /*excludeCompoundAssignment*/
          true
        )) {
          const t = e.left.kind;
          return t === 211 || t === 210;
        }
        return false;
      }
      function A5(e) {
        return iJ(e) !== void 0;
      }
      function Za(e) {
        return e.kind === 80 || iN(e);
      }
      function e_(e) {
        switch (e.kind) {
          case 80:
            return e;
          case 167:
            do
              e = e.left;
            while (e.kind !== 80);
            return e;
          case 212:
            do
              e = e.expression;
            while (e.kind !== 80);
            return e;
        }
      }
      function nN(e) {
        return e.kind === 80 || e.kind === 110 || e.kind === 108 || e.kind === 237 || e.kind === 212 && nN(e.expression) || e.kind === 218 && nN(e.expression);
      }
      function iN(e) {
        return wn(e) && Me(e.name) && Za(e.expression);
      }
      function sN(e) {
        if (wn(e)) {
          const t = sN(e.expression);
          if (t !== void 0)
            return t + "." + Q_(e.name);
        } else if (oo(e)) {
          const t = sN(e.expression);
          if (t !== void 0 && Wc(e.argumentExpression))
            return t + "." + oS(e.argumentExpression);
        } else {
          if (Me(e))
            return Si(e.escapedText);
          if (Pd(e))
            return vD(e);
        }
      }
      function Fy(e) {
        return Eb(e) && gh(e) === "prototype";
      }
      function K4(e) {
        return e.parent.kind === 167 && e.parent.right === e || e.parent.kind === 212 && e.parent.name === e || e.parent.kind === 237 && e.parent.name === e;
      }
      function aJ(e) {
        return !!e.parent && (wn(e.parent) && e.parent.name === e || oo(e.parent) && e.parent.argumentExpression === e);
      }
      function ree(e) {
        return t_(e.parent) && e.parent.right === e || wn(e.parent) && e.parent.name === e || sv(e.parent) && e.parent.right === e;
      }
      function I5(e) {
        return _n(e) && e.operatorToken.kind === 104;
      }
      function nee(e) {
        return I5(e.parent) && e === e.parent.right;
      }
      function oJ(e) {
        return e.kind === 211 && e.properties.length === 0;
      }
      function iee(e) {
        return e.kind === 210 && e.elements.length === 0;
      }
      function eD(e) {
        if (!(!BOe(e) || !e.declarations)) {
          for (const t of e.declarations)
            if (t.localSymbol) return t.localSymbol;
        }
      }
      function BOe(e) {
        return e && wr(e.declarations) > 0 && Gn(
          e.declarations[0],
          2048
          /* Default */
        );
      }
      function F5(e) {
        return Nn(p9e, (t) => Ho(e, t));
      }
      function JOe(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(false, "Unexpected code point");
        }
        return t;
      }
      var yx = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
      function see(e) {
        let t = "";
        const n = JOe(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 += yx.charAt(o) + yx.charAt(c) + yx.charAt(_) + yx.charAt(u), i += 3;
        return t;
      }
      function zOe(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 aee(e, t) {
        return e && e.base64encode ? e.base64encode(t) : see(t);
      }
      function oee(e, t) {
        if (e && e.base64decode)
          return e.base64decode(t);
        const n = t.length, i = [];
        let s = 0;
        for (; s < n && t.charCodeAt(s) !== yx.charCodeAt(64); ) {
          const o = yx.indexOf(t[s]), c = yx.indexOf(t[s + 1]), _ = yx.indexOf(t[s + 2]), u = yx.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 zOe(i);
      }
      function cJ(e, t) {
        const n = ms(t) ? t : t.readFile(e);
        if (!n) return;
        let i = aN(n);
        if (i === void 0) {
          const s = Zz(e, n);
          s.error || (i = s.config);
        }
        return i;
      }
      function XC(e, t) {
        return cJ(e, t) || {};
      }
      function aN(e) {
        try {
          return JSON.parse(e);
        } catch {
          return;
        }
      }
      function Cd(e, t) {
        return !t.directoryExists || t.directoryExists(e);
      }
      var WOe = `\r
`, UOe = `
`;
      function d0(e) {
        switch (e.newLine) {
          case 0:
            return WOe;
          case 1:
          case void 0:
            return UOe;
        }
      }
      function ip(e, t = e) {
        return E.assert(t >= e || t === -1), { pos: e, end: t };
      }
      function O5(e, t) {
        return ip(e.pos, t);
      }
      function G1(e, t) {
        return ip(t, e.end);
      }
      function bh(e) {
        const t = Jp(e) ? ub(e.modifiers, ol) : void 0;
        return t && !Ed(t.end) ? G1(e, t.end) : e;
      }
      function um(e) {
        if (as(e) || Ko(e))
          return G1(e, e.name.pos);
        const t = Jp(e) ? ko(e.modifiers) : void 0;
        return t && !Ed(t.end) ? G1(e, t.end) : bh(e);
      }
      function lJ(e, t) {
        return ip(e, e + Vs(t).length);
      }
      function uS(e, t) {
        return lee(e, e, t);
      }
      function L5(e, t, n) {
        return sp(
          tD(
            e,
            n,
            /*includeComments*/
            false
          ),
          tD(
            t,
            n,
            /*includeComments*/
            false
          ),
          n
        );
      }
      function cee(e, t, n) {
        return sp(e.end, t.end, n);
      }
      function lee(e, t, n) {
        return sp(tD(
          e,
          n,
          /*includeComments*/
          false
        ), t.end, n);
      }
      function oN(e, t, n) {
        return sp(e.end, tD(
          t,
          n,
          /*includeComments*/
          false
        ), n);
      }
      function uJ(e, t, n, i) {
        const s = tD(t, n, i);
        return f4(n, e.end, s);
      }
      function Mhe(e, t, n) {
        return f4(n, e.end, t.end);
      }
      function uee(e, t) {
        return !sp(e.pos, e.end, t);
      }
      function sp(e, t, n) {
        return f4(n, e, t) === 0;
      }
      function tD(e, t, n) {
        return Ed(e.pos) ? -1 : aa(
          t.text,
          e.pos,
          /*stopAfterLineBreak*/
          false,
          n
        );
      }
      function _ee(e, t, n, i) {
        const s = aa(
          n.text,
          e,
          /*stopAfterLineBreak*/
          false,
          i
        ), o = VOe(s, t, n);
        return f4(n, o ?? t, s);
      }
      function fee(e, t, n, i) {
        const s = aa(
          n.text,
          e,
          /*stopAfterLineBreak*/
          false,
          i
        );
        return f4(n, e, Math.min(t, s));
      }
      function S_(e, t) {
        return _J(e.pos, e.end, t);
      }
      function _J(e, t, n) {
        return e <= n.pos && t >= n.end;
      }
      function VOe(e, t = 0, n) {
        for (; e-- > t; )
          if (!bg(n.text.charCodeAt(e)))
            return e;
      }
      function fJ(e) {
        const t = ys(e);
        if (t)
          switch (t.parent.kind) {
            case 267:
            case 268:
              return t === t.parent.name;
          }
        return false;
      }
      function rD(e) {
        return kn(e.declarations, cN);
      }
      function cN(e) {
        return ei(e) && e.initializer !== void 0;
      }
      function pJ(e) {
        return e.watch && Ya(e, "watch");
      }
      function nd(e) {
        e.close();
      }
      function oc(e) {
        return e.flags & 33554432 ? e.links.checkFlags : 0;
      }
      function ap(e, t = false) {
        if (e.valueDeclaration) {
          const n = t && e.declarations && Nn(e.declarations, R_) || e.flags & 32768 && Nn(e.declarations, lp) || e.valueDeclaration, i = L1(n);
          return e.parent && e.parent.flags & 32 ? i : i & -8;
        }
        if (oc(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 Ql(e, t) {
        return e.flags & 2097152 ? t.getAliasedSymbol(e) : e;
      }
      function QC(e) {
        return e.exportSymbol ? e.exportSymbol.flags | e.flags : e.flags;
      }
      function M5(e) {
        return nD(e) === 1;
      }
      function vx(e) {
        return nD(e) !== 0;
      }
      function nD(e) {
        const { parent: t } = e;
        switch (t?.kind) {
          case 218:
            return nD(t);
          case 226:
          case 225:
            const { operator: n } = t;
            return n === 46 || n === 47 ? 2 : 0;
          case 227:
            const { left: i, operatorToken: s } = t;
            return i === e && vh(s.kind) ? s.kind === 64 ? 1 : 2 : 0;
          case 212:
            return t.name !== e ? 0 : nD(t);
          case 304: {
            const o = nD(t.parent);
            return e === t.name ? qOe(o) : o;
          }
          case 305:
            return e === t.objectAssignmentInitializer ? 0 : nD(t.parent);
          case 210:
            return nD(t);
          case 250:
          case 251:
            return e === t.initializer ? 1 : 0;
          default:
            return 0;
        }
      }
      function qOe(e) {
        switch (e) {
          case 0:
            return 1;
          case 1:
            return 0;
          case 2:
            return 2;
          default:
            return E.assertNever(e);
        }
      }
      function dJ(e, t) {
        if (!e || !t || Object.keys(e).length !== Object.keys(t).length)
          return false;
        for (const n in e)
          if (typeof e[n] == "object") {
            if (!dJ(e[n], t[n]))
              return false;
          } else if (typeof e[n] != "function" && e[n] !== t[n])
            return false;
        return true;
      }
      function L_(e, t) {
        e.forEach(t), e.clear();
      }
      function Ig(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 iD(e, t, n) {
        Ig(e, t, n);
        const { createNewValue: i } = n;
        t?.forEach((s, o) => {
          e.has(o) || e.set(o, i(o, s));
        });
      }
      function pee(e) {
        if (e.flags & 32) {
          const t = Sh(e);
          return !!t && Gn(
            t,
            64
            /* Abstract */
          );
        }
        return false;
      }
      function Sh(e) {
        var t;
        return (t = e.declarations) == null ? void 0 : t.find($n);
      }
      function Dn(e) {
        return e.flags & 3899393 ? e.objectFlags : 0;
      }
      function R5(e) {
        return !!e && !!e.declarations && !!e.declarations[0] && jN(e.declarations[0]);
      }
      function dee({ moduleSpecifier: e }) {
        return oa(e) ? e.text : Go(e);
      }
      function mJ(e) {
        let t;
        return Ts(e, (n) => {
          Ip(n) && (t = n);
        }, (n) => {
          for (let i = n.length - 1; i >= 0; i--)
            if (Ip(n[i])) {
              t = n[i];
              break;
            }
        }), t;
      }
      function Mp(e, t) {
        return e.has(t) ? false : (e.add(t), true);
      }
      function bx(e) {
        return $n(e) || Jl(e) || r_(e);
      }
      function gJ(e) {
        return e >= 183 && e <= 206 || 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 === 234 || e === 313 || e === 314 || e === 315 || e === 316 || e === 317 || e === 318 || e === 319;
      }
      function vo(e) {
        return e.kind === 212 || e.kind === 213;
      }
      function hJ(e) {
        return e.kind === 212 ? e.name : (E.assert(
          e.kind === 213
          /* ElementAccessExpression */
        ), e.argumentExpression);
      }
      function j5(e) {
        return e.kind === 276 || e.kind === 280;
      }
      function YC(e) {
        for (; vo(e); )
          e = e.expression;
        return e;
      }
      function mee(e, t) {
        if (vo(e.parent) && aJ(e))
          return n(e.parent);
        function n(i) {
          if (i.kind === 212) {
            const s = t(i.name);
            if (s !== void 0)
              return s;
          } else if (i.kind === 213)
            if (Me(i.argumentExpression) || Ma(i.argumentExpression)) {
              const s = t(i.argumentExpression);
              if (s !== void 0)
                return s;
            } else
              return;
          if (vo(i.expression))
            return n(i.expression);
          if (Me(i.expression))
            return t(i.expression);
        }
      }
      function ZC(e, t) {
        for (; ; ) {
          switch (e.kind) {
            case 226:
              e = e.operand;
              continue;
            case 227:
              e = e.left;
              continue;
            case 228:
              e = e.condition;
              continue;
            case 216:
              e = e.tag;
              continue;
            case 214:
              if (t)
                return e;
            // falls through
            case 235:
            case 213:
            case 212:
            case 236:
            case 356:
            case 239:
              e = e.expression;
              continue;
          }
          return e;
        }
      }
      function HOe(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 GOe(e, t) {
        this.flags = t, (E.isDebugging || on) && (this.checker = e);
      }
      function $Oe(e, t) {
        this.flags = t, E.isDebugging && (this.checker = e);
      }
      function gee(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 XOe(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 QOe(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 YOe(e, t, n) {
        this.fileName = e, this.text = t, this.skipTrivia = n || ((i) => i);
      }
      var Yl = {
        getNodeConstructor: () => gee,
        getTokenConstructor: () => XOe,
        getIdentifierConstructor: () => QOe,
        getPrivateIdentifierConstructor: () => gee,
        getSourceFileConstructor: () => gee,
        getSymbolConstructor: () => HOe,
        getTypeConstructor: () => GOe,
        getSignatureConstructor: () => $Oe,
        getSourceMapSourceConstructor: () => YOe
      }, Rhe = [];
      function jhe(e) {
        Rhe.push(e), e(Yl);
      }
      function hee(e) {
        Object.assign(Yl, e), lr(Rhe, (t) => t(Yl));
      }
      function Fg(e, t) {
        return e.replace(/\{(\d+)\}/g, (n, i) => "" + E.checkDefined(t[+i]));
      }
      var B5;
      function yee(e) {
        B5 = e;
      }
      function vee(e) {
        !B5 && e && (B5 = e());
      }
      function bs(e) {
        return B5 && B5[e.key] || e.message;
      }
      function Sx(e, t, n, i, s, ...o) {
        n + i > t.length && (i = t.length - n), iK(t, n, i);
        let c = bs(s);
        return ot(o) && (c = Fg(c, o)), {
          file: void 0,
          start: n,
          length: i,
          messageText: c,
          category: s.category,
          code: s.code,
          reportsUnnecessary: s.reportsUnnecessary,
          fileName: e
        };
      }
      function ZOe(e) {
        return e.file === void 0 && e.start !== void 0 && e.length !== void 0 && typeof e.fileName == "string";
      }
      function Bhe(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)
            ZOe(o) && o.fileName === n ? (E.assertLessThanOrEqual(o.start, i), E.assertLessThanOrEqual(o.start + o.length, i), s.relatedInformation.push(Bhe(o, t))) : s.relatedInformation.push(o);
        }
        return s;
      }
      function Tx(e, t) {
        const n = [];
        for (const i of e)
          n.push(Bhe(i, t));
        return n;
      }
      function al(e, t, n, i, ...s) {
        iK(e.text, t, n);
        let o = bs(i);
        return ot(s) && (o = Fg(o, s)), {
          file: e,
          start: t,
          length: n,
          messageText: o,
          category: i.category,
          code: i.code,
          reportsUnnecessary: i.reportsUnnecessary,
          reportsDeprecated: i.reportsDeprecated
        };
      }
      function xx(e, ...t) {
        let n = bs(e);
        return ot(t) && (n = Fg(n, t)), n;
      }
      function $o(e, ...t) {
        let n = bs(e);
        return ot(t) && (n = Fg(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 J5(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 Ss(e, t, ...n) {
        let i = bs(t);
        return ot(n) && (i = Fg(i, n)), {
          messageText: i,
          category: t.category,
          code: t.code,
          next: e === void 0 || Array.isArray(e) ? e : [e]
        };
      }
      function bee(e, t) {
        let n = e;
        for (; n.next; )
          n = n.next[0];
        n.next = [t];
      }
      function yJ(e) {
        return e.file ? e.file.path : void 0;
      }
      function sD(e, t) {
        return See(e, t) || KOe(e, t) || 0;
      }
      function See(e, t) {
        const n = vJ(e), i = vJ(t);
        return ou(yJ(e), yJ(t)) || po(e.start, t.start) || po(e.length, t.length) || po(n, i) || e9e(e, t) || 0;
      }
      function KOe(e, t) {
        return !e.relatedInformation && !t.relatedInformation ? 0 : e.relatedInformation && t.relatedInformation ? po(t.relatedInformation.length, e.relatedInformation.length) || lr(e.relatedInformation, (n, i) => {
          const s = t.relatedInformation[i];
          return sD(n, s);
        }) || 0 : e.relatedInformation ? -1 : 1;
      }
      function e9e(e, t) {
        let n = bJ(e), i = bJ(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 = ou(n, i);
        return c || (c = t9e(s, o), c) ? c : e.canonicalHead && !t.canonicalHead ? -1 : t.canonicalHead && !e.canonicalHead ? 1 : 0;
      }
      function t9e(e, t) {
        return e === void 0 && t === void 0 ? 0 : e === void 0 ? 1 : t === void 0 ? -1 : Jhe(e, t) || zhe(e, t);
      }
      function Jhe(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 = po(t.length, e.length);
        if (n)
          return n;
        for (let i = 0; i < t.length; i++)
          if (n = Jhe(e[i].next, t[i].next), n)
            return n;
        return 0;
      }
      function zhe(e, t) {
        let n;
        for (let i = 0; i < t.length; i++) {
          if (n = ou(e[i].messageText, t[i].messageText), n)
            return n;
          if (e[i].next !== void 0 && (n = zhe(e[i].next, t[i].next), n))
            return n;
        }
        return 0;
      }
      function z5(e, t) {
        const n = vJ(e), i = vJ(t), s = bJ(e), o = bJ(t);
        return ou(yJ(e), yJ(t)) === 0 && po(e.start, t.start) === 0 && po(e.length, t.length) === 0 && po(n, i) === 0 && r9e(s, o);
      }
      function vJ(e) {
        var t;
        return ((t = e.canonicalHead) == null ? void 0 : t.code) || e.code;
      }
      function bJ(e) {
        var t;
        return ((t = e.canonicalHead) == null ? void 0 : t.messageText) || e.messageText;
      }
      function r9e(e, t) {
        const n = typeof e == "string" ? e : e.messageText, i = typeof t == "string" ? t : t.messageText;
        return ou(n, i) === 0;
      }
      function lN(e) {
        return e === 4 || e === 2 || e === 1 || e === 6 ? 1 : 0;
      }
      function Whe(e) {
        if (e.transformFlags & 2)
          return ku(e) || nv(e) ? e : Ts(e, Whe);
      }
      function n9e(e) {
        return e.isDeclarationFile ? void 0 : Whe(e);
      }
      function i9e(e, t) {
        return (OS(e, t) === 99 || bc(e.fileName, [
          ".cjs",
          ".cts",
          ".mjs",
          ".mts"
          /* Mts */
        ])) && !e.isDeclarationFile ? true : void 0;
      }
      function uN(e) {
        switch (xee(e)) {
          case 3:
            return (s) => {
              s.externalModuleIndicator = XN(s) || !s.isDeclarationFile || void 0;
            };
          case 1:
            return (s) => {
              s.externalModuleIndicator = XN(s);
            };
          case 2:
            const t = [XN];
            (e.jsx === 4 || e.jsx === 5) && t.push(n9e), t.push(i9e);
            const n = H_(...t);
            return (s) => void (s.externalModuleIndicator = n(s, e));
        }
      }
      function SJ(e) {
        const t = Cu(e);
        return 3 <= t && t <= 99 || _N(e) || fN(e);
      }
      var Zl = {
        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 === 102 && 10 || e.module === 199 && 99 || 1)
        },
        module: {
          dependencies: ["target"],
          computeValue: (e) => typeof e.module == "number" ? e.module : Zl.target.computeValue(e) >= 2 ? 5 : 1
        },
        moduleResolution: {
          dependencies: ["module", "target"],
          computeValue: (e) => {
            let t = e.moduleResolution;
            if (t === void 0)
              switch (Zl.module.computeValue(e)) {
                case 1:
                  t = 2;
                  break;
                case 100:
                case 101:
                case 102:
                  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 = Zl.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 (Zl.module.computeValue(e)) {
              case 100:
              case 101:
              case 102:
              case 199:
              case 200:
                return true;
            }
            return false;
          }
        },
        allowSyntheticDefaultImports: {
          dependencies: ["module", "target", "moduleResolution"],
          computeValue: (e) => e.allowSyntheticDefaultImports !== void 0 ? e.allowSyntheticDefaultImports : Zl.esModuleInterop.computeValue(e) || Zl.module.computeValue(e) === 4 || Zl.moduleResolution.computeValue(e) === 100
        },
        resolvePackageJsonExports: {
          dependencies: ["moduleResolution"],
          computeValue: (e) => {
            const t = Zl.moduleResolution.computeValue(e);
            if (!KC(t))
              return false;
            if (e.resolvePackageJsonExports !== void 0)
              return e.resolvePackageJsonExports;
            switch (t) {
              case 3:
              case 99:
              case 100:
                return true;
            }
            return false;
          }
        },
        resolvePackageJsonImports: {
          dependencies: ["moduleResolution", "resolvePackageJsonExports"],
          computeValue: (e) => {
            const t = Zl.moduleResolution.computeValue(e);
            if (!KC(t))
              return false;
            if (e.resolvePackageJsonImports !== void 0)
              return e.resolvePackageJsonImports;
            switch (t) {
              case 3:
              case 99:
              case 100:
                return true;
            }
            return false;
          }
        },
        resolveJsonModule: {
          dependencies: ["moduleResolution", "module", "target"],
          computeValue: (e) => {
            if (e.resolveJsonModule !== void 0)
              return e.resolveJsonModule;
            switch (Zl.module.computeValue(e)) {
              // TODO in 6.0: uncomment
              // case ModuleKind.Node16:
              // case ModuleKind.Node18:
              case 102:
              case 199:
                return true;
            }
            return Zl.moduleResolution.computeValue(e) === 100;
          }
        },
        declaration: {
          dependencies: ["composite"],
          computeValue: (e) => !!(e.declaration || e.composite)
        },
        preserveConstEnums: {
          dependencies: ["isolatedModules", "verbatimModuleSyntax"],
          computeValue: (e) => !!(e.preserveConstEnums || Zl.isolatedModules.computeValue(e))
        },
        incremental: {
          dependencies: ["composite"],
          computeValue: (e) => !!(e.incremental || e.composite)
        },
        declarationMap: {
          dependencies: ["declaration", "composite"],
          computeValue: (e) => !!(e.declarationMap && Zl.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 ? Zl.target.computeValue(e) >= 9 : e.useDefineForClassFields
        },
        noImplicitAny: {
          dependencies: ["strict"],
          computeValue: (e) => uu(e, "noImplicitAny")
        },
        noImplicitThis: {
          dependencies: ["strict"],
          computeValue: (e) => uu(e, "noImplicitThis")
        },
        strictNullChecks: {
          dependencies: ["strict"],
          computeValue: (e) => uu(e, "strictNullChecks")
        },
        strictFunctionTypes: {
          dependencies: ["strict"],
          computeValue: (e) => uu(e, "strictFunctionTypes")
        },
        strictBindCallApply: {
          dependencies: ["strict"],
          computeValue: (e) => uu(e, "strictBindCallApply")
        },
        strictPropertyInitialization: {
          dependencies: ["strict"],
          computeValue: (e) => uu(e, "strictPropertyInitialization")
        },
        strictBuiltinIteratorReturn: {
          dependencies: ["strict"],
          computeValue: (e) => uu(e, "strictBuiltinIteratorReturn")
        },
        alwaysStrict: {
          dependencies: ["strict"],
          computeValue: (e) => uu(e, "alwaysStrict")
        },
        useUnknownInCatchVariables: {
          dependencies: ["strict"],
          computeValue: (e) => uu(e, "useUnknownInCatchVariables")
        }
      }, aD = Zl, Tee = Zl.allowImportingTsExtensions.computeValue, pa = Zl.target.computeValue, Wu = Zl.module.computeValue, Cu = Zl.moduleResolution.computeValue, xee = Zl.moduleDetection.computeValue, Rp = Zl.isolatedModules.computeValue, _m = Zl.esModuleInterop.computeValue, kx = Zl.allowSyntheticDefaultImports.computeValue, _N = Zl.resolvePackageJsonExports.computeValue, fN = Zl.resolvePackageJsonImports.computeValue, Lb = Zl.resolveJsonModule.computeValue, M_ = Zl.declaration.computeValue, Oy = Zl.preserveConstEnums.computeValue, Mb = Zl.incremental.computeValue, W5 = Zl.declarationMap.computeValue, Ly = Zl.allowJs.computeValue, pN = Zl.useDefineForClassFields.computeValue;
      function dN(e) {
        return e >= 5 && e <= 99;
      }
      function U5(e) {
        switch (Wu(e)) {
          case 0:
          case 4:
          case 3:
            return false;
        }
        return true;
      }
      function kee(e) {
        return e.allowUnreachableCode === false;
      }
      function Cee(e) {
        return e.allowUnusedLabels === false;
      }
      function KC(e) {
        return e >= 3 && e <= 99 || e === 100;
      }
      function Eee(e) {
        return 101 <= e && e <= 199 || e === 200 || e === 99;
      }
      function uu(e, t) {
        return e[t] === void 0 ? !!e.strict : !!e[t];
      }
      function V5(e) {
        return dl(Hz.type, (t, n) => t === e ? n : void 0);
      }
      function TJ(e) {
        return e.useDefineForClassFields !== false && pa(e) >= 9;
      }
      function Dee(e, t) {
        return nx(t, e, Cre);
      }
      function wee(e, t) {
        return nx(t, e, Ere);
      }
      function Pee(e, t) {
        return nx(t, e, Dre);
      }
      function q5(e, t) {
        return t.strictFlag ? uu(e, t.name) : t.allowJsFlag ? Ly(e) : e[t.name];
      }
      function H5(e) {
        const t = e.jsx;
        return t === 2 || t === 4 || t === 5;
      }
      function mN(e, t) {
        const n = t?.pragmas.get("jsximportsource"), i = ss(n) ? n[n.length - 1] : n, s = t?.pragmas.get("jsxruntime"), o = ss(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 G5(e, t) {
        return e ? `${e}/${t.jsx === 5 ? "jsx-dev-runtime" : "jsx-runtime"}` : void 0;
      }
      function xJ(e) {
        let t = false;
        for (let n = 0; n < e.length; n++)
          if (e.charCodeAt(n) === 42)
            if (!t)
              t = true;
            else
              return false;
        return true;
      }
      function kJ(e, t) {
        let n, i, s, o = false;
        return {
          getSymlinkedFiles: () => s,
          getSymlinkedDirectories: () => n,
          getSymlinkedDirectoriesByRealpath: () => i,
          setSymlinkedFile: (u, g) => (s || (s = /* @__PURE__ */ new Map())).set(u, g),
          setSymlinkedDirectory: (u, g) => {
            let m = io(u, e, t);
            mD(m) || (m = pl(m), g !== false && !n?.has(m) && (i || (i = Pp())).add(g.realPath, u), (n || (n = /* @__PURE__ */ new Map())).set(m, g));
          },
          setSymlinksFromResolutions(u, g, m) {
            E.assert(!o), o = true, 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 && !!dl(n, (u) => !!u);
        }
        function _(u, g) {
          if (!g || !g.originalPath || !g.resolvedFileName) return;
          const { resolvedFileName: m, originalPath: h } = g;
          u.setSymlinkedFile(io(h, e, t), m);
          const [S, T] = s9e(m, h, e, t) || Ge;
          S && T && u.setSymlinkedDirectory(
            T,
            {
              real: pl(S),
              realPath: pl(io(S, e, t))
            }
          );
        }
      }
      function s9e(e, t, n, i) {
        const s = cu(Qi(e, n)), o = cu(Qi(t, n));
        let c = false;
        for (; s.length >= 2 && o.length >= 2 && !Uhe(s[s.length - 2], i) && !Uhe(o[o.length - 2], i) && i(s[s.length - 1]) === i(o[o.length - 1]); )
          s.pop(), o.pop(), c = true;
        return c ? [O1(s), O1(o)] : void 0;
      }
      function Uhe(e, t) {
        return e !== void 0 && (t(e) === "node_modules" || Ui(e, "@"));
      }
      function a9e(e) {
        return mj(e.charCodeAt(0)) ? e.slice(1) : void 0;
      }
      function CJ(e, t, n) {
        const i = UR(e, t, n);
        return i === void 0 ? void 0 : a9e(i);
      }
      var Nee = /[^\w\s/]/g;
      function Vhe(e) {
        return e.replace(Nee, o9e);
      }
      function o9e(e) {
        return "\\" + e;
      }
      var c9e = [
        42,
        63
        /* question */
      ], l9e = ["node_modules", "bower_components", "jspm_packages"], Aee = `(?!(?:${l9e.join("|")})(?:/|$))`, qhe = {
        /**
         * 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: `(?:/${Aee}[^/.][^/]*)*?`,
        replaceWildcardCharacter: (e) => Fee(e, qhe.singleAsteriskRegexFragment)
      }, Hhe = {
        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: `(?:/${Aee}[^/.][^/]*)*?`,
        replaceWildcardCharacter: (e) => Fee(e, Hhe.singleAsteriskRegexFragment)
      }, Ghe = {
        singleAsteriskRegexFragment: "[^/]*",
        doubleAsteriskRegexFragment: "(?:/.+?)?",
        replaceWildcardCharacter: (e) => Fee(e, Ghe.singleAsteriskRegexFragment)
      }, Iee = {
        files: qhe,
        directories: Hhe,
        exclude: Ghe
      };
      function oD(e, t, n) {
        const i = $5(e, t, n);
        return !i || !i.length ? void 0 : `^(?:${i.map((c) => `(?:${c})`).join("|")})${n === "exclude" ? "(?:$|/)" : "$"}`;
      }
      function $5(e, t, n) {
        if (!(e === void 0 || e.length === 0))
          return xa(e, (i) => i && X5(i, t, n, Iee[n]));
      }
      function EJ(e) {
        return !/[.*?]/.test(e);
      }
      function DJ(e, t, n) {
        const i = e && X5(e, t, n, Iee[n]);
        return i && `^(?:${i})${n === "exclude" ? "(?:$|/)" : "$"}`;
      }
      function X5(e, t, n, { singleAsteriskRegexFragment: i, doubleAsteriskRegexFragment: s, replaceWildcardCharacter: o } = Iee[n]) {
        let c = "", _ = false;
        const u = c7(e, t), g = fa(u);
        if (n !== "exclude" && g === "**")
          return;
        u[0] = a0(u[0]), EJ(g) && u.push("**", "*");
        let m = 0;
        for (let h of u) {
          if (h === "**")
            c += s;
          else if (n === "directories" && (c += "(?:", m++), _ && (c += yo), 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(Nee, o), S !== h && (c += Aee), c += S;
          } else
            c += h.replace(Nee, o);
          _ = true;
        }
        for (; m > 0; )
          c += ")?", m--;
        return c;
      }
      function Fee(e, t) {
        return e === "*" ? t : e === "?" ? "[^/]" : "\\" + e;
      }
      function Q5(e, t, n, i, s) {
        e = qs(e), s = qs(s);
        const o = On(s, e);
        return {
          includeFilePatterns: hr($5(n, o, "files"), (c) => `^${c}$`),
          includeFilePattern: oD(n, o, "files"),
          includeDirectoryPattern: oD(n, o, "directories"),
          excludePattern: oD(t, o, "exclude"),
          basePaths: u9e(e, n, i)
        };
      }
      function m0(e, t) {
        return new RegExp(e, t ? "" : "i");
      }
      function wJ(e, t, n, i, s, o, c, _, u) {
        e = qs(e), o = qs(o);
        const g = Q5(e, n, i, s, o), m = g.includeFilePatterns && g.includeFilePatterns.map((A) => m0(A, s)), h = g.includeDirectoryPattern && m0(g.includeDirectoryPattern, s), S = g.excludePattern && m0(g.excludePattern, s), T = m ? m.map(() => []) : [[]], k = /* @__PURE__ */ new Map(), D = $l(s);
        for (const A of g.basePaths)
          P(A, On(o, A), c);
        return wp(T);
        function P(A, O, F) {
          const R = D(u(O));
          if (k.has(R)) return;
          k.set(R, true);
          const { files: B, directories: U } = _(A);
          for (const $ of q_(B, ou)) {
            const W = On(A, $), _e = On(O, $);
            if (!(t && !bc(W, t)) && !(S && S.test(_e)))
              if (!m)
                T[0].push(W);
              else {
                const K = ic(m, (V) => V.test(_e));
                K !== -1 && T[K].push(W);
              }
          }
          if (!(F !== void 0 && (F--, F === 0)))
            for (const $ of q_(U, ou)) {
              const W = On(A, $), _e = On(O, $);
              (!h || h.test(_e)) && (!S || !S.test(_e)) && P(W, _e, F);
            }
        }
      }
      function u9e(e, t, n) {
        const i = [e];
        if (t) {
          const s = [];
          for (const o of t) {
            const c = $_(o) ? o : qs(On(e, o));
            s.push(_9e(c));
          }
          s.sort(dC(!n));
          for (const o of s)
            Ni(i, (c) => !Kf(c, o, e, !n)) && i.push(o);
        }
        return i;
      }
      function _9e(e) {
        const t = QX(e, c9e);
        return t < 0 ? yC(e) ? a0(Hn(e)) : e : e.substring(0, e.lastIndexOf(yo, t));
      }
      function Y5(e, t) {
        return t || Z5(e) || 3;
      }
      function Z5(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 K5 = [[
        ".ts",
        ".tsx",
        ".d.ts"
        /* Dts */
      ], [
        ".cts",
        ".d.cts"
        /* Dcts */
      ], [
        ".mts",
        ".d.mts"
        /* Dmts */
      ]], PJ = wp(K5), f9e = [...K5, [
        ".json"
        /* Json */
      ]], p9e = [
        ".d.ts",
        ".d.cts",
        ".d.mts",
        ".cts",
        ".mts",
        ".ts",
        ".tsx"
        /* Tsx */
      ], d9e = [[
        ".js",
        ".jsx"
        /* Jsx */
      ], [
        ".mjs"
        /* Mjs */
      ], [
        ".cjs"
        /* Cjs */
      ]], e6 = wp(d9e), NJ = [[
        ".ts",
        ".tsx",
        ".d.ts",
        ".js",
        ".jsx"
        /* Jsx */
      ], [
        ".cts",
        ".d.cts",
        ".cjs"
        /* Cjs */
      ], [
        ".mts",
        ".d.mts",
        ".mjs"
        /* Mjs */
      ]], m9e = [...NJ, [
        ".json"
        /* Json */
      ]], eF = [
        ".d.ts",
        ".d.cts",
        ".d.mts"
        /* Dmts */
      ], gN = [
        ".ts",
        ".cts",
        ".mts",
        ".tsx"
        /* Tsx */
      ], tF = [
        ".mts",
        ".d.mts",
        ".mjs",
        ".cts",
        ".d.cts",
        ".cjs"
        /* Cjs */
      ];
      function cD(e, t) {
        const n = e && Ly(e);
        if (!t || t.length === 0)
          return n ? NJ : K5;
        const i = n ? NJ : K5, s = wp(i);
        return [
          ...i,
          ...Fi(t, (c) => c.scriptKind === 7 || n && g9e(c.scriptKind) && !s.includes(c.extension) ? [c.extension] : void 0)
        ];
      }
      function hN(e, t) {
        return !e || !Lb(e) ? t : t === NJ ? m9e : t === K5 ? f9e : [...t, [
          ".json"
          /* Json */
        ]];
      }
      function g9e(e) {
        return e === 1 || e === 2;
      }
      function Og(e) {
        return ot(e6, (t) => Ho(e, t));
      }
      function _S(e) {
        return ot(PJ, (t) => Ho(e, t));
      }
      function Oee(e) {
        return ot(gN, (t) => Ho(e, t)) && !wl(e);
      }
      var Lee = /* @__PURE__ */ ((e) => (e[e.Minimal = 0] = "Minimal", e[e.Index = 1] = "Index", e[e.JsExtension = 2] = "JsExtension", e[e.TsExtension = 3] = "TsExtension", e))(Lee || {});
      function h9e({ imports: e }, t = H_(Og, _S)) {
        return Ic(e, ({ text: n }) => vf(n) && !bc(n, tF) ? t(n) : void 0) || false;
      }
      function Mee(e, t, n, i) {
        const s = Cu(n), o = 3 <= s && s <= 99;
        if (e === "js" || t === 99 && o)
          return P6(n) && c() !== 2 ? 3 : 2;
        if (e === "minimal")
          return 0;
        if (e === "index")
          return 1;
        if (!P6(n))
          return i && h9e(i) ? 2 : 0;
        return c();
        function c() {
          let _ = false;
          const u = i?.imports.length ? i.imports : i && Ku(i) ? y9e(i).map((g) => g.arguments[0]) : Ge;
          for (const g of u)
            if (vf(g.text)) {
              if (o && t === 1 && dU(i, g, n) === 99 || bc(g.text, tF))
                continue;
              if (_S(g.text))
                return 3;
              Og(g.text) && (_ = true);
            }
          return _ ? 2 : 0;
        }
      }
      function y9e(e) {
        let t = 0, n;
        for (const i of e.statements) {
          if (t > 3)
            break;
          F3(i) ? n = Bi(n, i.declarationList.declarations.map((s) => s.initializer)) : Dl(i) && v_(
            i.expression,
            /*requireStringLiteralLikeArgument*/
            true
          ) ? n = Er(n, i.expression) : t++;
        }
        return n || Ge;
      }
      function AJ(e, t, n) {
        if (!e) return false;
        const i = cD(t, n);
        for (const s of wp(hN(t, i)))
          if (Ho(e, s))
            return true;
        return false;
      }
      function $he(e) {
        const t = e.match(/\//g);
        return t ? t.length : 0;
      }
      function yN(e, t) {
        return po(
          $he(e),
          $he(t)
        );
      }
      var Ree = [
        ".d.ts",
        ".d.mts",
        ".d.cts",
        ".mjs",
        ".mts",
        ".cjs",
        ".cts",
        ".ts",
        ".js",
        ".tsx",
        ".jsx",
        ".json"
        /* Json */
      ];
      function Uu(e) {
        for (const t of Ree) {
          const n = jee(e, t);
          if (n !== void 0)
            return n;
        }
        return e;
      }
      function jee(e, t) {
        return Ho(e, t) ? vN(e, t) : void 0;
      }
      function vN(e, t) {
        return e.substring(0, e.length - t.length);
      }
      function g0(e, t) {
        return UP(
          e,
          t,
          Ree,
          /*ignoreCase*/
          false
        );
      }
      function Cx(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 Xhe = /* @__PURE__ */ new WeakMap();
      function bN(e) {
        let t = Xhe.get(e);
        if (t !== void 0)
          return t;
        let n, i;
        const s = Zd(e);
        for (const o of s) {
          const c = Cx(o);
          c !== void 0 && (typeof c == "string" ? (n ?? (n = /* @__PURE__ */ new Set())).add(c) : (i ?? (i = [])).push(c));
        }
        return Xhe.set(
          e,
          t = {
            matchableStringSet: n,
            patterns: i
          }
        ), t;
      }
      function Ed(e) {
        return !(e >= 0);
      }
      function rF(e) {
        return e === ".ts" || e === ".tsx" || e === ".d.ts" || e === ".cts" || e === ".mts" || e === ".d.mts" || e === ".d.cts" || Ui(e, ".d.") && Co(e, ".ts");
      }
      function lD(e) {
        return rF(e) || e === ".json";
      }
      function uD(e) {
        const t = Lg(e);
        return t !== void 0 ? t : E.fail(`File ${e} has unknown extension.`);
      }
      function Qhe(e) {
        return Lg(e) !== void 0;
      }
      function Lg(e) {
        return Nn(Ree, (t) => Ho(e, t));
      }
      function _D(e, t) {
        return e.checkJsDirective ? e.checkJsDirective.enabled : t.checkJs;
      }
      var IJ = {
        files: Ge,
        directories: Ge
      };
      function FJ(e, t) {
        const { matchableStringSet: n, patterns: i } = e;
        if (n?.has(t))
          return t;
        if (!(i === void 0 || i.length === 0))
          return WR(i, (s) => s, t);
      }
      function OJ(e, t) {
        const n = e.indexOf(t);
        return E.assert(n !== -1), e.slice(n);
      }
      function Js(e, ...t) {
        return t.length && (e.relatedInformation || (e.relatedInformation = []), E.assert(e.relatedInformation !== Ge, "Diagnostic had empty array singleton for related info, but is still being constructed!"), e.relatedInformation.push(...t)), e;
      }
      function Bee(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 LJ(e) {
        return { pos: Ey(e), end: e.end };
      }
      function MJ(e, t) {
        const n = t.pos - 1, i = Math.min(e.text.length, aa(e.text, t.end) + 1);
        return { pos: n, end: i };
      }
      function t6(e, t, n) {
        return Yhe(
          e,
          t,
          n,
          /*ignoreNoCheck*/
          false
        );
      }
      function Jee(e, t, n) {
        return Yhe(
          e,
          t,
          n,
          /*ignoreNoCheck*/
          true
        );
      }
      function Yhe(e, t, n, i) {
        return t.skipLibCheck && e.isDeclarationFile || t.skipDefaultLibCheck && e.hasNoDefaultLib || !i && t.noCheck || n.isSourceOfProjectReferenceRedirect(e.fileName) || !fD(e, t);
      }
      function fD(e, t) {
        if (e.checkJsDirective && e.checkJsDirective.enabled === false) return false;
        if (e.scriptKind === 3 || e.scriptKind === 4 || e.scriptKind === 5) return true;
        const i = (e.scriptKind === 1 || e.scriptKind === 2) && _D(e, t);
        return w4(e, t.checkJs) || i || e.scriptKind === 7;
      }
      function nF(e, t) {
        return e === t || typeof e == "object" && e !== null && typeof t == "object" && t !== null && nQ(e, t, nF);
      }
      function pD(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 = true;
        for (; u; ) {
          let g = 0;
          u = false;
          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 = true);
          }
          c = g + c;
        }
        return c;
      }
      function Rb({ negative: e, base10Value: t }) {
        return (e && t !== "0" ? "-" : "") + t;
      }
      function zee(e) {
        if (iF(
          e,
          /*roundTripOnly*/
          false
        ))
          return RJ(e);
      }
      function RJ(e) {
        const t = e.startsWith("-"), n = pD(`${t ? e.slice(1) : e}n`);
        return { negative: t, base10Value: n };
      }
      function iF(e, t) {
        if (e === "") return false;
        const n = Tg(
          99,
          /*skipTrivia*/
          false
        );
        let i = true;
        n.setOnError(() => i = false), 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 === Rb({ negative: o, base10Value: pD(n.getTokenValue()) }));
      }
      function $1(e) {
        return !!(e.flags & 33554432) || M4(e) || a5(e) || S9e(e) || b9e(e) || !(qm(e) || v9e(e));
      }
      function v9e(e) {
        return Me(e) && fu(e.parent) && e.parent.name === e;
      }
      function b9e(e) {
        for (; e.kind === 80 || e.kind === 212; )
          e = e.parent;
        if (e.kind !== 168)
          return false;
        if (Gn(
          e.parent,
          64
          /* Abstract */
        ))
          return true;
        const t = e.parent.parent.kind;
        return t === 265 || t === 188;
      }
      function S9e(e) {
        if (e.kind !== 80) return false;
        const t = dr(e.parent, (n) => {
          switch (n.kind) {
            case 299:
              return true;
            case 212:
            case 234:
              return false;
            default:
              return "quit";
          }
        });
        return t?.token === 119 || t?.parent.kind === 265;
      }
      function Wee(e) {
        return rf(e) && Me(e.typeName);
      }
      function Uee(e, t = _y) {
        if (e.length < 2) return true;
        const n = e[0];
        for (let i = 1, s = e.length; i < s; i++) {
          const o = e[i];
          if (!t(n, o)) return false;
        }
        return true;
      }
      function dD(e, t) {
        return e.pos = t, e;
      }
      function r6(e, t) {
        return e.end = t, e;
      }
      function Dd(e, t, n) {
        return r6(dD(e, t), n);
      }
      function jJ(e, t, n) {
        return Dd(e, t, t + n);
      }
      function Vee(e, t) {
        return e && (e.flags = t), e;
      }
      function ja(e, t) {
        return e && t && (e.parent = t), e;
      }
      function X1(e, t) {
        if (!e) return e;
        return Hx(e, wC(e) ? n : s), e;
        function n(o, c) {
          if (t && o.parent === c)
            return "skip";
          ja(o, c);
        }
        function i(o) {
          if (bf(o))
            for (const c of o.jsDoc)
              n(c, o), Hx(c, n);
        }
        function s(o, c) {
          return n(o, c) || i(o);
        }
      }
      function T9e(e) {
        return !gl(e);
      }
      function BJ(e) {
        return Kl(e) && Ni(e.elements, T9e);
      }
      function qee(e) {
        for (E.assertIsDefined(e.parent); ; ) {
          const t = e.parent;
          if (n_(t)) {
            e = t;
            continue;
          }
          if (Dl(t) || Jx(t) || tv(t) && (t.initializer === e || t.incrementor === e))
            return true;
          if (PD(t)) {
            if (e !== fa(t.elements)) return true;
            e = t;
            continue;
          }
          if (_n(t) && t.operatorToken.kind === 28) {
            if (e === t.left) return true;
            e = t;
            continue;
          }
          return false;
        }
      }
      function mD(e) {
        return ot(s7, (t) => e.includes(t));
      }
      function Hee(e) {
        if (!e.parent) return;
        switch (e.kind) {
          case 169:
            const { parent: n } = e;
            return n.kind === 196 ? void 0 : n.typeParameters;
          case 170:
            return e.parent.parameters;
          case 205:
            return e.parent.templateSpans;
          case 240:
            return e.parent.templateSpans;
          case 171: {
            const { parent: i } = e;
            return $b(i) ? i.modifiers : void 0;
          }
          case 299:
            return e.parent.heritageClauses;
        }
        const { parent: t } = e;
        if (PC(e))
          return kS(e.parent) ? void 0 : e.parent.tags;
        switch (t.kind) {
          case 188:
          case 265:
            return yb(e) ? t.members : void 0;
          case 193:
          case 194:
            return t.types;
          case 190:
          case 210:
          case 357:
          case 276:
          case 280:
            return t.elements;
          case 211:
          case 293:
            return t.properties;
          case 214:
          case 215:
            return li(e) ? t.typeArguments : t.expression === e ? void 0 : t.arguments;
          case 285:
          case 289:
            return p3(e) ? t.children : void 0;
          case 287:
          case 286:
            return li(e) ? t.typeArguments : void 0;
          case 242:
          case 297:
          case 298:
          case 269:
            return t.statements;
          case 270:
            return t.clauses;
          case 264:
          case 232:
            return Uc(e) ? t.members : void 0;
          case 267:
            return kh(e) ? t.members : void 0;
          case 308:
            return t.statements;
        }
      }
      function sF(e) {
        if (!e.typeParameters) {
          if (ot(e.parameters, (t) => !Qc(t)))
            return true;
          if (e.kind !== 220) {
            const t = $c(e.parameters);
            if (!(t && Ay(t)))
              return true;
          }
        }
        return false;
      }
      function gD(e) {
        return e === "Infinity" || e === "-Infinity" || e === "NaN";
      }
      function Gee(e) {
        return e.kind === 261 && e.parent.kind === 300;
      }
      function My(e) {
        return e.kind === 219 || e.kind === 220;
      }
      function jb(e) {
        return e.replace(/\$/g, () => "\\$");
      }
      function Mg(e) {
        return (+e).toString() === e;
      }
      function SN(e, t, n, i, s) {
        const o = s && e === "new";
        return !o && F_(e, t) ? N.createIdentifier(e) : !i && !o && Mg(e) && +e >= 0 ? N.createNumericLiteral(+e) : N.createStringLiteral(e, !!n);
      }
      function hD(e) {
        return !!(e.flags & 262144 && e.isThisType);
      }
      function aF(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(Jg, 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(Jg, c) === c ? u = 1 : u = 3;
              break;
          }
        return s = c, u > 1 ? { topLevelNodeModulesIndex: t, topLevelPackageNameIndex: n, packageRootIndex: i, fileNameIndex: s } : void 0;
      }
      function Ex(e) {
        switch (e.kind) {
          case 169:
          case 264:
          case 265:
          case 266:
          case 267:
          case 347:
          case 339:
          case 341:
            return true;
          case 274:
            return e.phaseModifier === 156;
          case 277:
            return e.parent.parent.phaseModifier === 156;
          case 282:
            return e.parent.parent.isTypeOnly;
          default:
            return false;
        }
      }
      function TN(e) {
        return rv(e) || Pc(e) || Tc(e) || Zc(e) || Jl(e) || Ex(e) || Lc(e) && !xb(e) && !Vm(e);
      }
      function xN(e) {
        if (!S4(e))
          return false;
        const { isBracketed: t, typeExpression: n } = e;
        return t || !!n && n.type.kind === 317;
      }
      function JJ(e, t) {
        if (e.length === 0)
          return false;
        const n = e.charCodeAt(0);
        return n === 35 ? e.length > 1 && Jm(e.charCodeAt(1), t) : Jm(n, t);
      }
      function $ee(e) {
        var t;
        return ((t = iz(e)) == null ? void 0 : t.kind) === 0;
      }
      function oF(e) {
        return an(e) && // node.type should only be a JSDocOptionalType when node is a parameter of a JSDocFunctionType
        (e.type && e.type.kind === 317 || xC(e).some(xN));
      }
      function Dx(e) {
        switch (e.kind) {
          case 173:
          case 172:
            return !!e.questionToken;
          case 170:
            return !!e.questionToken || oF(e);
          case 349:
          case 342:
            return xN(e);
          default:
            return false;
        }
      }
      function Xee(e) {
        const t = e.kind;
        return (t === 212 || t === 213) && zx(e.expression);
      }
      function zJ(e) {
        return an(e) && n_(e) && bf(e) && !!Oj(e);
      }
      function WJ(e) {
        return E.checkDefined(cF(e));
      }
      function cF(e) {
        const t = Oj(e);
        return t && t.typeExpression && t.typeExpression.type;
      }
      function yD(e) {
        return Me(e) ? e.escapedText : wx(e);
      }
      function kN(e) {
        return Me(e) ? An(e) : vD(e);
      }
      function Qee(e) {
        const t = e.kind;
        return t === 80 || t === 296;
      }
      function wx(e) {
        return `${e.namespace.escapedText}:${An(e.name)}`;
      }
      function vD(e) {
        return `${An(e.namespace)}:${An(e.name)}`;
      }
      function UJ(e) {
        return Me(e) ? An(e) : vD(e);
      }
      function op(e) {
        return !!(e.flags & 8576);
      }
      function cp(e) {
        return e.flags & 8192 ? e.escapedName : e.flags & 384 ? Zo("" + e.value) : E.fail();
      }
      function Px(e) {
        return !!e && (wn(e) || oo(e) || _n(e));
      }
      function Yee(e) {
        return e === void 0 ? false : !!I6(e.attributes);
      }
      var x9e = String.prototype.replace;
      function fS(e, t) {
        return x9e.call(e, "*", t);
      }
      function lF(e) {
        return Me(e.name) ? e.name.escapedText : Zo(e.name.text);
      }
      function Zee(e) {
        switch (e.kind) {
          case 169:
          case 170:
          case 173:
          case 172:
          case 186:
          case 185:
          case 180:
          case 181:
          case 182:
          case 175:
          case 174:
          case 176:
          case 177:
          case 178:
          case 179:
          case 184:
          case 183:
          case 187:
          case 188:
          case 189:
          case 190:
          case 193:
          case 194:
          case 197:
          case 191:
          case 192:
          case 198:
          case 199:
          case 195:
          case 196:
          case 204:
          case 206:
          case 203:
          case 329:
          case 330:
          case 347:
          case 339:
          case 341:
          case 346:
          case 345:
          case 325:
          case 326:
          case 327:
          case 342:
          case 349:
          case 318:
          case 316:
          case 315:
          case 313:
          case 314:
          case 323:
          case 319:
          case 310:
          case 334:
          case 336:
          case 335:
          case 351:
          case 344:
          case 200:
          case 201:
          case 263:
          case 242:
          case 269:
          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 259:
          case 261:
          case 209:
          case 264:
          case 265:
          case 266:
          case 267:
          case 268:
          case 273:
          case 272:
          case 279:
          case 278:
          case 243:
          case 260:
          case 283:
            return true;
        }
        return false;
      }
      function ml(e, t = false, n = false, i = false) {
        return { value: e, isSyntacticallyString: t, resolvedOtherFiles: n, hasExternalReferences: i };
      }
      function Kee({ evaluateElementAccessExpression: e, evaluateEntityNameExpression: t }) {
        function n(s, o) {
          let c = false, _ = false, u = false;
          switch (s = Ra(s), s.kind) {
            case 225:
              const g = n(s.operand, o);
              if (_ = g.resolvedOtherFiles, u = g.hasExternalReferences, typeof g.value == "number")
                switch (s.operator) {
                  case 40:
                    return ml(g.value, c, _, u);
                  case 41:
                    return ml(-g.value, c, _, u);
                  case 55:
                    return ml(~g.value, c, _, u);
                }
              break;
            case 227: {
              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 ml(m.value | h.value, c, _, u);
                  case 51:
                    return ml(m.value & h.value, c, _, u);
                  case 49:
                    return ml(m.value >> h.value, c, _, u);
                  case 50:
                    return ml(m.value >>> h.value, c, _, u);
                  case 48:
                    return ml(m.value << h.value, c, _, u);
                  case 53:
                    return ml(m.value ^ h.value, c, _, u);
                  case 42:
                    return ml(m.value * h.value, c, _, u);
                  case 44:
                    return ml(m.value / h.value, c, _, u);
                  case 40:
                    return ml(m.value + h.value, c, _, u);
                  case 41:
                    return ml(m.value - h.value, c, _, u);
                  case 45:
                    return ml(m.value % h.value, c, _, u);
                  case 43:
                    return ml(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 ml(
                  "" + m.value + h.value,
                  c,
                  _,
                  u
                );
              break;
            }
            case 11:
            case 15:
              return ml(
                s.text,
                /*isSyntacticallyString*/
                true
              );
            case 229:
              return i(s, o);
            case 9:
              return ml(+s.text);
            case 80:
              return t(s, o);
            case 212:
              if (Za(s))
                return t(s, o);
              break;
            case 213:
              return e(s, o);
          }
          return ml(
            /*value*/
            void 0,
            c,
            _,
            u
          );
        }
        function i(s, o) {
          let c = s.head.text, _ = false, u = false;
          for (const g of s.templateSpans) {
            const m = n(g.expression, o);
            if (m.value === void 0)
              return ml(
                /*value*/
                void 0,
                /*isSyntacticallyString*/
                true
              );
            c += m.value, c += g.literal.text, _ || (_ = m.resolvedOtherFiles), u || (u = m.hasExternalReferences);
          }
          return ml(
            c,
            /*isSyntacticallyString*/
            true,
            _,
            u
          );
        }
        return n;
      }
      function VJ(e) {
        return bb(e) && Kp(e.type) || OD(e) && Kp(e.typeExpression);
      }
      function CN(e) {
        const t = e.members;
        for (const n of t)
          if (n.kind === 177 && Ip(n.body))
            return n;
      }
      function qJ({
        compilerOptions: e,
        requireSymbol: t,
        argumentsSymbol: n,
        error: i,
        getSymbolOfDeclaration: s,
        globals: o,
        lookup: c,
        setRequiresScopeChangeCache: _ = pb,
        getRequiresScopeChangeCache: u = pb,
        onPropertyWithInvalidInitializer: g = uh,
        onFailedToResolveSymbol: m = pb,
        onSuccessfullyResolvedSymbol: h = pb
      }) {
        var S = e.verbatimModuleSyntax ? "verbatimModuleSyntax" : "isolatedModules", T = TJ(e), k = js();
        return D;
        function D(R, B, U, $, W, _e) {
          var K, V, ae;
          const se = R;
          let ce, fe, he, q, be, je = false, me;
          const Z = ms(B) ? B : B.escapedText;
          e:
            for (; R; ) {
              if (Z === "const" && VJ(R))
                return;
              if (_3(R) && fe && R.name === fe && (fe = R, R = R.parent), zm(R) && R.locals && !u0(R) && (ce = c(R.locals, Z, U))) {
                let pe = true;
                if (Cs(R) && fe && fe !== R.body ? (U & ce.flags & 788968 && fe.kind !== 321 && (pe = ce.flags & 262144 ? !!(fe.flags & 16) || // Synthetic fake scopes are added for signatures so type parameters are accessible from them
                fe === R.type || fe.kind === 170 || fe.kind === 342 || fe.kind === 343 || fe.kind === 169 : false), U & ce.flags & 3 && (P(ce, R, fe) ? pe = false : ce.flags & 1 && (pe = fe.kind === 170 || !!(fe.flags & 16) || // Synthetic fake scopes are added for signatures so parameters are accessible from them
                fe === R.type && !!dr(ce.valueDeclaration, Ii)))) : R.kind === 195 && (pe = fe === R.trueType), pe)
                  break e;
                ce = void 0;
              }
              switch (je = je || A(R, fe), R.kind) {
                case 308:
                  if (!Y_(R)) break;
                // falls through
                case 268:
                  const pe = ((K = s(R)) == null ? void 0 : K.exports) || k;
                  if (R.kind === 308 || Lc(R) && R.flags & 33554432 && !Vm(R)) {
                    if (ce = pe.get(
                      "default"
                      /* Default */
                    )) {
                      const Ye = eD(ce);
                      if (Ye && ce.flags & U && Ye.escapedName === Z)
                        break e;
                      ce = void 0;
                    }
                    const Fe = pe.get(Z);
                    if (Fe && Fe.flags === 2097152 && (Ao(
                      Fe,
                      282
                      /* ExportSpecifier */
                    ) || Ao(
                      Fe,
                      281
                      /* NamespaceExport */
                    )))
                      break;
                  }
                  if (Z !== "default" && (ce = c(
                    pe,
                    Z,
                    U & 2623475
                    /* ModuleMember */
                  )))
                    if (Di(R) && R.commonJsModuleIndicator && !((V = ce.declarations) != null && V.some(Op)))
                      ce = void 0;
                    else
                      break e;
                  break;
                case 267:
                  if (ce = c(
                    ((ae = s(R)) == null ? void 0 : ae.exports) || k,
                    Z,
                    U & 8
                    /* EnumMember */
                  )) {
                    $ && Rp(e) && !(R.flags & 33554432) && xr(R) !== xr(ce.valueDeclaration) && i(
                      se,
                      p.Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead,
                      Si(Z),
                      S,
                      `${Si(s(R).escapedName)}.${Si(Z)}`
                    );
                    break e;
                  }
                  break;
                case 173:
                  if (!Bs(R)) {
                    const Fe = CN(R.parent);
                    Fe && Fe.locals && c(
                      Fe.locals,
                      Z,
                      U & 111551
                      /* Value */
                    ) && (E.assertNode(R, as), q = R);
                  }
                  break;
                case 264:
                case 232:
                case 265:
                  if (ce = c(
                    s(R).members || k,
                    Z,
                    U & 788968
                    /* Type */
                  )) {
                    if (!F(ce, R)) {
                      ce = void 0;
                      break;
                    }
                    if (fe && Bs(fe)) {
                      $ && i(se, p.Static_members_cannot_reference_class_type_parameters);
                      return;
                    }
                    break e;
                  }
                  if (Oc(R) && U & 32) {
                    const Fe = R.name;
                    if (Fe && Z === Fe.escapedText) {
                      ce = R.symbol;
                      break e;
                    }
                  }
                  break;
                case 234:
                  if (fe === R.expression && R.parent.token === 96) {
                    const Fe = R.parent.parent;
                    if ($n(Fe) && (ce = c(
                      s(Fe).members,
                      Z,
                      U & 788968
                      /* Type */
                    ))) {
                      $ && i(se, 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 168:
                  if (me = R.parent.parent, ($n(me) || me.kind === 265) && (ce = c(
                    s(me).members,
                    Z,
                    U & 788968
                    /* Type */
                  ))) {
                    $ && i(se, p.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);
                    return;
                  }
                  break;
                case 220:
                  if (pa(e) >= 2)
                    break;
                // falls through
                case 175:
                case 177:
                case 178:
                case 179:
                case 263:
                  if (U & 3 && Z === "arguments") {
                    ce = n;
                    break e;
                  }
                  break;
                case 219:
                  if (U & 3 && Z === "arguments") {
                    ce = n;
                    break e;
                  }
                  if (U & 16) {
                    const Fe = R.name;
                    if (Fe && Z === Fe.escapedText) {
                      ce = R.symbol;
                      break e;
                    }
                  }
                  break;
                case 171:
                  R.parent && R.parent.kind === 170 && (R = R.parent), R.parent && (Uc(R.parent) || R.parent.kind === 264) && (R = R.parent);
                  break;
                case 347:
                case 339:
                case 341:
                case 352:
                  const Te = WC(R);
                  Te && (R = Te.parent);
                  break;
                case 170:
                  fe && (fe === R.initializer || fe === R.name && Ds(fe)) && (be || (be = R));
                  break;
                case 209:
                  fe && (fe === R.initializer || fe === R.name && Ds(fe)) && H1(R) && !be && (be = R);
                  break;
                case 196:
                  if (U & 262144) {
                    const Fe = R.typeParameter.name;
                    if (Fe && Z === Fe.escapedText) {
                      ce = R.typeParameter.symbol;
                      break e;
                    }
                  }
                  break;
                case 282:
                  fe && fe === R.propertyName && R.parent.parent.moduleSpecifier && (R = R.parent.parent.parent);
                  break;
              }
              O(R, fe) && (he = R), fe = R, R = Bp(R) ? p5(R) || R.parent : (Af(R) || FF(R)) && U1(R) || R.parent;
            }
          if (W && ce && (!he || ce !== he.symbol) && (ce.isReferenced |= U), !ce) {
            if (fe && (E.assertNode(fe, Di), fe.commonJsModuleIndicator && Z === "exports" && U & fe.symbol.flags))
              return fe.symbol;
            _e || (ce = c(o, Z, U));
          }
          if (!ce && se && an(se) && se.parent && v_(
            se.parent,
            /*requireStringLiteralLikeArgument*/
            false
          ))
            return t;
          if ($) {
            if (q && g(se, Z, q, ce))
              return;
            ce ? h(se, ce, U, fe, be, je) : m(se, B, U, $);
          }
          return ce;
        }
        function P(R, B, U) {
          const $ = pa(e), W = B;
          if (Ii(U) && W.body && R.valueDeclaration && R.valueDeclaration.pos >= W.body.pos && R.valueDeclaration.end <= W.body.end && $ >= 2) {
            let V = u(W);
            return V === void 0 && (V = lr(W.parameters, _e) || false, _(W, V)), !V;
          }
          return false;
          function _e(V) {
            return K(V.name) || !!V.initializer && K(V.initializer);
          }
          function K(V) {
            switch (V.kind) {
              case 220:
              case 219:
              case 263:
              case 177:
                return false;
              case 175:
              case 178:
              case 179:
              case 304:
                return K(V.name);
              case 173:
                return sl(V) ? !T : K(V.name);
              default:
                return Mj(V) || Tu(V) ? $ < 7 : ha(V) && V.dotDotDotToken && Nf(V.parent) ? $ < 4 : li(V) ? false : Ts(V, K) || false;
            }
          }
        }
        function A(R, B) {
          return R.kind !== 220 && R.kind !== 219 ? Jb(R) || (to(R) || R.kind === 173 && !Bs(R)) && (!B || B !== R.name) : B && B === R.name ? false : R.asteriskToken || Gn(
            R,
            1024
            /* Async */
          ) ? true : !J1(R);
        }
        function O(R, B) {
          switch (R.kind) {
            case 170:
              return !!B && B === R.name;
            case 263:
            case 264:
            case 265:
            case 267:
            case 266:
            case 268:
              return true;
            default:
              return false;
          }
        }
        function F(R, B) {
          if (R.declarations) {
            for (const U of R.declarations)
              if (U.kind === 169 && (Bp(U.parent) ? Db(U.parent) : U.parent) === B)
                return !(Bp(U.parent) && Nn(U.parent.parent.tags, Op));
          }
          return false;
        }
      }
      function uF(e, t = true) {
        switch (E.type(e), e.kind) {
          case 112:
          case 97:
          case 9:
          case 11:
          case 15:
            return true;
          case 10:
            return t;
          case 225:
            return e.operator === 41 ? T_(e.operand) || t && s6(e.operand) : e.operator === 40 ? T_(e.operand) : false;
          default:
            return false;
        }
      }
      function ete(e) {
        for (; e.kind === 218; )
          e = e.expression;
        return e;
      }
      function _F(e) {
        switch (E.type(e), e.kind) {
          case 170:
          case 172:
          case 173:
          case 209:
          case 212:
          case 213:
          case 227:
          case 261:
          case 278:
          case 304:
          case 305:
          case 342:
          case 349:
            return true;
          default:
            return false;
        }
      }
      function HJ(e) {
        const t = dr(e, Wo);
        return !!t && !t.importClause;
      }
      var tte = [
        "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"
      ], rte = new Set(tte), fF = /* @__PURE__ */ new Set([
        "node:sea",
        "node:sqlite",
        "node:test",
        "node:test/reporters"
      ]), n6 = /* @__PURE__ */ new Set([
        ...tte,
        ...tte.map((e) => `node:${e}`),
        ...fF
      ]);
      function pF(e, t, n, i) {
        const s = an(e), o = /import|require/g;
        for (; o.exec(e.text) !== null; ) {
          const c = k9e(
            e,
            o.lastIndex,
            /*includeJSDoc*/
            t
          );
          if (s && v_(c, n))
            i(c, c.arguments[0]);
          else if (y_(c) && c.arguments.length >= 1 && (!n || Ma(c.arguments[0])))
            i(c, c.arguments[0]);
          else if (t && mh(c))
            i(c, c.argument.literal);
          else if (t && vm(c)) {
            const _ = ux(c);
            _ && oa(_) && _.text && i(c, _);
          }
        }
      }
      function k9e(e, t, n) {
        const i = an(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 && bf(s) && lr(s.jsDoc, o) || Ts(s, o);
          if (!c || bS(c))
            return s;
          s = c;
        }
      }
      function nte(e) {
        return Cs(e) || x0(e) || yS(e);
      }
      function GJ(e) {
        return uy(e.fileName);
      }
      function $J(e) {
        const t = GJ(e);
        return qz.get(t);
      }
      function XJ(e, t) {
        return bD(
          /*projectReferences*/
          void 0,
          e,
          (n) => n && t(n)
        );
      }
      function bD(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 lr(
            _,
            (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);
            }
          ) || lr(
            _,
            (m) => m && !g?.has(m) ? o(m.commandLine.projectReferences, m.references, m) : void 0
          );
        }
      }
      function QJ(e, t, n) {
        return e && C9e(e, t, n);
      }
      function C9e(e, t, n) {
        return MC(e, t, (i) => Kl(i.initializer) ? Nn(i.initializer.elements, (s) => oa(s) && s.text === n) : void 0);
      }
      function ite(e, t, n) {
        return YJ(e, t, (i) => oa(i.initializer) && i.initializer.text === n ? i.initializer : void 0);
      }
      function YJ(e, t, n) {
        return MC(e, t, n);
      }
      function Wa(e, t = true) {
        const n = e && Zhe(e);
        return n && !t && tf(n), X1(
          n,
          /*incremental*/
          false
        );
      }
      function EN(e, t, n) {
        let i = n(e);
        return i ? Cn(i, e) : i = Zhe(e, n), i && !t && tf(i), i;
      }
      function Zhe(e, t) {
        const n = t ? (o) => EN(
          o,
          /*includeTrivia*/
          true,
          t
        ) : Wa, s = br(
          e,
          n,
          /*context*/
          void 0,
          t ? (o) => o && ZJ(
            o,
            /*includeTrivia*/
            true,
            t
          ) : (o) => o && Bb(o),
          n
        );
        if (s === e) {
          const o = oa(e) ? Cn(N.createStringLiteralFromNode(e), e) : T_(e) ? Cn(N.createNumericLiteral(e.text, e.numericLiteralFlags), e) : N.cloneNode(e);
          return ct(o, e);
        }
        return s.parent = void 0, s;
      }
      function Bb(e, t = true) {
        if (e) {
          const n = N.createNodeArray(e.map((i) => Wa(i, t)), e.hasTrailingComma);
          return ct(n, e), n;
        }
        return e;
      }
      function ZJ(e, t, n) {
        return N.createNodeArray(e.map((i) => EN(i, t, n)), e.hasTrailingComma);
      }
      function tf(e) {
        KJ(e), ste(e);
      }
      function KJ(e) {
        ate(e, 1024, E9e);
      }
      function ste(e) {
        ate(e, 2048, mJ);
      }
      function ate(e, t, n) {
        fm(e, t);
        const i = n(e);
        i && ate(i, t, n);
      }
      function E9e(e) {
        return Ts(e, (t) => t);
      }
      function ote() {
        let e, t, n, i, s;
        return {
          createBaseSourceFileNode: o,
          createBaseIdentifierNode: c,
          createBasePrivateIdentifierNode: _,
          createBaseTokenNode: u,
          createBaseNode: g
        };
        function o(m) {
          return new (s || (s = Yl.getSourceFileConstructor()))(
            m,
            /*pos*/
            -1,
            /*end*/
            -1
          );
        }
        function c(m) {
          return new (n || (n = Yl.getIdentifierConstructor()))(
            m,
            /*pos*/
            -1,
            /*end*/
            -1
          );
        }
        function _(m) {
          return new (i || (i = Yl.getPrivateIdentifierConstructor()))(
            m,
            /*pos*/
            -1,
            /*end*/
            -1
          );
        }
        function u(m) {
          return new (t || (t = Yl.getTokenConstructor()))(
            m,
            /*pos*/
            -1,
            /*end*/
            -1
          );
        }
        function g(m) {
          return new (e || (e = Yl.getNodeConstructor()))(
            m,
            /*pos*/
            -1,
            /*end*/
            -1
          );
        }
      }
      function cte(e) {
        let t, n;
        return {
          getParenthesizeLeftSideOfBinaryForOperator: i,
          getParenthesizeRightSideOfBinaryForOperator: s,
          parenthesizeLeftSideOfBinary: m,
          parenthesizeRightSideOfBinary: h,
          parenthesizeExpressionOfComputedPropertyName: S,
          parenthesizeConditionOfConditionalExpression: T,
          parenthesizeBranchOfConditionalExpression: k,
          parenthesizeExpressionOfExportDefault: D,
          parenthesizeExpressionOfNew: P,
          parenthesizeLeftSideOfAccess: A,
          parenthesizeOperandOfPostfixUnary: O,
          parenthesizeOperandOfPrefixUnary: F,
          parenthesizeExpressionsOfCommaDelimitedList: R,
          parenthesizeExpressionForDisallowedComma: B,
          parenthesizeExpressionOfExpressionStatement: U,
          parenthesizeConciseBodyOfArrowFunction: $,
          parenthesizeCheckTypeOfConditionalType: W,
          parenthesizeExtendsTypeOfConditionalType: _e,
          parenthesizeConstituentTypesOfUnionType: V,
          parenthesizeConstituentTypeOfUnionType: K,
          parenthesizeConstituentTypesOfIntersectionType: se,
          parenthesizeConstituentTypeOfIntersectionType: ae,
          parenthesizeOperandOfTypeOperator: ce,
          parenthesizeOperandOfReadonlyTypeOperator: fe,
          parenthesizeNonArrayTypeOfPostfixType: he,
          parenthesizeElementTypesOfTupleType: q,
          parenthesizeElementTypeOfTupleType: be,
          parenthesizeTypeOfOptionalType: me,
          parenthesizeTypeArguments: Te,
          parenthesizeLeadingTypeArgument: Z
        };
        function i(Fe) {
          t || (t = /* @__PURE__ */ new Map());
          let Ye = t.get(Fe);
          return Ye || (Ye = (ne) => m(Fe, ne), t.set(Fe, Ye)), Ye;
        }
        function s(Fe) {
          n || (n = /* @__PURE__ */ new Map());
          let Ye = n.get(Fe);
          return Ye || (Ye = (ne) => h(
            Fe,
            /*leftSide*/
            void 0,
            ne
          ), n.set(Fe, Ye)), Ye;
        }
        function o(Fe, Ye) {
          return Fe === 61 ? Ye === 56 || Ye === 57 : Ye === 61 ? Fe === 56 || Fe === 57 : false;
        }
        function c(Fe, Ye, ne, Se) {
          const ie = ed(Ye);
          if (_n(ie) && o(Fe, ie.operatorToken.kind))
            return true;
          const Ne = Q3(227, Fe), Ee = WB(227, Fe);
          if (!ne && Ye.kind === 220 && Ne > 3)
            return true;
          const Ce = $4(ie);
          switch (po(Ce, Ne)) {
            case -1:
              return !(!ne && Ee === 1 && Ye.kind === 230);
            case 1:
              return false;
            case 0:
              if (ne)
                return Ee === 1;
              if (_n(ie) && ie.operatorToken.kind === Fe) {
                if (_(Fe))
                  return false;
                if (Fe === 40) {
                  const St = Se ? u(Se) : 0;
                  if (T4(St) && St === u(ie))
                    return false;
                }
              }
              return zB(ie) === 0;
          }
        }
        function _(Fe) {
          return Fe === 42 || Fe === 52 || Fe === 51 || Fe === 53 || Fe === 28;
        }
        function u(Fe) {
          if (Fe = ed(Fe), T4(Fe.kind))
            return Fe.kind;
          if (Fe.kind === 227 && Fe.operatorToken.kind === 40) {
            if (Fe.cachedLiteralKind !== void 0)
              return Fe.cachedLiteralKind;
            const Ye = u(Fe.left), ne = T4(Ye) && Ye === u(Fe.right) ? Ye : 0;
            return Fe.cachedLiteralKind = ne, ne;
          }
          return 0;
        }
        function g(Fe, Ye, ne, Se) {
          return ed(Ye).kind === 218 ? Ye : c(Fe, Ye, ne, Se) ? e.createParenthesizedExpression(Ye) : Ye;
        }
        function m(Fe, Ye) {
          return g(
            Fe,
            Ye,
            /*isLeftSideOfBinary*/
            true
          );
        }
        function h(Fe, Ye, ne) {
          return g(
            Fe,
            ne,
            /*isLeftSideOfBinary*/
            false,
            Ye
          );
        }
        function S(Fe) {
          return MD(Fe) ? e.createParenthesizedExpression(Fe) : Fe;
        }
        function T(Fe) {
          const Ye = Q3(
            228,
            58
            /* QuestionToken */
          ), ne = ed(Fe), Se = $4(ne);
          return po(Se, Ye) !== 1 ? e.createParenthesizedExpression(Fe) : Fe;
        }
        function k(Fe) {
          const Ye = ed(Fe);
          return MD(Ye) ? e.createParenthesizedExpression(Fe) : Fe;
        }
        function D(Fe) {
          const Ye = ed(Fe);
          let ne = MD(Ye);
          if (!ne)
            switch (ZC(
              Ye,
              /*stopAtCallExpressions*/
              false
            ).kind) {
              case 232:
              case 219:
                ne = true;
            }
          return ne ? e.createParenthesizedExpression(Fe) : Fe;
        }
        function P(Fe) {
          const Ye = ZC(
            Fe,
            /*stopAtCallExpressions*/
            true
          );
          switch (Ye.kind) {
            case 214:
              return e.createParenthesizedExpression(Fe);
            case 215:
              return Ye.arguments ? Fe : e.createParenthesizedExpression(Fe);
          }
          return A(Fe);
        }
        function A(Fe, Ye) {
          const ne = ed(Fe);
          return h_(ne) && (ne.kind !== 215 || ne.arguments) && (Ye || !Tu(ne)) ? Fe : ct(e.createParenthesizedExpression(Fe), Fe);
        }
        function O(Fe) {
          return h_(Fe) ? Fe : ct(e.createParenthesizedExpression(Fe), Fe);
        }
        function F(Fe) {
          return Hj(Fe) ? Fe : ct(e.createParenthesizedExpression(Fe), Fe);
        }
        function R(Fe) {
          const Ye = Gc(Fe, B);
          return ct(e.createNodeArray(Ye, Fe.hasTrailingComma), Fe);
        }
        function B(Fe) {
          const Ye = ed(Fe), ne = $4(Ye), Se = Q3(
            227,
            28
            /* CommaToken */
          );
          return ne > Se ? Fe : ct(e.createParenthesizedExpression(Fe), Fe);
        }
        function U(Fe) {
          const Ye = ed(Fe);
          if (ws(Ye)) {
            const Se = Ye.expression, ie = ed(Se).kind;
            if (ie === 219 || ie === 220) {
              const Ne = e.updateCallExpression(
                Ye,
                ct(e.createParenthesizedExpression(Se), Se),
                Ye.typeArguments,
                Ye.arguments
              );
              return e.restoreOuterExpressions(
                Fe,
                Ne,
                8
                /* PartiallyEmittedExpressions */
              );
            }
          }
          const ne = ZC(
            Ye,
            /*stopAtCallExpressions*/
            false
          ).kind;
          return ne === 211 || ne === 219 ? ct(e.createParenthesizedExpression(Fe), Fe) : Fe;
        }
        function $(Fe) {
          return !Ps(Fe) && (MD(Fe) || ZC(
            Fe,
            /*stopAtCallExpressions*/
            false
          ).kind === 211) ? ct(e.createParenthesizedExpression(Fe), Fe) : Fe;
        }
        function W(Fe) {
          switch (Fe.kind) {
            case 185:
            case 186:
            case 195:
              return e.createParenthesizedType(Fe);
          }
          return Fe;
        }
        function _e(Fe) {
          switch (Fe.kind) {
            case 195:
              return e.createParenthesizedType(Fe);
          }
          return Fe;
        }
        function K(Fe) {
          switch (Fe.kind) {
            case 193:
            // Not strictly necessary, but a union containing a union should have been flattened
            case 194:
              return e.createParenthesizedType(Fe);
          }
          return W(Fe);
        }
        function V(Fe) {
          return e.createNodeArray(Gc(Fe, K));
        }
        function ae(Fe) {
          switch (Fe.kind) {
            case 193:
            case 194:
              return e.createParenthesizedType(Fe);
          }
          return K(Fe);
        }
        function se(Fe) {
          return e.createNodeArray(Gc(Fe, ae));
        }
        function ce(Fe) {
          switch (Fe.kind) {
            case 194:
              return e.createParenthesizedType(Fe);
          }
          return ae(Fe);
        }
        function fe(Fe) {
          switch (Fe.kind) {
            case 199:
              return e.createParenthesizedType(Fe);
          }
          return ce(Fe);
        }
        function he(Fe) {
          switch (Fe.kind) {
            case 196:
            case 199:
            case 187:
              return e.createParenthesizedType(Fe);
          }
          return ce(Fe);
        }
        function q(Fe) {
          return e.createNodeArray(Gc(Fe, be));
        }
        function be(Fe) {
          return je(Fe) ? e.createParenthesizedType(Fe) : Fe;
        }
        function je(Fe) {
          return d6(Fe) ? Fe.postfix : o6(Fe) || $m(Fe) || a6(Fe) || Y1(Fe) ? je(Fe.type) : zb(Fe) ? je(Fe.falseType) : b0(Fe) || Bx(Fe) ? je(fa(Fe.types)) : gS(Fe) ? !!Fe.typeParameter.constraint && je(Fe.typeParameter.constraint) : false;
        }
        function me(Fe) {
          return je(Fe) ? e.createParenthesizedType(Fe) : he(Fe);
        }
        function Z(Fe) {
          return TZ(Fe) && Fe.typeParameters ? e.createParenthesizedType(Fe) : Fe;
        }
        function pe(Fe, Ye) {
          return Ye === 0 ? Z(Fe) : Fe;
        }
        function Te(Fe) {
          if (ot(Fe))
            return e.createNodeArray(Gc(Fe, pe));
        }
      }
      var lte = {
        getParenthesizeLeftSideOfBinaryForOperator: (e) => fo,
        getParenthesizeRightSideOfBinaryForOperator: (e) => fo,
        parenthesizeLeftSideOfBinary: (e, t) => t,
        parenthesizeRightSideOfBinary: (e, t, n) => n,
        parenthesizeExpressionOfComputedPropertyName: fo,
        parenthesizeConditionOfConditionalExpression: fo,
        parenthesizeBranchOfConditionalExpression: fo,
        parenthesizeExpressionOfExportDefault: fo,
        parenthesizeExpressionOfNew: (e) => Ws(e, h_),
        parenthesizeLeftSideOfAccess: (e) => Ws(e, h_),
        parenthesizeOperandOfPostfixUnary: (e) => Ws(e, h_),
        parenthesizeOperandOfPrefixUnary: (e) => Ws(e, Hj),
        parenthesizeExpressionsOfCommaDelimitedList: (e) => Ws(e, hb),
        parenthesizeExpressionForDisallowedComma: fo,
        parenthesizeExpressionOfExpressionStatement: fo,
        parenthesizeConciseBodyOfArrowFunction: fo,
        parenthesizeCheckTypeOfConditionalType: fo,
        parenthesizeExtendsTypeOfConditionalType: fo,
        parenthesizeConstituentTypesOfUnionType: (e) => Ws(e, hb),
        parenthesizeConstituentTypeOfUnionType: fo,
        parenthesizeConstituentTypesOfIntersectionType: (e) => Ws(e, hb),
        parenthesizeConstituentTypeOfIntersectionType: fo,
        parenthesizeOperandOfTypeOperator: fo,
        parenthesizeOperandOfReadonlyTypeOperator: fo,
        parenthesizeNonArrayTypeOfPostfixType: fo,
        parenthesizeElementTypesOfTupleType: (e) => Ws(e, hb),
        parenthesizeElementTypeOfTupleType: fo,
        parenthesizeTypeOfOptionalType: fo,
        parenthesizeTypeArguments: (e) => e && Ws(e, hb),
        parenthesizeLeadingTypeArgument: fo
      };
      function ute(e) {
        return {
          convertToFunctionBlock: t,
          convertToFunctionExpression: n,
          convertToClassExpression: i,
          convertToArrayAssignmentElement: s,
          convertToObjectAssignmentElement: o,
          convertToAssignmentPattern: c,
          convertToObjectAssignmentPattern: _,
          convertToArrayAssignmentPattern: u,
          convertToAssignmentElementTarget: g
        };
        function t(m, h) {
          if (Ps(m)) return m;
          const S = e.createReturnStatement(m);
          ct(S, m);
          const T = e.createBlock([S], h);
          return ct(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 = gb(m)) == null ? void 0 : h.filter((T) => !Ox(T) && !xF(T)),
            m.asteriskToken,
            m.name,
            m.typeParameters,
            m.parameters,
            m.type,
            m.body
          );
          return Cn(S, m), ct(S, m), SD(m) && gF(
            S,
            /*newLine*/
            true
          ), S;
        }
        function i(m) {
          var h;
          const S = e.createClassExpression(
            (h = m.modifiers) == null ? void 0 : h.filter((T) => !Ox(T) && !xF(T)),
            m.name,
            m.typeParameters,
            m.heritageClauses,
            m.members
          );
          return Cn(S, m), ct(S, m), SD(m) && gF(
            S,
            /*newLine*/
            true
          ), S;
        }
        function s(m) {
          if (ha(m)) {
            if (m.dotDotDotToken)
              return E.assertNode(m.name, Me), Cn(ct(e.createSpreadElement(m.name), m), m);
            const h = g(m.name);
            return m.initializer ? Cn(
              ct(
                e.createAssignment(h, m.initializer),
                m
              ),
              m
            ) : h;
          }
          return Ws(m, ut);
        }
        function o(m) {
          if (ha(m)) {
            if (m.dotDotDotToken)
              return E.assertNode(m.name, Me), Cn(ct(e.createSpreadAssignment(m.name), m), m);
            if (m.propertyName) {
              const h = g(m.name);
              return Cn(ct(e.createPropertyAssignment(m.propertyName, m.initializer ? e.createAssignment(h, m.initializer) : h), m), m);
            }
            return E.assertNode(m.name, Me), Cn(ct(e.createShorthandPropertyAssignment(m.name, m.initializer), m), m);
          }
          return Ws(m, dh);
        }
        function c(m) {
          switch (m.kind) {
            case 208:
            case 210:
              return u(m);
            case 207:
            case 211:
              return _(m);
          }
        }
        function _(m) {
          return Nf(m) ? Cn(
            ct(
              e.createObjectLiteralExpression(hr(m.elements, o)),
              m
            ),
            m
          ) : Ws(m, ua);
        }
        function u(m) {
          return T0(m) ? Cn(
            ct(
              e.createArrayLiteralExpression(hr(m.elements, s)),
              m
            ),
            m
          ) : Ws(m, Kl);
        }
        function g(m) {
          return Ds(m) ? c(m) : Ws(m, ut);
        }
      }
      var _te = {
        convertToFunctionBlock: Us,
        convertToFunctionExpression: Us,
        convertToClassExpression: Us,
        convertToArrayAssignmentElement: Us,
        convertToObjectAssignmentElement: Us,
        convertToAssignmentPattern: Us,
        convertToObjectAssignmentPattern: Us,
        convertToArrayAssignmentPattern: Us,
        convertToAssignmentElementTarget: Us
      }, ez = 0, fte = /* @__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))(fte || {}), Khe = [];
      function e0e(e) {
        Khe.push(e);
      }
      function DN(e, t) {
        const n = e & 8 ? fo : Cn, i = Bu(() => e & 1 ? lte : cte(A)), s = Bu(() => e & 2 ? _te : ute(A)), o = Kd((v) => (w, j) => zr(w, v, j)), c = Kd((v) => (w) => et(v, w)), _ = Kd((v) => (w) => Gt(w, v)), u = Kd((v) => () => _s(v)), g = Kd((v) => (w) => KS(v, w)), m = Kd((v) => (w, j) => fn(v, w, j)), h = Kd((v) => (w, j) => B_(v, w, j)), S = Kd((v) => (w, j) => s1(v, w, j)), T = Kd((v) => (w, j) => Bv(v, w, j)), k = Kd((v) => (w, j, oe) => Uh(v, w, j, oe)), D = Kd((v) => (w, j, oe) => gE(v, w, j, oe)), P = Kd((v) => (w, j, oe, Ue) => Jv(v, w, j, oe, Ue)), A = {
          get parenthesizer() {
            return i();
          },
          get converters() {
            return s();
          },
          baseFactory: t,
          flags: e,
          createNodeArray: O,
          createNumericLiteral: U,
          createBigIntLiteral: $,
          createStringLiteral: _e,
          createStringLiteralFromNode: K,
          createRegularExpressionLiteral: V,
          createLiteralLikeNode: ae,
          createIdentifier: fe,
          createTempVariable: he,
          createLoopVariable: q,
          createUniqueName: be,
          getGeneratedNameForNode: je,
          createPrivateIdentifier: Z,
          createUniquePrivateName: Te,
          getGeneratedPrivateNameForNode: Fe,
          createToken: ne,
          createSuper: Se,
          createThis: ie,
          createNull: Ne,
          createTrue: Ee,
          createFalse: Ce,
          createModifier: Ve,
          createModifiersFromModifierFlags: St,
          createQualifiedName: Bt,
          updateQualifiedName: tr,
          createComputedPropertyName: Nr,
          updateComputedPropertyName: st,
          createTypeParameterDeclaration: Wt,
          updateTypeParameterDeclaration: Jr,
          createParameterDeclaration: ui,
          updateParameterDeclaration: Ji,
          createDecorator: Dt,
          updateDecorator: Mn,
          createPropertySignature: ai,
          updatePropertySignature: fi,
          createPropertyDeclaration: _i,
          updatePropertyDeclaration: Je,
          createMethodSignature: ft,
          updateMethodSignature: er,
          createMethodDeclaration: qr,
          updateMethodDeclaration: Jn,
          createConstructorDeclaration: yr,
          updateConstructorDeclaration: vs,
          createGetAccessorDeclaration: Et,
          updateGetAccessorDeclaration: re,
          createSetAccessorDeclaration: Y,
          updateSetAccessorDeclaration: Ae,
          createCallSignature: Ke,
          updateCallSignature: Tt,
          createConstructSignature: Le,
          updateConstructSignature: mt,
          createIndexSignature: pt,
          updateIndexSignature: Ct,
          createClassStaticBlockDeclaration: ki,
          updateClassStaticBlockDeclaration: Es,
          createTemplateLiteralTypeSpan: qe,
          updateTemplateLiteralTypeSpan: Lt,
          createKeywordTypeNode: rn,
          createTypePredicateNode: Pe,
          updateTypePredicateNode: yt,
          createTypeReferenceNode: ue,
          updateTypeReferenceNode: M,
          createFunctionTypeNode: ye,
          updateFunctionTypeNode: Q,
          createConstructorTypeNode: Mt,
          updateConstructorTypeNode: wt,
          createTypeQueryNode: Pr,
          updateTypeQueryNode: rt,
          createTypeLiteralNode: vt,
          updateTypeLiteralNode: Nt,
          createArrayTypeNode: Jt,
          updateArrayTypeNode: _r,
          createTupleTypeNode: nr,
          updateTupleTypeNode: kt,
          createNamedTupleMember: cr,
          updateNamedTupleMember: fr,
          createOptionalTypeNode: vr,
          updateOptionalTypeNode: Xt,
          createRestTypeNode: oi,
          updateRestTypeNode: Is,
          createUnionTypeNode: uc,
          updateUnionTypeNode: Xo,
          createIntersectionTypeNode: ro,
          updateIntersectionTypeNode: zi,
          createConditionalTypeNode: gs,
          updateConditionalTypeNode: Vc,
          createInferTypeNode: To,
          updateInferTypeNode: ea,
          createImportTypeNode: os,
          updateImportTypeNode: zs,
          createParenthesizedType: Aa,
          updateParenthesizedType: ya,
          createThisTypeNode: zt,
          createTypeOperatorNode: Xa,
          updateTypeOperatorNode: mc,
          createIndexedAccessTypeNode: Nc,
          updateIndexedAccessTypeNode: Wl,
          createMappedTypeNode: co,
          updateMappedTypeNode: ge,
          createLiteralTypeNode: H,
          updateLiteralTypeNode: tt,
          createTemplateLiteralType: xc,
          updateTemplateLiteralType: Rf,
          createObjectBindingPattern: Ft,
          updateObjectBindingPattern: Kt,
          createArrayBindingPattern: Hr,
          updateArrayBindingPattern: Vn,
          createBindingElement: ln,
          updateBindingElement: kr,
          createArrayLiteralExpression: Li,
          updateArrayLiteralExpression: Yi,
          createObjectLiteralExpression: eo,
          updateObjectLiteralExpression: ta,
          createPropertyAccessExpression: e & 4 ? (v, w) => un(
            qc(v, w),
            262144
            /* NoIndentation */
          ) : qc,
          updatePropertyAccessExpression: Rc,
          createPropertyAccessChain: e & 4 ? (v, w, j) => un(
            go(v, w, j),
            262144
            /* NoIndentation */
          ) : go,
          updatePropertyAccessChain: tc,
          createElementAccessExpression: ru,
          updateElementAccessExpression: Tf,
          createElementAccessChain: C_,
          updateElementAccessChain: Ie,
          createCallExpression: Mr,
          updateCallExpression: Gi,
          createCallChain: Ea,
          updateCallChain: Da,
          createNewExpression: da,
          updateNewExpression: tl,
          createTaggedTemplateExpression: Eo,
          updateTaggedTemplateExpression: rc,
          createTypeAssertion: gc,
          updateTypeAssertion: xf,
          createParenthesizedExpression: Ul,
          updateParenthesizedExpression: Nl,
          createFunctionExpression: lf,
          updateFunctionExpression: Hu,
          createArrowFunction: pp,
          updateArrowFunction: eg,
          createDeleteExpression: Wg,
          updateDeleteExpression: Ug,
          createTypeOfExpression: E_,
          updateTypeOfExpression: yl,
          createVoidExpression: Md,
          updateVoidExpression: jf,
          createAwaitExpression: Em,
          updateAwaitExpression: ee,
          createPrefixUnaryExpression: et,
          updatePrefixUnaryExpression: Ut,
          createPostfixUnaryExpression: Gt,
          updatePostfixUnaryExpression: Sr,
          createBinaryExpression: zr,
          updateBinaryExpression: ni,
          createConditionalExpression: wi,
          updateConditionalExpression: L,
          createTemplateExpression: Oe,
          updateTemplateExpression: xt,
          createTemplateHead: jo,
          createTemplateMiddle: ra,
          createTemplateTail: Al,
          createNoSubstitutionTemplateLiteral: uf,
          createTemplateLiteralLikeNode: hs,
          createYieldExpression: Bf,
          updateYieldExpression: dp,
          createSpreadElement: Fh,
          updateSpreadElement: A0,
          createClassExpression: o_,
          updateClassExpression: tg,
          createOmittedExpression: Rd,
          createExpressionWithTypeArguments: Vp,
          updateExpressionWithTypeArguments: e1,
          createAsExpression: Be,
          updateAsExpression: nt,
          createNonNullExpression: Rt,
          updateNonNullExpression: pr,
          createSatisfiesExpression: Or,
          updateSatisfiesExpression: dn,
          createNonNullChain: Ir,
          updateNonNullChain: Vr,
          createMetaProperty: hi,
          updateMetaProperty: ts,
          createTemplateSpan: Zn,
          updateTemplateSpan: rs,
          createSemicolonClassElement: Pi,
          createBlock: Bo,
          updateBlock: D_,
          createVariableStatement: qp,
          updateVariableStatement: Vl,
          createEmptyStatement: Hp,
          createExpressionStatement: _f,
          updateExpressionStatement: xv,
          createIfStatement: Dm,
          updateIfStatement: rg,
          createDoStatement: kv,
          updateDoStatement: ng,
          createWhileStatement: cE,
          updateWhileStatement: zw,
          createForStatement: lE,
          updateForStatement: Vg,
          createForInStatement: Cv,
          updateForInStatement: VS,
          createForOfStatement: I0,
          updateForOfStatement: qS,
          createContinueStatement: bk,
          updateContinueStatement: Ww,
          createBreakStatement: HS,
          updateBreakStatement: Sk,
          createReturnStatement: Ev,
          updateReturnStatement: uE,
          createWithStatement: GS,
          updateWithStatement: Tk,
          createSwitchStatement: u2,
          updateSwitchStatement: t1,
          createLabeledStatement: xk,
          updateLabeledStatement: kk,
          createThrowStatement: _2,
          updateThrowStatement: r1,
          createTryStatement: F0,
          updateTryStatement: Oh,
          createDebuggerStatement: Lh,
          createVariableDeclaration: Mh,
          updateVariableDeclaration: n1,
          createVariableDeclarationList: Dv,
          updateVariableDeclarationList: $S,
          createFunctionDeclaration: wv,
          updateFunctionDeclaration: Pa,
          createClassDeclaration: _E,
          updateClassDeclaration: Rh,
          createInterfaceDeclaration: jh,
          updateInterfaceDeclaration: ig,
          createTypeAliasDeclaration: Oo,
          updateTypeAliasDeclaration: du,
          createEnumDeclaration: w_,
          updateEnumDeclaration: mu,
          createModuleDeclaration: Pv,
          updateModuleDeclaration: Gu,
          createModuleBlock: sg,
          updateModuleBlock: c_,
          createCaseBlock: Gp,
          updateCaseBlock: ld,
          createNamespaceExportDeclaration: Nv,
          updateNamespaceExportDeclaration: Av,
          createImportEqualsDeclaration: fE,
          updateImportEqualsDeclaration: O0,
          createImportDeclaration: f2,
          updateImportDeclaration: ze,
          createImportClause: QS,
          updateImportClause: qg,
          createAssertClause: ud,
          updateAssertClause: L0,
          createAssertEntry: i1,
          updateAssertEntry: $u,
          createImportTypeAssertionContainer: jd,
          updateImportTypeAssertionContainer: $p,
          createImportAttributes: Iv,
          updateImportAttributes: ma,
          createImportAttribute: Jf,
          updateImportAttribute: M0,
          createNamespaceImport: YS,
          updateNamespaceImport: Bh,
          createNamespaceExport: p2,
          updateNamespaceExport: mp,
          createNamedImports: Hg,
          updateNamedImports: Fv,
          createImportSpecifier: R0,
          updateImportSpecifier: wm,
          createExportAssignment: d2,
          updateExportAssignment: Ov,
          createExportDeclaration: Pn,
          updateExportDeclaration: xn,
          createNamedExports: ZS,
          updateNamedExports: Jh,
          createExportSpecifier: m2,
          updateExportSpecifier: pE,
          createMissingDeclaration: Vw,
          createExternalModuleReference: bn,
          updateExternalModuleReference: Xu,
          // lazily load factory members for JSDoc types with similar structure
          get createJSDocAllType() {
            return u(
              313
              /* JSDocAllType */
            );
          },
          get createJSDocUnknownType() {
            return u(
              314
              /* JSDocUnknownType */
            );
          },
          get createJSDocNonNullableType() {
            return h(
              316
              /* JSDocNonNullableType */
            );
          },
          get updateJSDocNonNullableType() {
            return S(
              316
              /* JSDocNonNullableType */
            );
          },
          get createJSDocNullableType() {
            return h(
              315
              /* JSDocNullableType */
            );
          },
          get updateJSDocNullableType() {
            return S(
              315
              /* JSDocNullableType */
            );
          },
          get createJSDocOptionalType() {
            return g(
              317
              /* JSDocOptionalType */
            );
          },
          get updateJSDocOptionalType() {
            return m(
              317
              /* JSDocOptionalType */
            );
          },
          get createJSDocVariadicType() {
            return g(
              319
              /* JSDocVariadicType */
            );
          },
          get updateJSDocVariadicType() {
            return m(
              319
              /* JSDocVariadicType */
            );
          },
          get createJSDocNamepathType() {
            return g(
              320
              /* JSDocNamepathType */
            );
          },
          get updateJSDocNamepathType() {
            return m(
              320
              /* JSDocNamepathType */
            );
          },
          createJSDocFunctionType: dE,
          updateJSDocFunctionType: Ck,
          createJSDocTypeLiteral: Au,
          updateJSDocTypeLiteral: ag,
          createJSDocTypeExpression: Bd,
          updateJSDocTypeExpression: a1,
          createJSDocSignature: eT,
          updateJSDocSignature: o1,
          createJSDocTemplateTag: P_,
          updateJSDocTemplateTag: j0,
          createJSDocTypedefTag: Lv,
          updateJSDocTypedefTag: Ek,
          createJSDocParameterTag: Mv,
          updateJSDocParameterTag: c1,
          createJSDocPropertyTag: Dk,
          updateJSDocPropertyTag: zh,
          createJSDocCallbackTag: Pm,
          updateJSDocCallbackTag: l1,
          createJSDocOverloadTag: Rv,
          updateJSDocOverloadTag: B0,
          createJSDocAugmentsTag: u1,
          updateJSDocAugmentsTag: fd,
          createJSDocImplementsTag: Wh,
          updateJSDocImplementsTag: Nk,
          createJSDocSeeTag: Gg,
          updateJSDocSeeTag: _1,
          createJSDocImportTag: N_,
          updateJSDocImportTag: hp,
          createJSDocNameReference: Il,
          updateJSDocNameReference: g2,
          createJSDocMemberName: $g,
          updateJSDocMemberName: jv,
          createJSDocLink: tT,
          updateJSDocLink: Xg,
          createJSDocLinkCode: mE,
          updateJSDocLinkCode: wk,
          createJSDocLinkPlain: Pk,
          updateJSDocLinkPlain: qw,
          // lazily load factory members for JSDoc tags with similar structure
          get createJSDocTypeTag() {
            return D(
              345
              /* JSDocTypeTag */
            );
          },
          get updateJSDocTypeTag() {
            return P(
              345
              /* JSDocTypeTag */
            );
          },
          get createJSDocReturnTag() {
            return D(
              343
              /* JSDocReturnTag */
            );
          },
          get updateJSDocReturnTag() {
            return P(
              343
              /* JSDocReturnTag */
            );
          },
          get createJSDocThisTag() {
            return D(
              344
              /* JSDocThisTag */
            );
          },
          get updateJSDocThisTag() {
            return P(
              344
              /* JSDocThisTag */
            );
          },
          get createJSDocAuthorTag() {
            return T(
              331
              /* JSDocAuthorTag */
            );
          },
          get updateJSDocAuthorTag() {
            return k(
              331
              /* JSDocAuthorTag */
            );
          },
          get createJSDocClassTag() {
            return T(
              333
              /* JSDocClassTag */
            );
          },
          get updateJSDocClassTag() {
            return k(
              333
              /* JSDocClassTag */
            );
          },
          get createJSDocPublicTag() {
            return T(
              334
              /* JSDocPublicTag */
            );
          },
          get updateJSDocPublicTag() {
            return k(
              334
              /* JSDocPublicTag */
            );
          },
          get createJSDocPrivateTag() {
            return T(
              335
              /* JSDocPrivateTag */
            );
          },
          get updateJSDocPrivateTag() {
            return k(
              335
              /* JSDocPrivateTag */
            );
          },
          get createJSDocProtectedTag() {
            return T(
              336
              /* JSDocProtectedTag */
            );
          },
          get updateJSDocProtectedTag() {
            return k(
              336
              /* JSDocProtectedTag */
            );
          },
          get createJSDocReadonlyTag() {
            return T(
              337
              /* JSDocReadonlyTag */
            );
          },
          get updateJSDocReadonlyTag() {
            return k(
              337
              /* JSDocReadonlyTag */
            );
          },
          get createJSDocOverrideTag() {
            return T(
              338
              /* JSDocOverrideTag */
            );
          },
          get updateJSDocOverrideTag() {
            return k(
              338
              /* JSDocOverrideTag */
            );
          },
          get createJSDocDeprecatedTag() {
            return T(
              332
              /* JSDocDeprecatedTag */
            );
          },
          get updateJSDocDeprecatedTag() {
            return k(
              332
              /* JSDocDeprecatedTag */
            );
          },
          get createJSDocThrowsTag() {
            return D(
              350
              /* JSDocThrowsTag */
            );
          },
          get updateJSDocThrowsTag() {
            return P(
              350
              /* JSDocThrowsTag */
            );
          },
          get createJSDocSatisfiesTag() {
            return D(
              351
              /* JSDocSatisfiesTag */
            );
          },
          get updateJSDocSatisfiesTag() {
            return P(
              351
              /* JSDocSatisfiesTag */
            );
          },
          createJSDocEnumTag: Fl,
          updateJSDocEnumTag: Ak,
          createJSDocUnknownTag: rT,
          updateJSDocUnknownTag: jc,
          createJSDocText: h2,
          updateJSDocText: Jd,
          createJSDocComment: f1,
          updateJSDocComment: J0,
          createJsxElement: Ik,
          updateJsxElement: Hw,
          createJsxSelfClosingElement: _c2,
          updateJsxSelfClosingElement: hE,
          createJsxOpeningElement: nT,
          updateJsxOpeningElement: y2,
          createJsxClosingElement: Fk,
          updateJsxClosingElement: Iu,
          createJsxFragment: J_,
          createJsxText: zv,
          updateJsxText: z_,
          createJsxOpeningFragment: sT,
          createJsxJsxClosingFragment: Qg,
          updateJsxFragment: iT,
          createJsxAttribute: Ok,
          updateJsxAttribute: aT,
          createJsxAttributes: pd,
          updateJsxAttributes: Lk,
          createJsxSpreadAttribute: yE,
          updateJsxSpreadAttribute: Mk,
          createJsxExpression: oT,
          updateJsxExpression: Rk,
          createJsxNamespacedName: z0,
          updateJsxNamespacedName: ff,
          createCaseClause: Nm,
          updateCaseClause: cT,
          createDefaultClause: lT,
          updateDefaultClause: Ia,
          createHeritageClause: yn,
          updateHeritageClause: Wf,
          createCatchClause: vl,
          updateCatchClause: Wv,
          createPropertyAssignment: uT,
          updatePropertyAssignment: v2,
          createShorthandPropertyAssignment: _T,
          updateShorthandPropertyAssignment: C,
          createSpreadAssignment: _t,
          updateSpreadAssignment: ur,
          createEnumMember: ti,
          updateEnumMember: gi,
          createSourceFile: Ki,
          updateSourceFile: Vv,
          createRedirectedSourceFile: mi,
          createBundle: u_,
          updateBundle: p1,
          createSyntheticExpression: jk,
          createSyntaxList: Xp,
          createNotEmittedStatement: Uo,
          createNotEmittedTypeElement: dd,
          createPartiallyEmittedExpression: fT,
          updatePartiallyEmittedExpression: W0,
          createCommaListExpression: b2,
          updateCommaListExpression: VL,
          createSyntheticReferenceExpression: Gw,
          updateSyntheticReferenceExpression: Bk,
          cloneNode: pT,
          // 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: qL,
          createImmediatelyInvokedArrowFunction: S2,
          createVoidZero: dT,
          createExportDefault: Xw,
          createExternalModuleExport: zk,
          createTypeCheck: Wi,
          createIsNotTypeCheck: m1,
          createMethodCall: Wr,
          createGlobalMethodCall: T2,
          createFunctionBindCall: Qw,
          createFunctionCallCall: vE,
          createFunctionApplyCall: bE,
          createArraySliceCall: zA,
          createArrayConcatCall: mT,
          createObjectDefinePropertyCall: HL,
          createObjectGetOwnPropertyDescriptorCall: SE,
          createReflectGetCall: og,
          createReflectSetCall: WA,
          createPropertyDescriptor: GL,
          createCallBinding: TE,
          createAssignmentTargetWrapper: Am,
          // Utilities
          inlineExpressions: X,
          getInternalName: He,
          getLocalName: bt,
          getExportName: Vt,
          getDeclarationName: rr,
          getNamespaceMemberName: Rn,
          getExternalModuleOrNamespaceExportName: gn,
          restoreOuterExpressions: Zw,
          restoreEnclosingLabel: Hv,
          createUseStrictPrologue: ji,
          copyPrologue: Gr,
          copyStandardPrologue: lo,
          copyCustomPrologue: Qa,
          ensureUseStrict: Fa,
          liftToBlock: yp,
          mergeLexicalEnvironment: V0,
          replaceModifiers: q0,
          replaceDecoratorsAndModifiers: Yg,
          replacePropertyName: g1
        };
        return lr(Khe, (v) => v(A)), A;
        function O(v, w) {
          if (v === void 0 || v === Ge)
            v = [];
          else if (hb(v)) {
            if (w === void 0 || v.hasTrailingComma === w)
              return v.transformFlags === void 0 && r0e(v), E.attachNodeArrayDebugInfo(v), v;
            const Ue = v.slice();
            return Ue.pos = v.pos, Ue.end = v.end, Ue.hasTrailingComma = w, Ue.transformFlags = v.transformFlags, E.attachNodeArrayDebugInfo(Ue), Ue;
          }
          const j = v.length, oe = j >= 1 && j <= 4 ? v.slice() : v;
          return oe.pos = -1, oe.end = -1, oe.hasTrailingComma = !!w, oe.transformFlags = 0, r0e(oe), E.attachNodeArrayDebugInfo(oe), oe;
        }
        function F(v) {
          return t.createBaseNode(v);
        }
        function R(v) {
          const w = F(v);
          return w.symbol = void 0, w.localSymbol = void 0, w;
        }
        function B(v, w) {
          return v !== w && (v.typeArguments = w.typeArguments), tn(v, w);
        }
        function U(v, w = 0) {
          const j = typeof v == "number" ? v + "" : v;
          E.assert(j.charCodeAt(0) !== 45, "Negative numbers should be created in combination with createPrefixUnaryExpression");
          const oe = R(
            9
            /* NumericLiteral */
          );
          return oe.text = j, oe.numericLiteralFlags = w, w & 384 && (oe.transformFlags |= 1024), oe;
        }
        function $(v) {
          const w = Ye(
            10
            /* BigIntLiteral */
          );
          return w.text = typeof v == "string" ? v : Rb(v) + "n", w.transformFlags |= 32, w;
        }
        function W(v, w) {
          const j = R(
            11
            /* StringLiteral */
          );
          return j.text = v, j.singleQuote = w, j;
        }
        function _e(v, w, j) {
          const oe = W(v, w);
          return oe.hasExtendedUnicodeEscape = j, j && (oe.transformFlags |= 1024), oe;
        }
        function K(v) {
          const w = W(
            np(v),
            /*isSingleQuote*/
            void 0
          );
          return w.textSourceNode = v, w;
        }
        function V(v) {
          const w = Ye(
            14
            /* RegularExpressionLiteral */
          );
          return w.text = v, w;
        }
        function ae(v, w) {
          switch (v) {
            case 9:
              return U(
                w,
                /*numericLiteralFlags*/
                0
              );
            case 10:
              return $(w);
            case 11:
              return _e(
                w,
                /*isSingleQuote*/
                void 0
              );
            case 12:
              return zv(
                w,
                /*containsOnlyTriviaWhiteSpaces*/
                false
              );
            case 13:
              return zv(
                w,
                /*containsOnlyTriviaWhiteSpaces*/
                true
              );
            case 14:
              return V(w);
            case 15:
              return hs(
                v,
                w,
                /*rawText*/
                void 0,
                /*templateFlags*/
                0
              );
          }
        }
        function se(v) {
          const w = t.createBaseIdentifierNode(
            80
            /* Identifier */
          );
          return w.escapedText = v, w.jsDoc = void 0, w.flowNode = void 0, w.symbol = void 0, w;
        }
        function ce(v, w, j, oe) {
          const Ue = se(Zo(v));
          return IN(Ue, {
            flags: w,
            id: ez,
            prefix: j,
            suffix: oe
          }), ez++, Ue;
        }
        function fe(v, w, j) {
          w === void 0 && v && (w = U2(v)), w === 80 && (w = void 0);
          const oe = se(Zo(v));
          return j && (oe.flags |= 256), oe.escapedText === "await" && (oe.transformFlags |= 67108864), oe.flags & 256 && (oe.transformFlags |= 1024), oe;
        }
        function he(v, w, j, oe) {
          let Ue = 1;
          w && (Ue |= 8);
          const qt = ce("", Ue, j, oe);
          return v && v(qt), qt;
        }
        function q(v) {
          let w = 2;
          return v && (w |= 8), ce(
            "",
            w,
            /*prefix*/
            void 0,
            /*suffix*/
            void 0
          );
        }
        function be(v, w = 0, j, oe) {
          return E.assert(!(w & 7), "Argument out of range: flags"), E.assert((w & 48) !== 32, "GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"), ce(v, 3 | w, j, oe);
        }
        function je(v, w = 0, j, oe) {
          E.assert(!(w & 7), "Argument out of range: flags");
          const Ue = v ? xg(v) ? av(
            /*privateName*/
            false,
            j,
            v,
            oe,
            An
          ) : `generated@${Oa(v)}` : "";
          (j || oe) && (w |= 16);
          const qt = ce(Ue, 4 | w, j, oe);
          return qt.original = v, qt;
        }
        function me(v) {
          const w = t.createBasePrivateIdentifierNode(
            81
            /* PrivateIdentifier */
          );
          return w.escapedText = v, w.transformFlags |= 16777216, w;
        }
        function Z(v) {
          return Ui(v, "#") || E.fail("First character of private identifier must be #: " + v), me(Zo(v));
        }
        function pe(v, w, j, oe) {
          const Ue = me(Zo(v));
          return IN(Ue, {
            flags: w,
            id: ez,
            prefix: j,
            suffix: oe
          }), ez++, Ue;
        }
        function Te(v, w, j) {
          v && !Ui(v, "#") && E.fail("First character of private identifier must be #: " + v);
          const oe = 8 | (v ? 3 : 1);
          return pe(v ?? "", oe, w, j);
        }
        function Fe(v, w, j) {
          const oe = xg(v) ? av(
            /*privateName*/
            true,
            w,
            v,
            j,
            An
          ) : `#generated@${Oa(v)}`, qt = pe(oe, 4 | (w || j ? 16 : 0), w, j);
          return qt.original = v, qt;
        }
        function Ye(v) {
          return t.createBaseTokenNode(v);
        }
        function ne(v) {
          E.assert(v >= 0 && v <= 166, "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 w = Ye(v);
          let j = 0;
          switch (v) {
            case 134:
              j = 384;
              break;
            case 160:
              j = 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:
              j = 1;
              break;
            case 108:
              j = 134218752, w.flowNode = void 0;
              break;
            case 126:
              j = 1024;
              break;
            case 129:
              j = 16777216;
              break;
            case 110:
              j = 16384, w.flowNode = void 0;
              break;
          }
          return j && (w.transformFlags |= j), w;
        }
        function Se() {
          return ne(
            108
            /* SuperKeyword */
          );
        }
        function ie() {
          return ne(
            110
            /* ThisKeyword */
          );
        }
        function Ne() {
          return ne(
            106
            /* NullKeyword */
          );
        }
        function Ee() {
          return ne(
            112
            /* TrueKeyword */
          );
        }
        function Ce() {
          return ne(
            97
            /* FalseKeyword */
          );
        }
        function Ve(v) {
          return ne(v);
        }
        function St(v) {
          const w = [];
          return v & 32 && w.push(Ve(
            95
            /* ExportKeyword */
          )), v & 128 && w.push(Ve(
            138
            /* DeclareKeyword */
          )), v & 2048 && w.push(Ve(
            90
            /* DefaultKeyword */
          )), v & 4096 && w.push(Ve(
            87
            /* ConstKeyword */
          )), v & 1 && w.push(Ve(
            125
            /* PublicKeyword */
          )), v & 2 && w.push(Ve(
            123
            /* PrivateKeyword */
          )), v & 4 && w.push(Ve(
            124
            /* ProtectedKeyword */
          )), v & 64 && w.push(Ve(
            128
            /* AbstractKeyword */
          )), v & 256 && w.push(Ve(
            126
            /* StaticKeyword */
          )), v & 16 && w.push(Ve(
            164
            /* OverrideKeyword */
          )), v & 8 && w.push(Ve(
            148
            /* ReadonlyKeyword */
          )), v & 512 && w.push(Ve(
            129
            /* AccessorKeyword */
          )), v & 1024 && w.push(Ve(
            134
            /* AsyncKeyword */
          )), v & 8192 && w.push(Ve(
            103
            /* InKeyword */
          )), v & 16384 && w.push(Ve(
            147
            /* OutKeyword */
          )), w.length ? w : void 0;
        }
        function Bt(v, w) {
          const j = F(
            167
            /* QualifiedName */
          );
          return j.left = v, j.right = _l(w), j.transformFlags |= vn(j.left) | wN(j.right), j.flowNode = void 0, j;
        }
        function tr(v, w, j) {
          return v.left !== w || v.right !== j ? tn(Bt(w, j), v) : v;
        }
        function Nr(v) {
          const w = F(
            168
            /* ComputedPropertyName */
          );
          return w.expression = i().parenthesizeExpressionOfComputedPropertyName(v), w.transformFlags |= vn(w.expression) | 1024 | 131072, w;
        }
        function st(v, w) {
          return v.expression !== w ? tn(Nr(w), v) : v;
        }
        function Wt(v, w, j, oe) {
          const Ue = R(
            169
            /* TypeParameter */
          );
          return Ue.modifiers = La(v), Ue.name = _l(w), Ue.constraint = j, Ue.default = oe, Ue.transformFlags = 1, Ue.expression = void 0, Ue.jsDoc = void 0, Ue;
        }
        function Jr(v, w, j, oe, Ue) {
          return v.modifiers !== w || v.name !== j || v.constraint !== oe || v.default !== Ue ? tn(Wt(w, j, oe, Ue), v) : v;
        }
        function ui(v, w, j, oe, Ue, qt) {
          const hn = R(
            170
            /* Parameter */
          );
          return hn.modifiers = La(v), hn.dotDotDotToken = w, hn.name = _l(j), hn.questionToken = oe, hn.type = Ue, hn.initializer = Fu(qt), Iy(hn.name) ? hn.transformFlags = 1 : hn.transformFlags = Na(hn.modifiers) | vn(hn.dotDotDotToken) | Ry(hn.name) | vn(hn.questionToken) | vn(hn.initializer) | (hn.questionToken ?? hn.type ? 1 : 0) | (hn.dotDotDotToken ?? hn.initializer ? 1024 : 0) | (lm(hn.modifiers) & 31 ? 8192 : 0), hn.jsDoc = void 0, hn;
        }
        function Ji(v, w, j, oe, Ue, qt, hn) {
          return v.modifiers !== w || v.dotDotDotToken !== j || v.name !== oe || v.questionToken !== Ue || v.type !== qt || v.initializer !== hn ? tn(ui(w, j, oe, Ue, qt, hn), v) : v;
        }
        function Dt(v) {
          const w = F(
            171
            /* Decorator */
          );
          return w.expression = i().parenthesizeLeftSideOfAccess(
            v,
            /*optionalChain*/
            false
          ), w.transformFlags |= vn(w.expression) | 1 | 8192 | 33554432, w;
        }
        function Mn(v, w) {
          return v.expression !== w ? tn(Dt(w), v) : v;
        }
        function ai(v, w, j, oe) {
          const Ue = R(
            172
            /* PropertySignature */
          );
          return Ue.modifiers = La(v), Ue.name = _l(w), Ue.type = oe, Ue.questionToken = j, Ue.transformFlags = 1, Ue.initializer = void 0, Ue.jsDoc = void 0, Ue;
        }
        function fi(v, w, j, oe, Ue) {
          return v.modifiers !== w || v.name !== j || v.questionToken !== oe || v.type !== Ue ? pn(ai(w, j, oe, Ue), v) : v;
        }
        function pn(v, w) {
          return v !== w && (v.initializer = w.initializer), tn(v, w);
        }
        function _i(v, w, j, oe, Ue) {
          const qt = R(
            173
            /* PropertyDeclaration */
          );
          qt.modifiers = La(v), qt.name = _l(w), qt.questionToken = j && By(j) ? j : void 0, qt.exclamationToken = j && ON(j) ? j : void 0, qt.type = oe, qt.initializer = Fu(Ue);
          const hn = qt.flags & 33554432 || lm(qt.modifiers) & 128;
          return qt.transformFlags = Na(qt.modifiers) | Ry(qt.name) | vn(qt.initializer) | (hn || qt.questionToken || qt.exclamationToken || qt.type ? 1 : 0) | (Hs(qt.name) || lm(qt.modifiers) & 256 && qt.initializer ? 8192 : 0) | 16777216, qt.jsDoc = void 0, qt;
        }
        function Je(v, w, j, oe, Ue, qt) {
          return v.modifiers !== w || v.name !== j || v.questionToken !== (oe !== void 0 && By(oe) ? oe : void 0) || v.exclamationToken !== (oe !== void 0 && ON(oe) ? oe : void 0) || v.type !== Ue || v.initializer !== qt ? tn(_i(w, j, oe, Ue, qt), v) : v;
        }
        function ft(v, w, j, oe, Ue, qt) {
          const hn = R(
            174
            /* MethodSignature */
          );
          return hn.modifiers = La(v), hn.name = _l(w), hn.questionToken = j, hn.typeParameters = La(oe), hn.parameters = La(Ue), hn.type = qt, hn.transformFlags = 1, hn.jsDoc = void 0, hn.locals = void 0, hn.nextContainer = void 0, hn.typeArguments = void 0, hn;
        }
        function er(v, w, j, oe, Ue, qt, hn) {
          return v.modifiers !== w || v.name !== j || v.questionToken !== oe || v.typeParameters !== Ue || v.parameters !== qt || v.type !== hn ? B(ft(w, j, oe, Ue, qt, hn), v) : v;
        }
        function qr(v, w, j, oe, Ue, qt, hn, cs) {
          const Do = R(
            175
            /* MethodDeclaration */
          );
          if (Do.modifiers = La(v), Do.asteriskToken = w, Do.name = _l(j), Do.questionToken = oe, Do.exclamationToken = void 0, Do.typeParameters = La(Ue), Do.parameters = O(qt), Do.type = hn, Do.body = cs, !Do.body)
            Do.transformFlags = 1;
          else {
            const kf = lm(Do.modifiers) & 1024, h1 = !!Do.asteriskToken, zd = kf && h1;
            Do.transformFlags = Na(Do.modifiers) | vn(Do.asteriskToken) | Ry(Do.name) | vn(Do.questionToken) | Na(Do.typeParameters) | Na(Do.parameters) | vn(Do.type) | vn(Do.body) & -67108865 | (zd ? 128 : kf ? 256 : h1 ? 2048 : 0) | (Do.questionToken || Do.typeParameters || Do.type ? 1 : 0) | 1024;
          }
          return Do.typeArguments = void 0, Do.jsDoc = void 0, Do.locals = void 0, Do.nextContainer = void 0, Do.flowNode = void 0, Do.endFlowNode = void 0, Do.returnFlowNode = void 0, Do;
        }
        function Jn(v, w, j, oe, Ue, qt, hn, cs, Do) {
          return v.modifiers !== w || v.asteriskToken !== j || v.name !== oe || v.questionToken !== Ue || v.typeParameters !== qt || v.parameters !== hn || v.type !== cs || v.body !== Do ? Un(qr(w, j, oe, Ue, qt, hn, cs, Do), v) : v;
        }
        function Un(v, w) {
          return v !== w && (v.exclamationToken = w.exclamationToken), tn(v, w);
        }
        function ki(v) {
          const w = R(
            176
            /* ClassStaticBlockDeclaration */
          );
          return w.body = v, w.transformFlags = vn(v) | 16777216, w.modifiers = void 0, w.jsDoc = void 0, w.locals = void 0, w.nextContainer = void 0, w.endFlowNode = void 0, w.returnFlowNode = void 0, w;
        }
        function Es(v, w) {
          return v.body !== w ? Zs(ki(w), v) : v;
        }
        function Zs(v, w) {
          return v !== w && (v.modifiers = w.modifiers), tn(v, w);
        }
        function yr(v, w, j) {
          const oe = R(
            177
            /* Constructor */
          );
          return oe.modifiers = La(v), oe.parameters = O(w), oe.body = j, oe.body ? oe.transformFlags = Na(oe.modifiers) | Na(oe.parameters) | vn(oe.body) & -67108865 | 1024 : oe.transformFlags = 1, oe.typeParameters = void 0, oe.type = void 0, oe.typeArguments = void 0, oe.jsDoc = void 0, oe.locals = void 0, oe.nextContainer = void 0, oe.endFlowNode = void 0, oe.returnFlowNode = void 0, oe;
        }
        function vs(v, w, j, oe) {
          return v.modifiers !== w || v.parameters !== j || v.body !== oe ? Xe(yr(w, j, oe), v) : v;
        }
        function Xe(v, w) {
          return v !== w && (v.typeParameters = w.typeParameters, v.type = w.type), B(v, w);
        }
        function Et(v, w, j, oe, Ue) {
          const qt = R(
            178
            /* GetAccessor */
          );
          return qt.modifiers = La(v), qt.name = _l(w), qt.parameters = O(j), qt.type = oe, qt.body = Ue, qt.body ? qt.transformFlags = Na(qt.modifiers) | Ry(qt.name) | Na(qt.parameters) | vn(qt.type) | vn(qt.body) & -67108865 | (qt.type ? 1 : 0) : qt.transformFlags = 1, qt.typeArguments = void 0, qt.typeParameters = void 0, qt.jsDoc = void 0, qt.locals = void 0, qt.nextContainer = void 0, qt.flowNode = void 0, qt.endFlowNode = void 0, qt.returnFlowNode = void 0, qt;
        }
        function re(v, w, j, oe, Ue, qt) {
          return v.modifiers !== w || v.name !== j || v.parameters !== oe || v.type !== Ue || v.body !== qt ? it(Et(w, j, oe, Ue, qt), v) : v;
        }
        function it(v, w) {
          return v !== w && (v.typeParameters = w.typeParameters), B(v, w);
        }
        function Y(v, w, j, oe) {
          const Ue = R(
            179
            /* SetAccessor */
          );
          return Ue.modifiers = La(v), Ue.name = _l(w), Ue.parameters = O(j), Ue.body = oe, Ue.body ? Ue.transformFlags = Na(Ue.modifiers) | Ry(Ue.name) | Na(Ue.parameters) | vn(Ue.body) & -67108865 | (Ue.type ? 1 : 0) : Ue.transformFlags = 1, Ue.typeArguments = void 0, Ue.typeParameters = void 0, Ue.type = void 0, Ue.jsDoc = void 0, Ue.locals = void 0, Ue.nextContainer = void 0, Ue.flowNode = void 0, Ue.endFlowNode = void 0, Ue.returnFlowNode = void 0, Ue;
        }
        function Ae(v, w, j, oe, Ue) {
          return v.modifiers !== w || v.name !== j || v.parameters !== oe || v.body !== Ue ? $e(Y(w, j, oe, Ue), v) : v;
        }
        function $e(v, w) {
          return v !== w && (v.typeParameters = w.typeParameters, v.type = w.type), B(v, w);
        }
        function Ke(v, w, j) {
          const oe = R(
            180
            /* CallSignature */
          );
          return oe.typeParameters = La(v), oe.parameters = La(w), oe.type = j, oe.transformFlags = 1, oe.jsDoc = void 0, oe.locals = void 0, oe.nextContainer = void 0, oe.typeArguments = void 0, oe;
        }
        function Tt(v, w, j, oe) {
          return v.typeParameters !== w || v.parameters !== j || v.type !== oe ? B(Ke(w, j, oe), v) : v;
        }
        function Le(v, w, j) {
          const oe = R(
            181
            /* ConstructSignature */
          );
          return oe.typeParameters = La(v), oe.parameters = La(w), oe.type = j, oe.transformFlags = 1, oe.jsDoc = void 0, oe.locals = void 0, oe.nextContainer = void 0, oe.typeArguments = void 0, oe;
        }
        function mt(v, w, j, oe) {
          return v.typeParameters !== w || v.parameters !== j || v.type !== oe ? B(Le(w, j, oe), v) : v;
        }
        function pt(v, w, j) {
          const oe = R(
            182
            /* IndexSignature */
          );
          return oe.modifiers = La(v), oe.parameters = La(w), oe.type = j, oe.transformFlags = 1, oe.jsDoc = void 0, oe.locals = void 0, oe.nextContainer = void 0, oe.typeArguments = void 0, oe;
        }
        function Ct(v, w, j, oe) {
          return v.parameters !== j || v.type !== oe || v.modifiers !== w ? B(pt(w, j, oe), v) : v;
        }
        function qe(v, w) {
          const j = F(
            205
            /* TemplateLiteralTypeSpan */
          );
          return j.type = v, j.literal = w, j.transformFlags = 1, j;
        }
        function Lt(v, w, j) {
          return v.type !== w || v.literal !== j ? tn(qe(w, j), v) : v;
        }
        function rn(v) {
          return ne(v);
        }
        function Pe(v, w, j) {
          const oe = F(
            183
            /* TypePredicate */
          );
          return oe.assertsModifier = v, oe.parameterName = _l(w), oe.type = j, oe.transformFlags = 1, oe;
        }
        function yt(v, w, j, oe) {
          return v.assertsModifier !== w || v.parameterName !== j || v.type !== oe ? tn(Pe(w, j, oe), v) : v;
        }
        function ue(v, w) {
          const j = F(
            184
            /* TypeReference */
          );
          return j.typeName = _l(v), j.typeArguments = w && i().parenthesizeTypeArguments(O(w)), j.transformFlags = 1, j;
        }
        function M(v, w, j) {
          return v.typeName !== w || v.typeArguments !== j ? tn(ue(w, j), v) : v;
        }
        function ye(v, w, j) {
          const oe = R(
            185
            /* FunctionType */
          );
          return oe.typeParameters = La(v), oe.parameters = La(w), oe.type = j, oe.transformFlags = 1, oe.modifiers = void 0, oe.jsDoc = void 0, oe.locals = void 0, oe.nextContainer = void 0, oe.typeArguments = void 0, oe;
        }
        function Q(v, w, j, oe) {
          return v.typeParameters !== w || v.parameters !== j || v.type !== oe ? dt(ye(w, j, oe), v) : v;
        }
        function dt(v, w) {
          return v !== w && (v.modifiers = w.modifiers), B(v, w);
        }
        function Mt(...v) {
          return v.length === 4 ? ke(...v) : v.length === 3 ? at(...v) : E.fail("Incorrect number of arguments specified.");
        }
        function ke(v, w, j, oe) {
          const Ue = R(
            186
            /* ConstructorType */
          );
          return Ue.modifiers = La(v), Ue.typeParameters = La(w), Ue.parameters = La(j), Ue.type = oe, Ue.transformFlags = 1, Ue.jsDoc = void 0, Ue.locals = void 0, Ue.nextContainer = void 0, Ue.typeArguments = void 0, Ue;
        }
        function at(v, w, j) {
          return ke(
            /*modifiers*/
            void 0,
            v,
            w,
            j
          );
        }
        function wt(...v) {
          return v.length === 5 ? Zr(...v) : v.length === 4 ? Rr(...v) : E.fail("Incorrect number of arguments specified.");
        }
        function Zr(v, w, j, oe, Ue) {
          return v.modifiers !== w || v.typeParameters !== j || v.parameters !== oe || v.type !== Ue ? B(Mt(w, j, oe, Ue), v) : v;
        }
        function Rr(v, w, j, oe) {
          return Zr(v, v.modifiers, w, j, oe);
        }
        function Pr(v, w) {
          const j = F(
            187
            /* TypeQuery */
          );
          return j.exprName = v, j.typeArguments = w && i().parenthesizeTypeArguments(w), j.transformFlags = 1, j;
        }
        function rt(v, w, j) {
          return v.exprName !== w || v.typeArguments !== j ? tn(Pr(w, j), v) : v;
        }
        function vt(v) {
          const w = R(
            188
            /* TypeLiteral */
          );
          return w.members = O(v), w.transformFlags = 1, w;
        }
        function Nt(v, w) {
          return v.members !== w ? tn(vt(w), v) : v;
        }
        function Jt(v) {
          const w = F(
            189
            /* ArrayType */
          );
          return w.elementType = i().parenthesizeNonArrayTypeOfPostfixType(v), w.transformFlags = 1, w;
        }
        function _r(v, w) {
          return v.elementType !== w ? tn(Jt(w), v) : v;
        }
        function nr(v) {
          const w = F(
            190
            /* TupleType */
          );
          return w.elements = O(i().parenthesizeElementTypesOfTupleType(v)), w.transformFlags = 1, w;
        }
        function kt(v, w) {
          return v.elements !== w ? tn(nr(w), v) : v;
        }
        function cr(v, w, j, oe) {
          const Ue = R(
            203
            /* NamedTupleMember */
          );
          return Ue.dotDotDotToken = v, Ue.name = w, Ue.questionToken = j, Ue.type = oe, Ue.transformFlags = 1, Ue.jsDoc = void 0, Ue;
        }
        function fr(v, w, j, oe, Ue) {
          return v.dotDotDotToken !== w || v.name !== j || v.questionToken !== oe || v.type !== Ue ? tn(cr(w, j, oe, Ue), v) : v;
        }
        function vr(v) {
          const w = F(
            191
            /* OptionalType */
          );
          return w.type = i().parenthesizeTypeOfOptionalType(v), w.transformFlags = 1, w;
        }
        function Xt(v, w) {
          return v.type !== w ? tn(vr(w), v) : v;
        }
        function oi(v) {
          const w = F(
            192
            /* RestType */
          );
          return w.type = v, w.transformFlags = 1, w;
        }
        function Is(v, w) {
          return v.type !== w ? tn(oi(w), v) : v;
        }
        function Ms(v, w, j) {
          const oe = F(v);
          return oe.types = A.createNodeArray(j(w)), oe.transformFlags = 1, oe;
        }
        function ps(v, w, j) {
          return v.types !== w ? tn(Ms(v.kind, w, j), v) : v;
        }
        function uc(v) {
          return Ms(193, v, i().parenthesizeConstituentTypesOfUnionType);
        }
        function Xo(v, w) {
          return ps(v, w, i().parenthesizeConstituentTypesOfUnionType);
        }
        function ro(v) {
          return Ms(194, v, i().parenthesizeConstituentTypesOfIntersectionType);
        }
        function zi(v, w) {
          return ps(v, w, i().parenthesizeConstituentTypesOfIntersectionType);
        }
        function gs(v, w, j, oe) {
          const Ue = F(
            195
            /* ConditionalType */
          );
          return Ue.checkType = i().parenthesizeCheckTypeOfConditionalType(v), Ue.extendsType = i().parenthesizeExtendsTypeOfConditionalType(w), Ue.trueType = j, Ue.falseType = oe, Ue.transformFlags = 1, Ue.locals = void 0, Ue.nextContainer = void 0, Ue;
        }
        function Vc(v, w, j, oe, Ue) {
          return v.checkType !== w || v.extendsType !== j || v.trueType !== oe || v.falseType !== Ue ? tn(gs(w, j, oe, Ue), v) : v;
        }
        function To(v) {
          const w = F(
            196
            /* InferType */
          );
          return w.typeParameter = v, w.transformFlags = 1, w;
        }
        function ea(v, w) {
          return v.typeParameter !== w ? tn(To(w), v) : v;
        }
        function xc(v, w) {
          const j = F(
            204
            /* TemplateLiteralType */
          );
          return j.head = v, j.templateSpans = O(w), j.transformFlags = 1, j;
        }
        function Rf(v, w, j) {
          return v.head !== w || v.templateSpans !== j ? tn(xc(w, j), v) : v;
        }
        function os(v, w, j, oe, Ue = false) {
          const qt = F(
            206
            /* ImportType */
          );
          return qt.argument = v, qt.attributes = w, qt.assertions && qt.assertions.assertClause && qt.attributes && (qt.assertions.assertClause = qt.attributes), qt.qualifier = j, qt.typeArguments = oe && i().parenthesizeTypeArguments(oe), qt.isTypeOf = Ue, qt.transformFlags = 1, qt;
        }
        function zs(v, w, j, oe, Ue, qt = v.isTypeOf) {
          return v.argument !== w || v.attributes !== j || v.qualifier !== oe || v.typeArguments !== Ue || v.isTypeOf !== qt ? tn(os(w, j, oe, Ue, qt), v) : v;
        }
        function Aa(v) {
          const w = F(
            197
            /* ParenthesizedType */
          );
          return w.type = v, w.transformFlags = 1, w;
        }
        function ya(v, w) {
          return v.type !== w ? tn(Aa(w), v) : v;
        }
        function zt() {
          const v = F(
            198
            /* ThisType */
          );
          return v.transformFlags = 1, v;
        }
        function Xa(v, w) {
          const j = F(
            199
            /* TypeOperator */
          );
          return j.operator = v, j.type = v === 148 ? i().parenthesizeOperandOfReadonlyTypeOperator(w) : i().parenthesizeOperandOfTypeOperator(w), j.transformFlags = 1, j;
        }
        function mc(v, w) {
          return v.type !== w ? tn(Xa(v.operator, w), v) : v;
        }
        function Nc(v, w) {
          const j = F(
            200
            /* IndexedAccessType */
          );
          return j.objectType = i().parenthesizeNonArrayTypeOfPostfixType(v), j.indexType = w, j.transformFlags = 1, j;
        }
        function Wl(v, w, j) {
          return v.objectType !== w || v.indexType !== j ? tn(Nc(w, j), v) : v;
        }
        function co(v, w, j, oe, Ue, qt) {
          const hn = R(
            201
            /* MappedType */
          );
          return hn.readonlyToken = v, hn.typeParameter = w, hn.nameType = j, hn.questionToken = oe, hn.type = Ue, hn.members = qt && O(qt), hn.transformFlags = 1, hn.locals = void 0, hn.nextContainer = void 0, hn;
        }
        function ge(v, w, j, oe, Ue, qt, hn) {
          return v.readonlyToken !== w || v.typeParameter !== j || v.nameType !== oe || v.questionToken !== Ue || v.type !== qt || v.members !== hn ? tn(co(w, j, oe, Ue, qt, hn), v) : v;
        }
        function H(v) {
          const w = F(
            202
            /* LiteralType */
          );
          return w.literal = v, w.transformFlags = 1, w;
        }
        function tt(v, w) {
          return v.literal !== w ? tn(H(w), v) : v;
        }
        function Ft(v) {
          const w = F(
            207
            /* ObjectBindingPattern */
          );
          return w.elements = O(v), w.transformFlags |= Na(w.elements) | 1024 | 524288, w.transformFlags & 32768 && (w.transformFlags |= 65664), w;
        }
        function Kt(v, w) {
          return v.elements !== w ? tn(Ft(w), v) : v;
        }
        function Hr(v) {
          const w = F(
            208
            /* ArrayBindingPattern */
          );
          return w.elements = O(v), w.transformFlags |= Na(w.elements) | 1024 | 524288, w;
        }
        function Vn(v, w) {
          return v.elements !== w ? tn(Hr(w), v) : v;
        }
        function ln(v, w, j, oe) {
          const Ue = R(
            209
            /* BindingElement */
          );
          return Ue.dotDotDotToken = v, Ue.propertyName = _l(w), Ue.name = _l(j), Ue.initializer = Fu(oe), Ue.transformFlags |= vn(Ue.dotDotDotToken) | Ry(Ue.propertyName) | Ry(Ue.name) | vn(Ue.initializer) | (Ue.dotDotDotToken ? 32768 : 0) | 1024, Ue.flowNode = void 0, Ue;
        }
        function kr(v, w, j, oe, Ue) {
          return v.propertyName !== j || v.dotDotDotToken !== w || v.name !== oe || v.initializer !== Ue ? tn(ln(w, j, oe, Ue), v) : v;
        }
        function Li(v, w) {
          const j = F(
            210
            /* ArrayLiteralExpression */
          ), oe = v && ko(v), Ue = O(v, oe && gl(oe) ? true : void 0);
          return j.elements = i().parenthesizeExpressionsOfCommaDelimitedList(Ue), j.multiLine = w, j.transformFlags |= Na(j.elements), j;
        }
        function Yi(v, w) {
          return v.elements !== w ? tn(Li(w, v.multiLine), v) : v;
        }
        function eo(v, w) {
          const j = R(
            211
            /* ObjectLiteralExpression */
          );
          return j.properties = O(v), j.multiLine = w, j.transformFlags |= Na(j.properties), j.jsDoc = void 0, j;
        }
        function ta(v, w) {
          return v.properties !== w ? tn(eo(w, v.multiLine), v) : v;
        }
        function xo(v, w, j) {
          const oe = R(
            212
            /* PropertyAccessExpression */
          );
          return oe.expression = v, oe.questionDotToken = w, oe.name = j, oe.transformFlags = vn(oe.expression) | vn(oe.questionDotToken) | (Me(oe.name) ? wN(oe.name) : vn(oe.name) | 536870912), oe.jsDoc = void 0, oe.flowNode = void 0, oe;
        }
        function qc(v, w) {
          const j = xo(
            i().parenthesizeLeftSideOfAccess(
              v,
              /*optionalChain*/
              false
            ),
            /*questionDotToken*/
            void 0,
            _l(w)
          );
          return CD(v) && (j.transformFlags |= 384), j;
        }
        function Rc(v, w, j) {
          return S7(v) ? tc(v, w, v.questionDotToken, Ws(j, Me)) : v.expression !== w || v.name !== j ? tn(qc(w, j), v) : v;
        }
        function go(v, w, j) {
          const oe = xo(
            i().parenthesizeLeftSideOfAccess(
              v,
              /*optionalChain*/
              true
            ),
            w,
            _l(j)
          );
          return oe.flags |= 64, oe.transformFlags |= 32, oe;
        }
        function tc(v, w, j, oe) {
          return E.assert(!!(v.flags & 64), "Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."), v.expression !== w || v.questionDotToken !== j || v.name !== oe ? tn(go(w, j, oe), v) : v;
        }
        function Ld(v, w, j) {
          const oe = R(
            213
            /* ElementAccessExpression */
          );
          return oe.expression = v, oe.questionDotToken = w, oe.argumentExpression = j, oe.transformFlags |= vn(oe.expression) | vn(oe.questionDotToken) | vn(oe.argumentExpression), oe.jsDoc = void 0, oe.flowNode = void 0, oe;
        }
        function ru(v, w) {
          const j = Ld(
            i().parenthesizeLeftSideOfAccess(
              v,
              /*optionalChain*/
              false
            ),
            /*questionDotToken*/
            void 0,
            H0(w)
          );
          return CD(v) && (j.transformFlags |= 384), j;
        }
        function Tf(v, w, j) {
          return Lj(v) ? Ie(v, w, v.questionDotToken, j) : v.expression !== w || v.argumentExpression !== j ? tn(ru(w, j), v) : v;
        }
        function C_(v, w, j) {
          const oe = Ld(
            i().parenthesizeLeftSideOfAccess(
              v,
              /*optionalChain*/
              true
            ),
            w,
            H0(j)
          );
          return oe.flags |= 64, oe.transformFlags |= 32, oe;
        }
        function Ie(v, w, j, oe) {
          return E.assert(!!(v.flags & 64), "Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."), v.expression !== w || v.questionDotToken !== j || v.argumentExpression !== oe ? tn(C_(w, j, oe), v) : v;
        }
        function Ot(v, w, j, oe) {
          const Ue = R(
            214
            /* CallExpression */
          );
          return Ue.expression = v, Ue.questionDotToken = w, Ue.typeArguments = j, Ue.arguments = oe, Ue.transformFlags |= vn(Ue.expression) | vn(Ue.questionDotToken) | Na(Ue.typeArguments) | Na(Ue.arguments), Ue.typeArguments && (Ue.transformFlags |= 1), O_(Ue.expression) && (Ue.transformFlags |= 16384), Ue;
        }
        function Mr(v, w, j) {
          const oe = Ot(
            i().parenthesizeLeftSideOfAccess(
              v,
              /*optionalChain*/
              false
            ),
            /*questionDotToken*/
            void 0,
            La(w),
            i().parenthesizeExpressionsOfCommaDelimitedList(O(j))
          );
          return ED(oe.expression) && (oe.transformFlags |= 8388608), oe;
        }
        function Gi(v, w, j, oe) {
          return H2(v) ? Da(v, w, v.questionDotToken, j, oe) : v.expression !== w || v.typeArguments !== j || v.arguments !== oe ? tn(Mr(w, j, oe), v) : v;
        }
        function Ea(v, w, j, oe) {
          const Ue = Ot(
            i().parenthesizeLeftSideOfAccess(
              v,
              /*optionalChain*/
              true
            ),
            w,
            La(j),
            i().parenthesizeExpressionsOfCommaDelimitedList(O(oe))
          );
          return Ue.flags |= 64, Ue.transformFlags |= 32, Ue;
        }
        function Da(v, w, j, oe, Ue) {
          return E.assert(!!(v.flags & 64), "Cannot update a CallExpression using updateCallChain. Use updateCall instead."), v.expression !== w || v.questionDotToken !== j || v.typeArguments !== oe || v.arguments !== Ue ? tn(Ea(w, j, oe, Ue), v) : v;
        }
        function da(v, w, j) {
          const oe = R(
            215
            /* NewExpression */
          );
          return oe.expression = i().parenthesizeExpressionOfNew(v), oe.typeArguments = La(w), oe.arguments = j ? i().parenthesizeExpressionsOfCommaDelimitedList(j) : void 0, oe.transformFlags |= vn(oe.expression) | Na(oe.typeArguments) | Na(oe.arguments) | 32, oe.typeArguments && (oe.transformFlags |= 1), oe;
        }
        function tl(v, w, j, oe) {
          return v.expression !== w || v.typeArguments !== j || v.arguments !== oe ? tn(da(w, j, oe), v) : v;
        }
        function Eo(v, w, j) {
          const oe = F(
            216
            /* TaggedTemplateExpression */
          );
          return oe.tag = i().parenthesizeLeftSideOfAccess(
            v,
            /*optionalChain*/
            false
          ), oe.typeArguments = La(w), oe.template = j, oe.transformFlags |= vn(oe.tag) | Na(oe.typeArguments) | vn(oe.template) | 1024, oe.typeArguments && (oe.transformFlags |= 1), VB(oe.template) && (oe.transformFlags |= 128), oe;
        }
        function rc(v, w, j, oe) {
          return v.tag !== w || v.typeArguments !== j || v.template !== oe ? tn(Eo(w, j, oe), v) : v;
        }
        function gc(v, w) {
          const j = F(
            217
            /* TypeAssertionExpression */
          );
          return j.expression = i().parenthesizeOperandOfPrefixUnary(w), j.type = v, j.transformFlags |= vn(j.expression) | vn(j.type) | 1, j;
        }
        function xf(v, w, j) {
          return v.type !== w || v.expression !== j ? tn(gc(w, j), v) : v;
        }
        function Ul(v) {
          const w = F(
            218
            /* ParenthesizedExpression */
          );
          return w.expression = v, w.transformFlags = vn(w.expression), w.jsDoc = void 0, w;
        }
        function Nl(v, w) {
          return v.expression !== w ? tn(Ul(w), v) : v;
        }
        function lf(v, w, j, oe, Ue, qt, hn) {
          const cs = R(
            219
            /* FunctionExpression */
          );
          cs.modifiers = La(v), cs.asteriskToken = w, cs.name = _l(j), cs.typeParameters = La(oe), cs.parameters = O(Ue), cs.type = qt, cs.body = hn;
          const Do = lm(cs.modifiers) & 1024, kf = !!cs.asteriskToken, h1 = Do && kf;
          return cs.transformFlags = Na(cs.modifiers) | vn(cs.asteriskToken) | Ry(cs.name) | Na(cs.typeParameters) | Na(cs.parameters) | vn(cs.type) | vn(cs.body) & -67108865 | (h1 ? 128 : Do ? 256 : kf ? 2048 : 0) | (cs.typeParameters || cs.type ? 1 : 0) | 4194304, cs.typeArguments = void 0, cs.jsDoc = void 0, cs.locals = void 0, cs.nextContainer = void 0, cs.flowNode = void 0, cs.endFlowNode = void 0, cs.returnFlowNode = void 0, cs;
        }
        function Hu(v, w, j, oe, Ue, qt, hn, cs) {
          return v.name !== oe || v.modifiers !== w || v.asteriskToken !== j || v.typeParameters !== Ue || v.parameters !== qt || v.type !== hn || v.body !== cs ? B(lf(w, j, oe, Ue, qt, hn, cs), v) : v;
        }
        function pp(v, w, j, oe, Ue, qt) {
          const hn = R(
            220
            /* ArrowFunction */
          );
          hn.modifiers = La(v), hn.typeParameters = La(w), hn.parameters = O(j), hn.type = oe, hn.equalsGreaterThanToken = Ue ?? ne(
            39
            /* EqualsGreaterThanToken */
          ), hn.body = i().parenthesizeConciseBodyOfArrowFunction(qt);
          const cs = lm(hn.modifiers) & 1024;
          return hn.transformFlags = Na(hn.modifiers) | Na(hn.typeParameters) | Na(hn.parameters) | vn(hn.type) | vn(hn.equalsGreaterThanToken) | vn(hn.body) & -67108865 | (hn.typeParameters || hn.type ? 1 : 0) | (cs ? 16640 : 0) | 1024, hn.typeArguments = void 0, hn.jsDoc = void 0, hn.locals = void 0, hn.nextContainer = void 0, hn.flowNode = void 0, hn.endFlowNode = void 0, hn.returnFlowNode = void 0, hn;
        }
        function eg(v, w, j, oe, Ue, qt, hn) {
          return v.modifiers !== w || v.typeParameters !== j || v.parameters !== oe || v.type !== Ue || v.equalsGreaterThanToken !== qt || v.body !== hn ? B(pp(w, j, oe, Ue, qt, hn), v) : v;
        }
        function Wg(v) {
          const w = F(
            221
            /* DeleteExpression */
          );
          return w.expression = i().parenthesizeOperandOfPrefixUnary(v), w.transformFlags |= vn(w.expression), w;
        }
        function Ug(v, w) {
          return v.expression !== w ? tn(Wg(w), v) : v;
        }
        function E_(v) {
          const w = F(
            222
            /* TypeOfExpression */
          );
          return w.expression = i().parenthesizeOperandOfPrefixUnary(v), w.transformFlags |= vn(w.expression), w;
        }
        function yl(v, w) {
          return v.expression !== w ? tn(E_(w), v) : v;
        }
        function Md(v) {
          const w = F(
            223
            /* VoidExpression */
          );
          return w.expression = i().parenthesizeOperandOfPrefixUnary(v), w.transformFlags |= vn(w.expression), w;
        }
        function jf(v, w) {
          return v.expression !== w ? tn(Md(w), v) : v;
        }
        function Em(v) {
          const w = F(
            224
            /* AwaitExpression */
          );
          return w.expression = i().parenthesizeOperandOfPrefixUnary(v), w.transformFlags |= vn(w.expression) | 256 | 128 | 2097152, w;
        }
        function ee(v, w) {
          return v.expression !== w ? tn(Em(w), v) : v;
        }
        function et(v, w) {
          const j = F(
            225
            /* PrefixUnaryExpression */
          );
          return j.operator = v, j.operand = i().parenthesizeOperandOfPrefixUnary(w), j.transformFlags |= vn(j.operand), (v === 46 || v === 47) && Me(j.operand) && !Mo(j.operand) && !Ch(j.operand) && (j.transformFlags |= 268435456), j;
        }
        function Ut(v, w) {
          return v.operand !== w ? tn(et(v.operator, w), v) : v;
        }
        function Gt(v, w) {
          const j = F(
            226
            /* PostfixUnaryExpression */
          );
          return j.operator = w, j.operand = i().parenthesizeOperandOfPostfixUnary(v), j.transformFlags |= vn(j.operand), Me(j.operand) && !Mo(j.operand) && !Ch(j.operand) && (j.transformFlags |= 268435456), j;
        }
        function Sr(v, w) {
          return v.operand !== w ? tn(Gt(w, v.operator), v) : v;
        }
        function zr(v, w, j) {
          const oe = R(
            227
            /* BinaryExpression */
          ), Ue = Wk(w), qt = Ue.kind;
          return oe.left = i().parenthesizeLeftSideOfBinary(qt, v), oe.operatorToken = Ue, oe.right = i().parenthesizeRightSideOfBinary(qt, oe.left, j), oe.transformFlags |= vn(oe.left) | vn(oe.operatorToken) | vn(oe.right), qt === 61 ? oe.transformFlags |= 32 : qt === 64 ? ua(oe.left) ? oe.transformFlags |= 5248 | jn(oe.left) : Kl(oe.left) && (oe.transformFlags |= 5120 | jn(oe.left)) : qt === 43 || qt === 68 ? oe.transformFlags |= 512 : Z4(qt) && (oe.transformFlags |= 16), qt === 103 && Ai(oe.left) && (oe.transformFlags |= 536870912), oe.jsDoc = void 0, oe;
        }
        function jn(v) {
          return $N(v) ? 65536 : 0;
        }
        function ni(v, w, j, oe) {
          return v.left !== w || v.operatorToken !== j || v.right !== oe ? tn(zr(w, j, oe), v) : v;
        }
        function wi(v, w, j, oe, Ue) {
          const qt = F(
            228
            /* ConditionalExpression */
          );
          return qt.condition = i().parenthesizeConditionOfConditionalExpression(v), qt.questionToken = w ?? ne(
            58
            /* QuestionToken */
          ), qt.whenTrue = i().parenthesizeBranchOfConditionalExpression(j), qt.colonToken = oe ?? ne(
            59
            /* ColonToken */
          ), qt.whenFalse = i().parenthesizeBranchOfConditionalExpression(Ue), qt.transformFlags |= vn(qt.condition) | vn(qt.questionToken) | vn(qt.whenTrue) | vn(qt.colonToken) | vn(qt.whenFalse), qt.flowNodeWhenFalse = void 0, qt.flowNodeWhenTrue = void 0, qt;
        }
        function L(v, w, j, oe, Ue, qt) {
          return v.condition !== w || v.questionToken !== j || v.whenTrue !== oe || v.colonToken !== Ue || v.whenFalse !== qt ? tn(wi(w, j, oe, Ue, qt), v) : v;
        }
        function Oe(v, w) {
          const j = F(
            229
            /* TemplateExpression */
          );
          return j.head = v, j.templateSpans = O(w), j.transformFlags |= vn(j.head) | Na(j.templateSpans) | 1024, j;
        }
        function xt(v, w, j) {
          return v.head !== w || v.templateSpans !== j ? tn(Oe(w, j), v) : v;
        }
        function Tr(v, w, j, oe = 0) {
          E.assert(!(oe & -7177), "Unsupported template flags.");
          let Ue;
          if (j !== void 0 && j !== w && (Ue = D9e(v, j), typeof Ue == "object"))
            return E.fail("Invalid raw text");
          if (w === void 0) {
            if (Ue === void 0)
              return E.fail("Arguments 'text' and 'rawText' may not both be undefined.");
            w = Ue;
          } else Ue !== void 0 && E.assert(w === Ue, "Expected argument 'text' to be the normalized (i.e. 'cooked') version of argument 'rawText'.");
          return w;
        }
        function $i(v) {
          let w = 1024;
          return v && (w |= 128), w;
        }
        function Ns(v, w, j, oe) {
          const Ue = Ye(v);
          return Ue.text = w, Ue.rawText = j, Ue.templateFlags = oe & 7176, Ue.transformFlags = $i(Ue.templateFlags), Ue;
        }
        function Zi(v, w, j, oe) {
          const Ue = R(v);
          return Ue.text = w, Ue.rawText = j, Ue.templateFlags = oe & 7176, Ue.transformFlags = $i(Ue.templateFlags), Ue;
        }
        function hs(v, w, j, oe) {
          return v === 15 ? Zi(v, w, j, oe) : Ns(v, w, j, oe);
        }
        function jo(v, w, j) {
          return v = Tr(16, v, w, j), hs(16, v, w, j);
        }
        function ra(v, w, j) {
          return v = Tr(16, v, w, j), hs(17, v, w, j);
        }
        function Al(v, w, j) {
          return v = Tr(16, v, w, j), hs(18, v, w, j);
        }
        function uf(v, w, j) {
          return v = Tr(16, v, w, j), Zi(15, v, w, j);
        }
        function Bf(v, w) {
          E.assert(!v || !!w, "A `YieldExpression` with an asteriskToken must have an expression.");
          const j = F(
            230
            /* YieldExpression */
          );
          return j.expression = w && i().parenthesizeExpressionForDisallowedComma(w), j.asteriskToken = v, j.transformFlags |= vn(j.expression) | vn(j.asteriskToken) | 1024 | 128 | 1048576, j;
        }
        function dp(v, w, j) {
          return v.expression !== j || v.asteriskToken !== w ? tn(Bf(w, j), v) : v;
        }
        function Fh(v) {
          const w = F(
            231
            /* SpreadElement */
          );
          return w.expression = i().parenthesizeExpressionForDisallowedComma(v), w.transformFlags |= vn(w.expression) | 1024 | 32768, w;
        }
        function A0(v, w) {
          return v.expression !== w ? tn(Fh(w), v) : v;
        }
        function o_(v, w, j, oe, Ue) {
          const qt = R(
            232
            /* ClassExpression */
          );
          return qt.modifiers = La(v), qt.name = _l(w), qt.typeParameters = La(j), qt.heritageClauses = La(oe), qt.members = O(Ue), qt.transformFlags |= Na(qt.modifiers) | Ry(qt.name) | Na(qt.typeParameters) | Na(qt.heritageClauses) | Na(qt.members) | (qt.typeParameters ? 1 : 0) | 1024, qt.jsDoc = void 0, qt;
        }
        function tg(v, w, j, oe, Ue, qt) {
          return v.modifiers !== w || v.name !== j || v.typeParameters !== oe || v.heritageClauses !== Ue || v.members !== qt ? tn(o_(w, j, oe, Ue, qt), v) : v;
        }
        function Rd() {
          return F(
            233
            /* OmittedExpression */
          );
        }
        function Vp(v, w) {
          const j = F(
            234
            /* ExpressionWithTypeArguments */
          );
          return j.expression = i().parenthesizeLeftSideOfAccess(
            v,
            /*optionalChain*/
            false
          ), j.typeArguments = w && i().parenthesizeTypeArguments(w), j.transformFlags |= vn(j.expression) | Na(j.typeArguments) | 1024, j;
        }
        function e1(v, w, j) {
          return v.expression !== w || v.typeArguments !== j ? tn(Vp(w, j), v) : v;
        }
        function Be(v, w) {
          const j = F(
            235
            /* AsExpression */
          );
          return j.expression = v, j.type = w, j.transformFlags |= vn(j.expression) | vn(j.type) | 1, j;
        }
        function nt(v, w, j) {
          return v.expression !== w || v.type !== j ? tn(Be(w, j), v) : v;
        }
        function Rt(v) {
          const w = F(
            236
            /* NonNullExpression */
          );
          return w.expression = i().parenthesizeLeftSideOfAccess(
            v,
            /*optionalChain*/
            false
          ), w.transformFlags |= vn(w.expression) | 1, w;
        }
        function pr(v, w) {
          return x7(v) ? Vr(v, w) : v.expression !== w ? tn(Rt(w), v) : v;
        }
        function Or(v, w) {
          const j = F(
            239
            /* SatisfiesExpression */
          );
          return j.expression = v, j.type = w, j.transformFlags |= vn(j.expression) | vn(j.type) | 1, j;
        }
        function dn(v, w, j) {
          return v.expression !== w || v.type !== j ? tn(Or(w, j), v) : v;
        }
        function Ir(v) {
          const w = F(
            236
            /* NonNullExpression */
          );
          return w.flags |= 64, w.expression = i().parenthesizeLeftSideOfAccess(
            v,
            /*optionalChain*/
            true
          ), w.transformFlags |= vn(w.expression) | 1, w;
        }
        function Vr(v, w) {
          return E.assert(!!(v.flags & 64), "Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead."), v.expression !== w ? tn(Ir(w), v) : v;
        }
        function hi(v, w) {
          const j = F(
            237
            /* MetaProperty */
          );
          switch (j.keywordToken = v, j.name = w, j.transformFlags |= vn(j.name), v) {
            case 105:
              j.transformFlags |= 1024;
              break;
            case 102:
              j.transformFlags |= 32;
              break;
            default:
              return E.assertNever(v);
          }
          return j.flowNode = void 0, j;
        }
        function ts(v, w) {
          return v.name !== w ? tn(hi(v.keywordToken, w), v) : v;
        }
        function Zn(v, w) {
          const j = F(
            240
            /* TemplateSpan */
          );
          return j.expression = v, j.literal = w, j.transformFlags |= vn(j.expression) | vn(j.literal) | 1024, j;
        }
        function rs(v, w, j) {
          return v.expression !== w || v.literal !== j ? tn(Zn(w, j), v) : v;
        }
        function Pi() {
          const v = F(
            241
            /* SemicolonClassElement */
          );
          return v.transformFlags |= 1024, v;
        }
        function Bo(v, w) {
          const j = F(
            242
            /* Block */
          );
          return j.statements = O(v), j.multiLine = w, j.transformFlags |= Na(j.statements), j.jsDoc = void 0, j.locals = void 0, j.nextContainer = void 0, j;
        }
        function D_(v, w) {
          return v.statements !== w ? tn(Bo(w, v.multiLine), v) : v;
        }
        function qp(v, w) {
          const j = F(
            244
            /* VariableStatement */
          );
          return j.modifiers = La(v), j.declarationList = ss(w) ? Dv(w) : w, j.transformFlags |= Na(j.modifiers) | vn(j.declarationList), lm(j.modifiers) & 128 && (j.transformFlags = 1), j.jsDoc = void 0, j.flowNode = void 0, j;
        }
        function Vl(v, w, j) {
          return v.modifiers !== w || v.declarationList !== j ? tn(qp(w, j), v) : v;
        }
        function Hp() {
          const v = F(
            243
            /* EmptyStatement */
          );
          return v.jsDoc = void 0, v;
        }
        function _f(v) {
          const w = F(
            245
            /* ExpressionStatement */
          );
          return w.expression = i().parenthesizeExpressionOfExpressionStatement(v), w.transformFlags |= vn(w.expression), w.jsDoc = void 0, w.flowNode = void 0, w;
        }
        function xv(v, w) {
          return v.expression !== w ? tn(_f(w), v) : v;
        }
        function Dm(v, w, j) {
          const oe = F(
            246
            /* IfStatement */
          );
          return oe.expression = v, oe.thenStatement = Zg(w), oe.elseStatement = Zg(j), oe.transformFlags |= vn(oe.expression) | vn(oe.thenStatement) | vn(oe.elseStatement), oe.jsDoc = void 0, oe.flowNode = void 0, oe;
        }
        function rg(v, w, j, oe) {
          return v.expression !== w || v.thenStatement !== j || v.elseStatement !== oe ? tn(Dm(w, j, oe), v) : v;
        }
        function kv(v, w) {
          const j = F(
            247
            /* DoStatement */
          );
          return j.statement = Zg(v), j.expression = w, j.transformFlags |= vn(j.statement) | vn(j.expression), j.jsDoc = void 0, j.flowNode = void 0, j;
        }
        function ng(v, w, j) {
          return v.statement !== w || v.expression !== j ? tn(kv(w, j), v) : v;
        }
        function cE(v, w) {
          const j = F(
            248
            /* WhileStatement */
          );
          return j.expression = v, j.statement = Zg(w), j.transformFlags |= vn(j.expression) | vn(j.statement), j.jsDoc = void 0, j.flowNode = void 0, j;
        }
        function zw(v, w, j) {
          return v.expression !== w || v.statement !== j ? tn(cE(w, j), v) : v;
        }
        function lE(v, w, j, oe) {
          const Ue = F(
            249
            /* ForStatement */
          );
          return Ue.initializer = v, Ue.condition = w, Ue.incrementor = j, Ue.statement = Zg(oe), Ue.transformFlags |= vn(Ue.initializer) | vn(Ue.condition) | vn(Ue.incrementor) | vn(Ue.statement), Ue.jsDoc = void 0, Ue.locals = void 0, Ue.nextContainer = void 0, Ue.flowNode = void 0, Ue;
        }
        function Vg(v, w, j, oe, Ue) {
          return v.initializer !== w || v.condition !== j || v.incrementor !== oe || v.statement !== Ue ? tn(lE(w, j, oe, Ue), v) : v;
        }
        function Cv(v, w, j) {
          const oe = F(
            250
            /* ForInStatement */
          );
          return oe.initializer = v, oe.expression = w, oe.statement = Zg(j), oe.transformFlags |= vn(oe.initializer) | vn(oe.expression) | vn(oe.statement), oe.jsDoc = void 0, oe.locals = void 0, oe.nextContainer = void 0, oe.flowNode = void 0, oe;
        }
        function VS(v, w, j, oe) {
          return v.initializer !== w || v.expression !== j || v.statement !== oe ? tn(Cv(w, j, oe), v) : v;
        }
        function I0(v, w, j, oe) {
          const Ue = F(
            251
            /* ForOfStatement */
          );
          return Ue.awaitModifier = v, Ue.initializer = w, Ue.expression = i().parenthesizeExpressionForDisallowedComma(j), Ue.statement = Zg(oe), Ue.transformFlags |= vn(Ue.awaitModifier) | vn(Ue.initializer) | vn(Ue.expression) | vn(Ue.statement) | 1024, v && (Ue.transformFlags |= 128), Ue.jsDoc = void 0, Ue.locals = void 0, Ue.nextContainer = void 0, Ue.flowNode = void 0, Ue;
        }
        function qS(v, w, j, oe, Ue) {
          return v.awaitModifier !== w || v.initializer !== j || v.expression !== oe || v.statement !== Ue ? tn(I0(w, j, oe, Ue), v) : v;
        }
        function bk(v) {
          const w = F(
            252
            /* ContinueStatement */
          );
          return w.label = _l(v), w.transformFlags |= vn(w.label) | 4194304, w.jsDoc = void 0, w.flowNode = void 0, w;
        }
        function Ww(v, w) {
          return v.label !== w ? tn(bk(w), v) : v;
        }
        function HS(v) {
          const w = F(
            253
            /* BreakStatement */
          );
          return w.label = _l(v), w.transformFlags |= vn(w.label) | 4194304, w.jsDoc = void 0, w.flowNode = void 0, w;
        }
        function Sk(v, w) {
          return v.label !== w ? tn(HS(w), v) : v;
        }
        function Ev(v) {
          const w = F(
            254
            /* ReturnStatement */
          );
          return w.expression = v, w.transformFlags |= vn(w.expression) | 128 | 4194304, w.jsDoc = void 0, w.flowNode = void 0, w;
        }
        function uE(v, w) {
          return v.expression !== w ? tn(Ev(w), v) : v;
        }
        function GS(v, w) {
          const j = F(
            255
            /* WithStatement */
          );
          return j.expression = v, j.statement = Zg(w), j.transformFlags |= vn(j.expression) | vn(j.statement), j.jsDoc = void 0, j.flowNode = void 0, j;
        }
        function Tk(v, w, j) {
          return v.expression !== w || v.statement !== j ? tn(GS(w, j), v) : v;
        }
        function u2(v, w) {
          const j = F(
            256
            /* SwitchStatement */
          );
          return j.expression = i().parenthesizeExpressionForDisallowedComma(v), j.caseBlock = w, j.transformFlags |= vn(j.expression) | vn(j.caseBlock), j.jsDoc = void 0, j.flowNode = void 0, j.possiblyExhaustive = false, j;
        }
        function t1(v, w, j) {
          return v.expression !== w || v.caseBlock !== j ? tn(u2(w, j), v) : v;
        }
        function xk(v, w) {
          const j = F(
            257
            /* LabeledStatement */
          );
          return j.label = _l(v), j.statement = Zg(w), j.transformFlags |= vn(j.label) | vn(j.statement), j.jsDoc = void 0, j.flowNode = void 0, j;
        }
        function kk(v, w, j) {
          return v.label !== w || v.statement !== j ? tn(xk(w, j), v) : v;
        }
        function _2(v) {
          const w = F(
            258
            /* ThrowStatement */
          );
          return w.expression = v, w.transformFlags |= vn(w.expression), w.jsDoc = void 0, w.flowNode = void 0, w;
        }
        function r1(v, w) {
          return v.expression !== w ? tn(_2(w), v) : v;
        }
        function F0(v, w, j) {
          const oe = F(
            259
            /* TryStatement */
          );
          return oe.tryBlock = v, oe.catchClause = w, oe.finallyBlock = j, oe.transformFlags |= vn(oe.tryBlock) | vn(oe.catchClause) | vn(oe.finallyBlock), oe.jsDoc = void 0, oe.flowNode = void 0, oe;
        }
        function Oh(v, w, j, oe) {
          return v.tryBlock !== w || v.catchClause !== j || v.finallyBlock !== oe ? tn(F0(w, j, oe), v) : v;
        }
        function Lh() {
          const v = F(
            260
            /* DebuggerStatement */
          );
          return v.jsDoc = void 0, v.flowNode = void 0, v;
        }
        function Mh(v, w, j, oe) {
          const Ue = R(
            261
            /* VariableDeclaration */
          );
          return Ue.name = _l(v), Ue.exclamationToken = w, Ue.type = j, Ue.initializer = Fu(oe), Ue.transformFlags |= Ry(Ue.name) | vn(Ue.initializer) | (Ue.exclamationToken ?? Ue.type ? 1 : 0), Ue.jsDoc = void 0, Ue;
        }
        function n1(v, w, j, oe, Ue) {
          return v.name !== w || v.type !== oe || v.exclamationToken !== j || v.initializer !== Ue ? tn(Mh(w, j, oe, Ue), v) : v;
        }
        function Dv(v, w = 0) {
          const j = F(
            262
            /* VariableDeclarationList */
          );
          return j.flags |= w & 7, j.declarations = O(v), j.transformFlags |= Na(j.declarations) | 4194304, w & 7 && (j.transformFlags |= 263168), w & 4 && (j.transformFlags |= 4), j;
        }
        function $S(v, w) {
          return v.declarations !== w ? tn(Dv(w, v.flags), v) : v;
        }
        function wv(v, w, j, oe, Ue, qt, hn) {
          const cs = R(
            263
            /* FunctionDeclaration */
          );
          if (cs.modifiers = La(v), cs.asteriskToken = w, cs.name = _l(j), cs.typeParameters = La(oe), cs.parameters = O(Ue), cs.type = qt, cs.body = hn, !cs.body || lm(cs.modifiers) & 128)
            cs.transformFlags = 1;
          else {
            const Do = lm(cs.modifiers) & 1024, kf = !!cs.asteriskToken, h1 = Do && kf;
            cs.transformFlags = Na(cs.modifiers) | vn(cs.asteriskToken) | Ry(cs.name) | Na(cs.typeParameters) | Na(cs.parameters) | vn(cs.type) | vn(cs.body) & -67108865 | (h1 ? 128 : Do ? 256 : kf ? 2048 : 0) | (cs.typeParameters || cs.type ? 1 : 0) | 4194304;
          }
          return cs.typeArguments = void 0, cs.jsDoc = void 0, cs.locals = void 0, cs.nextContainer = void 0, cs.endFlowNode = void 0, cs.returnFlowNode = void 0, cs;
        }
        function Pa(v, w, j, oe, Ue, qt, hn, cs) {
          return v.modifiers !== w || v.asteriskToken !== j || v.name !== oe || v.typeParameters !== Ue || v.parameters !== qt || v.type !== hn || v.body !== cs ? XS(wv(w, j, oe, Ue, qt, hn, cs), v) : v;
        }
        function XS(v, w) {
          return v !== w && v.modifiers === w.modifiers && (v.modifiers = w.modifiers), B(v, w);
        }
        function _E(v, w, j, oe, Ue) {
          const qt = R(
            264
            /* ClassDeclaration */
          );
          return qt.modifiers = La(v), qt.name = _l(w), qt.typeParameters = La(j), qt.heritageClauses = La(oe), qt.members = O(Ue), lm(qt.modifiers) & 128 ? qt.transformFlags = 1 : (qt.transformFlags |= Na(qt.modifiers) | Ry(qt.name) | Na(qt.typeParameters) | Na(qt.heritageClauses) | Na(qt.members) | (qt.typeParameters ? 1 : 0) | 1024, qt.transformFlags & 8192 && (qt.transformFlags |= 1)), qt.jsDoc = void 0, qt;
        }
        function Rh(v, w, j, oe, Ue, qt) {
          return v.modifiers !== w || v.name !== j || v.typeParameters !== oe || v.heritageClauses !== Ue || v.members !== qt ? tn(_E(w, j, oe, Ue, qt), v) : v;
        }
        function jh(v, w, j, oe, Ue) {
          const qt = R(
            265
            /* InterfaceDeclaration */
          );
          return qt.modifiers = La(v), qt.name = _l(w), qt.typeParameters = La(j), qt.heritageClauses = La(oe), qt.members = O(Ue), qt.transformFlags = 1, qt.jsDoc = void 0, qt;
        }
        function ig(v, w, j, oe, Ue, qt) {
          return v.modifiers !== w || v.name !== j || v.typeParameters !== oe || v.heritageClauses !== Ue || v.members !== qt ? tn(jh(w, j, oe, Ue, qt), v) : v;
        }
        function Oo(v, w, j, oe) {
          const Ue = R(
            266
            /* TypeAliasDeclaration */
          );
          return Ue.modifiers = La(v), Ue.name = _l(w), Ue.typeParameters = La(j), Ue.type = oe, Ue.transformFlags = 1, Ue.jsDoc = void 0, Ue.locals = void 0, Ue.nextContainer = void 0, Ue;
        }
        function du(v, w, j, oe, Ue) {
          return v.modifiers !== w || v.name !== j || v.typeParameters !== oe || v.type !== Ue ? tn(Oo(w, j, oe, Ue), v) : v;
        }
        function w_(v, w, j) {
          const oe = R(
            267
            /* EnumDeclaration */
          );
          return oe.modifiers = La(v), oe.name = _l(w), oe.members = O(j), oe.transformFlags |= Na(oe.modifiers) | vn(oe.name) | Na(oe.members) | 1, oe.transformFlags &= -67108865, oe.jsDoc = void 0, oe;
        }
        function mu(v, w, j, oe) {
          return v.modifiers !== w || v.name !== j || v.members !== oe ? tn(w_(w, j, oe), v) : v;
        }
        function Pv(v, w, j, oe = 0) {
          const Ue = R(
            268
            /* ModuleDeclaration */
          );
          return Ue.modifiers = La(v), Ue.flags |= oe & 2088, Ue.name = w, Ue.body = j, lm(Ue.modifiers) & 128 ? Ue.transformFlags = 1 : Ue.transformFlags |= Na(Ue.modifiers) | vn(Ue.name) | vn(Ue.body) | 1, Ue.transformFlags &= -67108865, Ue.jsDoc = void 0, Ue.locals = void 0, Ue.nextContainer = void 0, Ue;
        }
        function Gu(v, w, j, oe) {
          return v.modifiers !== w || v.name !== j || v.body !== oe ? tn(Pv(w, j, oe, v.flags), v) : v;
        }
        function sg(v) {
          const w = F(
            269
            /* ModuleBlock */
          );
          return w.statements = O(v), w.transformFlags |= Na(w.statements), w.jsDoc = void 0, w;
        }
        function c_(v, w) {
          return v.statements !== w ? tn(sg(w), v) : v;
        }
        function Gp(v) {
          const w = F(
            270
            /* CaseBlock */
          );
          return w.clauses = O(v), w.transformFlags |= Na(w.clauses), w.locals = void 0, w.nextContainer = void 0, w;
        }
        function ld(v, w) {
          return v.clauses !== w ? tn(Gp(w), v) : v;
        }
        function Nv(v) {
          const w = R(
            271
            /* NamespaceExportDeclaration */
          );
          return w.name = _l(v), w.transformFlags |= wN(w.name) | 1, w.modifiers = void 0, w.jsDoc = void 0, w;
        }
        function Av(v, w) {
          return v.name !== w ? Uw(Nv(w), v) : v;
        }
        function Uw(v, w) {
          return v !== w && (v.modifiers = w.modifiers), tn(v, w);
        }
        function fE(v, w, j, oe) {
          const Ue = R(
            272
            /* ImportEqualsDeclaration */
          );
          return Ue.modifiers = La(v), Ue.name = _l(j), Ue.isTypeOnly = w, Ue.moduleReference = oe, Ue.transformFlags |= Na(Ue.modifiers) | wN(Ue.name) | vn(Ue.moduleReference), xh(Ue.moduleReference) || (Ue.transformFlags |= 1), Ue.transformFlags &= -67108865, Ue.jsDoc = void 0, Ue;
        }
        function O0(v, w, j, oe, Ue) {
          return v.modifiers !== w || v.isTypeOnly !== j || v.name !== oe || v.moduleReference !== Ue ? tn(fE(w, j, oe, Ue), v) : v;
        }
        function f2(v, w, j, oe) {
          const Ue = F(
            273
            /* ImportDeclaration */
          );
          return Ue.modifiers = La(v), Ue.importClause = w, Ue.moduleSpecifier = j, Ue.attributes = Ue.assertClause = oe, Ue.transformFlags |= vn(Ue.importClause) | vn(Ue.moduleSpecifier), Ue.transformFlags &= -67108865, Ue.jsDoc = void 0, Ue;
        }
        function ze(v, w, j, oe, Ue) {
          return v.modifiers !== w || v.importClause !== j || v.moduleSpecifier !== oe || v.attributes !== Ue ? tn(f2(w, j, oe, Ue), v) : v;
        }
        function QS(v, w, j) {
          const oe = R(
            274
            /* ImportClause */
          );
          return typeof v == "boolean" && (v = v ? 156 : void 0), oe.isTypeOnly = v === 156, oe.phaseModifier = v, oe.name = w, oe.namedBindings = j, oe.transformFlags |= vn(oe.name) | vn(oe.namedBindings), v === 156 && (oe.transformFlags |= 1), oe.transformFlags &= -67108865, oe;
        }
        function qg(v, w, j, oe) {
          return typeof w == "boolean" && (w = w ? 156 : void 0), v.phaseModifier !== w || v.name !== j || v.namedBindings !== oe ? tn(QS(w, j, oe), v) : v;
        }
        function ud(v, w) {
          const j = F(
            301
            /* AssertClause */
          );
          return j.elements = O(v), j.multiLine = w, j.token = 132, j.transformFlags |= 4, j;
        }
        function L0(v, w, j) {
          return v.elements !== w || v.multiLine !== j ? tn(ud(w, j), v) : v;
        }
        function i1(v, w) {
          const j = F(
            302
            /* AssertEntry */
          );
          return j.name = v, j.value = w, j.transformFlags |= 4, j;
        }
        function $u(v, w, j) {
          return v.name !== w || v.value !== j ? tn(i1(w, j), v) : v;
        }
        function jd(v, w) {
          const j = F(
            303
            /* ImportTypeAssertionContainer */
          );
          return j.assertClause = v, j.multiLine = w, j;
        }
        function $p(v, w, j) {
          return v.assertClause !== w || v.multiLine !== j ? tn(jd(w, j), v) : v;
        }
        function Iv(v, w, j) {
          const oe = F(
            301
            /* ImportAttributes */
          );
          return oe.token = j ?? 118, oe.elements = O(v), oe.multiLine = w, oe.transformFlags |= 4, oe;
        }
        function ma(v, w, j) {
          return v.elements !== w || v.multiLine !== j ? tn(Iv(w, j, v.token), v) : v;
        }
        function Jf(v, w) {
          const j = F(
            302
            /* ImportAttribute */
          );
          return j.name = v, j.value = w, j.transformFlags |= 4, j;
        }
        function M0(v, w, j) {
          return v.name !== w || v.value !== j ? tn(Jf(w, j), v) : v;
        }
        function YS(v) {
          const w = R(
            275
            /* NamespaceImport */
          );
          return w.name = v, w.transformFlags |= vn(w.name), w.transformFlags &= -67108865, w;
        }
        function Bh(v, w) {
          return v.name !== w ? tn(YS(w), v) : v;
        }
        function p2(v) {
          const w = R(
            281
            /* NamespaceExport */
          );
          return w.name = v, w.transformFlags |= vn(w.name) | 32, w.transformFlags &= -67108865, w;
        }
        function mp(v, w) {
          return v.name !== w ? tn(p2(w), v) : v;
        }
        function Hg(v) {
          const w = F(
            276
            /* NamedImports */
          );
          return w.elements = O(v), w.transformFlags |= Na(w.elements), w.transformFlags &= -67108865, w;
        }
        function Fv(v, w) {
          return v.elements !== w ? tn(Hg(w), v) : v;
        }
        function R0(v, w, j) {
          const oe = R(
            277
            /* ImportSpecifier */
          );
          return oe.isTypeOnly = v, oe.propertyName = w, oe.name = j, oe.transformFlags |= vn(oe.propertyName) | vn(oe.name), oe.transformFlags &= -67108865, oe;
        }
        function wm(v, w, j, oe) {
          return v.isTypeOnly !== w || v.propertyName !== j || v.name !== oe ? tn(R0(w, j, oe), v) : v;
        }
        function d2(v, w, j) {
          const oe = R(
            278
            /* ExportAssignment */
          );
          return oe.modifiers = La(v), oe.isExportEquals = w, oe.expression = w ? i().parenthesizeRightSideOfBinary(
            64,
            /*leftSide*/
            void 0,
            j
          ) : i().parenthesizeExpressionOfExportDefault(j), oe.transformFlags |= Na(oe.modifiers) | vn(oe.expression), oe.transformFlags &= -67108865, oe.jsDoc = void 0, oe;
        }
        function Ov(v, w, j) {
          return v.modifiers !== w || v.expression !== j ? tn(d2(w, v.isExportEquals, j), v) : v;
        }
        function Pn(v, w, j, oe, Ue) {
          const qt = R(
            279
            /* ExportDeclaration */
          );
          return qt.modifiers = La(v), qt.isTypeOnly = w, qt.exportClause = j, qt.moduleSpecifier = oe, qt.attributes = qt.assertClause = Ue, qt.transformFlags |= Na(qt.modifiers) | vn(qt.exportClause) | vn(qt.moduleSpecifier), qt.transformFlags &= -67108865, qt.jsDoc = void 0, qt;
        }
        function xn(v, w, j, oe, Ue, qt) {
          return v.modifiers !== w || v.isTypeOnly !== j || v.exportClause !== oe || v.moduleSpecifier !== Ue || v.attributes !== qt ? ql(Pn(w, j, oe, Ue, qt), v) : v;
        }
        function ql(v, w) {
          return v !== w && v.modifiers === w.modifiers && (v.modifiers = w.modifiers), tn(v, w);
        }
        function ZS(v) {
          const w = F(
            280
            /* NamedExports */
          );
          return w.elements = O(v), w.transformFlags |= Na(w.elements), w.transformFlags &= -67108865, w;
        }
        function Jh(v, w) {
          return v.elements !== w ? tn(ZS(w), v) : v;
        }
        function m2(v, w, j) {
          const oe = F(
            282
            /* ExportSpecifier */
          );
          return oe.isTypeOnly = v, oe.propertyName = _l(w), oe.name = _l(j), oe.transformFlags |= vn(oe.propertyName) | vn(oe.name), oe.transformFlags &= -67108865, oe.jsDoc = void 0, oe;
        }
        function pE(v, w, j, oe) {
          return v.isTypeOnly !== w || v.propertyName !== j || v.name !== oe ? tn(m2(w, j, oe), v) : v;
        }
        function Vw() {
          const v = R(
            283
            /* MissingDeclaration */
          );
          return v.jsDoc = void 0, v;
        }
        function bn(v) {
          const w = F(
            284
            /* ExternalModuleReference */
          );
          return w.expression = v, w.transformFlags |= vn(w.expression), w.transformFlags &= -67108865, w;
        }
        function Xu(v, w) {
          return v.expression !== w ? tn(bn(w), v) : v;
        }
        function _s(v) {
          return F(v);
        }
        function B_(v, w, j = false) {
          const oe = KS(
            v,
            j ? w && i().parenthesizeNonArrayTypeOfPostfixType(w) : w
          );
          return oe.postfix = j, oe;
        }
        function KS(v, w) {
          const j = F(v);
          return j.type = w, j;
        }
        function s1(v, w, j) {
          return w.type !== j ? tn(B_(v, j, w.postfix), w) : w;
        }
        function fn(v, w, j) {
          return w.type !== j ? tn(KS(v, j), w) : w;
        }
        function dE(v, w) {
          const j = R(
            318
            /* JSDocFunctionType */
          );
          return j.parameters = La(v), j.type = w, j.transformFlags = Na(j.parameters) | (j.type ? 1 : 0), j.jsDoc = void 0, j.locals = void 0, j.nextContainer = void 0, j.typeArguments = void 0, j;
        }
        function Ck(v, w, j) {
          return v.parameters !== w || v.type !== j ? tn(dE(w, j), v) : v;
        }
        function Au(v, w = false) {
          const j = R(
            323
            /* JSDocTypeLiteral */
          );
          return j.jsDocPropertyTags = La(v), j.isArrayType = w, j;
        }
        function ag(v, w, j) {
          return v.jsDocPropertyTags !== w || v.isArrayType !== j ? tn(Au(w, j), v) : v;
        }
        function Bd(v) {
          const w = F(
            310
            /* JSDocTypeExpression */
          );
          return w.type = v, w;
        }
        function a1(v, w) {
          return v.type !== w ? tn(Bd(w), v) : v;
        }
        function eT(v, w, j) {
          const oe = R(
            324
            /* JSDocSignature */
          );
          return oe.typeParameters = La(v), oe.parameters = O(w), oe.type = j, oe.jsDoc = void 0, oe.locals = void 0, oe.nextContainer = void 0, oe;
        }
        function o1(v, w, j, oe) {
          return v.typeParameters !== w || v.parameters !== j || v.type !== oe ? tn(eT(w, j, oe), v) : v;
        }
        function zf(v) {
          const w = tz(v.kind);
          return v.tagName.escapedText === Zo(w) ? v.tagName : fe(w);
        }
        function _d2(v, w, j) {
          const oe = F(v);
          return oe.tagName = w, oe.comment = j, oe;
        }
        function gp(v, w, j) {
          const oe = R(v);
          return oe.tagName = w, oe.comment = j, oe;
        }
        function P_(v, w, j, oe) {
          const Ue = _d2(346, v ?? fe("template"), oe);
          return Ue.constraint = w, Ue.typeParameters = O(j), Ue;
        }
        function j0(v, w = zf(v), j, oe, Ue) {
          return v.tagName !== w || v.constraint !== j || v.typeParameters !== oe || v.comment !== Ue ? tn(P_(w, j, oe, Ue), v) : v;
        }
        function Lv(v, w, j, oe) {
          const Ue = gp(347, v ?? fe("typedef"), oe);
          return Ue.typeExpression = w, Ue.fullName = j, Ue.name = Lz(j), Ue.locals = void 0, Ue.nextContainer = void 0, Ue;
        }
        function Ek(v, w = zf(v), j, oe, Ue) {
          return v.tagName !== w || v.typeExpression !== j || v.fullName !== oe || v.comment !== Ue ? tn(Lv(w, j, oe, Ue), v) : v;
        }
        function Mv(v, w, j, oe, Ue, qt) {
          const hn = gp(342, v ?? fe("param"), qt);
          return hn.typeExpression = oe, hn.name = w, hn.isNameFirst = !!Ue, hn.isBracketed = j, hn;
        }
        function c1(v, w = zf(v), j, oe, Ue, qt, hn) {
          return v.tagName !== w || v.name !== j || v.isBracketed !== oe || v.typeExpression !== Ue || v.isNameFirst !== qt || v.comment !== hn ? tn(Mv(w, j, oe, Ue, qt, hn), v) : v;
        }
        function Dk(v, w, j, oe, Ue, qt) {
          const hn = gp(349, v ?? fe("prop"), qt);
          return hn.typeExpression = oe, hn.name = w, hn.isNameFirst = !!Ue, hn.isBracketed = j, hn;
        }
        function zh(v, w = zf(v), j, oe, Ue, qt, hn) {
          return v.tagName !== w || v.name !== j || v.isBracketed !== oe || v.typeExpression !== Ue || v.isNameFirst !== qt || v.comment !== hn ? tn(Dk(w, j, oe, Ue, qt, hn), v) : v;
        }
        function Pm(v, w, j, oe) {
          const Ue = gp(339, v ?? fe("callback"), oe);
          return Ue.typeExpression = w, Ue.fullName = j, Ue.name = Lz(j), Ue.locals = void 0, Ue.nextContainer = void 0, Ue;
        }
        function l1(v, w = zf(v), j, oe, Ue) {
          return v.tagName !== w || v.typeExpression !== j || v.fullName !== oe || v.comment !== Ue ? tn(Pm(w, j, oe, Ue), v) : v;
        }
        function Rv(v, w, j) {
          const oe = _d2(340, v ?? fe("overload"), j);
          return oe.typeExpression = w, oe;
        }
        function B0(v, w = zf(v), j, oe) {
          return v.tagName !== w || v.typeExpression !== j || v.comment !== oe ? tn(Rv(w, j, oe), v) : v;
        }
        function u1(v, w, j) {
          const oe = _d2(329, v ?? fe("augments"), j);
          return oe.class = w, oe;
        }
        function fd(v, w = zf(v), j, oe) {
          return v.tagName !== w || v.class !== j || v.comment !== oe ? tn(u1(w, j, oe), v) : v;
        }
        function Wh(v, w, j) {
          const oe = _d2(330, v ?? fe("implements"), j);
          return oe.class = w, oe;
        }
        function Gg(v, w, j) {
          const oe = _d2(348, v ?? fe("see"), j);
          return oe.name = w, oe;
        }
        function _1(v, w, j, oe) {
          return v.tagName !== w || v.name !== j || v.comment !== oe ? tn(Gg(w, j, oe), v) : v;
        }
        function Il(v) {
          const w = F(
            311
            /* JSDocNameReference */
          );
          return w.name = v, w;
        }
        function g2(v, w) {
          return v.name !== w ? tn(Il(w), v) : v;
        }
        function $g(v, w) {
          const j = F(
            312
            /* JSDocMemberName */
          );
          return j.left = v, j.right = w, j.transformFlags |= vn(j.left) | vn(j.right), j;
        }
        function jv(v, w, j) {
          return v.left !== w || v.right !== j ? tn($g(w, j), v) : v;
        }
        function tT(v, w) {
          const j = F(
            325
            /* JSDocLink */
          );
          return j.name = v, j.text = w, j;
        }
        function Xg(v, w, j) {
          return v.name !== w ? tn(tT(w, j), v) : v;
        }
        function mE(v, w) {
          const j = F(
            326
            /* JSDocLinkCode */
          );
          return j.name = v, j.text = w, j;
        }
        function wk(v, w, j) {
          return v.name !== w ? tn(mE(w, j), v) : v;
        }
        function Pk(v, w) {
          const j = F(
            327
            /* JSDocLinkPlain */
          );
          return j.name = v, j.text = w, j;
        }
        function qw(v, w, j) {
          return v.name !== w ? tn(Pk(w, j), v) : v;
        }
        function Nk(v, w = zf(v), j, oe) {
          return v.tagName !== w || v.class !== j || v.comment !== oe ? tn(Wh(w, j, oe), v) : v;
        }
        function Bv(v, w, j) {
          return _d2(v, w ?? fe(tz(v)), j);
        }
        function Uh(v, w, j = zf(w), oe) {
          return w.tagName !== j || w.comment !== oe ? tn(Bv(v, j, oe), w) : w;
        }
        function gE(v, w, j, oe) {
          const Ue = _d2(v, w ?? fe(tz(v)), oe);
          return Ue.typeExpression = j, Ue;
        }
        function Jv(v, w, j = zf(w), oe, Ue) {
          return w.tagName !== j || w.typeExpression !== oe || w.comment !== Ue ? tn(gE(v, j, oe, Ue), w) : w;
        }
        function rT(v, w) {
          return _d2(328, v, w);
        }
        function jc(v, w, j) {
          return v.tagName !== w || v.comment !== j ? tn(rT(w, j), v) : v;
        }
        function Fl(v, w, j) {
          const oe = gp(341, v ?? fe(tz(
            341
            /* JSDocEnumTag */
          )), j);
          return oe.typeExpression = w, oe.locals = void 0, oe.nextContainer = void 0, oe;
        }
        function Ak(v, w = zf(v), j, oe) {
          return v.tagName !== w || v.typeExpression !== j || v.comment !== oe ? tn(Fl(w, j, oe), v) : v;
        }
        function N_(v, w, j, oe, Ue) {
          const qt = _d2(352, v ?? fe("import"), Ue);
          return qt.importClause = w, qt.moduleSpecifier = j, qt.attributes = oe, qt.comment = Ue, qt;
        }
        function hp(v, w, j, oe, Ue, qt) {
          return v.tagName !== w || v.comment !== qt || v.importClause !== j || v.moduleSpecifier !== oe || v.attributes !== Ue ? tn(N_(w, j, oe, Ue, qt), v) : v;
        }
        function h2(v) {
          const w = F(
            322
            /* JSDocText */
          );
          return w.text = v, w;
        }
        function Jd(v, w) {
          return v.text !== w ? tn(h2(w), v) : v;
        }
        function f1(v, w) {
          const j = F(
            321
            /* JSDoc */
          );
          return j.comment = v, j.tags = La(w), j;
        }
        function J0(v, w, j) {
          return v.comment !== w || v.tags !== j ? tn(f1(w, j), v) : v;
        }
        function Ik(v, w, j) {
          const oe = F(
            285
            /* JsxElement */
          );
          return oe.openingElement = v, oe.children = O(w), oe.closingElement = j, oe.transformFlags |= vn(oe.openingElement) | Na(oe.children) | vn(oe.closingElement) | 2, oe;
        }
        function Hw(v, w, j, oe) {
          return v.openingElement !== w || v.children !== j || v.closingElement !== oe ? tn(Ik(w, j, oe), v) : v;
        }
        function _c2(v, w, j) {
          const oe = F(
            286
            /* JsxSelfClosingElement */
          );
          return oe.tagName = v, oe.typeArguments = La(w), oe.attributes = j, oe.transformFlags |= vn(oe.tagName) | Na(oe.typeArguments) | vn(oe.attributes) | 2, oe.typeArguments && (oe.transformFlags |= 1), oe;
        }
        function hE(v, w, j, oe) {
          return v.tagName !== w || v.typeArguments !== j || v.attributes !== oe ? tn(_c2(w, j, oe), v) : v;
        }
        function nT(v, w, j) {
          const oe = F(
            287
            /* JsxOpeningElement */
          );
          return oe.tagName = v, oe.typeArguments = La(w), oe.attributes = j, oe.transformFlags |= vn(oe.tagName) | Na(oe.typeArguments) | vn(oe.attributes) | 2, w && (oe.transformFlags |= 1), oe;
        }
        function y2(v, w, j, oe) {
          return v.tagName !== w || v.typeArguments !== j || v.attributes !== oe ? tn(nT(w, j, oe), v) : v;
        }
        function Fk(v) {
          const w = F(
            288
            /* JsxClosingElement */
          );
          return w.tagName = v, w.transformFlags |= vn(w.tagName) | 2, w;
        }
        function Iu(v, w) {
          return v.tagName !== w ? tn(Fk(w), v) : v;
        }
        function J_(v, w, j) {
          const oe = F(
            289
            /* JsxFragment */
          );
          return oe.openingFragment = v, oe.children = O(w), oe.closingFragment = j, oe.transformFlags |= vn(oe.openingFragment) | Na(oe.children) | vn(oe.closingFragment) | 2, oe;
        }
        function iT(v, w, j, oe) {
          return v.openingFragment !== w || v.children !== j || v.closingFragment !== oe ? tn(J_(w, j, oe), v) : v;
        }
        function zv(v, w) {
          const j = F(
            12
            /* JsxText */
          );
          return j.text = v, j.containsOnlyTriviaWhiteSpaces = !!w, j.transformFlags |= 2, j;
        }
        function z_(v, w, j) {
          return v.text !== w || v.containsOnlyTriviaWhiteSpaces !== j ? tn(zv(w, j), v) : v;
        }
        function sT() {
          const v = F(
            290
            /* JsxOpeningFragment */
          );
          return v.transformFlags |= 2, v;
        }
        function Qg() {
          const v = F(
            291
            /* JsxClosingFragment */
          );
          return v.transformFlags |= 2, v;
        }
        function Ok(v, w) {
          const j = R(
            292
            /* JsxAttribute */
          );
          return j.name = v, j.initializer = w, j.transformFlags |= vn(j.name) | vn(j.initializer) | 2, j;
        }
        function aT(v, w, j) {
          return v.name !== w || v.initializer !== j ? tn(Ok(w, j), v) : v;
        }
        function pd(v) {
          const w = R(
            293
            /* JsxAttributes */
          );
          return w.properties = O(v), w.transformFlags |= Na(w.properties) | 2, w;
        }
        function Lk(v, w) {
          return v.properties !== w ? tn(pd(w), v) : v;
        }
        function yE(v) {
          const w = F(
            294
            /* JsxSpreadAttribute */
          );
          return w.expression = v, w.transformFlags |= vn(w.expression) | 2, w;
        }
        function Mk(v, w) {
          return v.expression !== w ? tn(yE(w), v) : v;
        }
        function oT(v, w) {
          const j = F(
            295
            /* JsxExpression */
          );
          return j.dotDotDotToken = v, j.expression = w, j.transformFlags |= vn(j.dotDotDotToken) | vn(j.expression) | 2, j;
        }
        function Rk(v, w) {
          return v.expression !== w ? tn(oT(v.dotDotDotToken, w), v) : v;
        }
        function z0(v, w) {
          const j = F(
            296
            /* JsxNamespacedName */
          );
          return j.namespace = v, j.name = w, j.transformFlags |= vn(j.namespace) | vn(j.name) | 2, j;
        }
        function ff(v, w, j) {
          return v.namespace !== w || v.name !== j ? tn(z0(w, j), v) : v;
        }
        function Nm(v, w) {
          const j = F(
            297
            /* CaseClause */
          );
          return j.expression = i().parenthesizeExpressionForDisallowedComma(v), j.statements = O(w), j.transformFlags |= vn(j.expression) | Na(j.statements), j.jsDoc = void 0, j;
        }
        function cT(v, w, j) {
          return v.expression !== w || v.statements !== j ? tn(Nm(w, j), v) : v;
        }
        function lT(v) {
          const w = F(
            298
            /* DefaultClause */
          );
          return w.statements = O(v), w.transformFlags = Na(w.statements), w;
        }
        function Ia(v, w) {
          return v.statements !== w ? tn(lT(w), v) : v;
        }
        function yn(v, w) {
          const j = F(
            299
            /* HeritageClause */
          );
          switch (j.token = v, j.types = O(w), j.transformFlags |= Na(j.types), v) {
            case 96:
              j.transformFlags |= 1024;
              break;
            case 119:
              j.transformFlags |= 1;
              break;
            default:
              return E.assertNever(v);
          }
          return j;
        }
        function Wf(v, w) {
          return v.types !== w ? tn(yn(v.token, w), v) : v;
        }
        function vl(v, w) {
          const j = F(
            300
            /* CatchClause */
          );
          return j.variableDeclaration = lg(v), j.block = w, j.transformFlags |= vn(j.variableDeclaration) | vn(j.block) | (v ? 0 : 64), j.locals = void 0, j.nextContainer = void 0, j;
        }
        function Wv(v, w, j) {
          return v.variableDeclaration !== w || v.block !== j ? tn(vl(w, j), v) : v;
        }
        function uT(v, w) {
          const j = R(
            304
            /* PropertyAssignment */
          );
          return j.name = _l(v), j.initializer = i().parenthesizeExpressionForDisallowedComma(w), j.transformFlags |= Ry(j.name) | vn(j.initializer), j.modifiers = void 0, j.questionToken = void 0, j.exclamationToken = void 0, j.jsDoc = void 0, j;
        }
        function v2(v, w, j) {
          return v.name !== w || v.initializer !== j ? Uv(uT(w, j), v) : v;
        }
        function Uv(v, w) {
          return v !== w && (v.modifiers = w.modifiers, v.questionToken = w.questionToken, v.exclamationToken = w.exclamationToken), tn(v, w);
        }
        function _T(v, w) {
          const j = R(
            305
            /* ShorthandPropertyAssignment */
          );
          return j.name = _l(v), j.objectAssignmentInitializer = w && i().parenthesizeExpressionForDisallowedComma(w), j.transformFlags |= wN(j.name) | vn(j.objectAssignmentInitializer) | 1024, j.equalsToken = void 0, j.modifiers = void 0, j.questionToken = void 0, j.exclamationToken = void 0, j.jsDoc = void 0, j;
        }
        function C(v, w, j) {
          return v.name !== w || v.objectAssignmentInitializer !== j ? le(_T(w, j), v) : v;
        }
        function le(v, w) {
          return v !== w && (v.modifiers = w.modifiers, v.questionToken = w.questionToken, v.exclamationToken = w.exclamationToken, v.equalsToken = w.equalsToken), tn(v, w);
        }
        function _t(v) {
          const w = R(
            306
            /* SpreadAssignment */
          );
          return w.expression = i().parenthesizeExpressionForDisallowedComma(v), w.transformFlags |= vn(w.expression) | 128 | 65536, w.jsDoc = void 0, w;
        }
        function ur(v, w) {
          return v.expression !== w ? tn(_t(w), v) : v;
        }
        function ti(v, w) {
          const j = R(
            307
            /* EnumMember */
          );
          return j.name = _l(v), j.initializer = w && i().parenthesizeExpressionForDisallowedComma(w), j.transformFlags |= vn(j.name) | vn(j.initializer) | 1, j.jsDoc = void 0, j;
        }
        function gi(v, w, j) {
          return v.name !== w || v.initializer !== j ? tn(ti(w, j), v) : v;
        }
        function Ki(v, w, j) {
          const oe = t.createBaseSourceFileNode(
            308
            /* SourceFile */
          );
          return oe.statements = O(v), oe.endOfFileToken = w, oe.flags |= j, oe.text = "", oe.fileName = "", oe.path = "", oe.resolvedPath = "", oe.originalFileName = "", oe.languageVersion = 1, oe.languageVariant = 0, oe.scriptKind = 0, oe.isDeclarationFile = false, oe.hasNoDefaultLib = false, oe.transformFlags |= Na(oe.statements) | vn(oe.endOfFileToken), oe.locals = void 0, oe.nextContainer = void 0, oe.endFlowNode = void 0, oe.nodeCount = 0, oe.identifierCount = 0, oe.symbolCount = 0, oe.parseDiagnostics = void 0, oe.bindDiagnostics = void 0, oe.bindSuggestionDiagnostics = void 0, oe.lineMap = void 0, oe.externalModuleIndicator = void 0, oe.setExternalModuleIndicator = void 0, oe.pragmas = void 0, oe.checkJsDirective = void 0, oe.referencedFiles = void 0, oe.typeReferenceDirectives = void 0, oe.libReferenceDirectives = void 0, oe.amdDependencies = void 0, oe.commentDirectives = void 0, oe.identifiers = void 0, oe.packageJsonLocations = void 0, oe.packageJsonScope = void 0, oe.imports = void 0, oe.moduleAugmentations = void 0, oe.ambientModuleNames = void 0, oe.classifiableNames = void 0, oe.impliedNodeFormat = void 0, oe;
        }
        function mi(v) {
          const w = Object.create(v.redirectTarget);
          return Object.defineProperties(w, {
            id: {
              get() {
                return this.redirectInfo.redirectTarget.id;
              },
              set(j) {
                this.redirectInfo.redirectTarget.id = j;
              }
            },
            symbol: {
              get() {
                return this.redirectInfo.redirectTarget.symbol;
              },
              set(j) {
                this.redirectInfo.redirectTarget.symbol = j;
              }
            }
          }), w.redirectInfo = v, w;
        }
        function va(v) {
          const w = mi(v.redirectInfo);
          return w.flags |= v.flags & -17, w.fileName = v.fileName, w.path = v.path, w.resolvedPath = v.resolvedPath, w.originalFileName = v.originalFileName, w.packageJsonLocations = v.packageJsonLocations, w.packageJsonScope = v.packageJsonScope, w.emitNode = void 0, w;
        }
        function Bc(v) {
          const w = t.createBaseSourceFileNode(
            308
            /* SourceFile */
          );
          w.flags |= v.flags & -17;
          for (const j in v)
            if (!(Ya(w, j) || !Ya(v, j))) {
              if (j === "emitNode") {
                w.emitNode = void 0;
                continue;
              }
              w[j] = v[j];
            }
          return w;
        }
        function gu(v) {
          const w = v.redirectInfo ? va(v) : Bc(v);
          return n(w, v), w;
        }
        function l_(v, w, j, oe, Ue, qt, hn) {
          const cs = gu(v);
          return cs.statements = O(w), cs.isDeclarationFile = j, cs.referencedFiles = oe, cs.typeReferenceDirectives = Ue, cs.hasNoDefaultLib = qt, cs.libReferenceDirectives = hn, cs.transformFlags = Na(cs.statements) | vn(cs.endOfFileToken), cs;
        }
        function Vv(v, w, j = v.isDeclarationFile, oe = v.referencedFiles, Ue = v.typeReferenceDirectives, qt = v.hasNoDefaultLib, hn = v.libReferenceDirectives) {
          return v.statements !== w || v.isDeclarationFile !== j || v.referencedFiles !== oe || v.typeReferenceDirectives !== Ue || v.hasNoDefaultLib !== qt || v.libReferenceDirectives !== hn ? tn(l_(v, w, j, oe, Ue, qt, hn), v) : v;
        }
        function u_(v) {
          const w = F(
            309
            /* Bundle */
          );
          return w.sourceFiles = v, w.syntheticFileReferences = void 0, w.syntheticTypeReferences = void 0, w.syntheticLibReferences = void 0, w.hasNoDefaultLib = void 0, w;
        }
        function p1(v, w) {
          return v.sourceFiles !== w ? tn(u_(w), v) : v;
        }
        function jk(v, w = false, j) {
          const oe = F(
            238
            /* SyntheticExpression */
          );
          return oe.type = v, oe.isSpread = w, oe.tupleNameSource = j, oe;
        }
        function Xp(v) {
          const w = F(
            353
            /* SyntaxList */
          );
          return w._children = v, w;
        }
        function Uo(v) {
          const w = F(
            354
            /* NotEmittedStatement */
          );
          return w.original = v, ct(w, v), w;
        }
        function fT(v, w) {
          const j = F(
            356
            /* PartiallyEmittedExpression */
          );
          return j.expression = v, j.original = w, j.transformFlags |= vn(j.expression) | 1, ct(j, w), j;
        }
        function W0(v, w) {
          return v.expression !== w ? tn(fT(w, v.original), v) : v;
        }
        function dd() {
          return F(
            355
            /* NotEmittedTypeElement */
          );
        }
        function U0(v) {
          if (ao(v) && !h4(v) && !v.original && !v.emitNode && !v.id) {
            if (PD(v))
              return v.elements;
            if (_n(v) && Ete(v.operatorToken))
              return [v.left, v.right];
          }
          return v;
        }
        function b2(v) {
          const w = F(
            357
            /* CommaListExpression */
          );
          return w.elements = O(YX(v, U0)), w.transformFlags |= Na(w.elements), w;
        }
        function VL(v, w) {
          return v.elements !== w ? tn(b2(w), v) : v;
        }
        function Gw(v, w) {
          const j = F(
            358
            /* SyntheticReferenceExpression */
          );
          return j.expression = v, j.thisArg = w, j.transformFlags |= vn(j.expression) | vn(j.thisArg), j;
        }
        function Bk(v, w, j) {
          return v.expression !== w || v.thisArg !== j ? tn(Gw(w, j), v) : v;
        }
        function $w(v) {
          const w = se(v.escapedText);
          return w.flags |= v.flags & -17, w.transformFlags = v.transformFlags, n(w, v), IN(w, { ...v.emitNode.autoGenerate }), w;
        }
        function JA(v) {
          const w = se(v.escapedText);
          w.flags |= v.flags & -17, w.jsDoc = v.jsDoc, w.flowNode = v.flowNode, w.symbol = v.symbol, w.transformFlags = v.transformFlags, n(w, v);
          const j = dS(v);
          return j && v0(w, j), w;
        }
        function d1(v) {
          const w = me(v.escapedText);
          return w.flags |= v.flags & -17, w.transformFlags = v.transformFlags, n(w, v), IN(w, { ...v.emitNode.autoGenerate }), w;
        }
        function Jk(v) {
          const w = me(v.escapedText);
          return w.flags |= v.flags & -17, w.transformFlags = v.transformFlags, n(w, v), w;
        }
        function pT(v) {
          if (v === void 0)
            return v;
          if (Di(v))
            return gu(v);
          if (Mo(v))
            return $w(v);
          if (Me(v))
            return JA(v);
          if ($2(v))
            return d1(v);
          if (Ai(v))
            return Jk(v);
          const w = k7(v.kind) ? t.createBaseNode(v.kind) : t.createBaseTokenNode(v.kind);
          w.flags |= v.flags & -17, w.transformFlags = v.transformFlags, n(w, v);
          for (const j in v)
            Ya(w, j) || !Ya(v, j) || (w[j] = v[j]);
          return w;
        }
        function qL(v, w, j) {
          return Mr(
            lf(
              /*modifiers*/
              void 0,
              /*asteriskToken*/
              void 0,
              /*name*/
              void 0,
              /*typeParameters*/
              void 0,
              /*parameters*/
              w ? [w] : [],
              /*type*/
              void 0,
              Bo(
                v,
                /*multiLine*/
                true
              )
            ),
            /*typeArguments*/
            void 0,
            /*argumentsArray*/
            j ? [j] : []
          );
        }
        function S2(v, w, j) {
          return Mr(
            pp(
              /*modifiers*/
              void 0,
              /*typeParameters*/
              void 0,
              /*parameters*/
              w ? [w] : [],
              /*type*/
              void 0,
              /*equalsGreaterThanToken*/
              void 0,
              Bo(
                v,
                /*multiLine*/
                true
              )
            ),
            /*typeArguments*/
            void 0,
            /*argumentsArray*/
            j ? [j] : []
          );
        }
        function dT() {
          return Md(U("0"));
        }
        function Xw(v) {
          return d2(
            /*modifiers*/
            void 0,
            /*isExportEquals*/
            false,
            v
          );
        }
        function zk(v) {
          return Pn(
            /*modifiers*/
            void 0,
            /*isTypeOnly*/
            false,
            ZS([
              m2(
                /*isTypeOnly*/
                false,
                /*propertyName*/
                void 0,
                v
              )
            ])
          );
        }
        function Wi(v, w) {
          return w === "null" ? A.createStrictEquality(v, Ne()) : w === "undefined" ? A.createStrictEquality(v, dT()) : A.createStrictEquality(E_(v), _e(w));
        }
        function m1(v, w) {
          return w === "null" ? A.createStrictInequality(v, Ne()) : w === "undefined" ? A.createStrictInequality(v, dT()) : A.createStrictInequality(E_(v), _e(w));
        }
        function Wr(v, w, j) {
          return H2(v) ? Ea(
            go(
              v,
              /*questionDotToken*/
              void 0,
              w
            ),
            /*questionDotToken*/
            void 0,
            /*typeArguments*/
            void 0,
            j
          ) : Mr(
            qc(v, w),
            /*typeArguments*/
            void 0,
            j
          );
        }
        function Qw(v, w, j) {
          return Wr(v, "bind", [w, ...j]);
        }
        function vE(v, w, j) {
          return Wr(v, "call", [w, ...j]);
        }
        function bE(v, w, j) {
          return Wr(v, "apply", [w, j]);
        }
        function T2(v, w, j) {
          return Wr(fe(v), w, j);
        }
        function zA(v, w) {
          return Wr(v, "slice", w === void 0 ? [] : [H0(w)]);
        }
        function mT(v, w) {
          return Wr(v, "concat", w);
        }
        function HL(v, w, j) {
          return T2("Object", "defineProperty", [v, H0(w), j]);
        }
        function SE(v, w) {
          return T2("Object", "getOwnPropertyDescriptor", [v, H0(w)]);
        }
        function og(v, w, j) {
          return T2("Reflect", "get", j ? [v, w, j] : [v, w]);
        }
        function WA(v, w, j, oe) {
          return T2("Reflect", "set", oe ? [v, w, j, oe] : [v, w, j]);
        }
        function qv(v, w, j) {
          return j ? (v.push(uT(w, j)), true) : false;
        }
        function GL(v, w) {
          const j = [];
          qv(j, "enumerable", H0(v.enumerable)), qv(j, "configurable", H0(v.configurable));
          let oe = qv(j, "writable", H0(v.writable));
          oe = qv(j, "value", v.value) || oe;
          let Ue = qv(j, "get", v.get);
          return Ue = qv(j, "set", v.set) || Ue, E.assert(!(oe && Ue), "A PropertyDescriptor may not be both an accessor descriptor and a data descriptor."), eo(j, !w);
        }
        function Yw(v, w) {
          switch (v.kind) {
            case 218:
              return Nl(v, w);
            case 217:
              return xf(v, v.type, w);
            case 235:
              return nt(v, w, v.type);
            case 239:
              return dn(v, w, v.type);
            case 236:
              return pr(v, w);
            case 234:
              return e1(v, w, v.typeArguments);
            case 356:
              return W0(v, w);
          }
        }
        function UA(v) {
          return n_(v) && ao(v) && ao(y0(v)) && ao(pm(v)) && !ot(i6(v)) && !ot(AN(v));
        }
        function Zw(v, w, j = 63) {
          return v && jF(v, j) && !UA(v) ? Yw(
            v,
            Zw(v.expression, w)
          ) : w;
        }
        function Hv(v, w, j) {
          if (!w)
            return v;
          const oe = kk(
            w,
            w.label,
            Wy(w.statement) ? Hv(v, w.statement) : v
          );
          return j && j(w), oe;
        }
        function cg(v, w) {
          const j = Ra(v);
          switch (j.kind) {
            case 80:
              return w;
            case 110:
            case 9:
            case 10:
            case 11:
              return false;
            case 210:
              return j.elements.length !== 0;
            case 211:
              return j.properties.length > 0;
            default:
              return true;
          }
        }
        function TE(v, w, j, oe = false) {
          const Ue = dc(
            v,
            63
            /* All */
          );
          let qt, hn;
          return O_(Ue) ? (qt = ie(), hn = Ue) : CD(Ue) ? (qt = ie(), hn = j !== void 0 && j < 2 ? ct(fe("_super"), Ue) : Ue) : Ca(Ue) & 8192 ? (qt = dT(), hn = i().parenthesizeLeftSideOfAccess(
            Ue,
            /*optionalChain*/
            false
          )) : wn(Ue) ? cg(Ue.expression, oe) ? (qt = he(w), hn = qc(
            ct(
              A.createAssignment(
                qt,
                Ue.expression
              ),
              Ue.expression
            ),
            Ue.name
          ), ct(hn, Ue)) : (qt = Ue.expression, hn = Ue) : oo(Ue) ? cg(Ue.expression, oe) ? (qt = he(w), hn = ru(
            ct(
              A.createAssignment(
                qt,
                Ue.expression
              ),
              Ue.expression
            ),
            Ue.argumentExpression
          ), ct(hn, Ue)) : (qt = Ue.expression, hn = Ue) : (qt = dT(), hn = i().parenthesizeLeftSideOfAccess(
            v,
            /*optionalChain*/
            false
          )), { target: hn, thisArg: qt };
        }
        function Am(v, w) {
          return qc(
            // Explicit parens required because of v8 regression (https://bugs.chromium.org/p/v8/issues/detail?id=9560)
            Ul(
              eo([
                Y(
                  /*modifiers*/
                  void 0,
                  "value",
                  [ui(
                    /*modifiers*/
                    void 0,
                    /*dotDotDotToken*/
                    void 0,
                    v,
                    /*questionToken*/
                    void 0,
                    /*type*/
                    void 0,
                    /*initializer*/
                    void 0
                  )],
                  Bo([
                    _f(w)
                  ])
                )
              ])
            ),
            "value"
          );
        }
        function X(v) {
          return v.length > 10 ? b2(v) : ju(v, A.createComma);
        }
        function De(v, w, j, oe = 0, Ue) {
          const qt = Ue ? v && g7(v) : us(v);
          if (qt && Me(qt) && !Mo(qt)) {
            const hn = ja(ct(pT(qt), qt), qt.parent);
            return oe |= Ca(qt), j || (oe |= 96), w || (oe |= 3072), oe && un(hn, oe), hn;
          }
          return je(v);
        }
        function He(v, w, j) {
          return De(
            v,
            w,
            j,
            98304
            /* InternalName */
          );
        }
        function bt(v, w, j, oe) {
          return De(v, w, j, 32768, oe);
        }
        function Vt(v, w, j) {
          return De(
            v,
            w,
            j,
            16384
            /* ExportName */
          );
        }
        function rr(v, w, j) {
          return De(v, w, j);
        }
        function Rn(v, w, j, oe) {
          const Ue = qc(v, ao(w) ? w : pT(w));
          ct(Ue, w);
          let qt = 0;
          return oe || (qt |= 96), j || (qt |= 3072), qt && un(Ue, qt), Ue;
        }
        function gn(v, w, j, oe) {
          return v && Gn(
            w,
            32
            /* Export */
          ) ? Rn(v, De(w), j, oe) : Vt(w, j, oe);
        }
        function Gr(v, w, j, oe) {
          const Ue = lo(v, w, 0, j);
          return Qa(v, w, Ue, oe);
        }
        function ii(v) {
          return oa(v.expression) && v.expression.text === "use strict";
        }
        function ji() {
          return Du(_f(_e("use strict")));
        }
        function lo(v, w, j = 0, oe) {
          E.assert(w.length === 0, "Prologue directives should be at the first statement in the target statements array");
          let Ue = false;
          const qt = v.length;
          for (; j < qt; ) {
            const hn = v[j];
            if (im(hn))
              ii(hn) && (Ue = true), w.push(hn);
            else
              break;
            j++;
          }
          return oe && !Ue && w.push(ji()), j;
        }
        function Qa(v, w, j, oe, Ue = fb) {
          const qt = v.length;
          for (; j !== void 0 && j < qt; ) {
            const hn = v[j];
            if (Ca(hn) & 2097152 && Ue(hn))
              Er(w, oe ? Qe(hn, oe, Ti) : hn);
            else
              break;
            j++;
          }
          return j;
        }
        function Fa(v) {
          return Iz(v) ? v : ct(O([ji(), ...v]), v);
        }
        function yp(v) {
          return E.assert(Ni(v, IZ), "Cannot lift nodes to a Block."), yg(v) || Bo(v);
        }
        function Uf(v, w, j) {
          let oe = j;
          for (; oe < v.length && w(v[oe]); )
            oe++;
          return oe;
        }
        function V0(v, w) {
          if (!ot(w))
            return v;
          const j = Uf(v, im, 0), oe = Uf(v, X7, j), Ue = Uf(v, Q7, oe), qt = Uf(w, im, 0), hn = Uf(w, X7, qt), cs = Uf(w, Q7, hn), Do = Uf(w, C3, cs);
          E.assert(Do === w.length, "Expected declarations to be valid standard or custom prologues");
          const kf = hb(v) ? v.slice() : v;
          if (Do > cs && kf.splice(Ue, 0, ...w.slice(cs, Do)), cs > hn && kf.splice(oe, 0, ...w.slice(hn, cs)), hn > qt && kf.splice(j, 0, ...w.slice(qt, hn)), qt > 0)
            if (j === 0)
              kf.splice(0, 0, ...w.slice(0, qt));
            else {
              const h1 = /* @__PURE__ */ new Map();
              for (let zd = 0; zd < j; zd++) {
                const Uk = v[zd];
                h1.set(Uk.expression.text, true);
              }
              for (let zd = qt - 1; zd >= 0; zd--) {
                const Uk = w[zd];
                h1.has(Uk.expression.text) || kf.unshift(Uk);
              }
            }
          return hb(v) ? ct(O(kf, v.hasTrailingComma), v) : v;
        }
        function q0(v, w) {
          let j;
          return typeof w == "number" ? j = St(w) : j = w, Io(v) ? Jr(v, j, v.name, v.constraint, v.default) : Ii(v) ? Ji(v, j, v.dotDotDotToken, v.name, v.questionToken, v.type, v.initializer) : a6(v) ? Zr(v, j, v.typeParameters, v.parameters, v.type) : Vu(v) ? fi(v, j, v.name, v.questionToken, v.type) : as(v) ? Je(v, j, v.name, v.questionToken ?? v.exclamationToken, v.type, v.initializer) : id(v) ? er(v, j, v.name, v.questionToken, v.typeParameters, v.parameters, v.type) : Ko(v) ? Jn(v, j, v.asteriskToken, v.name, v.questionToken, v.typeParameters, v.parameters, v.type, v.body) : ec(v) ? vs(v, j, v.parameters, v.body) : lp(v) ? re(v, j, v.name, v.parameters, v.type, v.body) : R_(v) ? Ae(v, j, v.name, v.parameters, v.body) : Jy(v) ? Ct(v, j, v.parameters, v.type) : mo(v) ? Hu(v, j, v.asteriskToken, v.name, v.typeParameters, v.parameters, v.type, v.body) : bo(v) ? eg(v, j, v.typeParameters, v.parameters, v.type, v.equalsGreaterThanToken, v.body) : Oc(v) ? tg(v, j, v.name, v.typeParameters, v.heritageClauses, v.members) : Pc(v) ? Vl(v, j, v.declarationList) : Tc(v) ? Pa(v, j, v.asteriskToken, v.name, v.typeParameters, v.parameters, v.type, v.body) : Zc(v) ? Rh(v, j, v.name, v.typeParameters, v.heritageClauses, v.members) : Jl(v) ? ig(v, j, v.name, v.typeParameters, v.heritageClauses, v.members) : jp(v) ? du(v, j, v.name, v.typeParameters, v.type) : rv(v) ? mu(v, j, v.name, v.members) : Lc(v) ? Gu(v, j, v.name, v.body) : cl(v) ? O0(v, j, v.isTypeOnly, v.name, v.moduleReference) : Wo(v) ? ze(v, j, v.importClause, v.moduleSpecifier, v.attributes) : Fo(v) ? Ov(v, j, v.expression) : Mc(v) ? xn(v, j, v.isTypeOnly, v.exportClause, v.moduleSpecifier, v.attributes) : E.assertNever(v);
        }
        function Yg(v, w) {
          return Ii(v) ? Ji(v, w, v.dotDotDotToken, v.name, v.questionToken, v.type, v.initializer) : as(v) ? Je(v, w, v.name, v.questionToken ?? v.exclamationToken, v.type, v.initializer) : Ko(v) ? Jn(v, w, v.asteriskToken, v.name, v.questionToken, v.typeParameters, v.parameters, v.type, v.body) : lp(v) ? re(v, w, v.name, v.parameters, v.type, v.body) : R_(v) ? Ae(v, w, v.name, v.parameters, v.body) : Oc(v) ? tg(v, w, v.name, v.typeParameters, v.heritageClauses, v.members) : Zc(v) ? Rh(v, w, v.name, v.typeParameters, v.heritageClauses, v.members) : E.assertNever(v);
        }
        function g1(v, w) {
          switch (v.kind) {
            case 178:
              return re(v, v.modifiers, w, v.parameters, v.type, v.body);
            case 179:
              return Ae(v, v.modifiers, w, v.parameters, v.body);
            case 175:
              return Jn(v, v.modifiers, v.asteriskToken, w, v.questionToken, v.typeParameters, v.parameters, v.type, v.body);
            case 174:
              return er(v, v.modifiers, w, v.questionToken, v.typeParameters, v.parameters, v.type);
            case 173:
              return Je(v, v.modifiers, w, v.questionToken ?? v.exclamationToken, v.type, v.initializer);
            case 172:
              return fi(v, v.modifiers, w, v.questionToken, v.type);
            case 304:
              return v2(v, w, v.initializer);
          }
        }
        function La(v) {
          return v ? O(v) : void 0;
        }
        function _l(v) {
          return typeof v == "string" ? fe(v) : v;
        }
        function H0(v) {
          return typeof v == "string" ? _e(v) : typeof v == "number" ? U(v) : typeof v == "boolean" ? v ? Ee() : Ce() : v;
        }
        function Fu(v) {
          return v && i().parenthesizeExpressionForDisallowedComma(v);
        }
        function Wk(v) {
          return typeof v == "number" ? ne(v) : v;
        }
        function Zg(v) {
          return v && zte(v) ? ct(n(Hp(), v), v) : v;
        }
        function lg(v) {
          return typeof v == "string" || v && !ei(v) ? Mh(
            v,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            /*initializer*/
            void 0
          ) : v;
        }
        function tn(v, w) {
          return v !== w && (n(v, w), ct(v, w)), v;
        }
      }
      function tz(e) {
        switch (e) {
          case 345:
            return "type";
          case 343:
            return "returns";
          case 344:
            return "this";
          case 341:
            return "enum";
          case 331:
            return "author";
          case 333:
            return "class";
          case 334:
            return "public";
          case 335:
            return "private";
          case 336:
            return "protected";
          case 337:
            return "readonly";
          case 338:
            return "override";
          case 346:
            return "template";
          case 347:
            return "typedef";
          case 342:
            return "param";
          case 349:
            return "prop";
          case 339:
            return "callback";
          case 340:
            return "overload";
          case 329:
            return "augments";
          case 330:
            return "implements";
          case 352:
            return "import";
          default:
            return E.fail(`Unsupported kind: ${E.formatSyntaxKind(e)}`);
        }
      }
      var h0, t0e = {};
      function D9e(e, t) {
        switch (h0 || (h0 = Tg(
          99,
          /*skipTrivia*/
          false,
          0
          /* Standard */
        )), e) {
          case 15:
            h0.setText("`" + t + "`");
            break;
          case 16:
            h0.setText("`" + t + "${");
            break;
          case 17:
            h0.setText("}" + t + "${");
            break;
          case 18:
            h0.setText("}" + t + "`");
            break;
        }
        let n = h0.scan();
        if (n === 20 && (n = h0.reScanTemplateToken(
          /*isTaggedTemplate*/
          false
        )), h0.isUnterminated())
          return h0.setText(void 0), t0e;
        let i;
        switch (n) {
          case 15:
          case 16:
          case 17:
          case 18:
            i = h0.getTokenValue();
            break;
        }
        return i === void 0 || h0.scan() !== 1 ? (h0.setText(void 0), t0e) : (h0.setText(void 0), i);
      }
      function Ry(e) {
        return e && Me(e) ? wN(e) : vn(e);
      }
      function wN(e) {
        return vn(e) & -67108865;
      }
      function w9e(e, t) {
        return t | e.transformFlags & 134234112;
      }
      function vn(e) {
        if (!e) return 0;
        const t = e.transformFlags & ~P9e(e.kind);
        return kl(e) && Wc(e.name) ? w9e(e.name, t) : t;
      }
      function Na(e) {
        return e ? e.transformFlags : 0;
      }
      function r0e(e) {
        let t = 0;
        for (const n of e)
          t |= vn(n);
        e.transformFlags = t;
      }
      function P9e(e) {
        if (e >= 183 && e <= 206)
          return -2;
        switch (e) {
          case 214:
          case 215:
          case 210:
            return -2147450880;
          case 268:
            return -1941676032;
          case 170:
            return -2147483648;
          case 220:
            return -2072174592;
          case 219:
          case 263:
            return -1937940480;
          case 262:
            return -2146893824;
          case 264:
          case 232:
            return -2147344384;
          case 177:
            return -1937948672;
          case 173:
            return -2013249536;
          case 175:
          case 178:
          case 179:
            return -2005057536;
          case 133:
          case 150:
          case 163:
          case 146:
          case 154:
          case 151:
          case 136:
          case 155:
          case 116:
          case 169:
          case 172:
          case 174:
          case 180:
          case 181:
          case 182:
          case 265:
          case 266:
            return -2;
          case 211:
            return -2147278848;
          case 300:
            return -2147418112;
          case 207:
          case 208:
            return -2147450880;
          case 217:
          case 239:
          case 235:
          case 356:
          case 218:
          case 108:
            return -2147483648;
          case 212:
          case 213:
            return -2147483648;
          default:
            return -2147483648;
        }
      }
      var dF = ote();
      function mF(e) {
        return e.flags |= 16, e;
      }
      var N9e = {
        createBaseSourceFileNode: (e) => mF(dF.createBaseSourceFileNode(e)),
        createBaseIdentifierNode: (e) => mF(dF.createBaseIdentifierNode(e)),
        createBasePrivateIdentifierNode: (e) => mF(dF.createBasePrivateIdentifierNode(e)),
        createBaseTokenNode: (e) => mF(dF.createBaseTokenNode(e)),
        createBaseNode: (e) => mF(dF.createBaseNode(e))
      }, N = DN(4, N9e), n0e;
      function i0e(e, t, n) {
        return new (n0e || (n0e = Yl.getSourceMapSourceConstructor()))(e, t, n);
      }
      function Cn(e, t) {
        if (e.original !== t && (e.original = t, t)) {
          const n = t.emitNode;
          n && (e.emitNode = A9e(n, e.emitNode));
        }
        return e;
      }
      function A9e(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 = In(s.slice(), t.leadingComments)), o && (t.trailingComments = In(o.slice(), t.trailingComments)), c && (t.commentRange = c), _ && (t.sourceMapRange = _), u && (t.tokenSourceMapRanges = I9e(u, t.tokenSourceMapRanges)), g !== void 0 && (t.constantValue = g), m)
          for (const D of m)
            t.helpers = lh(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 I9e(e, t) {
        t || (t = []);
        for (const n in e)
          t[n] = e[n];
        return t;
      }
      function _u(e) {
        if (e.emitNode)
          E.assert(!(e.emitNode.internalFlags & 8), "Invalid attempt to mutate an immutable node.");
        else {
          if (h4(e)) {
            if (e.kind === 308)
              return e.emitNode = { annotatedNodes: [e] };
            const t = xr(ys(xr(e))) ?? E.fail("Could not determine parsed source file.");
            _u(t).annotatedNodes.push(e);
          }
          e.emitNode = {};
        }
        return e.emitNode;
      }
      function rz(e) {
        var t, n;
        const i = (n = (t = xr(ys(e))) == null ? void 0 : t.emitNode) == null ? void 0 : n.annotatedNodes;
        if (i)
          for (const s of i)
            s.emitNode = void 0;
      }
      function PN(e) {
        const t = _u(e);
        return t.flags |= 3072, t.leadingComments = void 0, t.trailingComments = void 0, e;
      }
      function un(e, t) {
        return _u(e).flags = t, e;
      }
      function fm(e, t) {
        const n = _u(e);
        return n.flags = n.flags | t, e;
      }
      function NN(e, t) {
        return _u(e).internalFlags = t, e;
      }
      function pS(e, t) {
        const n = _u(e);
        return n.internalFlags = n.internalFlags | t, e;
      }
      function y0(e) {
        var t;
        return ((t = e.emitNode) == null ? void 0 : t.sourceMapRange) ?? e;
      }
      function ga(e, t) {
        return _u(e).sourceMapRange = t, e;
      }
      function s0e(e, t) {
        var n, i;
        return (i = (n = e.emitNode) == null ? void 0 : n.tokenSourceMapRanges) == null ? void 0 : i[t];
      }
      function pte(e, t, n) {
        const i = _u(e), s = i.tokenSourceMapRanges ?? (i.tokenSourceMapRanges = []);
        return s[t] = n, e;
      }
      function SD(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.startsOnNewLine;
      }
      function gF(e, t) {
        return _u(e).startsOnNewLine = t, e;
      }
      function pm(e) {
        var t;
        return ((t = e.emitNode) == null ? void 0 : t.commentRange) ?? e;
      }
      function Yc(e, t) {
        return _u(e).commentRange = t, e;
      }
      function i6(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.leadingComments;
      }
      function Q1(e, t) {
        return _u(e).leadingComments = t, e;
      }
      function jy(e, t, n, i) {
        return Q1(e, Er(i6(e), { kind: t, pos: -1, end: -1, hasTrailingNewLine: i, text: n }));
      }
      function AN(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.trailingComments;
      }
      function Nx(e, t) {
        return _u(e).trailingComments = t, e;
      }
      function TD(e, t, n, i) {
        return Nx(e, Er(AN(e), { kind: t, pos: -1, end: -1, hasTrailingNewLine: i, text: n }));
      }
      function dte(e, t) {
        Q1(e, i6(t)), Nx(e, AN(t));
        const n = _u(t);
        return n.leadingComments = void 0, n.trailingComments = void 0, e;
      }
      function mte(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.constantValue;
      }
      function gte(e, t) {
        const n = _u(e);
        return n.constantValue = t, e;
      }
      function Ax(e, t) {
        const n = _u(e);
        return n.helpers = Er(n.helpers, t), e;
      }
      function Rg(e, t) {
        if (ot(t)) {
          const n = _u(e);
          for (const i of t)
            n.helpers = lh(n.helpers, i);
        }
        return e;
      }
      function a0e(e, t) {
        var n;
        const i = (n = e.emitNode) == null ? void 0 : n.helpers;
        return i ? KE(i, t) : false;
      }
      function nz(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.helpers;
      }
      function hte(e, t, n) {
        const i = e.emitNode, s = i && i.helpers;
        if (!ot(s)) return;
        const o = _u(t);
        let c = 0;
        for (let _ = 0; _ < s.length; _++) {
          const u = s[_];
          n(u) ? (c++, o.helpers = lh(o.helpers, u)) : c > 0 && (s[_ - c] = u);
        }
        c > 0 && (s.length -= c);
      }
      function iz(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.snippetElement;
      }
      function sz(e, t) {
        const n = _u(e);
        return n.snippetElement = t, e;
      }
      function az(e) {
        return _u(e).internalFlags |= 4, e;
      }
      function yte(e, t) {
        const n = _u(e);
        return n.typeNode = t, e;
      }
      function vte(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.typeNode;
      }
      function v0(e, t) {
        return _u(e).identifierTypeArguments = t, e;
      }
      function dS(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.identifierTypeArguments;
      }
      function IN(e, t) {
        return _u(e).autoGenerate = t, e;
      }
      function o0e(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.autoGenerate;
      }
      function bte(e, t) {
        return _u(e).generatedImportReference = t, e;
      }
      function Ste(e) {
        var t;
        return (t = e.emitNode) == null ? void 0 : t.generatedImportReference;
      }
      var Tte = /* @__PURE__ */ ((e) => (e.Field = "f", e.Method = "m", e.Accessor = "a", e))(Tte || {});
      function xte(e) {
        const t = e.factory, n = Bu(() => NN(
          t.createTrue(),
          8
          /* Immutable */
        )), i = Bu(() => NN(
          t.createFalse(),
          8
          /* Immutable */
        ));
        return {
          getUnscopedHelperName: s,
          // TypeScript Helpers
          createDecorateHelper: o,
          createMetadataHelper: c,
          createParamHelper: _,
          // ES Decorators Helpers
          createESDecorateHelper: D,
          createRunInitializersHelper: P,
          // ES2018 Helpers
          createAssignHelper: A,
          createAwaitHelper: O,
          createAsyncGeneratorHelper: F,
          createAsyncDelegatorHelper: R,
          createAsyncValuesHelper: B,
          // ES2018 Destructuring Helpers
          createRestHelper: U,
          // ES2017 Helpers
          createAwaiterHelper: $,
          // ES2015 Helpers
          createExtendsHelper: W,
          createTemplateObjectHelper: _e,
          createSpreadArrayHelper: K,
          createPropKeyHelper: V,
          createSetFunctionNameHelper: ae,
          // ES2015 Destructuring Helpers
          createValuesHelper: se,
          createReadHelper: ce,
          // ES2015 Generator Helpers
          createGeneratorHelper: fe,
          // ES Module Helpers
          createImportStarHelper: he,
          createImportStarCallbackHelper: q,
          createImportDefaultHelper: be,
          createExportStarHelper: je,
          // Class Fields Helpers
          createClassPrivateFieldGetHelper: me,
          createClassPrivateFieldSetHelper: Z,
          createClassPrivateFieldInHelper: pe,
          // 'using' helpers
          createAddDisposableResourceHelper: Te,
          createDisposeResourcesHelper: Fe,
          // --rewriteRelativeImportExtensions helpers
          createRewriteRelativeImportExtensionsHelper: Ye
        };
        function s(ne) {
          return un(
            t.createIdentifier(ne),
            8196
            /* AdviseOnEmitNode */
          );
        }
        function o(ne, Se, ie, Ne) {
          e.requestEmitHelper(F9e);
          const Ee = [];
          return Ee.push(t.createArrayLiteralExpression(
            ne,
            /*multiLine*/
            true
          )), Ee.push(Se), ie && (Ee.push(ie), Ne && Ee.push(Ne)), t.createCallExpression(
            s("__decorate"),
            /*typeArguments*/
            void 0,
            Ee
          );
        }
        function c(ne, Se) {
          return e.requestEmitHelper(O9e), t.createCallExpression(
            s("__metadata"),
            /*typeArguments*/
            void 0,
            [
              t.createStringLiteral(ne),
              Se
            ]
          );
        }
        function _(ne, Se, ie) {
          return e.requestEmitHelper(L9e), ct(
            t.createCallExpression(
              s("__param"),
              /*typeArguments*/
              void 0,
              [
                t.createNumericLiteral(Se + ""),
                ne
              ]
            ),
            ie
          );
        }
        function u(ne) {
          const Se = [
            t.createPropertyAssignment(t.createIdentifier("kind"), t.createStringLiteral("class")),
            t.createPropertyAssignment(t.createIdentifier("name"), ne.name),
            t.createPropertyAssignment(t.createIdentifier("metadata"), ne.metadata)
          ];
          return t.createObjectLiteralExpression(Se);
        }
        function g(ne) {
          const Se = ne.computed ? t.createElementAccessExpression(t.createIdentifier("obj"), ne.name) : t.createPropertyAccessExpression(t.createIdentifier("obj"), ne.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,
              Se
            )
          );
        }
        function m(ne) {
          const Se = ne.computed ? t.createElementAccessExpression(t.createIdentifier("obj"), ne.name) : t.createPropertyAccessExpression(t.createIdentifier("obj"), ne.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(
                    Se,
                    t.createIdentifier("value")
                  )
                )
              ])
            )
          );
        }
        function h(ne) {
          const Se = ne.computed ? ne.name : Me(ne.name) ? t.createStringLiteralFromNode(ne.name) : ne.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(
                Se,
                103,
                t.createIdentifier("obj")
              )
            )
          );
        }
        function S(ne, Se) {
          const ie = [];
          return ie.push(h(ne)), Se.get && ie.push(g(ne)), Se.set && ie.push(m(ne)), t.createObjectLiteralExpression(ie);
        }
        function T(ne) {
          const Se = [
            t.createPropertyAssignment(t.createIdentifier("kind"), t.createStringLiteral(ne.kind)),
            t.createPropertyAssignment(t.createIdentifier("name"), ne.name.computed ? ne.name.name : t.createStringLiteralFromNode(ne.name.name)),
            t.createPropertyAssignment(t.createIdentifier("static"), ne.static ? t.createTrue() : t.createFalse()),
            t.createPropertyAssignment(t.createIdentifier("private"), ne.private ? t.createTrue() : t.createFalse()),
            t.createPropertyAssignment(t.createIdentifier("access"), S(ne.name, ne.access)),
            t.createPropertyAssignment(t.createIdentifier("metadata"), ne.metadata)
          ];
          return t.createObjectLiteralExpression(Se);
        }
        function k(ne) {
          return ne.kind === "class" ? u(ne) : T(ne);
        }
        function D(ne, Se, ie, Ne, Ee, Ce) {
          return e.requestEmitHelper(M9e), t.createCallExpression(
            s("__esDecorate"),
            /*typeArguments*/
            void 0,
            [
              ne ?? t.createNull(),
              Se ?? t.createNull(),
              ie,
              k(Ne),
              Ee,
              Ce
            ]
          );
        }
        function P(ne, Se, ie) {
          return e.requestEmitHelper(R9e), t.createCallExpression(
            s("__runInitializers"),
            /*typeArguments*/
            void 0,
            ie ? [ne, Se, ie] : [ne, Se]
          );
        }
        function A(ne) {
          return pa(e.getCompilerOptions()) >= 2 ? t.createCallExpression(
            t.createPropertyAccessExpression(t.createIdentifier("Object"), "assign"),
            /*typeArguments*/
            void 0,
            ne
          ) : (e.requestEmitHelper(j9e), t.createCallExpression(
            s("__assign"),
            /*typeArguments*/
            void 0,
            ne
          ));
        }
        function O(ne) {
          return e.requestEmitHelper(hF), t.createCallExpression(
            s("__await"),
            /*typeArguments*/
            void 0,
            [ne]
          );
        }
        function F(ne, Se) {
          return e.requestEmitHelper(hF), e.requestEmitHelper(B9e), (ne.emitNode || (ne.emitNode = {})).flags |= 1572864, t.createCallExpression(
            s("__asyncGenerator"),
            /*typeArguments*/
            void 0,
            [
              Se ? t.createThis() : t.createVoidZero(),
              t.createIdentifier("arguments"),
              ne
            ]
          );
        }
        function R(ne) {
          return e.requestEmitHelper(hF), e.requestEmitHelper(J9e), t.createCallExpression(
            s("__asyncDelegator"),
            /*typeArguments*/
            void 0,
            [ne]
          );
        }
        function B(ne) {
          return e.requestEmitHelper(z9e), t.createCallExpression(
            s("__asyncValues"),
            /*typeArguments*/
            void 0,
            [ne]
          );
        }
        function U(ne, Se, ie, Ne) {
          e.requestEmitHelper(W9e);
          const Ee = [];
          let Ce = 0;
          for (let Ve = 0; Ve < Se.length - 1; Ve++) {
            const St = Oz(Se[Ve]);
            if (St)
              if (Hs(St)) {
                E.assertIsDefined(ie, "Encountered computed property name but 'computedTempVariables' argument was not provided.");
                const Bt = ie[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,
            [
              ne,
              ct(
                t.createArrayLiteralExpression(Ee),
                Ne
              )
            ]
          );
        }
        function $(ne, Se, ie, Ne, Ee) {
          e.requestEmitHelper(U9e);
          const Ce = t.createFunctionExpression(
            /*modifiers*/
            void 0,
            t.createToken(
              42
              /* AsteriskToken */
            ),
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            Ne ?? [],
            /*type*/
            void 0,
            Ee
          );
          return (Ce.emitNode || (Ce.emitNode = {})).flags |= 1572864, t.createCallExpression(
            s("__awaiter"),
            /*typeArguments*/
            void 0,
            [
              ne ? t.createThis() : t.createVoidZero(),
              Se ?? t.createVoidZero(),
              ie ? zN(t, ie) : t.createVoidZero(),
              Ce
            ]
          );
        }
        function W(ne) {
          return e.requestEmitHelper(V9e), t.createCallExpression(
            s("__extends"),
            /*typeArguments*/
            void 0,
            [ne, t.createUniqueName(
              "_super",
              48
              /* FileLevel */
            )]
          );
        }
        function _e(ne, Se) {
          return e.requestEmitHelper(q9e), t.createCallExpression(
            s("__makeTemplateObject"),
            /*typeArguments*/
            void 0,
            [ne, Se]
          );
        }
        function K(ne, Se, ie) {
          return e.requestEmitHelper(G9e), t.createCallExpression(
            s("__spreadArray"),
            /*typeArguments*/
            void 0,
            [ne, Se, ie ? n() : i()]
          );
        }
        function V(ne) {
          return e.requestEmitHelper($9e), t.createCallExpression(
            s("__propKey"),
            /*typeArguments*/
            void 0,
            [ne]
          );
        }
        function ae(ne, Se, ie) {
          return e.requestEmitHelper(X9e), e.factory.createCallExpression(
            s("__setFunctionName"),
            /*typeArguments*/
            void 0,
            ie ? [ne, Se, e.factory.createStringLiteral(ie)] : [ne, Se]
          );
        }
        function se(ne) {
          return e.requestEmitHelper(Q9e), t.createCallExpression(
            s("__values"),
            /*typeArguments*/
            void 0,
            [ne]
          );
        }
        function ce(ne, Se) {
          return e.requestEmitHelper(H9e), t.createCallExpression(
            s("__read"),
            /*typeArguments*/
            void 0,
            Se !== void 0 ? [ne, t.createNumericLiteral(Se + "")] : [ne]
          );
        }
        function fe(ne) {
          return e.requestEmitHelper(Y9e), t.createCallExpression(
            s("__generator"),
            /*typeArguments*/
            void 0,
            [t.createThis(), ne]
          );
        }
        function he(ne) {
          return e.requestEmitHelper(l0e), t.createCallExpression(
            s("__importStar"),
            /*typeArguments*/
            void 0,
            [ne]
          );
        }
        function q() {
          return e.requestEmitHelper(l0e), s("__importStar");
        }
        function be(ne) {
          return e.requestEmitHelper(K9e), t.createCallExpression(
            s("__importDefault"),
            /*typeArguments*/
            void 0,
            [ne]
          );
        }
        function je(ne, Se = t.createIdentifier("exports")) {
          return e.requestEmitHelper(eLe), e.requestEmitHelper(Cte), t.createCallExpression(
            s("__exportStar"),
            /*typeArguments*/
            void 0,
            [ne, Se]
          );
        }
        function me(ne, Se, ie, Ne) {
          e.requestEmitHelper(tLe);
          let Ee;
          return Ne ? Ee = [ne, Se, t.createStringLiteral(ie), Ne] : Ee = [ne, Se, t.createStringLiteral(ie)], t.createCallExpression(
            s("__classPrivateFieldGet"),
            /*typeArguments*/
            void 0,
            Ee
          );
        }
        function Z(ne, Se, ie, Ne, Ee) {
          e.requestEmitHelper(rLe);
          let Ce;
          return Ee ? Ce = [ne, Se, ie, t.createStringLiteral(Ne), Ee] : Ce = [ne, Se, ie, t.createStringLiteral(Ne)], t.createCallExpression(
            s("__classPrivateFieldSet"),
            /*typeArguments*/
            void 0,
            Ce
          );
        }
        function pe(ne, Se) {
          return e.requestEmitHelper(nLe), t.createCallExpression(
            s("__classPrivateFieldIn"),
            /*typeArguments*/
            void 0,
            [ne, Se]
          );
        }
        function Te(ne, Se, ie) {
          return e.requestEmitHelper(iLe), t.createCallExpression(
            s("__addDisposableResource"),
            /*typeArguments*/
            void 0,
            [ne, Se, ie ? t.createTrue() : t.createFalse()]
          );
        }
        function Fe(ne) {
          return e.requestEmitHelper(sLe), t.createCallExpression(
            s("__disposeResources"),
            /*typeArguments*/
            void 0,
            [ne]
          );
        }
        function Ye(ne) {
          return e.requestEmitHelper(aLe), t.createCallExpression(
            s("__rewriteRelativeImportExtension"),
            /*typeArguments*/
            void 0,
            e.getCompilerOptions().jsx === 1 ? [ne, t.createTrue()] : [ne]
          );
        }
      }
      function kte(e, t) {
        return e === t || e.priority === t.priority ? 0 : e.priority === void 0 ? 1 : t.priority === void 0 ? -1 : po(e.priority, t.priority);
      }
      function c0e(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 F9e = {
        name: "typescript:decorate",
        importName: "__decorate",
        scoped: false,
        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;
            };`
      }, O9e = {
        name: "typescript:metadata",
        importName: "__metadata",
        scoped: false,
        priority: 3,
        text: `
            var __metadata = (this && this.__metadata) || function (k, v) {
                if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
            };`
      }, L9e = {
        name: "typescript:param",
        importName: "__param",
        scoped: false,
        priority: 4,
        text: `
            var __param = (this && this.__param) || function (paramIndex, decorator) {
                return function (target, key) { decorator(target, key, paramIndex); }
            };`
      }, M9e = {
        name: "typescript:esDecorate",
        importName: "__esDecorate",
        scoped: false,
        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;
        };`
      }, R9e = {
        name: "typescript:runInitializers",
        importName: "__runInitializers",
        scoped: false,
        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;
        };`
      }, j9e = {
        name: "typescript:assign",
        importName: "__assign",
        scoped: false,
        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);
            };`
      }, hF = {
        name: "typescript:await",
        importName: "__await",
        scoped: false,
        text: `
            var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }`
      }, B9e = {
        name: "typescript:asyncGenerator",
        importName: "__asyncGenerator",
        scoped: false,
        dependencies: [hF],
        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]); }
        };`
      }, J9e = {
        name: "typescript:asyncDelegator",
        importName: "__asyncDelegator",
        scoped: false,
        dependencies: [hF],
        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; }
            };`
      }, z9e = {
        name: "typescript:asyncValues",
        importName: "__asyncValues",
        scoped: false,
        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); }
            };`
      }, W9e = {
        name: "typescript:rest",
        importName: "__rest",
        scoped: false,
        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;
            };`
      }, U9e = {
        name: "typescript:awaiter",
        importName: "__awaiter",
        scoped: false,
        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());
                });
            };`
      }, V9e = {
        name: "typescript:extends",
        importName: "__extends",
        scoped: false,
        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 __());
                };
            })();`
      }, q9e = {
        name: "typescript:makeTemplateObject",
        importName: "__makeTemplateObject",
        scoped: false,
        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;
            };`
      }, H9e = {
        name: "typescript:read",
        importName: "__read",
        scoped: false,
        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;
            };`
      }, G9e = {
        name: "typescript:spreadArray",
        importName: "__spreadArray",
        scoped: false,
        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));
            };`
      }, $9e = {
        name: "typescript:propKey",
        importName: "__propKey",
        scoped: false,
        text: `
        var __propKey = (this && this.__propKey) || function (x) {
            return typeof x === "symbol" ? x : "".concat(x);
        };`
      }, X9e = {
        name: "typescript:setFunctionName",
        importName: "__setFunctionName",
        scoped: false,
        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 });
        };`
      }, Q9e = {
        name: "typescript:values",
        importName: "__values",
        scoped: false,
        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.");
            };`
      }, Y9e = {
        name: "typescript:generator",
        importName: "__generator",
        scoped: false,
        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 };
                }
            };`
      }, Cte = {
        name: "typescript:commonjscreatebinding",
        importName: "__createBinding",
        scoped: false,
        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];
            }));`
      }, Z9e = {
        name: "typescript:commonjscreatevalue",
        importName: "__setModuleDefault",
        scoped: false,
        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;
            });`
      }, l0e = {
        name: "typescript:commonjsimportstar",
        importName: "__importStar",
        scoped: false,
        dependencies: [Cte, Z9e],
        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;
                };
            })();`
      }, K9e = {
        name: "typescript:commonjsimportdefault",
        importName: "__importDefault",
        scoped: false,
        text: `
            var __importDefault = (this && this.__importDefault) || function (mod) {
                return (mod && mod.__esModule) ? mod : { "default": mod };
            };`
      }, eLe = {
        name: "typescript:export-star",
        importName: "__exportStar",
        scoped: false,
        dependencies: [Cte],
        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);
            };`
      }, tLe = {
        name: "typescript:classPrivateFieldGet",
        importName: "__classPrivateFieldGet",
        scoped: false,
        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);
            };`
      }, rLe = {
        name: "typescript:classPrivateFieldSet",
        importName: "__classPrivateFieldSet",
        scoped: false,
        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;
            };`
      }, nLe = {
        name: "typescript:classPrivateFieldIn",
        importName: "__classPrivateFieldIn",
        scoped: false,
        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);
            };`
      }, iLe = {
        name: "typescript:addDisposableResource",
        importName: "__addDisposableResource",
        scoped: false,
        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;
        };`
      }, sLe = {
        name: "typescript:disposeResources",
        importName: "__disposeResources",
        scoped: false,
        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;
        });`
      }, aLe = {
        name: "typescript:rewriteRelativeImportExtensions",
        importName: "__rewriteRelativeImportExtension",
        scoped: false,
        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;
        };`
      }, yF = {
        name: "typescript:async-super",
        scoped: true,
        text: c0e`
            const ${"_superIndex"} = name => super[name];`
      }, vF = {
        name: "typescript:advanced-async-super",
        scoped: true,
        text: c0e`
            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 xD(e, t) {
        return ws(e) && Me(e.expression) && (Ca(e.expression) & 8192) !== 0 && e.expression.escapedText === t;
      }
      function T_(e) {
        return e.kind === 9;
      }
      function s6(e) {
        return e.kind === 10;
      }
      function oa(e) {
        return e.kind === 11;
      }
      function Ix(e) {
        return e.kind === 12;
      }
      function oz(e) {
        return e.kind === 14;
      }
      function mS(e) {
        return e.kind === 15;
      }
      function Fx(e) {
        return e.kind === 16;
      }
      function cz(e) {
        return e.kind === 17;
      }
      function bF(e) {
        return e.kind === 18;
      }
      function SF(e) {
        return e.kind === 26;
      }
      function Ete(e) {
        return e.kind === 28;
      }
      function lz(e) {
        return e.kind === 40;
      }
      function uz(e) {
        return e.kind === 41;
      }
      function FN(e) {
        return e.kind === 42;
      }
      function ON(e) {
        return e.kind === 54;
      }
      function By(e) {
        return e.kind === 58;
      }
      function Dte(e) {
        return e.kind === 59;
      }
      function TF(e) {
        return e.kind === 29;
      }
      function wte(e) {
        return e.kind === 39;
      }
      function Me(e) {
        return e.kind === 80;
      }
      function Ai(e) {
        return e.kind === 81;
      }
      function Ox(e) {
        return e.kind === 95;
      }
      function xF(e) {
        return e.kind === 90;
      }
      function kD(e) {
        return e.kind === 134;
      }
      function Pte(e) {
        return e.kind === 131;
      }
      function _z(e) {
        return e.kind === 135;
      }
      function Nte(e) {
        return e.kind === 148;
      }
      function Lx(e) {
        return e.kind === 126;
      }
      function Ate(e) {
        return e.kind === 128;
      }
      function Ite(e) {
        return e.kind === 164;
      }
      function fz(e) {
        return e.kind === 129;
      }
      function CD(e) {
        return e.kind === 108;
      }
      function ED(e) {
        return e.kind === 102;
      }
      function Fte(e) {
        return e.kind === 84;
      }
      function t_(e) {
        return e.kind === 167;
      }
      function Hs(e) {
        return e.kind === 168;
      }
      function Io(e) {
        return e.kind === 169;
      }
      function Ii(e) {
        return e.kind === 170;
      }
      function ol(e) {
        return e.kind === 171;
      }
      function Vu(e) {
        return e.kind === 172;
      }
      function as(e) {
        return e.kind === 173;
      }
      function id(e) {
        return e.kind === 174;
      }
      function Ko(e) {
        return e.kind === 175;
      }
      function Sc(e) {
        return e.kind === 176;
      }
      function ec(e) {
        return e.kind === 177;
      }
      function lp(e) {
        return e.kind === 178;
      }
      function R_(e) {
        return e.kind === 179;
      }
      function Mx(e) {
        return e.kind === 180;
      }
      function DD(e) {
        return e.kind === 181;
      }
      function Jy(e) {
        return e.kind === 182;
      }
      function Rx(e) {
        return e.kind === 183;
      }
      function rf(e) {
        return e.kind === 184;
      }
      function $m(e) {
        return e.kind === 185;
      }
      function a6(e) {
        return e.kind === 186;
      }
      function Jb(e) {
        return e.kind === 187;
      }
      function r_(e) {
        return e.kind === 188;
      }
      function LN(e) {
        return e.kind === 189;
      }
      function jx(e) {
        return e.kind === 190;
      }
      function o6(e) {
        return e.kind === 203;
      }
      function kF(e) {
        return e.kind === 191;
      }
      function CF(e) {
        return e.kind === 192;
      }
      function b0(e) {
        return e.kind === 193;
      }
      function Bx(e) {
        return e.kind === 194;
      }
      function zb(e) {
        return e.kind === 195;
      }
      function gS(e) {
        return e.kind === 196;
      }
      function hS(e) {
        return e.kind === 197;
      }
      function wD(e) {
        return e.kind === 198;
      }
      function Y1(e) {
        return e.kind === 199;
      }
      function Wb(e) {
        return e.kind === 200;
      }
      function yS(e) {
        return e.kind === 201;
      }
      function S0(e) {
        return e.kind === 202;
      }
      function dm(e) {
        return e.kind === 206;
      }
      function pz(e) {
        return e.kind === 205;
      }
      function Ote(e) {
        return e.kind === 204;
      }
      function Nf(e) {
        return e.kind === 207;
      }
      function T0(e) {
        return e.kind === 208;
      }
      function ha(e) {
        return e.kind === 209;
      }
      function Kl(e) {
        return e.kind === 210;
      }
      function ua(e) {
        return e.kind === 211;
      }
      function wn(e) {
        return e.kind === 212;
      }
      function oo(e) {
        return e.kind === 213;
      }
      function ws(e) {
        return e.kind === 214;
      }
      function Ub(e) {
        return e.kind === 215;
      }
      function Z1(e) {
        return e.kind === 216;
      }
      function EF(e) {
        return e.kind === 217;
      }
      function n_(e) {
        return e.kind === 218;
      }
      function mo(e) {
        return e.kind === 219;
      }
      function bo(e) {
        return e.kind === 220;
      }
      function Lte(e) {
        return e.kind === 221;
      }
      function c6(e) {
        return e.kind === 222;
      }
      function Jx(e) {
        return e.kind === 223;
      }
      function zy(e) {
        return e.kind === 224;
      }
      function K1(e) {
        return e.kind === 225;
      }
      function dz(e) {
        return e.kind === 226;
      }
      function _n(e) {
        return e.kind === 227;
      }
      function vS(e) {
        return e.kind === 228;
      }
      function DF(e) {
        return e.kind === 229;
      }
      function MN(e) {
        return e.kind === 230;
      }
      function up(e) {
        return e.kind === 231;
      }
      function Oc(e) {
        return e.kind === 232;
      }
      function gl(e) {
        return e.kind === 233;
      }
      function Th(e) {
        return e.kind === 234;
      }
      function l6(e) {
        return e.kind === 235;
      }
      function u6(e) {
        return e.kind === 239;
      }
      function zx(e) {
        return e.kind === 236;
      }
      function bS(e) {
        return e.kind === 237;
      }
      function u0e(e) {
        return e.kind === 238;
      }
      function Mte(e) {
        return e.kind === 356;
      }
      function PD(e) {
        return e.kind === 357;
      }
      function _6(e) {
        return e.kind === 240;
      }
      function Rte(e) {
        return e.kind === 241;
      }
      function Ps(e) {
        return e.kind === 242;
      }
      function Pc(e) {
        return e.kind === 244;
      }
      function mz(e) {
        return e.kind === 243;
      }
      function Dl(e) {
        return e.kind === 245;
      }
      function ev(e) {
        return e.kind === 246;
      }
      function _0e(e) {
        return e.kind === 247;
      }
      function gz(e) {
        return e.kind === 248;
      }
      function tv(e) {
        return e.kind === 249;
      }
      function wF(e) {
        return e.kind === 250;
      }
      function RN(e) {
        return e.kind === 251;
      }
      function f0e(e) {
        return e.kind === 252;
      }
      function p0e(e) {
        return e.kind === 253;
      }
      function Sf(e) {
        return e.kind === 254;
      }
      function jte(e) {
        return e.kind === 255;
      }
      function ND(e) {
        return e.kind === 256;
      }
      function Wy(e) {
        return e.kind === 257;
      }
      function hz(e) {
        return e.kind === 258;
      }
      function SS(e) {
        return e.kind === 259;
      }
      function d0e(e) {
        return e.kind === 260;
      }
      function ei(e) {
        return e.kind === 261;
      }
      function Bl(e) {
        return e.kind === 262;
      }
      function Tc(e) {
        return e.kind === 263;
      }
      function Zc(e) {
        return e.kind === 264;
      }
      function Jl(e) {
        return e.kind === 265;
      }
      function jp(e) {
        return e.kind === 266;
      }
      function rv(e) {
        return e.kind === 267;
      }
      function Lc(e) {
        return e.kind === 268;
      }
      function mm(e) {
        return e.kind === 269;
      }
      function AD(e) {
        return e.kind === 270;
      }
      function jN(e) {
        return e.kind === 271;
      }
      function cl(e) {
        return e.kind === 272;
      }
      function Wo(e) {
        return e.kind === 273;
      }
      function sd(e) {
        return e.kind === 274;
      }
      function m0e(e) {
        return e.kind === 303;
      }
      function Bte(e) {
        return e.kind === 301;
      }
      function g0e(e) {
        return e.kind === 302;
      }
      function TS(e) {
        return e.kind === 301;
      }
      function Jte(e) {
        return e.kind === 302;
      }
      function jg(e) {
        return e.kind === 275;
      }
      function Xm(e) {
        return e.kind === 281;
      }
      function gm(e) {
        return e.kind === 276;
      }
      function qu(e) {
        return e.kind === 277;
      }
      function Fo(e) {
        return e.kind === 278;
      }
      function Mc(e) {
        return e.kind === 279;
      }
      function _p(e) {
        return e.kind === 280;
      }
      function Eu(e) {
        return e.kind === 282;
      }
      function PF(e) {
        return e.kind === 80 || e.kind === 11;
      }
      function h0e(e) {
        return e.kind === 283;
      }
      function zte(e) {
        return e.kind === 354;
      }
      function Wx(e) {
        return e.kind === 358;
      }
      function xh(e) {
        return e.kind === 284;
      }
      function hm(e) {
        return e.kind === 285;
      }
      function xS(e) {
        return e.kind === 286;
      }
      function wd(e) {
        return e.kind === 287;
      }
      function Vb(e) {
        return e.kind === 288;
      }
      function nv(e) {
        return e.kind === 289;
      }
      function ad(e) {
        return e.kind === 290;
      }
      function Wte(e) {
        return e.kind === 291;
      }
      function ym(e) {
        return e.kind === 292;
      }
      function qb(e) {
        return e.kind === 293;
      }
      function Ux(e) {
        return e.kind === 294;
      }
      function f6(e) {
        return e.kind === 295;
      }
      function Pd(e) {
        return e.kind === 296;
      }
      function p6(e) {
        return e.kind === 297;
      }
      function ID(e) {
        return e.kind === 298;
      }
      function nf(e) {
        return e.kind === 299;
      }
      function Hb(e) {
        return e.kind === 300;
      }
      function Kc(e) {
        return e.kind === 304;
      }
      function fu(e) {
        return e.kind === 305;
      }
      function Bg(e) {
        return e.kind === 306;
      }
      function kh(e) {
        return e.kind === 307;
      }
      function Di(e) {
        return e.kind === 308;
      }
      function Ute(e) {
        return e.kind === 309;
      }
      function iv(e) {
        return e.kind === 310;
      }
      function FD(e) {
        return e.kind === 311;
      }
      function sv(e) {
        return e.kind === 312;
      }
      function Vte(e) {
        return e.kind === 325;
      }
      function qte(e) {
        return e.kind === 326;
      }
      function y0e(e) {
        return e.kind === 327;
      }
      function Hte(e) {
        return e.kind === 313;
      }
      function Gte(e) {
        return e.kind === 314;
      }
      function d6(e) {
        return e.kind === 315;
      }
      function NF(e) {
        return e.kind === 316;
      }
      function yz(e) {
        return e.kind === 317;
      }
      function m6(e) {
        return e.kind === 318;
      }
      function AF(e) {
        return e.kind === 319;
      }
      function v0e(e) {
        return e.kind === 320;
      }
      function Nd(e) {
        return e.kind === 321;
      }
      function kS(e) {
        return e.kind === 323;
      }
      function x0(e) {
        return e.kind === 324;
      }
      function Vx(e) {
        return e.kind === 329;
      }
      function b0e(e) {
        return e.kind === 331;
      }
      function $te(e) {
        return e.kind === 333;
      }
      function vz(e) {
        return e.kind === 339;
      }
      function bz(e) {
        return e.kind === 334;
      }
      function Sz(e) {
        return e.kind === 335;
      }
      function Tz(e) {
        return e.kind === 336;
      }
      function xz(e) {
        return e.kind === 337;
      }
      function IF(e) {
        return e.kind === 338;
      }
      function g6(e) {
        return e.kind === 340;
      }
      function kz(e) {
        return e.kind === 332;
      }
      function S0e(e) {
        return e.kind === 348;
      }
      function BN(e) {
        return e.kind === 341;
      }
      function Af(e) {
        return e.kind === 342;
      }
      function FF(e) {
        return e.kind === 343;
      }
      function Cz(e) {
        return e.kind === 344;
      }
      function OD(e) {
        return e.kind === 345;
      }
      function Bp(e) {
        return e.kind === 346;
      }
      function CS(e) {
        return e.kind === 347;
      }
      function T0e(e) {
        return e.kind === 328;
      }
      function Xte(e) {
        return e.kind === 349;
      }
      function OF(e) {
        return e.kind === 330;
      }
      function LF(e) {
        return e.kind === 351;
      }
      function x0e(e) {
        return e.kind === 350;
      }
      function vm(e) {
        return e.kind === 352;
      }
      function h6(e) {
        return e.kind === 353;
      }
      var LD = /* @__PURE__ */ new WeakMap();
      function Ez(e, t) {
        var n;
        const i = e.kind;
        return k7(i) ? i === 353 ? e._children : (n = LD.get(t)) == null ? void 0 : n.get(e) : Ge;
      }
      function Qte(e, t, n) {
        e.kind === 353 && E.fail("Should not need to re-set the children of a SyntaxList.");
        let i = LD.get(t);
        return i === void 0 && (i = /* @__PURE__ */ new WeakMap(), LD.set(t, i)), i.set(e, n), n;
      }
      function Dz(e, t) {
        var n;
        e.kind === 353 && E.fail("Did not expect to unset the children of a SyntaxList."), (n = LD.get(t)) == null || n.delete(e);
      }
      function Yte(e, t) {
        const n = LD.get(e);
        n !== void 0 && (LD.delete(e), LD.set(t, n));
      }
      function JN(e) {
        return e.createExportDeclaration(
          /*modifiers*/
          void 0,
          /*isTypeOnly*/
          false,
          e.createNamedExports([]),
          /*moduleSpecifier*/
          void 0
        );
      }
      function ES(e, t, n, i) {
        if (Hs(n))
          return ct(e.createElementAccessExpression(t, n.expression), i);
        {
          const s = ct(
            xg(n) ? e.createPropertyAccessExpression(t, n) : e.createElementAccessExpression(t, n),
            n
          );
          return fm(
            s,
            128
            /* NoNestedSourceMaps */
          ), s;
        }
      }
      function Zte(e, t) {
        const n = ov.createIdentifier(e || "React");
        return ja(n, ys(t)), n;
      }
      function Kte(e, t, n) {
        if (t_(t)) {
          const i = Kte(e, t.left, n), s = e.createIdentifier(An(t.right));
          return s.escapedText = t.right.escapedText, e.createPropertyAccessExpression(i, s);
        } else
          return Zte(An(t), n);
      }
      function wz(e, t, n, i) {
        return t ? Kte(e, t, i) : e.createPropertyAccessExpression(
          Zte(n, i),
          "createElement"
        );
      }
      function oLe(e, t, n, i) {
        return t ? Kte(e, t, i) : e.createPropertyAccessExpression(
          Zte(n, i),
          "Fragment"
        );
      }
      function ere(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)
              Du(_), c.push(_);
          else
            c.push(s[0]);
        return ct(
          e.createCallExpression(
            t,
            /*typeArguments*/
            void 0,
            c
          ),
          o
        );
      }
      function tre(e, t, n, i, s, o, c) {
        const u = [oLe(e, n, i, o), e.createNull()];
        if (s && s.length > 0)
          if (s.length > 1)
            for (const g of s)
              Du(g), u.push(g);
          else
            u.push(s[0]);
        return ct(
          e.createCallExpression(
            wz(e, t, i, o),
            /*typeArguments*/
            void 0,
            u
          ),
          c
        );
      }
      function Pz(e, t, n) {
        if (Bl(t)) {
          const i = ka(t.declarations), s = e.updateVariableDeclaration(
            i,
            i.name,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            n
          );
          return ct(
            e.createVariableStatement(
              /*modifiers*/
              void 0,
              e.updateVariableDeclarationList(t, [s])
            ),
            /*location*/
            t
          );
        } else {
          const i = ct(
            e.createAssignment(t, n),
            /*location*/
            t
          );
          return ct(
            e.createExpressionStatement(i),
            /*location*/
            t
          );
        }
      }
      function zN(e, t) {
        if (t_(t)) {
          const n = zN(e, t.left), i = ja(ct(e.cloneNode(t.right), t.right), t.right.parent);
          return ct(e.createPropertyAccessExpression(n, i), t);
        } else
          return ja(ct(e.cloneNode(t), t), t.parent);
      }
      function Nz(e, t) {
        return Me(t) ? e.createStringLiteralFromNode(t) : Hs(t) ? ja(ct(e.cloneNode(t.expression), t.expression), t.expression.parent) : ja(ct(e.cloneNode(t), t), t.parent);
      }
      function cLe(e, t, n, i, s) {
        const { firstAccessor: o, getAccessor: c, setAccessor: _ } = Fb(t, n);
        if (n === o)
          return ct(
            e.createObjectDefinePropertyCall(
              i,
              Nz(e, n.name),
              e.createPropertyDescriptor({
                enumerable: e.createFalse(),
                configurable: true,
                get: c && ct(
                  Cn(
                    e.createFunctionExpression(
                      gb(c),
                      /*asteriskToken*/
                      void 0,
                      /*name*/
                      void 0,
                      /*typeParameters*/
                      void 0,
                      c.parameters,
                      /*type*/
                      void 0,
                      c.body
                      // TODO: GH#18217
                    ),
                    c
                  ),
                  c
                ),
                set: _ && ct(
                  Cn(
                    e.createFunctionExpression(
                      gb(_),
                      /*asteriskToken*/
                      void 0,
                      /*name*/
                      void 0,
                      /*typeParameters*/
                      void 0,
                      _.parameters,
                      /*type*/
                      void 0,
                      _.body
                      // TODO: GH#18217
                    ),
                    _
                  ),
                  _
                )
              }, !s)
            ),
            o
          );
      }
      function lLe(e, t, n) {
        return Cn(
          ct(
            e.createAssignment(
              ES(
                e,
                n,
                t.name,
                /*location*/
                t.name
              ),
              t.initializer
            ),
            t
          ),
          t
        );
      }
      function uLe(e, t, n) {
        return Cn(
          ct(
            e.createAssignment(
              ES(
                e,
                n,
                t.name,
                /*location*/
                t.name
              ),
              e.cloneNode(t.name)
            ),
            /*location*/
            t
          ),
          /*original*/
          t
        );
      }
      function _Le(e, t, n) {
        return Cn(
          ct(
            e.createAssignment(
              ES(
                e,
                n,
                t.name,
                /*location*/
                t.name
              ),
              Cn(
                ct(
                  e.createFunctionExpression(
                    gb(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 rre(e, t, n, i) {
        switch (n.name && Ai(n.name) && E.failBadSyntaxKind(n.name, "Private identifiers are not allowed in object literals."), n.kind) {
          case 178:
          case 179:
            return cLe(e, t.properties, n, i, !!t.multiLine);
          case 304:
            return lLe(e, n, i);
          case 305:
            return uLe(e, n, i);
          case 175:
            return _Le(e, n, i);
        }
      }
      function MF(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), ct(n, t.operand);
        let _ = K1(t) ? e.createPrefixUnaryExpression(o, c) : e.createPostfixUnaryExpression(c, o);
        return ct(_, t), s && (_ = e.createAssignment(s, _), ct(_, t)), n = e.createComma(n, _), ct(n, t), dz(t) && (n = e.createComma(n, c), ct(n, t)), n;
      }
      function Az(e) {
        return (Ca(e) & 65536) !== 0;
      }
      function Ch(e) {
        return (Ca(e) & 32768) !== 0;
      }
      function RF(e) {
        return (Ca(e) & 16384) !== 0;
      }
      function k0e(e) {
        return oa(e.expression) && e.expression.text === "use strict";
      }
      function Iz(e) {
        for (const t of e)
          if (im(t)) {
            if (k0e(t))
              return t;
          } else
            break;
      }
      function nre(e) {
        const t = $c(e);
        return t !== void 0 && im(t) && k0e(t);
      }
      function WN(e) {
        return e.kind === 227 && e.operatorToken.kind === 28;
      }
      function MD(e) {
        return WN(e) || PD(e);
      }
      function Gb(e) {
        return n_(e) && an(e) && !!M1(e);
      }
      function y6(e) {
        const t = o0(e);
        return E.assertIsDefined(t), t;
      }
      function jF(e, t = 63) {
        switch (e.kind) {
          case 218:
            return t & -2147483648 && Gb(e) ? false : (t & 1) !== 0;
          case 217:
          case 235:
            return (t & 2) !== 0;
          case 239:
            return (t & 34) !== 0;
          case 234:
            return (t & 16) !== 0;
          case 236:
            return (t & 4) !== 0;
          case 356:
            return (t & 8) !== 0;
        }
        return false;
      }
      function dc(e, t = 63) {
        for (; jF(e, t); )
          e = e.expression;
        return e;
      }
      function ire(e, t = 63) {
        let n = e.parent;
        for (; jF(n, t); )
          n = n.parent, E.assert(n);
        return n;
      }
      function Du(e) {
        return gF(
          e,
          /*newLine*/
          true
        );
      }
      function UN(e) {
        const t = zo(e, Di), n = t && t.emitNode;
        return n && n.externalHelpersModuleName;
      }
      function sre(e) {
        const t = zo(e, Di), n = t && t.emitNode;
        return !!n && (!!n.externalHelpersModuleName || !!n.externalHelpers);
      }
      function Fz(e, t, n, i, s, o, c) {
        if (i.importHelpers && IC(n, i)) {
          const _ = Wu(i), u = OS(n, i), g = fLe(n);
          if (u !== 1 && (_ >= 5 && _ <= 99 || u === 99 || u === void 0 && _ === 200)) {
            if (g) {
              const m = [];
              for (const h of g) {
                const S = h.importName;
                S && Yf(m, S);
              }
              if (ot(m)) {
                m.sort(ou);
                const h = e.createNamedImports(
                  hr(m, (D) => z7(n, D) ? e.createImportSpecifier(
                    /*isTypeOnly*/
                    false,
                    /*propertyName*/
                    void 0,
                    e.createIdentifier(D)
                  ) : e.createImportSpecifier(
                    /*isTypeOnly*/
                    false,
                    e.createIdentifier(D),
                    t.getUnscopedHelperName(D)
                  ))
                ), S = zo(n, Di), T = _u(S);
                T.externalHelpers = true;
                const k = e.createImportDeclaration(
                  /*modifiers*/
                  void 0,
                  e.createImportClause(
                    /*phaseModifier*/
                    void 0,
                    /*name*/
                    void 0,
                    h
                  ),
                  e.createStringLiteral(ky),
                  /*attributes*/
                  void 0
                );
                return pS(
                  k,
                  2
                  /* NeverApplyImportHelper */
                ), k;
              }
            }
          } else {
            const m = pLe(e, n, i, g, s, o || c);
            if (m) {
              const h = e.createImportEqualsDeclaration(
                /*modifiers*/
                void 0,
                /*isTypeOnly*/
                false,
                m,
                e.createExternalModuleReference(e.createStringLiteral(ky))
              );
              return pS(
                h,
                2
                /* NeverApplyImportHelper */
              ), h;
            }
          }
        }
      }
      function fLe(e) {
        return kn(nz(e), (t) => !t.scoped);
      }
      function pLe(e, t, n, i, s, o) {
        const c = UN(t);
        if (c)
          return c;
        if (ot(i) || (s || _m(n) && o) && ow(t, n) < 4) {
          const u = zo(t, Di), g = _u(u);
          return g.externalHelpersModuleName || (g.externalHelpersModuleName = e.createUniqueName(ky));
        }
      }
      function v6(e, t, n) {
        const i = JC(t);
        if (i && !sS(t) && !U7(t)) {
          const s = i.name;
          return s.kind === 11 ? e.getGeneratedNameForNode(t) : Mo(s) ? s : e.createIdentifier(Sb(n, s) || An(s));
        }
        if (t.kind === 273 && t.importClause || t.kind === 279 && t.moduleSpecifier)
          return e.getGeneratedNameForNode(t);
      }
      function qx(e, t, n, i, s, o) {
        const c = ux(t);
        if (c && oa(c))
          return mLe(t, i, e, s, o) || dLe(e, c, n) || e.cloneNode(c);
      }
      function dLe(e, t, n) {
        const i = n.renamedDependencies && n.renamedDependencies.get(t.text);
        return i ? e.createStringLiteral(i) : void 0;
      }
      function VN(e, t, n, i) {
        if (t) {
          if (t.moduleName)
            return e.createStringLiteral(t.moduleName);
          if (!t.isDeclarationFile && i.outFile)
            return e.createStringLiteral($B(n, t.fileName));
        }
      }
      function mLe(e, t, n, i, s) {
        return VN(n, i.getExternalModuleFileFromDeclaration(e), t, s);
      }
      function qN(e) {
        if (s3(e))
          return e.initializer;
        if (Kc(e)) {
          const t = e.initializer;
          return El(
            t,
            /*excludeCompoundAssignment*/
            true
          ) ? t.right : void 0;
        }
        if (fu(e))
          return e.objectAssignmentInitializer;
        if (El(
          e,
          /*excludeCompoundAssignment*/
          true
        ))
          return e.right;
        if (up(e))
          return qN(e.expression);
      }
      function Uy(e) {
        if (s3(e))
          return e.name;
        if (dh(e)) {
          switch (e.kind) {
            case 304:
              return Uy(e.initializer);
            case 305:
              return e.name;
            case 306:
              return Uy(e.expression);
          }
          return;
        }
        return El(
          e,
          /*excludeCompoundAssignment*/
          true
        ) ? Uy(e.left) : up(e) ? Uy(e.expression) : e;
      }
      function BF(e) {
        switch (e.kind) {
          case 170:
          case 209:
            return e.dotDotDotToken;
          case 231:
          case 306:
            return e;
        }
      }
      function Oz(e) {
        const t = JF(e);
        return E.assert(!!t || Bg(e), "Invalid property name for binding element."), t;
      }
      function JF(e) {
        switch (e.kind) {
          case 209:
            if (e.propertyName) {
              const n = e.propertyName;
              return Ai(n) ? E.failBadSyntaxKind(n) : Hs(n) && C0e(n.expression) ? n.expression : n;
            }
            break;
          case 304:
            if (e.name) {
              const n = e.name;
              return Ai(n) ? E.failBadSyntaxKind(n) : Hs(n) && C0e(n.expression) ? n.expression : n;
            }
            break;
          case 306:
            return e.name && Ai(e.name) ? E.failBadSyntaxKind(e.name) : e.name;
        }
        const t = Uy(e);
        if (t && Wc(t))
          return t;
      }
      function C0e(e) {
        const t = e.kind;
        return t === 11 || t === 9;
      }
      function b6(e) {
        switch (e.kind) {
          case 207:
          case 208:
          case 210:
            return e.elements;
          case 211:
            return e.properties;
        }
      }
      function Lz(e) {
        if (e) {
          let t = e;
          for (; ; ) {
            if (Me(t) || !t.body)
              return Me(t) ? t : t.name;
            t = t.body;
          }
        }
      }
      function E0e(e) {
        const t = e.kind;
        return t === 177 || t === 179;
      }
      function are(e) {
        const t = e.kind;
        return t === 177 || t === 178 || t === 179;
      }
      function Mz(e) {
        const t = e.kind;
        return t === 304 || t === 305 || t === 263 || t === 177 || t === 182 || t === 176 || t === 283 || t === 244 || t === 265 || t === 266 || t === 267 || t === 268 || t === 272 || t === 273 || t === 271 || t === 279 || t === 278;
      }
      function ore(e) {
        const t = e.kind;
        return t === 176 || t === 304 || t === 305 || t === 283 || t === 271;
      }
      function cre(e) {
        return By(e) || ON(e);
      }
      function lre(e) {
        return Me(e) || wD(e);
      }
      function ure(e) {
        return Nte(e) || lz(e) || uz(e);
      }
      function _re(e) {
        return By(e) || lz(e) || uz(e);
      }
      function fre(e) {
        return Me(e) || oa(e);
      }
      function gLe(e) {
        return e === 43;
      }
      function hLe(e) {
        return e === 42 || e === 44 || e === 45;
      }
      function yLe(e) {
        return gLe(e) || hLe(e);
      }
      function vLe(e) {
        return e === 40 || e === 41;
      }
      function bLe(e) {
        return vLe(e) || yLe(e);
      }
      function SLe(e) {
        return e === 48 || e === 49 || e === 50;
      }
      function Rz(e) {
        return SLe(e) || bLe(e);
      }
      function TLe(e) {
        return e === 30 || e === 33 || e === 32 || e === 34 || e === 104 || e === 103;
      }
      function xLe(e) {
        return TLe(e) || Rz(e);
      }
      function kLe(e) {
        return e === 35 || e === 37 || e === 36 || e === 38;
      }
      function CLe(e) {
        return kLe(e) || xLe(e);
      }
      function ELe(e) {
        return e === 51 || e === 52 || e === 53;
      }
      function DLe(e) {
        return ELe(e) || CLe(e);
      }
      function wLe(e) {
        return e === 56 || e === 57;
      }
      function PLe(e) {
        return wLe(e) || DLe(e);
      }
      function NLe(e) {
        return e === 61 || PLe(e) || vh(e);
      }
      function ALe(e) {
        return NLe(e) || e === 28;
      }
      function pre(e) {
        return ALe(e.kind);
      }
      var jz;
      ((e) => {
        function t(m, h, S, T, k, D, P) {
          const A = h > 0 ? k[h - 1] : void 0;
          return E.assertEqual(S[h], t), k[h] = m.onEnter(T[h], A, P), S[h] = _(m, t), h;
        }
        e.enter = t;
        function n(m, h, S, T, k, D, P) {
          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, P) {
          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, P) {
          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, P) {
          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, P) {
          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--;
        }
      })(jz || (jz = {}));
      var ILe = 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 zF(e, t, n, i, s, o) {
        const c = new ILe(e, t, n, i, s, o);
        return _;
        function _(u, g) {
          const m = { value: void 0 }, h = [jz.enter], S = [u], T = [void 0];
          let k = 0;
          for (; h[k] !== jz.done; )
            k = h[k](c, k, h, S, T, m, g);
          return E.assertEqual(k, 0), m.value;
        }
      }
      function FLe(e) {
        return e === 95 || e === 90;
      }
      function HN(e) {
        const t = e.kind;
        return FLe(t);
      }
      function dre(e, t) {
        if (t !== void 0)
          return t.length === 0 ? t : ct(e.createNodeArray([], t.hasTrailingComma), t);
      }
      function GN(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 (xg(s) && (c === void 0 || c.flags & 4 && c.id !== i))
              break;
            o = s.original;
          }
          return s;
        }
        return e;
      }
      function S6(e, t) {
        return typeof e == "object" ? av(
          /*privateName*/
          false,
          e.prefix,
          e.node,
          e.suffix,
          t
        ) : typeof e == "string" ? e.length > 0 && e.charCodeAt(0) === 35 ? e.slice(1) : e : "";
      }
      function OLe(e, t) {
        return typeof e == "string" ? e : LLe(e, E.checkDefined(t));
      }
      function LLe(e, t) {
        return $2(e) ? t(e).slice(1) : Mo(e) ? t(e) : Ai(e) ? e.escapedText.slice(1) : An(e);
      }
      function av(e, t, n, i, s) {
        return t = S6(t, s), i = S6(i, s), n = OLe(n, s), `${e ? "#" : ""}${t}${n}${i}`;
      }
      function Bz(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 mre(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 gre(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 WF(e) {
        let t = e.expression;
        for (; ; ) {
          if (t = dc(t), PD(t)) {
            t = fa(t.elements);
            continue;
          }
          if (WN(t)) {
            t = t.right;
            continue;
          }
          if (El(
            t,
            /*excludeCompoundAssignment*/
            true
          ) && Mo(t.left))
            return t;
          break;
        }
      }
      function MLe(e) {
        return n_(e) && ao(e) && !e.emitNode;
      }
      function UF(e, t) {
        if (MLe(e))
          UF(e.expression, t);
        else if (WN(e))
          UF(e.left, t), UF(e.right, t);
        else if (PD(e))
          for (const n of e.elements)
            UF(n, t);
        else
          t.push(e);
      }
      function hre(e) {
        const t = [];
        return UF(e, t), t;
      }
      function $N(e) {
        if (e.transformFlags & 65536) return true;
        if (e.transformFlags & 128)
          for (const t of b6(e)) {
            const n = Uy(t);
            if (n && C4(n) && (n.transformFlags & 65536 || n.transformFlags & 128 && $N(n)))
              return true;
          }
        return false;
      }
      function ct(e, t) {
        return t ? Dd(e, t.pos, t.end) : e;
      }
      function Jp(e) {
        const t = e.kind;
        return t === 169 || t === 170 || t === 172 || t === 173 || t === 174 || t === 175 || t === 177 || t === 178 || t === 179 || t === 182 || t === 186 || t === 219 || t === 220 || t === 232 || t === 244 || t === 263 || t === 264 || t === 265 || t === 266 || t === 267 || t === 268 || t === 272 || t === 273 || t === 278 || t === 279;
      }
      function $b(e) {
        const t = e.kind;
        return t === 170 || t === 173 || t === 175 || t === 178 || t === 179 || t === 232 || t === 264;
      }
      var D0e, w0e, P0e, N0e, A0e, yre = {
        createBaseSourceFileNode: (e) => new (A0e || (A0e = Yl.getSourceFileConstructor()))(e, -1, -1),
        createBaseIdentifierNode: (e) => new (P0e || (P0e = Yl.getIdentifierConstructor()))(e, -1, -1),
        createBasePrivateIdentifierNode: (e) => new (N0e || (N0e = Yl.getPrivateIdentifierConstructor()))(e, -1, -1),
        createBaseTokenNode: (e) => new (w0e || (w0e = Yl.getTokenConstructor()))(e, -1, -1),
        createBaseNode: (e) => new (D0e || (D0e = Yl.getNodeConstructor()))(e, -1, -1)
      }, ov = DN(1, yre);
      function Qt(e, t) {
        return t && e(t);
      }
      function Ei(e, t, n) {
        if (n) {
          if (t)
            return t(n);
          for (const i of n) {
            const s = e(i);
            if (s)
              return s;
          }
        }
      }
      function Jz(e, t) {
        return e.charCodeAt(t + 1) === 42 && e.charCodeAt(t + 2) === 42 && e.charCodeAt(t + 3) !== 47;
      }
      function XN(e) {
        return lr(e.statements, RLe) || jLe(e);
      }
      function RLe(e) {
        return Jp(e) && BLe(
          e,
          95
          /* ExportKeyword */
        ) || cl(e) && xh(e.moduleReference) || Wo(e) || Fo(e) || Mc(e) ? e : void 0;
      }
      function jLe(e) {
        return e.flags & 8388608 ? I0e(e) : void 0;
      }
      function I0e(e) {
        return JLe(e) ? e : Ts(e, I0e);
      }
      function BLe(e, t) {
        return ot(e.modifiers, (n) => n.kind === t);
      }
      function JLe(e) {
        return bS(e) && e.keywordToken === 102 && e.name.escapedText === "meta";
      }
      var zLe = {
        167: function(t, n, i) {
          return Qt(n, t.left) || Qt(n, t.right);
        },
        169: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.constraint) || Qt(n, t.default) || Qt(n, t.expression);
        },
        305: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.exclamationToken) || Qt(n, t.equalsToken) || Qt(n, t.objectAssignmentInitializer);
        },
        306: function(t, n, i) {
          return Qt(n, t.expression);
        },
        170: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.dotDotDotToken) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.type) || Qt(n, t.initializer);
        },
        173: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.exclamationToken) || Qt(n, t.type) || Qt(n, t.initializer);
        },
        172: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.type) || Qt(n, t.initializer);
        },
        304: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.exclamationToken) || Qt(n, t.initializer);
        },
        261: function(t, n, i) {
          return Qt(n, t.name) || Qt(n, t.exclamationToken) || Qt(n, t.type) || Qt(n, t.initializer);
        },
        209: function(t, n, i) {
          return Qt(n, t.dotDotDotToken) || Qt(n, t.propertyName) || Qt(n, t.name) || Qt(n, t.initializer);
        },
        182: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Ei(n, i, t.typeParameters) || Ei(n, i, t.parameters) || Qt(n, t.type);
        },
        186: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Ei(n, i, t.typeParameters) || Ei(n, i, t.parameters) || Qt(n, t.type);
        },
        185: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Ei(n, i, t.typeParameters) || Ei(n, i, t.parameters) || Qt(n, t.type);
        },
        180: F0e,
        181: F0e,
        175: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.asteriskToken) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.exclamationToken) || Ei(n, i, t.typeParameters) || Ei(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.body);
        },
        174: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.questionToken) || Ei(n, i, t.typeParameters) || Ei(n, i, t.parameters) || Qt(n, t.type);
        },
        177: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Ei(n, i, t.typeParameters) || Ei(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.body);
        },
        178: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Ei(n, i, t.typeParameters) || Ei(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.body);
        },
        179: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Ei(n, i, t.typeParameters) || Ei(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.body);
        },
        263: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.asteriskToken) || Qt(n, t.name) || Ei(n, i, t.typeParameters) || Ei(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.body);
        },
        219: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.asteriskToken) || Qt(n, t.name) || Ei(n, i, t.typeParameters) || Ei(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.body);
        },
        220: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Ei(n, i, t.typeParameters) || Ei(n, i, t.parameters) || Qt(n, t.type) || Qt(n, t.equalsGreaterThanToken) || Qt(n, t.body);
        },
        176: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.body);
        },
        184: function(t, n, i) {
          return Qt(n, t.typeName) || Ei(n, i, t.typeArguments);
        },
        183: function(t, n, i) {
          return Qt(n, t.assertsModifier) || Qt(n, t.parameterName) || Qt(n, t.type);
        },
        187: function(t, n, i) {
          return Qt(n, t.exprName) || Ei(n, i, t.typeArguments);
        },
        188: function(t, n, i) {
          return Ei(n, i, t.members);
        },
        189: function(t, n, i) {
          return Qt(n, t.elementType);
        },
        190: function(t, n, i) {
          return Ei(n, i, t.elements);
        },
        193: O0e,
        194: O0e,
        195: function(t, n, i) {
          return Qt(n, t.checkType) || Qt(n, t.extendsType) || Qt(n, t.trueType) || Qt(n, t.falseType);
        },
        196: function(t, n, i) {
          return Qt(n, t.typeParameter);
        },
        206: function(t, n, i) {
          return Qt(n, t.argument) || Qt(n, t.attributes) || Qt(n, t.qualifier) || Ei(n, i, t.typeArguments);
        },
        303: function(t, n, i) {
          return Qt(n, t.assertClause);
        },
        197: L0e,
        199: L0e,
        200: function(t, n, i) {
          return Qt(n, t.objectType) || Qt(n, t.indexType);
        },
        201: 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) || Ei(n, i, t.members);
        },
        202: function(t, n, i) {
          return Qt(n, t.literal);
        },
        203: function(t, n, i) {
          return Qt(n, t.dotDotDotToken) || Qt(n, t.name) || Qt(n, t.questionToken) || Qt(n, t.type);
        },
        207: M0e,
        208: M0e,
        210: function(t, n, i) {
          return Ei(n, i, t.elements);
        },
        211: function(t, n, i) {
          return Ei(n, i, t.properties);
        },
        212: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.questionDotToken) || Qt(n, t.name);
        },
        213: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.questionDotToken) || Qt(n, t.argumentExpression);
        },
        214: R0e,
        215: R0e,
        216: function(t, n, i) {
          return Qt(n, t.tag) || Qt(n, t.questionDotToken) || Ei(n, i, t.typeArguments) || Qt(n, t.template);
        },
        217: function(t, n, i) {
          return Qt(n, t.type) || Qt(n, t.expression);
        },
        218: 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);
        },
        223: function(t, n, i) {
          return Qt(n, t.expression);
        },
        225: function(t, n, i) {
          return Qt(n, t.operand);
        },
        230: function(t, n, i) {
          return Qt(n, t.asteriskToken) || Qt(n, t.expression);
        },
        224: function(t, n, i) {
          return Qt(n, t.expression);
        },
        226: function(t, n, i) {
          return Qt(n, t.operand);
        },
        227: function(t, n, i) {
          return Qt(n, t.left) || Qt(n, t.operatorToken) || Qt(n, t.right);
        },
        235: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.type);
        },
        236: function(t, n, i) {
          return Qt(n, t.expression);
        },
        239: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.type);
        },
        237: function(t, n, i) {
          return Qt(n, t.name);
        },
        228: 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);
        },
        231: function(t, n, i) {
          return Qt(n, t.expression);
        },
        242: j0e,
        269: j0e,
        308: function(t, n, i) {
          return Ei(n, i, t.statements) || Qt(n, t.endOfFileToken);
        },
        244: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.declarationList);
        },
        262: function(t, n, i) {
          return Ei(n, i, t.declarations);
        },
        245: function(t, n, i) {
          return Qt(n, t.expression);
        },
        246: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.thenStatement) || Qt(n, t.elseStatement);
        },
        247: function(t, n, i) {
          return Qt(n, t.statement) || Qt(n, t.expression);
        },
        248: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.statement);
        },
        249: function(t, n, i) {
          return Qt(n, t.initializer) || Qt(n, t.condition) || Qt(n, t.incrementor) || Qt(n, t.statement);
        },
        250: function(t, n, i) {
          return Qt(n, t.initializer) || Qt(n, t.expression) || Qt(n, t.statement);
        },
        251: function(t, n, i) {
          return Qt(n, t.awaitModifier) || Qt(n, t.initializer) || Qt(n, t.expression) || Qt(n, t.statement);
        },
        252: B0e,
        253: B0e,
        254: function(t, n, i) {
          return Qt(n, t.expression);
        },
        255: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.statement);
        },
        256: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.caseBlock);
        },
        270: function(t, n, i) {
          return Ei(n, i, t.clauses);
        },
        297: function(t, n, i) {
          return Qt(n, t.expression) || Ei(n, i, t.statements);
        },
        298: function(t, n, i) {
          return Ei(n, i, t.statements);
        },
        257: function(t, n, i) {
          return Qt(n, t.label) || Qt(n, t.statement);
        },
        258: function(t, n, i) {
          return Qt(n, t.expression);
        },
        259: function(t, n, i) {
          return Qt(n, t.tryBlock) || Qt(n, t.catchClause) || Qt(n, t.finallyBlock);
        },
        300: function(t, n, i) {
          return Qt(n, t.variableDeclaration) || Qt(n, t.block);
        },
        171: function(t, n, i) {
          return Qt(n, t.expression);
        },
        264: J0e,
        232: J0e,
        265: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Ei(n, i, t.typeParameters) || Ei(n, i, t.heritageClauses) || Ei(n, i, t.members);
        },
        266: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Ei(n, i, t.typeParameters) || Qt(n, t.type);
        },
        267: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Ei(n, i, t.members);
        },
        307: function(t, n, i) {
          return Qt(n, t.name) || Qt(n, t.initializer);
        },
        268: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.body);
        },
        272: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name) || Qt(n, t.moduleReference);
        },
        273: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.importClause) || Qt(n, t.moduleSpecifier) || Qt(n, t.attributes);
        },
        274: function(t, n, i) {
          return Qt(n, t.name) || Qt(n, t.namedBindings);
        },
        301: function(t, n, i) {
          return Ei(n, i, t.elements);
        },
        302: function(t, n, i) {
          return Qt(n, t.name) || Qt(n, t.value);
        },
        271: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.name);
        },
        275: function(t, n, i) {
          return Qt(n, t.name);
        },
        281: function(t, n, i) {
          return Qt(n, t.name);
        },
        276: z0e,
        280: z0e,
        279: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.exportClause) || Qt(n, t.moduleSpecifier) || Qt(n, t.attributes);
        },
        277: W0e,
        282: W0e,
        278: function(t, n, i) {
          return Ei(n, i, t.modifiers) || Qt(n, t.expression);
        },
        229: function(t, n, i) {
          return Qt(n, t.head) || Ei(n, i, t.templateSpans);
        },
        240: function(t, n, i) {
          return Qt(n, t.expression) || Qt(n, t.literal);
        },
        204: function(t, n, i) {
          return Qt(n, t.head) || Ei(n, i, t.templateSpans);
        },
        205: function(t, n, i) {
          return Qt(n, t.type) || Qt(n, t.literal);
        },
        168: function(t, n, i) {
          return Qt(n, t.expression);
        },
        299: function(t, n, i) {
          return Ei(n, i, t.types);
        },
        234: function(t, n, i) {
          return Qt(n, t.expression) || Ei(n, i, t.typeArguments);
        },
        284: function(t, n, i) {
          return Qt(n, t.expression);
        },
        283: function(t, n, i) {
          return Ei(n, i, t.modifiers);
        },
        357: function(t, n, i) {
          return Ei(n, i, t.elements);
        },
        285: function(t, n, i) {
          return Qt(n, t.openingElement) || Ei(n, i, t.children) || Qt(n, t.closingElement);
        },
        289: function(t, n, i) {
          return Qt(n, t.openingFragment) || Ei(n, i, t.children) || Qt(n, t.closingFragment);
        },
        286: U0e,
        287: U0e,
        293: function(t, n, i) {
          return Ei(n, i, t.properties);
        },
        292: function(t, n, i) {
          return Qt(n, t.name) || Qt(n, t.initializer);
        },
        294: function(t, n, i) {
          return Qt(n, t.expression);
        },
        295: function(t, n, i) {
          return Qt(n, t.dotDotDotToken) || Qt(n, t.expression);
        },
        288: function(t, n, i) {
          return Qt(n, t.tagName);
        },
        296: function(t, n, i) {
          return Qt(n, t.namespace) || Qt(n, t.name);
        },
        191: RD,
        192: RD,
        310: RD,
        316: RD,
        315: RD,
        317: RD,
        319: RD,
        318: function(t, n, i) {
          return Ei(n, i, t.parameters) || Qt(n, t.type);
        },
        321: function(t, n, i) {
          return (typeof t.comment == "string" ? void 0 : Ei(n, i, t.comment)) || Ei(n, i, t.tags);
        },
        348: function(t, n, i) {
          return Qt(n, t.tagName) || Qt(n, t.name) || (typeof t.comment == "string" ? void 0 : Ei(n, i, t.comment));
        },
        311: function(t, n, i) {
          return Qt(n, t.name);
        },
        312: function(t, n, i) {
          return Qt(n, t.left) || Qt(n, t.right);
        },
        342: V0e,
        349: V0e,
        331: function(t, n, i) {
          return Qt(n, t.tagName) || (typeof t.comment == "string" ? void 0 : Ei(n, i, t.comment));
        },
        330: function(t, n, i) {
          return Qt(n, t.tagName) || Qt(n, t.class) || (typeof t.comment == "string" ? void 0 : Ei(n, i, t.comment));
        },
        329: function(t, n, i) {
          return Qt(n, t.tagName) || Qt(n, t.class) || (typeof t.comment == "string" ? void 0 : Ei(n, i, t.comment));
        },
        346: function(t, n, i) {
          return Qt(n, t.tagName) || Qt(n, t.constraint) || Ei(n, i, t.typeParameters) || (typeof t.comment == "string" ? void 0 : Ei(n, i, t.comment));
        },
        347: function(t, n, i) {
          return Qt(n, t.tagName) || (t.typeExpression && t.typeExpression.kind === 310 ? Qt(n, t.typeExpression) || Qt(n, t.fullName) || (typeof t.comment == "string" ? void 0 : Ei(n, i, t.comment)) : Qt(n, t.fullName) || Qt(n, t.typeExpression) || (typeof t.comment == "string" ? void 0 : Ei(n, i, t.comment)));
        },
        339: function(t, n, i) {
          return Qt(n, t.tagName) || Qt(n, t.fullName) || Qt(n, t.typeExpression) || (typeof t.comment == "string" ? void 0 : Ei(n, i, t.comment));
        },
        343: jD,
        345: jD,
        344: jD,
        341: jD,
        351: jD,
        350: jD,
        340: jD,
        324: function(t, n, i) {
          return lr(t.typeParameters, n) || lr(t.parameters, n) || Qt(n, t.type);
        },
        325: vre,
        326: vre,
        327: vre,
        323: function(t, n, i) {
          return lr(t.jsDocPropertyTags, n);
        },
        328: T6,
        333: T6,
        334: T6,
        335: T6,
        336: T6,
        337: T6,
        332: T6,
        338: T6,
        352: WLe,
        356: ULe
      };
      function F0e(e, t, n) {
        return Ei(t, n, e.typeParameters) || Ei(t, n, e.parameters) || Qt(t, e.type);
      }
      function O0e(e, t, n) {
        return Ei(t, n, e.types);
      }
      function L0e(e, t, n) {
        return Qt(t, e.type);
      }
      function M0e(e, t, n) {
        return Ei(t, n, e.elements);
      }
      function R0e(e, t, n) {
        return Qt(t, e.expression) || // TODO: should we separate these branches out?
        Qt(t, e.questionDotToken) || Ei(t, n, e.typeArguments) || Ei(t, n, e.arguments);
      }
      function j0e(e, t, n) {
        return Ei(t, n, e.statements);
      }
      function B0e(e, t, n) {
        return Qt(t, e.label);
      }
      function J0e(e, t, n) {
        return Ei(t, n, e.modifiers) || Qt(t, e.name) || Ei(t, n, e.typeParameters) || Ei(t, n, e.heritageClauses) || Ei(t, n, e.members);
      }
      function z0e(e, t, n) {
        return Ei(t, n, e.elements);
      }
      function W0e(e, t, n) {
        return Qt(t, e.propertyName) || Qt(t, e.name);
      }
      function U0e(e, t, n) {
        return Qt(t, e.tagName) || Ei(t, n, e.typeArguments) || Qt(t, e.attributes);
      }
      function RD(e, t, n) {
        return Qt(t, e.type);
      }
      function V0e(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 : Ei(t, n, e.comment));
      }
      function jD(e, t, n) {
        return Qt(t, e.tagName) || Qt(t, e.typeExpression) || (typeof e.comment == "string" ? void 0 : Ei(t, n, e.comment));
      }
      function vre(e, t, n) {
        return Qt(t, e.name);
      }
      function T6(e, t, n) {
        return Qt(t, e.tagName) || (typeof e.comment == "string" ? void 0 : Ei(t, n, e.comment));
      }
      function WLe(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 : Ei(t, n, e.comment));
      }
      function ULe(e, t, n) {
        return Qt(t, e.expression);
      }
      function Ts(e, t, n) {
        if (e === void 0 || e.kind <= 166)
          return;
        const i = zLe[e.kind];
        return i === void 0 ? void 0 : i(e, t, n);
      }
      function Hx(e, t, n) {
        const i = q0e(e), s = [];
        for (; s.length < i.length; )
          s.push(e);
        for (; i.length !== 0; ) {
          const o = i.pop(), c = s.pop();
          if (ss(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 >= 167)
              for (const u of q0e(o))
                i.push(u), s.push(o);
          }
        }
      }
      function q0e(e) {
        const t = [];
        return Ts(e, n, n), t;
        function n(i) {
          t.unshift(i);
        }
      }
      function H0e(e) {
        e.externalModuleIndicator = XN(e);
      }
      function Gx(e, t, n, i = false, s) {
        var o, c;
        (o = on) == null || o.push(
          on.Phase.Parse,
          "createSourceFile",
          { path: e },
          /*separateBeginAndEnd*/
          true
        ), Qo("beforeParse");
        let _;
        const {
          languageVersion: u,
          setExternalModuleIndicator: g,
          impliedNodeFormat: m,
          jsDocParsingMode: h
        } = typeof n == "object" ? n : { languageVersion: n };
        if (u === 100)
          _ = cv.parseSourceFile(
            e,
            t,
            u,
            /*syntaxCursor*/
            void 0,
            i,
            6,
            Ua,
            h
          );
        else {
          const S = m === void 0 ? g : (T) => (T.impliedNodeFormat = m, (g || H0e)(T));
          _ = cv.parseSourceFile(
            e,
            t,
            u,
            /*syntaxCursor*/
            void 0,
            i,
            s,
            S,
            h
          );
        }
        return Qo("afterParse"), Zf("Parse", "beforeParse", "afterParse"), (c = on) == null || c.pop(), _;
      }
      function $x(e, t) {
        return cv.parseIsolatedEntityName(e, t);
      }
      function QN(e, t) {
        return cv.parseJsonText(e, t);
      }
      function ll(e) {
        return e.externalModuleIndicator !== void 0;
      }
      function zz(e, t, n, i = false) {
        const s = Wz.updateSourceFile(e, t, n, i);
        return s.flags |= e.flags & 12582912, s;
      }
      function bre(e, t, n) {
        const i = cv.JSDocParser.parseIsolatedJSDocComment(e, t, n);
        return i && i.jsDoc && cv.fixupParentReferences(i.jsDoc), i;
      }
      function G0e(e, t, n) {
        return cv.JSDocParser.parseJSDocTypeExpressionForTests(e, t, n);
      }
      var cv;
      ((e) => {
        var t = Tg(
          99,
          /*skipTrivia*/
          true
        ), n = 40960, i, s, o, c, _;
        function u(X) {
          return Ce++, X;
        }
        var g = {
          createBaseSourceFileNode: (X) => u(new _(
            X,
            /*pos*/
            0,
            /*end*/
            0
          )),
          createBaseIdentifierNode: (X) => u(new o(
            X,
            /*pos*/
            0,
            /*end*/
            0
          )),
          createBasePrivateIdentifierNode: (X) => u(new c(
            X,
            /*pos*/
            0,
            /*end*/
            0
          )),
          createBaseTokenNode: (X) => u(new s(
            X,
            /*pos*/
            0,
            /*end*/
            0
          )),
          createBaseNode: (X) => u(new i(
            X,
            /*pos*/
            0,
            /*end*/
            0
          ))
        }, m = DN(11, g), {
          createNodeArray: h,
          createNumericLiteral: S,
          createStringLiteral: T,
          createLiteralLikeNode: k,
          createIdentifier: D,
          createPrivateIdentifier: P,
          createToken: A,
          createArrayLiteralExpression: O,
          createObjectLiteralExpression: F,
          createPropertyAccessExpression: R,
          createPropertyAccessChain: B,
          createElementAccessExpression: U,
          createElementAccessChain: $,
          createCallExpression: W,
          createCallChain: _e,
          createNewExpression: K,
          createParenthesizedExpression: V,
          createBlock: ae,
          createVariableStatement: se,
          createExpressionStatement: ce,
          createIfStatement: fe,
          createWhileStatement: he,
          createForStatement: q,
          createForOfStatement: be,
          createVariableDeclaration: je,
          createVariableDeclarationList: me
        } = m, Z, pe, Te, Fe, Ye, ne, Se, ie, Ne, Ee, Ce, Ve, St, Bt, tr, Nr, st = true, Wt = false;
        function Jr(X, De, He, bt, Vt = false, rr, Rn, gn = 0) {
          var Gr;
          if (rr = Y5(X, rr), rr === 6) {
            const ji = Ji(X, De, He, bt, Vt);
            return t8(
              ji,
              (Gr = ji.statements[0]) == null ? void 0 : Gr.expression,
              ji.parseDiagnostics,
              /*returnValue*/
              false,
              /*jsonConversionNotifier*/
              void 0
            ), ji.referencedFiles = Ge, ji.typeReferenceDirectives = Ge, ji.libReferenceDirectives = Ge, ji.amdDependencies = Ge, ji.hasNoDefaultLib = false, ji.pragmas = vR, ji;
          }
          Dt(X, De, He, bt, rr, gn);
          const ii = ai(He, Vt, rr, Rn || H0e, gn);
          return Mn(), ii;
        }
        e.parseSourceFile = Jr;
        function ui(X, De) {
          Dt(
            "",
            X,
            De,
            /*syntaxCursor*/
            void 0,
            1,
            0
            /* ParseAll */
          ), ke();
          const He = et(
            /*allowReservedWords*/
            true
          ), bt = Q() === 1 && !Se.length;
          return Mn(), bt ? He : void 0;
        }
        e.parseIsolatedEntityName = ui;
        function Ji(X, De, He = 2, bt, Vt = false) {
          Dt(
            X,
            De,
            He,
            bt,
            6,
            0
            /* ParseAll */
          ), pe = Nr, ke();
          const rr = M();
          let Rn, gn;
          if (Q() === 1)
            Rn = ya([], rr, rr), gn = xc();
          else {
            let ji;
            for (; Q() !== 1; ) {
              let Fa;
              switch (Q()) {
                case 23:
                  Fa = l1();
                  break;
                case 112:
                case 97:
                case 106:
                  Fa = xc();
                  break;
                case 41:
                  kt(
                    () => ke() === 9 && ke() !== 59
                    /* ColonToken */
                  ) ? Fa = M0() : Fa = B0();
                  break;
                case 9:
                case 11:
                  if (kt(
                    () => ke() !== 59
                    /* ColonToken */
                  )) {
                    Fa = xt();
                    break;
                  }
                // falls through
                default:
                  Fa = B0();
                  break;
              }
              ji && ss(ji) ? ji.push(Fa) : ji ? ji = [ji, Fa] : (ji = Fa, Q() !== 1 && Lt(p.Unexpected_token));
            }
            const lo = ss(ji) ? zt(O(ji), rr) : E.checkDefined(ji), Qa = ce(lo);
            zt(Qa, rr), Rn = ya([Qa], rr), gn = To(1, p.Unexpected_token);
          }
          const Gr = ft(
            X,
            2,
            6,
            /*isDeclarationFile*/
            false,
            Rn,
            gn,
            pe,
            Ua
          );
          Vt && Je(Gr), Gr.nodeCount = Ce, Gr.identifierCount = St, Gr.identifiers = Ve, Gr.parseDiagnostics = Tx(Se, Gr), ie && (Gr.jsDocDiagnostics = Tx(ie, Gr));
          const ii = Gr;
          return Mn(), ii;
        }
        e.parseJsonText = Ji;
        function Dt(X, De, He, bt, Vt, rr) {
          switch (i = Yl.getNodeConstructor(), s = Yl.getTokenConstructor(), o = Yl.getIdentifierConstructor(), c = Yl.getPrivateIdentifierConstructor(), _ = Yl.getSourceFileConstructor(), Z = qs(X), Te = De, Fe = He, Ne = bt, Ye = Vt, ne = lN(Vt), Se = [], Bt = 0, Ve = /* @__PURE__ */ new Map(), St = 0, Ce = 0, pe = 0, st = true, Ye) {
            case 1:
            case 2:
              Nr = 524288;
              break;
            case 6:
              Nr = 134742016;
              break;
            default:
              Nr = 0;
              break;
          }
          Wt = false, t.setText(Te), t.setOnError(ue), t.setScriptTarget(Fe), t.setLanguageVariant(ne), t.setScriptKind(Ye), t.setJSDocParsingMode(rr);
        }
        function Mn() {
          t.clearCommentDirectives(), t.setText(""), t.setOnError(void 0), t.setScriptKind(
            0
            /* Unknown */
          ), t.setJSDocParsingMode(
            0
            /* ParseAll */
          ), Te = void 0, Fe = void 0, Ne = void 0, Ye = void 0, ne = void 0, pe = 0, Se = void 0, ie = void 0, Bt = 0, Ve = void 0, tr = void 0, st = true;
        }
        function ai(X, De, He, bt, Vt) {
          const rr = wl(Z);
          rr && (Nr |= 33554432), pe = Nr, ke();
          const Rn = da(0, J_);
          E.assert(
            Q() === 1
            /* EndOfFileToken */
          );
          const gn = ye(), Gr = pn(xc(), gn), ii = ft(Z, X, He, rr, Rn, Gr, pe, bt);
          return Uz(ii, Te), Vz(ii, ji), ii.commentDirectives = t.getCommentDirectives(), ii.nodeCount = Ce, ii.identifierCount = St, ii.identifiers = Ve, ii.parseDiagnostics = Tx(Se, ii), ii.jsDocParsingMode = Vt, ie && (ii.jsDocDiagnostics = Tx(ie, ii)), De && Je(ii), ii;
          function ji(lo, Qa, Fa) {
            Se.push(Sx(Z, Te, lo, Qa, Fa));
          }
        }
        let fi = false;
        function pn(X, De) {
          if (!De)
            return X;
          E.assert(!X.jsDoc);
          const He = Fi(yB(X, Te), (bt) => Am.parseJSDocComment(X, bt.pos, bt.end - bt.pos));
          return He.length && (X.jsDoc = He), fi && (fi = false, X.flags |= 536870912), X;
        }
        function _i(X) {
          const De = Ne, He = Wz.createSyntaxCursor(X);
          Ne = { currentNode: ji };
          const bt = [], Vt = Se;
          Se = [];
          let rr = 0, Rn = Gr(X.statements, 0);
          for (; Rn !== -1; ) {
            const lo = X.statements[rr], Qa = X.statements[Rn];
            In(bt, X.statements, rr, Rn), rr = ii(X.statements, Rn);
            const Fa = ic(Vt, (Uf) => Uf.start >= lo.pos), yp = Fa >= 0 ? ic(Vt, (Uf) => Uf.start >= Qa.pos, Fa) : -1;
            Fa >= 0 && In(Se, Vt, Fa, yp >= 0 ? yp : void 0), nr(
              () => {
                const Uf = Nr;
                for (Nr |= 65536, t.resetTokenState(Qa.pos), ke(); Q() !== 1; ) {
                  const V0 = t.getTokenFullStart(), q0 = tl(0, J_);
                  if (bt.push(q0), V0 === t.getTokenFullStart() && ke(), rr >= 0) {
                    const Yg = X.statements[rr];
                    if (q0.end === Yg.pos)
                      break;
                    q0.end > Yg.pos && (rr = ii(X.statements, rr + 1));
                  }
                }
                Nr = Uf;
              },
              2
              /* Reparse */
            ), Rn = rr >= 0 ? Gr(X.statements, rr) : -1;
          }
          if (rr >= 0) {
            const lo = X.statements[rr];
            In(bt, X.statements, rr);
            const Qa = ic(Vt, (Fa) => Fa.start >= lo.pos);
            Qa >= 0 && In(Se, Vt, Qa);
          }
          return Ne = De, m.updateSourceFile(X, ct(h(bt), X.statements));
          function gn(lo) {
            return !(lo.flags & 65536) && !!(lo.transformFlags & 67108864);
          }
          function Gr(lo, Qa) {
            for (let Fa = Qa; Fa < lo.length; Fa++)
              if (gn(lo[Fa]))
                return Fa;
            return -1;
          }
          function ii(lo, Qa) {
            for (let Fa = Qa; Fa < lo.length; Fa++)
              if (!gn(lo[Fa]))
                return Fa;
            return -1;
          }
          function ji(lo) {
            const Qa = He.currentNode(lo);
            return st && Qa && gn(Qa) && Sre(Qa), Qa;
          }
        }
        function Je(X) {
          X1(
            X,
            /*incremental*/
            true
          );
        }
        e.fixupParentReferences = Je;
        function ft(X, De, He, bt, Vt, rr, Rn, gn) {
          let Gr = m.createSourceFile(Vt, rr, Rn);
          if (jJ(Gr, 0, Te.length), ii(Gr), !bt && ll(Gr) && Gr.transformFlags & 67108864) {
            const ji = Gr;
            Gr = _i(Gr), ji !== Gr && ii(Gr);
          }
          return Gr;
          function ii(ji) {
            ji.text = Te, ji.bindDiagnostics = [], ji.bindSuggestionDiagnostics = void 0, ji.languageVersion = De, ji.fileName = X, ji.languageVariant = lN(He), ji.isDeclarationFile = bt, ji.scriptKind = He, gn(ji), ji.setExternalModuleIndicator = gn;
          }
        }
        function er(X, De) {
          X ? Nr |= De : Nr &= ~De;
        }
        function qr(X) {
          er(
            X,
            8192
            /* DisallowInContext */
          );
        }
        function Jn(X) {
          er(
            X,
            16384
            /* YieldContext */
          );
        }
        function Un(X) {
          er(
            X,
            32768
            /* DecoratorContext */
          );
        }
        function ki(X) {
          er(
            X,
            65536
            /* AwaitContext */
          );
        }
        function Es(X, De) {
          const He = X & Nr;
          if (He) {
            er(
              /*val*/
              false,
              He
            );
            const bt = De();
            return er(
              /*val*/
              true,
              He
            ), bt;
          }
          return De();
        }
        function Zs(X, De) {
          const He = X & ~Nr;
          if (He) {
            er(
              /*val*/
              true,
              He
            );
            const bt = De();
            return er(
              /*val*/
              false,
              He
            ), bt;
          }
          return De();
        }
        function yr(X) {
          return Es(8192, X);
        }
        function vs(X) {
          return Zs(8192, X);
        }
        function Xe(X) {
          return Es(131072, X);
        }
        function Et(X) {
          return Zs(131072, X);
        }
        function re(X) {
          return Zs(16384, X);
        }
        function it(X) {
          return Zs(32768, X);
        }
        function Y(X) {
          return Zs(65536, X);
        }
        function Ae(X) {
          return Es(65536, X);
        }
        function $e(X) {
          return Zs(81920, X);
        }
        function Ke(X) {
          return Es(81920, X);
        }
        function Tt(X) {
          return (Nr & X) !== 0;
        }
        function Le() {
          return Tt(
            16384
            /* YieldContext */
          );
        }
        function mt() {
          return Tt(
            8192
            /* DisallowInContext */
          );
        }
        function pt() {
          return Tt(
            131072
            /* DisallowConditionalTypesContext */
          );
        }
        function Ct() {
          return Tt(
            32768
            /* DecoratorContext */
          );
        }
        function qe() {
          return Tt(
            65536
            /* AwaitContext */
          );
        }
        function Lt(X, ...De) {
          return Pe(t.getTokenStart(), t.getTokenEnd(), X, ...De);
        }
        function rn(X, De, He, ...bt) {
          const Vt = ko(Se);
          let rr;
          return (!Vt || X !== Vt.start) && (rr = Sx(Z, Te, X, De, He, ...bt), Se.push(rr)), Wt = true, rr;
        }
        function Pe(X, De, He, ...bt) {
          return rn(X, De - X, He, ...bt);
        }
        function yt(X, De, ...He) {
          Pe(X.pos, X.end, De, ...He);
        }
        function ue(X, De, He) {
          rn(t.getTokenEnd(), De, X, He);
        }
        function M() {
          return t.getTokenFullStart();
        }
        function ye() {
          return t.hasPrecedingJSDocComment();
        }
        function Q() {
          return Ee;
        }
        function dt() {
          return Ee = t.scan();
        }
        function Mt(X) {
          return ke(), X();
        }
        function ke() {
          return b_(Ee) && (t.hasUnicodeEscape() || t.hasExtendedUnicodeEscape()) && Pe(t.getTokenStart(), t.getTokenEnd(), p.Keywords_cannot_contain_escape_characters), dt();
        }
        function at() {
          return Ee = t.scanJsDocToken();
        }
        function wt(X) {
          return Ee = t.scanJSDocCommentTextToken(X);
        }
        function Zr() {
          return Ee = t.reScanGreaterToken();
        }
        function Rr() {
          return Ee = t.reScanSlashToken();
        }
        function Pr(X) {
          return Ee = t.reScanTemplateToken(X);
        }
        function rt() {
          return Ee = t.reScanLessThanToken();
        }
        function vt() {
          return Ee = t.reScanHashToken();
        }
        function Nt() {
          return Ee = t.scanJsxIdentifier();
        }
        function Jt() {
          return Ee = t.scanJsxToken();
        }
        function _r() {
          return Ee = t.scanJsxAttributeValue();
        }
        function nr(X, De) {
          const He = Ee, bt = Se.length, Vt = Wt, rr = Nr, Rn = De !== 0 ? t.lookAhead(X) : t.tryScan(X);
          return E.assert(rr === Nr), (!Rn || De !== 0) && (Ee = He, De !== 2 && (Se.length = bt), Wt = Vt), Rn;
        }
        function kt(X) {
          return nr(
            X,
            1
            /* Lookahead */
          );
        }
        function cr(X) {
          return nr(
            X,
            0
            /* TryParse */
          );
        }
        function fr() {
          return Q() === 80 ? true : Q() > 118;
        }
        function vr() {
          return Q() === 80 ? true : Q() === 127 && Le() || Q() === 135 && qe() ? false : Q() > 118;
        }
        function Xt(X, De, He = true) {
          return Q() === X ? (He && ke(), true) : (De ? Lt(De) : Lt(p._0_expected, Vs(X)), false);
        }
        const oi = Object.keys(_7).filter((X) => X.length > 2);
        function Is(X) {
          if (Z1(X)) {
            Pe(aa(Te, X.template.pos), X.template.end, p.Module_declaration_names_may_only_use_or_quoted_strings);
            return;
          }
          const De = Me(X) ? An(X) : void 0;
          if (!De || !F_(De, Fe)) {
            Lt(p._0_expected, Vs(
              27
              /* SemicolonToken */
            ));
            return;
          }
          const He = aa(Te, X.pos);
          switch (De) {
            case "const":
            case "let":
            case "var":
              Pe(He, X.end, p.Variable_declaration_not_allowed_at_this_location);
              return;
            case "declare":
              return;
            case "interface":
              Ms(
                p.Interface_name_cannot_be_0,
                p.Interface_must_be_given_a_name,
                19
                /* OpenBraceToken */
              );
              return;
            case "is":
              Pe(He, t.getTokenStart(), p.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);
              return;
            case "module":
            case "namespace":
              Ms(
                p.Namespace_name_cannot_be_0,
                p.Namespace_must_be_given_a_name,
                19
                /* OpenBraceToken */
              );
              return;
            case "type":
              Ms(
                p.Type_alias_name_cannot_be_0,
                p.Type_alias_must_be_given_a_name,
                64
                /* EqualsToken */
              );
              return;
          }
          const bt = mb(De, oi, fo) ?? ps(De);
          if (bt) {
            Pe(He, X.end, p.Unknown_keyword_or_identifier_Did_you_mean_0, bt);
            return;
          }
          Q() !== 0 && Pe(He, X.end, p.Unexpected_keyword_or_identifier);
        }
        function Ms(X, De, He) {
          Q() === He ? Lt(De) : Lt(X, t.getTokenValue());
        }
        function ps(X) {
          for (const De of oi)
            if (X.length > De.length + 2 && Ui(X, De))
              return `${De} ${X.slice(De.length)}`;
        }
        function uc(X, De, He) {
          if (Q() === 60 && !t.hasPrecedingLineBreak()) {
            Lt(p.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations);
            return;
          }
          if (Q() === 21) {
            Lt(p.Cannot_start_a_function_call_in_a_type_annotation), ke();
            return;
          }
          if (De && !os()) {
            He ? Lt(p._0_expected, Vs(
              27
              /* SemicolonToken */
            )) : Lt(p.Expected_for_property_initializer);
            return;
          }
          if (!zs()) {
            if (He) {
              Lt(p._0_expected, Vs(
                27
                /* SemicolonToken */
              ));
              return;
            }
            Is(X);
          }
        }
        function Xo(X) {
          return Q() === X ? (at(), true) : (E.assert(m5(X)), Lt(p._0_expected, Vs(X)), false);
        }
        function ro(X, De, He, bt) {
          if (Q() === De) {
            ke();
            return;
          }
          const Vt = Lt(p._0_expected, Vs(De));
          He && Vt && Js(
            Vt,
            Sx(Z, Te, bt, 1, p.The_parser_expected_to_find_a_1_to_match_the_0_token_here, Vs(X), Vs(De))
          );
        }
        function zi(X) {
          return Q() === X ? (ke(), true) : false;
        }
        function gs(X) {
          if (Q() === X)
            return xc();
        }
        function Vc(X) {
          if (Q() === X)
            return Rf();
        }
        function To(X, De, He) {
          return gs(X) || Xa(
            X,
            /*reportAtCurrentPosition*/
            false,
            De || p._0_expected,
            He || Vs(X)
          );
        }
        function ea(X) {
          const De = Vc(X);
          return De || (E.assert(m5(X)), Xa(
            X,
            /*reportAtCurrentPosition*/
            false,
            p._0_expected,
            Vs(X)
          ));
        }
        function xc() {
          const X = M(), De = Q();
          return ke(), zt(A(De), X);
        }
        function Rf() {
          const X = M(), De = Q();
          return at(), zt(A(De), X);
        }
        function os() {
          return Q() === 27 ? true : Q() === 20 || Q() === 1 || t.hasPrecedingLineBreak();
        }
        function zs() {
          return os() ? (Q() === 27 && ke(), true) : false;
        }
        function Aa() {
          return zs() || Xt(
            27
            /* SemicolonToken */
          );
        }
        function ya(X, De, He, bt) {
          const Vt = h(X, bt);
          return Dd(Vt, De, He ?? t.getTokenFullStart()), Vt;
        }
        function zt(X, De, He) {
          return Dd(X, De, He ?? t.getTokenFullStart()), Nr && (X.flags |= Nr), Wt && (Wt = false, X.flags |= 262144), X;
        }
        function Xa(X, De, He, ...bt) {
          De ? rn(t.getTokenFullStart(), 0, He, ...bt) : He && Lt(He, ...bt);
          const Vt = M(), rr = X === 80 ? D(
            "",
            /*originalKeywordKind*/
            void 0
          ) : vy(X) ? m.createTemplateLiteralLikeNode(
            X,
            "",
            "",
            /*templateFlags*/
            void 0
          ) : X === 9 ? S(
            "",
            /*numericLiteralFlags*/
            void 0
          ) : X === 11 ? T(
            "",
            /*isSingleQuote*/
            void 0
          ) : X === 283 ? m.createMissingDeclaration() : A(X);
          return zt(rr, Vt);
        }
        function mc(X) {
          let De = Ve.get(X);
          return De === void 0 && Ve.set(X, De = X), De;
        }
        function Nc(X, De, He) {
          if (X) {
            St++;
            const gn = t.hasPrecedingJSDocLeadingAsterisks() ? t.getTokenStart() : M(), Gr = Q(), ii = mc(t.getTokenValue()), ji = t.hasExtendedUnicodeEscape();
            return dt(), zt(D(ii, Gr, ji), gn);
          }
          if (Q() === 81)
            return Lt(He || p.Private_identifiers_are_not_allowed_outside_class_bodies), Nc(
              /*isIdentifier*/
              true
            );
          if (Q() === 0 && t.tryScan(
            () => t.reScanInvalidIdentifier() === 80
            /* Identifier */
          ))
            return Nc(
              /*isIdentifier*/
              true
            );
          St++;
          const bt = Q() === 1, Vt = t.isReservedWord(), rr = t.getTokenText(), Rn = Vt ? p.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here : p.Identifier_expected;
          return Xa(80, bt, De || Rn, rr);
        }
        function Wl(X) {
          return Nc(
            fr(),
            /*diagnosticMessage*/
            void 0,
            X
          );
        }
        function co(X, De) {
          return Nc(vr(), X, De);
        }
        function ge(X) {
          return Nc(m_(Q()), X);
        }
        function H() {
          return (t.hasUnicodeEscape() || t.hasExtendedUnicodeEscape()) && Lt(p.Unicode_escape_sequence_cannot_appear_here), Nc(m_(Q()));
        }
        function tt() {
          return m_(Q()) || Q() === 11 || Q() === 9 || Q() === 10;
        }
        function Ft() {
          return m_(Q()) || Q() === 11;
        }
        function Kt(X) {
          if (Q() === 11 || Q() === 9 || Q() === 10) {
            const De = xt();
            return De.text = mc(De.text), De;
          }
          return Q() === 23 ? Vn() : Q() === 81 ? ln() : ge();
        }
        function Hr() {
          return Kt();
        }
        function Vn() {
          const X = M();
          Xt(
            23
            /* OpenBracketToken */
          );
          const De = yr(Gu);
          return Xt(
            24
            /* CloseBracketToken */
          ), zt(m.createComputedPropertyName(De), X);
        }
        function ln() {
          const X = M(), De = P(mc(t.getTokenValue()));
          return ke(), zt(De, X);
        }
        function kr(X) {
          return Q() === X && cr(Yi);
        }
        function Li() {
          return ke(), t.hasPrecedingLineBreak() ? false : qc();
        }
        function Yi() {
          switch (Q()) {
            case 87:
              return ke() === 94;
            case 95:
              return ke(), Q() === 90 ? kt(go) : Q() === 156 ? kt(ta) : eo();
            case 90:
              return go();
            case 126:
              return ke(), qc();
            case 139:
            case 153:
              return ke(), Rc();
            default:
              return Li();
          }
        }
        function eo() {
          return Q() === 60 || Q() !== 42 && Q() !== 130 && Q() !== 19 && qc();
        }
        function ta() {
          return ke(), eo();
        }
        function xo() {
          return Sy(Q()) && cr(Yi);
        }
        function qc() {
          return Q() === 23 || Q() === 19 || Q() === 42 || Q() === 26 || tt();
        }
        function Rc() {
          return Q() === 23 || tt();
        }
        function go() {
          return ke(), Q() === 86 || Q() === 100 || Q() === 120 || Q() === 60 || Q() === 128 && kt(N_) || Q() === 134 && kt(hp);
        }
        function tc(X, De) {
          if (Eo(X))
            return true;
          switch (X) {
            case 0:
            case 1:
            case 3:
              return !(Q() === 27 && De) && J0();
            case 2:
              return Q() === 84 || Q() === 90;
            case 4:
              return kt(Hp);
            case 5:
              return kt(_T) || Q() === 27 && !De;
            case 6:
              return Q() === 23 || tt();
            case 12:
              switch (Q()) {
                case 23:
                case 42:
                case 26:
                case 25:
                  return true;
                default:
                  return tt();
              }
            case 18:
              return tt();
            case 9:
              return Q() === 23 || Q() === 26 || tt();
            case 24:
              return Ft();
            case 7:
              return Q() === 19 ? kt(Ld) : De ? vr() && !Ie() : w_() && !Ie();
            case 8:
              return Rk();
            case 10:
              return Q() === 28 || Q() === 26 || Rk();
            case 19:
              return Q() === 103 || Q() === 87 || vr();
            case 15:
              switch (Q()) {
                case 28:
                case 25:
                  return true;
              }
            // falls through
            case 11:
              return Q() === 26 || mu();
            case 16:
              return nt(
                /*isJSDocParameter*/
                false
              );
            case 17:
              return nt(
                /*isJSDocParameter*/
                true
              );
            case 20:
            case 21:
              return Q() === 28 || t1();
            case 22:
              return fT();
            case 23:
              return Q() === 161 && kt(Qg) ? false : Q() === 11 ? true : m_(Q());
            case 13:
              return m_(Q()) || Q() === 19;
            case 14:
              return true;
            case 25:
              return true;
            case 26:
              return E.fail("ParsingContext.Count used as a context");
            // Not a real context, only a marker.
            default:
              E.assertNever(X, "Non-exhaustive case in 'isListElement'.");
          }
        }
        function Ld() {
          if (E.assert(
            Q() === 19
            /* OpenBraceToken */
          ), ke() === 20) {
            const X = ke();
            return X === 28 || X === 19 || X === 96 || X === 119;
          }
          return true;
        }
        function ru() {
          return ke(), vr();
        }
        function Tf() {
          return ke(), m_(Q());
        }
        function C_() {
          return ke(), OY(Q());
        }
        function Ie() {
          return Q() === 119 || Q() === 96 ? kt(Ot) : false;
        }
        function Ot() {
          return ke(), mu();
        }
        function Mr() {
          return ke(), t1();
        }
        function Gi(X) {
          if (Q() === 1)
            return true;
          switch (X) {
            case 1:
            case 2:
            case 4:
            case 5:
            case 6:
            case 12:
            case 9:
            case 23:
            case 24:
              return Q() === 20;
            case 3:
              return Q() === 20 || Q() === 84 || Q() === 90;
            case 7:
              return Q() === 19 || Q() === 96 || Q() === 119;
            case 8:
              return Ea();
            case 19:
              return Q() === 32 || Q() === 21 || Q() === 19 || Q() === 96 || Q() === 119;
            case 11:
              return Q() === 22 || Q() === 27;
            case 15:
            case 21:
            case 10:
              return Q() === 24;
            case 17:
            case 16:
            case 18:
              return Q() === 22 || Q() === 24;
            case 20:
              return Q() !== 28;
            case 22:
              return Q() === 19 || Q() === 20;
            case 13:
              return Q() === 32 || Q() === 44;
            case 14:
              return Q() === 30 && kt(qL);
            default:
              return false;
          }
        }
        function Ea() {
          return !!(os() || $u(Q()) || Q() === 39);
        }
        function Da() {
          E.assert(Bt, "Missing parsing context");
          for (let X = 0; X < 26; X++)
            if (Bt & 1 << X && (tc(
              X,
              /*inErrorRecovery*/
              true
            ) || Gi(X)))
              return true;
          return false;
        }
        function da(X, De) {
          const He = Bt;
          Bt |= 1 << X;
          const bt = [], Vt = M();
          for (; !Gi(X); ) {
            if (tc(
              X,
              /*inErrorRecovery*/
              false
            )) {
              bt.push(tl(X, De));
              continue;
            }
            if (Ug(X))
              break;
          }
          return Bt = He, ya(bt, Vt);
        }
        function tl(X, De) {
          const He = Eo(X);
          return He ? rc(He) : De();
        }
        function Eo(X, De) {
          var He;
          if (!Ne || !gc(X) || Wt)
            return;
          const bt = Ne.currentNode(De ?? t.getTokenFullStart());
          if (!(ac(bt) || qLe(bt) || sx(bt) || (bt.flags & 101441536) !== Nr) && xf(bt, X))
            return U3(bt) && ((He = bt.jsDoc) != null && He.jsDocCache) && (bt.jsDoc.jsDocCache = void 0), bt;
        }
        function rc(X) {
          return t.resetTokenState(X.end), ke(), X;
        }
        function gc(X) {
          switch (X) {
            case 5:
            case 2:
            case 0:
            case 1:
            case 3:
            case 6:
            case 4:
            case 8:
            case 17:
            case 16:
              return true;
          }
          return false;
        }
        function xf(X, De) {
          switch (De) {
            case 5:
              return Ul(X);
            case 2:
              return Nl(X);
            case 0:
            case 1:
            case 3:
              return lf(X);
            case 6:
              return Hu(X);
            case 4:
              return pp(X);
            case 8:
              return eg(X);
            case 17:
            case 16:
              return Wg(X);
          }
          return false;
        }
        function Ul(X) {
          if (X)
            switch (X.kind) {
              case 177:
              case 182:
              case 178:
              case 179:
              case 173:
              case 241:
                return true;
              case 175:
                const De = X;
                return !(De.name.kind === 80 && De.name.escapedText === "constructor");
            }
          return false;
        }
        function Nl(X) {
          if (X)
            switch (X.kind) {
              case 297:
              case 298:
                return true;
            }
          return false;
        }
        function lf(X) {
          if (X)
            switch (X.kind) {
              case 263:
              case 244:
              case 242:
              case 246:
              case 245:
              case 258:
              case 254:
              case 256:
              case 253:
              case 252:
              case 250:
              case 251:
              case 249:
              case 248:
              case 255:
              case 243:
              case 259:
              case 257:
              case 247:
              case 260:
              case 273:
              case 272:
              case 279:
              case 278:
              case 268:
              case 264:
              case 265:
              case 267:
              case 266:
                return true;
            }
          return false;
        }
        function Hu(X) {
          return X.kind === 307;
        }
        function pp(X) {
          if (X)
            switch (X.kind) {
              case 181:
              case 174:
              case 182:
              case 172:
              case 180:
                return true;
            }
          return false;
        }
        function eg(X) {
          return X.kind !== 261 ? false : X.initializer === void 0;
        }
        function Wg(X) {
          return X.kind !== 170 ? false : X.initializer === void 0;
        }
        function Ug(X) {
          return E_(X), Da() ? true : (ke(), false);
        }
        function E_(X) {
          switch (X) {
            case 0:
              return Q() === 90 ? Lt(p._0_expected, Vs(
                95
                /* ExportKeyword */
              )) : Lt(p.Declaration_or_statement_expected);
            case 1:
              return Lt(p.Declaration_or_statement_expected);
            case 2:
              return Lt(p.case_or_default_expected);
            case 3:
              return Lt(p.Statement_expected);
            case 18:
            // fallthrough
            case 4:
              return Lt(p.Property_or_signature_expected);
            case 5:
              return Lt(p.Unexpected_token_A_constructor_method_accessor_or_property_was_expected);
            case 6:
              return Lt(p.Enum_member_expected);
            case 7:
              return Lt(p.Expression_expected);
            case 8:
              return b_(Q()) ? Lt(p._0_is_not_allowed_as_a_variable_declaration_name, Vs(Q())) : Lt(p.Variable_declaration_expected);
            case 9:
              return Lt(p.Property_destructuring_pattern_expected);
            case 10:
              return Lt(p.Array_element_destructuring_pattern_expected);
            case 11:
              return Lt(p.Argument_expression_expected);
            case 12:
              return Lt(p.Property_assignment_expected);
            case 15:
              return Lt(p.Expression_or_comma_expected);
            case 17:
              return Lt(p.Parameter_declaration_expected);
            case 16:
              return b_(Q()) ? Lt(p._0_is_not_allowed_as_a_parameter_name, Vs(Q())) : Lt(p.Parameter_declaration_expected);
            case 19:
              return Lt(p.Type_parameter_declaration_expected);
            case 20:
              return Lt(p.Type_argument_expected);
            case 21:
              return Lt(p.Type_expected);
            case 22:
              return Lt(p.Unexpected_token_expected);
            case 23:
              return Q() === 161 ? Lt(p._0_expected, "}") : Lt(p.Identifier_expected);
            case 13:
              return Lt(p.Identifier_expected);
            case 14:
              return Lt(p.Identifier_expected);
            case 24:
              return Lt(p.Identifier_or_string_literal_expected);
            case 25:
              return Lt(p.Identifier_expected);
            case 26:
              return E.fail("ParsingContext.Count used as a context");
            // Not a real context, only a marker.
            default:
              E.assertNever(X);
          }
        }
        function yl(X, De, He) {
          const bt = Bt;
          Bt |= 1 << X;
          const Vt = [], rr = M();
          let Rn = -1;
          for (; ; ) {
            if (tc(
              X,
              /*inErrorRecovery*/
              false
            )) {
              const gn = t.getTokenFullStart(), Gr = tl(X, De);
              if (!Gr) {
                Bt = bt;
                return;
              }
              if (Vt.push(Gr), Rn = t.getTokenStart(), zi(
                28
                /* CommaToken */
              ))
                continue;
              if (Rn = -1, Gi(X))
                break;
              Xt(28, Md(X)), He && Q() === 27 && !t.hasPrecedingLineBreak() && ke(), gn === t.getTokenFullStart() && ke();
              continue;
            }
            if (Gi(X) || Ug(X))
              break;
          }
          return Bt = bt, ya(
            Vt,
            rr,
            /*end*/
            void 0,
            Rn >= 0
          );
        }
        function Md(X) {
          return X === 6 ? p.An_enum_member_name_must_be_followed_by_a_or : void 0;
        }
        function jf() {
          const X = ya([], M());
          return X.isMissingList = true, X;
        }
        function Em(X) {
          return !!X.isMissingList;
        }
        function ee(X, De, He, bt) {
          if (Xt(He)) {
            const Vt = yl(X, De);
            return Xt(bt), Vt;
          }
          return jf();
        }
        function et(X, De) {
          const He = M();
          let bt = X ? ge(De) : co(De);
          for (; zi(
            25
            /* DotToken */
          ) && Q() !== 30; )
            bt = zt(
              m.createQualifiedName(
                bt,
                Gt(
                  X,
                  /*allowPrivateIdentifiers*/
                  false,
                  /*allowUnicodeEscapeSequenceInIdentifierName*/
                  true
                )
              ),
              He
            );
          return bt;
        }
        function Ut(X, De) {
          return zt(m.createQualifiedName(X, De), X.pos);
        }
        function Gt(X, De, He) {
          if (t.hasPrecedingLineBreak() && m_(Q()) && kt(Ak))
            return Xa(
              80,
              /*reportAtCurrentPosition*/
              true,
              p.Identifier_expected
            );
          if (Q() === 81) {
            const bt = ln();
            return De ? bt : Xa(
              80,
              /*reportAtCurrentPosition*/
              true,
              p.Identifier_expected
            );
          }
          return X ? He ? ge() : H() : co();
        }
        function Sr(X) {
          const De = M(), He = [];
          let bt;
          do
            bt = Oe(X), He.push(bt);
          while (bt.literal.kind === 17);
          return ya(He, De);
        }
        function zr(X) {
          const De = M();
          return zt(
            m.createTemplateExpression(
              Tr(X),
              Sr(X)
            ),
            De
          );
        }
        function jn() {
          const X = M();
          return zt(
            m.createTemplateLiteralType(
              Tr(
                /*isTaggedTemplate*/
                false
              ),
              ni()
            ),
            X
          );
        }
        function ni() {
          const X = M(), De = [];
          let He;
          do
            He = wi(), De.push(He);
          while (He.literal.kind === 17);
          return ya(De, X);
        }
        function wi() {
          const X = M();
          return zt(
            m.createTemplateLiteralTypeSpan(
              Oo(),
              L(
                /*isTaggedTemplate*/
                false
              )
            ),
            X
          );
        }
        function L(X) {
          return Q() === 20 ? (Pr(X), $i()) : To(18, p._0_expected, Vs(
            20
            /* CloseBraceToken */
          ));
        }
        function Oe(X) {
          const De = M();
          return zt(
            m.createTemplateSpan(
              yr(Gu),
              L(X)
            ),
            De
          );
        }
        function xt() {
          return Zi(Q());
        }
        function Tr(X) {
          !X && t.getTokenFlags() & 26656 && Pr(
            /*isTaggedTemplate*/
            false
          );
          const De = Zi(Q());
          return E.assert(De.kind === 16, "Template head has wrong token kind"), De;
        }
        function $i() {
          const X = Zi(Q());
          return E.assert(X.kind === 17 || X.kind === 18, "Template fragment has wrong token kind"), X;
        }
        function Ns(X) {
          const De = X === 15 || X === 18, He = t.getTokenText();
          return He.substring(1, He.length - (t.isUnterminated() ? 0 : De ? 1 : 2));
        }
        function Zi(X) {
          const De = M(), He = vy(X) ? m.createTemplateLiteralLikeNode(
            X,
            t.getTokenValue(),
            Ns(X),
            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.
            X === 9 ? S(t.getTokenValue(), t.getNumericLiteralFlags()) : X === 11 ? T(
              t.getTokenValue(),
              /*isSingleQuote*/
              void 0,
              t.hasExtendedUnicodeEscape()
            ) : T4(X) ? k(X, t.getTokenValue()) : E.fail()
          );
          return t.hasExtendedUnicodeEscape() && (He.hasExtendedUnicodeEscape = true), t.isUnterminated() && (He.isUnterminated = true), ke(), zt(He, De);
        }
        function hs() {
          return et(
            /*allowReservedWords*/
            true,
            p.Type_expected
          );
        }
        function jo() {
          if (!t.hasPrecedingLineBreak() && rt() === 30)
            return ee(
              20,
              Oo,
              30,
              32
              /* GreaterThanToken */
            );
        }
        function ra() {
          const X = M();
          return zt(
            m.createTypeReferenceNode(
              hs(),
              jo()
            ),
            X
          );
        }
        function Al(X) {
          switch (X.kind) {
            case 184:
              return ac(X.typeName);
            case 185:
            case 186: {
              const { parameters: De, type: He } = X;
              return Em(De) || Al(He);
            }
            case 197:
              return Al(X.type);
            default:
              return false;
          }
        }
        function uf(X) {
          return ke(), zt(m.createTypePredicateNode(
            /*assertsModifier*/
            void 0,
            X,
            Oo()
          ), X.pos);
        }
        function Bf() {
          const X = M();
          return ke(), zt(m.createThisTypeNode(), X);
        }
        function dp() {
          const X = M();
          return ke(), zt(m.createJSDocAllType(), X);
        }
        function Fh() {
          const X = M();
          return ke(), zt(m.createJSDocNonNullableType(
            u2(),
            /*postfix*/
            false
          ), X);
        }
        function A0() {
          const X = M();
          return ke(), Q() === 28 || Q() === 20 || Q() === 22 || Q() === 32 || Q() === 64 || Q() === 52 ? zt(m.createJSDocUnknownType(), X) : zt(m.createJSDocNullableType(
            Oo(),
            /*postfix*/
            false
          ), X);
        }
        function o_() {
          const X = M(), De = ye();
          if (cr(Jk)) {
            const He = Zn(
              36
              /* JSDoc */
            ), bt = Vr(
              59,
              /*isType*/
              false
            );
            return pn(zt(m.createJSDocFunctionType(He, bt), X), De);
          }
          return zt(m.createTypeReferenceNode(
            ge(),
            /*typeArguments*/
            void 0
          ), X);
        }
        function tg() {
          const X = M();
          let De;
          return (Q() === 110 || Q() === 105) && (De = ge(), Xt(
            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?
              De,
              /*questionToken*/
              void 0,
              Rd(),
              /*initializer*/
              void 0
            ),
            X
          );
        }
        function Rd() {
          t.setSkipJsDocLeadingAsterisks(true);
          const X = M();
          if (zi(
            144
            /* ModuleKeyword */
          )) {
            const bt = m.createJSDocNamepathType(
              /*type*/
              void 0
            );
            e:
              for (; ; )
                switch (Q()) {
                  case 20:
                  case 1:
                  case 28:
                  case 5:
                    break e;
                  default:
                    at();
                }
            return t.setSkipJsDocLeadingAsterisks(false), zt(bt, X);
          }
          const De = zi(
            26
            /* DotDotDotToken */
          );
          let He = Rh();
          return t.setSkipJsDocLeadingAsterisks(false), De && (He = zt(m.createJSDocVariadicType(He), X)), Q() === 64 ? (ke(), zt(m.createJSDocOptionalType(He), X)) : He;
        }
        function Vp() {
          const X = M();
          Xt(
            114
            /* TypeOfKeyword */
          );
          const De = et(
            /*allowReservedWords*/
            true
          ), He = t.hasPrecedingLineBreak() ? void 0 : Uo();
          return zt(m.createTypeQueryNode(De, He), X);
        }
        function e1() {
          const X = M(), De = gi(
            /*allowDecorators*/
            false,
            /*permitConstAsModifier*/
            true
          ), He = co();
          let bt, Vt;
          zi(
            96
            /* ExtendsKeyword */
          ) && (t1() || !mu() ? bt = Oo() : Vt = Fv());
          const rr = zi(
            64
            /* EqualsToken */
          ) ? Oo() : void 0, Rn = m.createTypeParameterDeclaration(De, He, bt, rr);
          return Rn.expression = Vt, zt(Rn, X);
        }
        function Be() {
          if (Q() === 30)
            return ee(
              19,
              e1,
              30,
              32
              /* GreaterThanToken */
            );
        }
        function nt(X) {
          return Q() === 26 || Rk() || Sy(Q()) || Q() === 60 || t1(
            /*inStartOfParameter*/
            !X
          );
        }
        function Rt(X) {
          const De = z0(p.Private_identifiers_cannot_be_used_as_parameters);
          return d3(De) === 0 && !ot(X) && Sy(Q()) && ke(), De;
        }
        function pr() {
          return fr() || Q() === 23 || Q() === 19;
        }
        function Or(X) {
          return Ir(X);
        }
        function dn(X) {
          return Ir(
            X,
            /*allowAmbiguity*/
            false
          );
        }
        function Ir(X, De = true) {
          const He = M(), bt = ye(), Vt = X ? Y(() => gi(
            /*allowDecorators*/
            true
          )) : Ae(() => gi(
            /*allowDecorators*/
            true
          ));
          if (Q() === 110) {
            const Gr = m.createParameterDeclaration(
              Vt,
              /*dotDotDotToken*/
              void 0,
              Nc(
                /*isIdentifier*/
                true
              ),
              /*questionToken*/
              void 0,
              du(),
              /*initializer*/
              void 0
            ), ii = $c(Vt);
            return ii && yt(ii, p.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters), pn(zt(Gr, He), bt);
          }
          const rr = st;
          st = false;
          const Rn = gs(
            26
            /* DotDotDotToken */
          );
          if (!De && !pr())
            return;
          const gn = pn(
            zt(
              m.createParameterDeclaration(
                Vt,
                Rn,
                Rt(Vt),
                gs(
                  58
                  /* QuestionToken */
                ),
                du(),
                sg()
              ),
              He
            ),
            bt
          );
          return st = rr, gn;
        }
        function Vr(X, De) {
          if (hi(X, De))
            return Xe(Rh);
        }
        function hi(X, De) {
          return X === 39 ? (Xt(X), true) : zi(
            59
            /* ColonToken */
          ) ? true : De && Q() === 39 ? (Lt(p._0_expected, Vs(
            59
            /* ColonToken */
          )), ke(), true) : false;
        }
        function ts(X, De) {
          const He = Le(), bt = qe();
          Jn(!!(X & 1)), ki(!!(X & 2));
          const Vt = X & 32 ? yl(17, tg) : yl(16, () => De ? Or(bt) : dn(bt));
          return Jn(He), ki(bt), Vt;
        }
        function Zn(X) {
          if (!Xt(
            21
            /* OpenParenToken */
          ))
            return jf();
          const De = ts(
            X,
            /*allowAmbiguity*/
            true
          );
          return Xt(
            22
            /* CloseParenToken */
          ), De;
        }
        function rs() {
          zi(
            28
            /* CommaToken */
          ) || Aa();
        }
        function Pi(X) {
          const De = M(), He = ye();
          X === 181 && Xt(
            105
            /* NewKeyword */
          );
          const bt = Be(), Vt = Zn(
            4
            /* Type */
          ), rr = Vr(
            59,
            /*isType*/
            true
          );
          rs();
          const Rn = X === 180 ? m.createCallSignature(bt, Vt, rr) : m.createConstructSignature(bt, Vt, rr);
          return pn(zt(Rn, De), He);
        }
        function Bo() {
          return Q() === 23 && kt(D_);
        }
        function D_() {
          if (ke(), Q() === 26 || Q() === 24)
            return true;
          if (Sy(Q())) {
            if (ke(), vr())
              return true;
          } else if (vr())
            ke();
          else
            return false;
          return Q() === 59 || Q() === 28 ? true : Q() !== 58 ? false : (ke(), Q() === 59 || Q() === 28 || Q() === 24);
        }
        function qp(X, De, He) {
          const bt = ee(
            16,
            () => Or(
              /*inOuterAwaitContext*/
              false
            ),
            23,
            24
            /* CloseBracketToken */
          ), Vt = du();
          rs();
          const rr = m.createIndexSignature(He, bt, Vt);
          return pn(zt(rr, X), De);
        }
        function Vl(X, De, He) {
          const bt = Hr(), Vt = gs(
            58
            /* QuestionToken */
          );
          let rr;
          if (Q() === 21 || Q() === 30) {
            const Rn = Be(), gn = Zn(
              4
              /* Type */
            ), Gr = Vr(
              59,
              /*isType*/
              true
            );
            rr = m.createMethodSignature(He, bt, Vt, Rn, gn, Gr);
          } else {
            const Rn = du();
            rr = m.createPropertySignature(He, bt, Vt, Rn), Q() === 64 && (rr.initializer = sg());
          }
          return rs(), pn(zt(rr, X), De);
        }
        function Hp() {
          if (Q() === 21 || Q() === 30 || Q() === 139 || Q() === 153)
            return true;
          let X = false;
          for (; Sy(Q()); )
            X = true, ke();
          return Q() === 23 ? true : (tt() && (X = true, ke()), X ? Q() === 21 || Q() === 30 || Q() === 58 || Q() === 59 || Q() === 28 || os() : false);
        }
        function _f() {
          if (Q() === 21 || Q() === 30)
            return Pi(
              180
              /* CallSignature */
            );
          if (Q() === 105 && kt(xv))
            return Pi(
              181
              /* ConstructSignature */
            );
          const X = M(), De = ye(), He = gi(
            /*allowDecorators*/
            false
          );
          return kr(
            139
            /* GetKeyword */
          ) ? Uv(
            X,
            De,
            He,
            178,
            4
            /* Type */
          ) : kr(
            153
            /* SetKeyword */
          ) ? Uv(
            X,
            De,
            He,
            179,
            4
            /* Type */
          ) : Bo() ? qp(X, De, He) : Vl(X, De, He);
        }
        function xv() {
          return ke(), Q() === 21 || Q() === 30;
        }
        function Dm() {
          return ke() === 25;
        }
        function rg() {
          switch (ke()) {
            case 21:
            case 30:
            case 25:
              return true;
          }
          return false;
        }
        function kv() {
          const X = M();
          return zt(m.createTypeLiteralNode(ng()), X);
        }
        function ng() {
          let X;
          return Xt(
            19
            /* OpenBraceToken */
          ) ? (X = da(4, _f), Xt(
            20
            /* CloseBraceToken */
          )) : X = jf(), X;
        }
        function cE() {
          return ke(), Q() === 40 || Q() === 41 ? ke() === 148 : (Q() === 148 && ke(), Q() === 23 && ru() && ke() === 103);
        }
        function zw() {
          const X = M(), De = ge();
          Xt(
            103
            /* InKeyword */
          );
          const He = Oo();
          return zt(m.createTypeParameterDeclaration(
            /*modifiers*/
            void 0,
            De,
            He,
            /*defaultType*/
            void 0
          ), X);
        }
        function lE() {
          const X = M();
          Xt(
            19
            /* OpenBraceToken */
          );
          let De;
          (Q() === 148 || Q() === 40 || Q() === 41) && (De = xc(), De.kind !== 148 && Xt(
            148
            /* ReadonlyKeyword */
          )), Xt(
            23
            /* OpenBracketToken */
          );
          const He = zw(), bt = zi(
            130
            /* AsKeyword */
          ) ? Oo() : void 0;
          Xt(
            24
            /* CloseBracketToken */
          );
          let Vt;
          (Q() === 58 || Q() === 40 || Q() === 41) && (Vt = xc(), Vt.kind !== 58 && Xt(
            58
            /* QuestionToken */
          ));
          const rr = du();
          Aa();
          const Rn = da(4, _f);
          return Xt(
            20
            /* CloseBraceToken */
          ), zt(m.createMappedTypeNode(De, He, bt, Vt, rr, Rn), X);
        }
        function Vg() {
          const X = M();
          if (zi(
            26
            /* DotDotDotToken */
          ))
            return zt(m.createRestTypeNode(Oo()), X);
          const De = Oo();
          if (d6(De) && De.pos === De.type.pos) {
            const He = m.createOptionalTypeNode(De.type);
            return ct(He, De), He.flags = De.flags, He;
          }
          return De;
        }
        function Cv() {
          return ke() === 59 || Q() === 58 && ke() === 59;
        }
        function VS() {
          return Q() === 26 ? m_(ke()) && Cv() : m_(Q()) && Cv();
        }
        function I0() {
          if (kt(VS)) {
            const X = M(), De = ye(), He = gs(
              26
              /* DotDotDotToken */
            ), bt = ge(), Vt = gs(
              58
              /* QuestionToken */
            );
            Xt(
              59
              /* ColonToken */
            );
            const rr = Vg(), Rn = m.createNamedTupleMember(He, bt, Vt, rr);
            return pn(zt(Rn, X), De);
          }
          return Vg();
        }
        function qS() {
          const X = M();
          return zt(
            m.createTupleTypeNode(
              ee(
                21,
                I0,
                23,
                24
                /* CloseBracketToken */
              )
            ),
            X
          );
        }
        function bk() {
          const X = M();
          Xt(
            21
            /* OpenParenToken */
          );
          const De = Oo();
          return Xt(
            22
            /* CloseParenToken */
          ), zt(m.createParenthesizedType(De), X);
        }
        function Ww() {
          let X;
          if (Q() === 128) {
            const De = M();
            ke();
            const He = zt(A(
              128
              /* AbstractKeyword */
            ), De);
            X = ya([He], De);
          }
          return X;
        }
        function HS() {
          const X = M(), De = ye(), He = Ww(), bt = zi(
            105
            /* NewKeyword */
          );
          E.assert(!He || bt, "Per isStartOfFunctionOrConstructorType, a function type cannot have modifiers.");
          const Vt = Be(), rr = Zn(
            4
            /* Type */
          ), Rn = Vr(
            39,
            /*isType*/
            false
          ), gn = bt ? m.createConstructorTypeNode(He, Vt, rr, Rn) : m.createFunctionTypeNode(Vt, rr, Rn);
          return pn(zt(gn, X), De);
        }
        function Sk() {
          const X = xc();
          return Q() === 25 ? void 0 : X;
        }
        function Ev(X) {
          const De = M();
          X && ke();
          let He = Q() === 112 || Q() === 97 || Q() === 106 ? xc() : Zi(Q());
          return X && (He = zt(m.createPrefixUnaryExpression(41, He), De)), zt(m.createLiteralTypeNode(He), De);
        }
        function uE() {
          return ke(), Q() === 102;
        }
        function GS() {
          pe |= 4194304;
          const X = M(), De = zi(
            114
            /* TypeOfKeyword */
          );
          Xt(
            102
            /* ImportKeyword */
          ), Xt(
            21
            /* OpenParenToken */
          );
          const He = Oo();
          let bt;
          if (zi(
            28
            /* CommaToken */
          )) {
            const Rn = t.getTokenStart();
            Xt(
              19
              /* OpenBraceToken */
            );
            const gn = Q();
            if (gn === 118 || gn === 132 ? ke() : Lt(p._0_expected, Vs(
              118
              /* WithKeyword */
            )), Xt(
              59
              /* ColonToken */
            ), bt = m1(
              gn,
              /*skipKeyword*/
              true
            ), zi(
              28
              /* CommaToken */
            ), !Xt(
              20
              /* CloseBraceToken */
            )) {
              const Gr = ko(Se);
              Gr && Gr.code === p._0_expected.code && Js(
                Gr,
                Sx(Z, Te, Rn, 1, p.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}")
              );
            }
          }
          Xt(
            22
            /* CloseParenToken */
          );
          const Vt = zi(
            25
            /* DotToken */
          ) ? hs() : void 0, rr = jo();
          return zt(m.createImportTypeNode(He, bt, Vt, rr, De), X);
        }
        function Tk() {
          return ke(), Q() === 9 || Q() === 10;
        }
        function u2() {
          switch (Q()) {
            case 133:
            case 159:
            case 154:
            case 150:
            case 163:
            case 155:
            case 136:
            case 157:
            case 146:
            case 151:
              return cr(Sk) || ra();
            case 67:
              t.reScanAsteriskEqualsToken();
            // falls through
            case 42:
              return dp();
            case 61:
              t.reScanQuestionToken();
            // falls through
            case 58:
              return A0();
            case 100:
              return o_();
            case 54:
              return Fh();
            case 15:
            case 11:
            case 9:
            case 10:
            case 112:
            case 97:
            case 106:
              return Ev();
            case 41:
              return kt(Tk) ? Ev(
                /*negative*/
                true
              ) : ra();
            case 116:
              return xc();
            case 110: {
              const X = Bf();
              return Q() === 142 && !t.hasPrecedingLineBreak() ? uf(X) : X;
            }
            case 114:
              return kt(uE) ? GS() : Vp();
            case 19:
              return kt(cE) ? lE() : kv();
            case 23:
              return qS();
            case 21:
              return bk();
            case 102:
              return GS();
            case 131:
              return kt(Ak) ? ig() : ra();
            case 16:
              return jn();
            default:
              return ra();
          }
        }
        function t1(X) {
          switch (Q()) {
            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 true;
            case 100:
              return !X;
            case 41:
              return !X && kt(Tk);
            case 21:
              return !X && kt(xk);
            default:
              return vr();
          }
        }
        function xk() {
          return ke(), Q() === 22 || nt(
            /*isJSDocParameter*/
            false
          ) || t1();
        }
        function kk() {
          const X = M();
          let De = u2();
          for (; !t.hasPrecedingLineBreak(); )
            switch (Q()) {
              case 54:
                ke(), De = zt(m.createJSDocNonNullableType(
                  De,
                  /*postfix*/
                  true
                ), X);
                break;
              case 58:
                if (kt(Mr))
                  return De;
                ke(), De = zt(m.createJSDocNullableType(
                  De,
                  /*postfix*/
                  true
                ), X);
                break;
              case 23:
                if (Xt(
                  23
                  /* OpenBracketToken */
                ), t1()) {
                  const He = Oo();
                  Xt(
                    24
                    /* CloseBracketToken */
                  ), De = zt(m.createIndexedAccessTypeNode(De, He), X);
                } else
                  Xt(
                    24
                    /* CloseBracketToken */
                  ), De = zt(m.createArrayTypeNode(De), X);
                break;
              default:
                return De;
            }
          return De;
        }
        function _2(X) {
          const De = M();
          return Xt(X), zt(m.createTypeOperatorNode(X, Lh()), De);
        }
        function r1() {
          if (zi(
            96
            /* ExtendsKeyword */
          )) {
            const X = Et(Oo);
            if (pt() || Q() !== 58)
              return X;
          }
        }
        function F0() {
          const X = M(), De = co(), He = cr(r1), bt = m.createTypeParameterDeclaration(
            /*modifiers*/
            void 0,
            De,
            He
          );
          return zt(bt, X);
        }
        function Oh() {
          const X = M();
          return Xt(
            140
            /* InferKeyword */
          ), zt(m.createInferTypeNode(F0()), X);
        }
        function Lh() {
          const X = Q();
          switch (X) {
            case 143:
            case 158:
            case 148:
              return _2(X);
            case 140:
              return Oh();
          }
          return Xe(kk);
        }
        function Mh(X) {
          if (Pa()) {
            const De = HS();
            let He;
            return $m(De) ? He = X ? 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 : He = X ? 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, yt(De, He), De;
          }
        }
        function n1(X, De, He) {
          const bt = M(), Vt = X === 52, rr = zi(X);
          let Rn = rr && Mh(Vt) || De();
          if (Q() === X || rr) {
            const gn = [Rn];
            for (; zi(X); )
              gn.push(Mh(Vt) || De());
            Rn = zt(He(ya(gn, bt)), bt);
          }
          return Rn;
        }
        function Dv() {
          return n1(51, Lh, m.createIntersectionTypeNode);
        }
        function $S() {
          return n1(52, Dv, m.createUnionTypeNode);
        }
        function wv() {
          return ke(), Q() === 105;
        }
        function Pa() {
          return Q() === 30 || Q() === 21 && kt(_E) ? true : Q() === 105 || Q() === 128 && kt(wv);
        }
        function XS() {
          if (Sy(Q()) && gi(
            /*allowDecorators*/
            false
          ), vr() || Q() === 110)
            return ke(), true;
          if (Q() === 23 || Q() === 19) {
            const X = Se.length;
            return z0(), X === Se.length;
          }
          return false;
        }
        function _E() {
          return ke(), !!(Q() === 22 || Q() === 26 || XS() && (Q() === 59 || Q() === 28 || Q() === 58 || Q() === 64 || Q() === 22 && (ke(), Q() === 39)));
        }
        function Rh() {
          const X = M(), De = vr() && cr(jh), He = Oo();
          return De ? zt(m.createTypePredicateNode(
            /*assertsModifier*/
            void 0,
            De,
            He
          ), X) : He;
        }
        function jh() {
          const X = co();
          if (Q() === 142 && !t.hasPrecedingLineBreak())
            return ke(), X;
        }
        function ig() {
          const X = M(), De = To(
            131
            /* AssertsKeyword */
          ), He = Q() === 110 ? Bf() : co(), bt = zi(
            142
            /* IsKeyword */
          ) ? Oo() : void 0;
          return zt(m.createTypePredicateNode(De, He, bt), X);
        }
        function Oo() {
          if (Nr & 81920)
            return Es(81920, Oo);
          if (Pa())
            return HS();
          const X = M(), De = $S();
          if (!pt() && !t.hasPrecedingLineBreak() && zi(
            96
            /* ExtendsKeyword */
          )) {
            const He = Et(Oo);
            Xt(
              58
              /* QuestionToken */
            );
            const bt = Xe(Oo);
            Xt(
              59
              /* ColonToken */
            );
            const Vt = Xe(Oo);
            return zt(m.createConditionalTypeNode(De, He, bt, Vt), X);
          }
          return De;
        }
        function du() {
          return zi(
            59
            /* ColonToken */
          ) ? Oo() : void 0;
        }
        function w_() {
          switch (Q()) {
            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 true;
            case 102:
              return kt(rg);
            default:
              return vr();
          }
        }
        function mu() {
          if (w_())
            return true;
          switch (Q()) {
            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 true;
            default:
              return $p() ? true : vr();
          }
        }
        function Pv() {
          return Q() !== 19 && Q() !== 100 && Q() !== 86 && Q() !== 60 && mu();
        }
        function Gu() {
          const X = Ct();
          X && Un(
            /*val*/
            false
          );
          const De = M();
          let He = c_(
            /*allowReturnTypeInArrowFunction*/
            true
          ), bt;
          for (; bt = gs(
            28
            /* CommaToken */
          ); )
            He = ma(He, bt, c_(
              /*allowReturnTypeInArrowFunction*/
              true
            ), De);
          return X && Un(
            /*val*/
            true
          ), He;
        }
        function sg() {
          return zi(
            64
            /* EqualsToken */
          ) ? c_(
            /*allowReturnTypeInArrowFunction*/
            true
          ) : void 0;
        }
        function c_(X) {
          if (Gp())
            return Nv();
          const De = Uw(X) || ze(X);
          if (De)
            return De;
          const He = M(), bt = ye(), Vt = i1(
            0
            /* Lowest */
          );
          return Vt.kind === 80 && Q() === 39 ? Av(
            He,
            Vt,
            X,
            bt,
            /*asyncModifier*/
            void 0
          ) : h_(Vt) && vh(Zr()) ? ma(Vt, xc(), c_(X), He) : L0(Vt, He, X);
        }
        function Gp() {
          return Q() === 127 ? Le() ? true : kt(h2) : false;
        }
        function ld() {
          return ke(), !t.hasPrecedingLineBreak() && vr();
        }
        function Nv() {
          const X = M();
          return ke(), !t.hasPrecedingLineBreak() && (Q() === 42 || mu()) ? zt(
            m.createYieldExpression(
              gs(
                42
                /* AsteriskToken */
              ),
              c_(
                /*allowReturnTypeInArrowFunction*/
                true
              )
            ),
            X
          ) : zt(m.createYieldExpression(
            /*asteriskToken*/
            void 0,
            /*expression*/
            void 0
          ), X);
        }
        function Av(X, De, He, bt, Vt) {
          E.assert(Q() === 39, "parseSimpleArrowFunctionExpression should only have been called if we had a =>");
          const rr = m.createParameterDeclaration(
            /*modifiers*/
            void 0,
            /*dotDotDotToken*/
            void 0,
            De,
            /*questionToken*/
            void 0,
            /*type*/
            void 0,
            /*initializer*/
            void 0
          );
          zt(rr, De.pos);
          const Rn = ya([rr], rr.pos, rr.end), gn = To(
            39
            /* EqualsGreaterThanToken */
          ), Gr = ud(
            /*isAsync*/
            !!Vt,
            He
          ), ii = m.createArrowFunction(
            Vt,
            /*typeParameters*/
            void 0,
            Rn,
            /*type*/
            void 0,
            gn,
            Gr
          );
          return pn(zt(ii, X), bt);
        }
        function Uw(X) {
          const De = fE();
          if (De !== 0)
            return De === 1 ? qg(
              /*allowAmbiguity*/
              true,
              /*allowReturnTypeInArrowFunction*/
              true
            ) : cr(() => f2(X));
        }
        function fE() {
          return Q() === 21 || Q() === 30 || Q() === 134 ? kt(O0) : Q() === 39 ? 1 : 0;
        }
        function O0() {
          if (Q() === 134 && (ke(), t.hasPrecedingLineBreak() || Q() !== 21 && Q() !== 30))
            return 0;
          const X = Q(), De = ke();
          if (X === 21) {
            if (De === 22)
              switch (ke()) {
                case 39:
                case 59:
                case 19:
                  return 1;
                default:
                  return 0;
              }
            if (De === 23 || De === 19)
              return 2;
            if (De === 26)
              return 1;
            if (Sy(De) && De !== 134 && kt(ru))
              return ke() === 130 ? 0 : 1;
            if (!vr() && De !== 110)
              return 0;
            switch (ke()) {
              case 59:
                return 1;
              case 58:
                return ke(), Q() === 59 || Q() === 28 || Q() === 64 || Q() === 22 ? 1 : 0;
              case 28:
              case 64:
              case 22:
                return 2;
            }
            return 0;
          } else
            return E.assert(
              X === 30
              /* LessThanToken */
            ), !vr() && Q() !== 87 ? 0 : ne === 1 ? kt(() => {
              zi(
                87
                /* ConstKeyword */
              );
              const bt = ke();
              if (bt === 96)
                switch (ke()) {
                  case 64:
                  case 32:
                  case 44:
                    return false;
                  default:
                    return true;
                }
              else if (bt === 28 || bt === 64)
                return true;
              return false;
            }) ? 1 : 0 : 2;
        }
        function f2(X) {
          const De = t.getTokenStart();
          if (tr?.has(De))
            return;
          const He = qg(
            /*allowAmbiguity*/
            false,
            X
          );
          return He || (tr || (tr = /* @__PURE__ */ new Set())).add(De), He;
        }
        function ze(X) {
          if (Q() === 134 && kt(QS) === 1) {
            const De = M(), He = ye(), bt = Ki(), Vt = i1(
              0
              /* Lowest */
            );
            return Av(De, Vt, X, He, bt);
          }
        }
        function QS() {
          if (Q() === 134) {
            if (ke(), t.hasPrecedingLineBreak() || Q() === 39)
              return 0;
            const X = i1(
              0
              /* Lowest */
            );
            if (!t.hasPrecedingLineBreak() && X.kind === 80 && Q() === 39)
              return 1;
          }
          return 0;
        }
        function qg(X, De) {
          const He = M(), bt = ye(), Vt = Ki(), rr = ot(Vt, kD) ? 2 : 0, Rn = Be();
          let gn;
          if (Xt(
            21
            /* OpenParenToken */
          )) {
            if (X)
              gn = ts(rr, X);
            else {
              const V0 = ts(rr, X);
              if (!V0)
                return;
              gn = V0;
            }
            if (!Xt(
              22
              /* CloseParenToken */
            ) && !X)
              return;
          } else {
            if (!X)
              return;
            gn = jf();
          }
          const Gr = Q() === 59, ii = Vr(
            59,
            /*isType*/
            false
          );
          if (ii && !X && Al(ii))
            return;
          let ji = ii;
          for (; ji?.kind === 197; )
            ji = ji.type;
          const lo = ji && m6(ji);
          if (!X && Q() !== 39 && (lo || Q() !== 19))
            return;
          const Qa = Q(), Fa = To(
            39
            /* EqualsGreaterThanToken */
          ), yp = Qa === 39 || Qa === 19 ? ud(ot(Vt, kD), De) : co();
          if (!De && Gr && Q() !== 59)
            return;
          const Uf = m.createArrowFunction(Vt, Rn, gn, ii, Fa, yp);
          return pn(zt(Uf, He), bt);
        }
        function ud(X, De) {
          if (Q() === 19)
            return _1(
              X ? 2 : 0
              /* None */
            );
          if (Q() !== 27 && Q() !== 100 && Q() !== 86 && J0() && !Pv())
            return _1(16 | (X ? 2 : 0));
          const He = Le();
          Jn(false);
          const bt = st;
          st = false;
          const Vt = X ? Y(() => c_(De)) : Ae(() => c_(De));
          return st = bt, Jn(He), Vt;
        }
        function L0(X, De, He) {
          const bt = gs(
            58
            /* QuestionToken */
          );
          if (!bt)
            return X;
          let Vt;
          return zt(
            m.createConditionalExpression(
              X,
              bt,
              Es(n, () => c_(
                /*allowReturnTypeInArrowFunction*/
                false
              )),
              Vt = To(
                59
                /* ColonToken */
              ),
              Ip(Vt) ? c_(He) : Xa(
                80,
                /*reportAtCurrentPosition*/
                false,
                p._0_expected,
                Vs(
                  59
                  /* ColonToken */
                )
              )
            ),
            De
          );
        }
        function i1(X) {
          const De = M(), He = Fv();
          return jd(X, He, De);
        }
        function $u(X) {
          return X === 103 || X === 165;
        }
        function jd(X, De, He) {
          for (; ; ) {
            Zr();
            const bt = Y3(Q());
            if (!(Q() === 43 ? bt >= X : bt > X) || Q() === 103 && mt())
              break;
            if (Q() === 130 || Q() === 152) {
              if (t.hasPrecedingLineBreak())
                break;
              {
                const rr = Q();
                ke(), De = rr === 152 ? Iv(De, Oo()) : Jf(De, Oo());
              }
            } else
              De = ma(De, xc(), i1(bt), He);
          }
          return De;
        }
        function $p() {
          return mt() && Q() === 103 ? false : Y3(Q()) > 0;
        }
        function Iv(X, De) {
          return zt(m.createSatisfiesExpression(X, De), X.pos);
        }
        function ma(X, De, He, bt) {
          return zt(m.createBinaryExpression(X, De, He), bt);
        }
        function Jf(X, De) {
          return zt(m.createAsExpression(X, De), X.pos);
        }
        function M0() {
          const X = M();
          return zt(m.createPrefixUnaryExpression(Q(), Mt(R0)), X);
        }
        function YS() {
          const X = M();
          return zt(m.createDeleteExpression(Mt(R0)), X);
        }
        function Bh() {
          const X = M();
          return zt(m.createTypeOfExpression(Mt(R0)), X);
        }
        function p2() {
          const X = M();
          return zt(m.createVoidExpression(Mt(R0)), X);
        }
        function mp() {
          return Q() === 135 ? qe() ? true : kt(h2) : false;
        }
        function Hg() {
          const X = M();
          return zt(m.createAwaitExpression(Mt(R0)), X);
        }
        function Fv() {
          if (wm()) {
            const He = M(), bt = d2();
            return Q() === 43 ? jd(Y3(Q()), bt, He) : bt;
          }
          const X = Q(), De = R0();
          if (Q() === 43) {
            const He = aa(Te, De.pos), { end: bt } = De;
            De.kind === 217 ? Pe(He, bt, 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(m5(X)), Pe(He, bt, 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, Vs(X)));
          }
          return De;
        }
        function R0() {
          switch (Q()) {
            case 40:
            case 41:
            case 55:
            case 54:
              return M0();
            case 91:
              return YS();
            case 114:
              return Bh();
            case 116:
              return p2();
            case 30:
              return ne === 1 ? ql(
                /*inExpressionContext*/
                true,
                /*topInvalidNodePosition*/
                void 0,
                /*openingTag*/
                void 0,
                /*mustBeUnary*/
                true
              ) : Au();
            case 135:
              if (mp())
                return Hg();
            // falls through
            default:
              return d2();
          }
        }
        function wm() {
          switch (Q()) {
            case 40:
            case 41:
            case 55:
            case 54:
            case 91:
            case 114:
            case 116:
            case 135:
              return false;
            case 30:
              if (ne !== 1)
                return false;
            // We are in JSX context and the token is part of JSXElement.
            // falls through
            default:
              return true;
          }
        }
        function d2() {
          if (Q() === 46 || Q() === 47) {
            const De = M();
            return zt(m.createPrefixUnaryExpression(Q(), Mt(Ov)), De);
          } else if (ne === 1 && Q() === 30 && kt(C_))
            return ql(
              /*inExpressionContext*/
              true
            );
          const X = Ov();
          if (E.assert(h_(X)), (Q() === 46 || Q() === 47) && !t.hasPrecedingLineBreak()) {
            const De = Q();
            return ke(), zt(m.createPostfixUnaryExpression(X, De), X.pos);
          }
          return X;
        }
        function Ov() {
          const X = M();
          let De;
          return Q() === 102 ? kt(xv) ? (pe |= 4194304, De = xc()) : kt(Dm) ? (ke(), ke(), De = zt(m.createMetaProperty(102, ge()), X), De.name.escapedText === "defer" ? (Q() === 21 || Q() === 30) && (pe |= 4194304) : pe |= 8388608) : De = Pn() : De = Q() === 108 ? xn() : Pn(), P_(X, De);
        }
        function Pn() {
          const X = M(), De = Mv();
          return zf(
            X,
            De,
            /*allowOptionalChain*/
            true
          );
        }
        function xn() {
          const X = M();
          let De = xc();
          if (Q() === 30) {
            const He = M(), bt = cr(Lv);
            bt !== void 0 && (Pe(He, M(), p.super_may_not_use_type_arguments), _d2() || (De = m.createExpressionWithTypeArguments(De, bt)));
          }
          return Q() === 21 || Q() === 25 || Q() === 23 ? De : (To(25, p.super_must_be_followed_by_an_argument_list_or_member_access), zt(R(De, Gt(
            /*allowIdentifierNames*/
            true,
            /*allowPrivateIdentifiers*/
            true,
            /*allowUnicodeEscapeSequenceInIdentifierName*/
            true
          )), X));
        }
        function ql(X, De, He, bt = false) {
          const Vt = M(), rr = Vw(X);
          let Rn;
          if (rr.kind === 287) {
            let gn = m2(rr), Gr;
            const ii = gn[gn.length - 1];
            if (ii?.kind === 285 && !lv(ii.openingElement.tagName, ii.closingElement.tagName) && lv(rr.tagName, ii.closingElement.tagName)) {
              const ji = ii.children.end, lo = zt(
                m.createJsxElement(
                  ii.openingElement,
                  ii.children,
                  zt(m.createJsxClosingElement(zt(D(""), ji, ji)), ji, ji)
                ),
                ii.openingElement.pos,
                ji
              );
              gn = ya([...gn.slice(0, gn.length - 1), lo], gn.pos, ji), Gr = ii.closingElement;
            } else
              Gr = dE(rr, X), lv(rr.tagName, Gr.tagName) || (He && wd(He) && lv(Gr.tagName, He.tagName) ? yt(rr.tagName, p.JSX_element_0_has_no_corresponding_closing_tag, P4(Te, rr.tagName)) : yt(Gr.tagName, p.Expected_corresponding_JSX_closing_tag_for_0, P4(Te, rr.tagName)));
            Rn = zt(m.createJsxElement(rr, gn, Gr), Vt);
          } else rr.kind === 290 ? Rn = zt(m.createJsxFragment(rr, m2(rr), Ck(X)), Vt) : (E.assert(
            rr.kind === 286
            /* JsxSelfClosingElement */
          ), Rn = rr);
          if (!bt && X && Q() === 30) {
            const gn = typeof De > "u" ? Rn.pos : De, Gr = cr(() => ql(
              /*inExpressionContext*/
              true,
              gn
            ));
            if (Gr) {
              const ii = Xa(
                28,
                /*reportAtCurrentPosition*/
                false
              );
              return jJ(ii, Gr.pos, 0), Pe(aa(Te, gn), Gr.end, p.JSX_expressions_must_have_one_parent_element), zt(m.createBinaryExpression(Rn, ii, Gr), Vt);
            }
          }
          return Rn;
        }
        function ZS() {
          const X = M(), De = m.createJsxText(
            t.getTokenValue(),
            Ee === 13
            /* JsxTextAllWhiteSpaces */
          );
          return Ee = t.scanJsxToken(), zt(De, X);
        }
        function Jh(X, De) {
          switch (De) {
            case 1:
              if (ad(X))
                yt(X, p.JSX_fragment_has_no_corresponding_closing_tag);
              else {
                const He = X.tagName, bt = Math.min(aa(Te, He.pos), He.end);
                Pe(bt, He.end, p.JSX_element_0_has_no_corresponding_closing_tag, P4(Te, X.tagName));
              }
              return;
            case 31:
            case 7:
              return;
            case 12:
            case 13:
              return ZS();
            case 19:
              return _s(
                /*inExpressionContext*/
                false
              );
            case 30:
              return ql(
                /*inExpressionContext*/
                false,
                /*topInvalidNodePosition*/
                void 0,
                X
              );
            default:
              return E.assertNever(De);
          }
        }
        function m2(X) {
          const De = [], He = M(), bt = Bt;
          for (Bt |= 16384; ; ) {
            const Vt = Jh(X, Ee = t.reScanJsxToken());
            if (!Vt || (De.push(Vt), wd(X) && Vt?.kind === 285 && !lv(Vt.openingElement.tagName, Vt.closingElement.tagName) && lv(X.tagName, Vt.closingElement.tagName)))
              break;
          }
          return Bt = bt, ya(De, He);
        }
        function pE() {
          const X = M();
          return zt(m.createJsxAttributes(da(13, B_)), X);
        }
        function Vw(X) {
          const De = M();
          if (Xt(
            30
            /* LessThanToken */
          ), Q() === 32)
            return Jt(), zt(m.createJsxOpeningFragment(), De);
          const He = bn(), bt = (Nr & 524288) === 0 ? Uo() : void 0, Vt = pE();
          let rr;
          return Q() === 32 ? (Jt(), rr = m.createJsxOpeningElement(He, bt, Vt)) : (Xt(
            44
            /* SlashToken */
          ), Xt(
            32,
            /*diagnosticMessage*/
            void 0,
            /*shouldAdvance*/
            false
          ) && (X ? ke() : Jt()), rr = m.createJsxSelfClosingElement(He, bt, Vt)), zt(rr, De);
        }
        function bn() {
          const X = M(), De = Xu();
          if (Pd(De))
            return De;
          let He = De;
          for (; zi(
            25
            /* DotToken */
          ); )
            He = zt(R(He, Gt(
              /*allowIdentifierNames*/
              true,
              /*allowPrivateIdentifiers*/
              false,
              /*allowUnicodeEscapeSequenceInIdentifierName*/
              false
            )), X);
          return He;
        }
        function Xu() {
          const X = M();
          Nt();
          const De = Q() === 110, He = H();
          return zi(
            59
            /* ColonToken */
          ) ? (Nt(), zt(m.createJsxNamespacedName(He, H()), X)) : De ? zt(m.createToken(
            110
            /* ThisKeyword */
          ), X) : He;
        }
        function _s(X) {
          const De = M();
          if (!Xt(
            19
            /* OpenBraceToken */
          ))
            return;
          let He, bt;
          return Q() !== 20 && (X || (He = gs(
            26
            /* DotDotDotToken */
          )), bt = Gu()), X ? Xt(
            20
            /* CloseBraceToken */
          ) : Xt(
            20,
            /*diagnosticMessage*/
            void 0,
            /*shouldAdvance*/
            false
          ) && Jt(), zt(m.createJsxExpression(He, bt), De);
        }
        function B_() {
          if (Q() === 19)
            return fn();
          const X = M();
          return zt(m.createJsxAttribute(s1(), KS()), X);
        }
        function KS() {
          if (Q() === 64) {
            if (_r() === 11)
              return xt();
            if (Q() === 19)
              return _s(
                /*inExpressionContext*/
                true
              );
            if (Q() === 30)
              return ql(
                /*inExpressionContext*/
                true
              );
            Lt(p.or_JSX_element_expected);
          }
        }
        function s1() {
          const X = M();
          Nt();
          const De = H();
          return zi(
            59
            /* ColonToken */
          ) ? (Nt(), zt(m.createJsxNamespacedName(De, H()), X)) : De;
        }
        function fn() {
          const X = M();
          Xt(
            19
            /* OpenBraceToken */
          ), Xt(
            26
            /* DotDotDotToken */
          );
          const De = Gu();
          return Xt(
            20
            /* CloseBraceToken */
          ), zt(m.createJsxSpreadAttribute(De), X);
        }
        function dE(X, De) {
          const He = M();
          Xt(
            31
            /* LessThanSlashToken */
          );
          const bt = bn();
          return Xt(
            32,
            /*diagnosticMessage*/
            void 0,
            /*shouldAdvance*/
            false
          ) && (De || !lv(X.tagName, bt) ? ke() : Jt()), zt(m.createJsxClosingElement(bt), He);
        }
        function Ck(X) {
          const De = M();
          return Xt(
            31
            /* LessThanSlashToken */
          ), Xt(
            32,
            p.Expected_corresponding_closing_tag_for_JSX_fragment,
            /*shouldAdvance*/
            false
          ) && (X ? ke() : Jt()), zt(m.createJsxJsxClosingFragment(), De);
        }
        function Au() {
          E.assert(ne !== 1, "Type assertions should never be parsed in JSX; they should be parsed as comparisons or JSX elements/fragments.");
          const X = M();
          Xt(
            30
            /* LessThanToken */
          );
          const De = Oo();
          Xt(
            32
            /* GreaterThanToken */
          );
          const He = R0();
          return zt(m.createTypeAssertion(De, He), X);
        }
        function ag() {
          return ke(), m_(Q()) || Q() === 23 || _d2();
        }
        function Bd() {
          return Q() === 29 && kt(ag);
        }
        function a1(X) {
          if (X.flags & 64)
            return true;
          if (zx(X)) {
            let De = X.expression;
            for (; zx(De) && !(De.flags & 64); )
              De = De.expression;
            if (De.flags & 64) {
              for (; zx(X); )
                X.flags |= 64, X = X.expression;
              return true;
            }
          }
          return false;
        }
        function eT(X, De, He) {
          const bt = Gt(
            /*allowIdentifierNames*/
            true,
            /*allowPrivateIdentifiers*/
            true,
            /*allowUnicodeEscapeSequenceInIdentifierName*/
            true
          ), Vt = He || a1(De), rr = Vt ? B(De, He, bt) : R(De, bt);
          if (Vt && Ai(rr.name) && yt(rr.name, p.An_optional_chain_cannot_contain_private_identifiers), Th(De) && De.typeArguments) {
            const Rn = De.typeArguments.pos - 1, gn = aa(Te, De.typeArguments.end) + 1;
            Pe(Rn, gn, p.An_instantiation_expression_cannot_be_followed_by_a_property_access);
          }
          return zt(rr, X);
        }
        function o1(X, De, He) {
          let bt;
          if (Q() === 24)
            bt = Xa(
              80,
              /*reportAtCurrentPosition*/
              true,
              p.An_element_access_expression_should_take_an_argument
            );
          else {
            const rr = yr(Gu);
            wf(rr) && (rr.text = mc(rr.text)), bt = rr;
          }
          Xt(
            24
            /* CloseBracketToken */
          );
          const Vt = He || a1(De) ? $(De, He, bt) : U(De, bt);
          return zt(Vt, X);
        }
        function zf(X, De, He) {
          for (; ; ) {
            let bt, Vt = false;
            if (He && Bd() ? (bt = To(
              29
              /* QuestionDotToken */
            ), Vt = m_(Q())) : Vt = zi(
              25
              /* DotToken */
            ), Vt) {
              De = eT(X, De, bt);
              continue;
            }
            if ((bt || !Ct()) && zi(
              23
              /* OpenBracketToken */
            )) {
              De = o1(X, De, bt);
              continue;
            }
            if (_d2()) {
              De = !bt && De.kind === 234 ? gp(X, De.expression, bt, De.typeArguments) : gp(
                X,
                De,
                bt,
                /*typeArguments*/
                void 0
              );
              continue;
            }
            if (!bt) {
              if (Q() === 54 && !t.hasPrecedingLineBreak()) {
                ke(), De = zt(m.createNonNullExpression(De), X);
                continue;
              }
              const rr = cr(Lv);
              if (rr) {
                De = zt(m.createExpressionWithTypeArguments(De, rr), X);
                continue;
              }
            }
            return De;
          }
        }
        function _d2() {
          return Q() === 15 || Q() === 16;
        }
        function gp(X, De, He, bt) {
          const Vt = m.createTaggedTemplateExpression(
            De,
            bt,
            Q() === 15 ? (Pr(
              /*isTaggedTemplate*/
              true
            ), xt()) : zr(
              /*isTaggedTemplate*/
              true
            )
          );
          return (He || De.flags & 64) && (Vt.flags |= 64), Vt.questionDotToken = He, zt(Vt, X);
        }
        function P_(X, De) {
          for (; ; ) {
            De = zf(
              X,
              De,
              /*allowOptionalChain*/
              true
            );
            let He;
            const bt = gs(
              29
              /* QuestionDotToken */
            );
            if (bt && (He = cr(Lv), _d2())) {
              De = gp(X, De, bt, He);
              continue;
            }
            if (He || Q() === 21) {
              !bt && De.kind === 234 && (He = De.typeArguments, De = De.expression);
              const Vt = j0(), rr = bt || a1(De) ? _e(De, bt, He, Vt) : W(De, He, Vt);
              De = zt(rr, X);
              continue;
            }
            if (bt) {
              const Vt = Xa(
                80,
                /*reportAtCurrentPosition*/
                false,
                p.Identifier_expected
              );
              De = zt(B(De, bt, Vt), X);
            }
            break;
          }
          return De;
        }
        function j0() {
          Xt(
            21
            /* OpenParenToken */
          );
          const X = yl(11, Pm);
          return Xt(
            22
            /* CloseParenToken */
          ), X;
        }
        function Lv() {
          if ((Nr & 524288) !== 0 || rt() !== 30)
            return;
          ke();
          const X = yl(20, Oo);
          if (Zr() === 32)
            return ke(), X && Ek() ? X : void 0;
        }
        function Ek() {
          switch (Q()) {
            // These tokens can follow a type argument list in a call expression.
            case 21:
            // foo<x>(
            case 15:
            // foo<T> `...`
            case 16:
              return true;
            // 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 false;
          }
          return t.hasPrecedingLineBreak() || $p() || !mu();
        }
        function Mv() {
          switch (Q()) {
            case 15:
              t.getTokenFlags() & 26656 && Pr(
                /*isTaggedTemplate*/
                false
              );
            // falls through
            case 9:
            case 10:
            case 11:
              return xt();
            case 110:
            case 108:
            case 106:
            case 112:
            case 97:
              return xc();
            case 21:
              return c1();
            case 23:
              return l1();
            case 19:
              return B0();
            case 134:
              if (!kt(hp))
                break;
              return u1();
            case 60:
              return va();
            case 86:
              return Bc();
            case 100:
              return u1();
            case 105:
              return Wh();
            case 44:
            case 69:
              if (Rr() === 14)
                return xt();
              break;
            case 16:
              return zr(
                /*isTaggedTemplate*/
                false
              );
            case 81:
              return ln();
          }
          return co(p.Expression_expected);
        }
        function c1() {
          const X = M(), De = ye();
          Xt(
            21
            /* OpenParenToken */
          );
          const He = yr(Gu);
          return Xt(
            22
            /* CloseParenToken */
          ), pn(zt(V(He), X), De);
        }
        function Dk() {
          const X = M();
          Xt(
            26
            /* DotDotDotToken */
          );
          const De = c_(
            /*allowReturnTypeInArrowFunction*/
            true
          );
          return zt(m.createSpreadElement(De), X);
        }
        function zh() {
          return Q() === 26 ? Dk() : Q() === 28 ? zt(m.createOmittedExpression(), M()) : c_(
            /*allowReturnTypeInArrowFunction*/
            true
          );
        }
        function Pm() {
          return Es(n, zh);
        }
        function l1() {
          const X = M(), De = t.getTokenStart(), He = Xt(
            23
            /* OpenBracketToken */
          ), bt = t.hasPrecedingLineBreak(), Vt = yl(15, zh);
          return ro(23, 24, He, De), zt(O(Vt, bt), X);
        }
        function Rv() {
          const X = M(), De = ye();
          if (gs(
            26
            /* DotDotDotToken */
          )) {
            const ji = c_(
              /*allowReturnTypeInArrowFunction*/
              true
            );
            return pn(zt(m.createSpreadAssignment(ji), X), De);
          }
          const He = gi(
            /*allowDecorators*/
            true
          );
          if (kr(
            139
            /* GetKeyword */
          ))
            return Uv(
              X,
              De,
              He,
              178,
              0
              /* None */
            );
          if (kr(
            153
            /* SetKeyword */
          ))
            return Uv(
              X,
              De,
              He,
              179,
              0
              /* None */
            );
          const bt = gs(
            42
            /* AsteriskToken */
          ), Vt = vr(), rr = Hr(), Rn = gs(
            58
            /* QuestionToken */
          ), gn = gs(
            54
            /* ExclamationToken */
          );
          if (bt || Q() === 21 || Q() === 30)
            return Wv(X, De, He, bt, rr, Rn, gn);
          let Gr;
          if (Vt && Q() !== 59) {
            const ji = gs(
              64
              /* EqualsToken */
            ), lo = ji ? yr(() => c_(
              /*allowReturnTypeInArrowFunction*/
              true
            )) : void 0;
            Gr = m.createShorthandPropertyAssignment(rr, lo), Gr.equalsToken = ji;
          } else {
            Xt(
              59
              /* ColonToken */
            );
            const ji = yr(() => c_(
              /*allowReturnTypeInArrowFunction*/
              true
            ));
            Gr = m.createPropertyAssignment(rr, ji);
          }
          return Gr.modifiers = He, Gr.questionToken = Rn, Gr.exclamationToken = gn, pn(zt(Gr, X), De);
        }
        function B0() {
          const X = M(), De = t.getTokenStart(), He = Xt(
            19
            /* OpenBraceToken */
          ), bt = t.hasPrecedingLineBreak(), Vt = yl(
            12,
            Rv,
            /*considerSemicolonAsDelimiter*/
            true
          );
          return ro(19, 20, He, De), zt(F(Vt, bt), X);
        }
        function u1() {
          const X = Ct();
          Un(
            /*val*/
            false
          );
          const De = M(), He = ye(), bt = gi(
            /*allowDecorators*/
            false
          );
          Xt(
            100
            /* FunctionKeyword */
          );
          const Vt = gs(
            42
            /* AsteriskToken */
          ), rr = Vt ? 1 : 0, Rn = ot(bt, kD) ? 2 : 0, gn = rr && Rn ? $e(fd) : rr ? re(fd) : Rn ? Y(fd) : fd(), Gr = Be(), ii = Zn(rr | Rn), ji = Vr(
            59,
            /*isType*/
            false
          ), lo = _1(rr | Rn);
          Un(X);
          const Qa = m.createFunctionExpression(bt, Vt, gn, Gr, ii, ji, lo);
          return pn(zt(Qa, De), He);
        }
        function fd() {
          return fr() ? Wl() : void 0;
        }
        function Wh() {
          const X = M();
          if (Xt(
            105
            /* NewKeyword */
          ), zi(
            25
            /* DotToken */
          )) {
            const rr = ge();
            return zt(m.createMetaProperty(105, rr), X);
          }
          const De = M();
          let He = zf(
            De,
            Mv(),
            /*allowOptionalChain*/
            false
          ), bt;
          He.kind === 234 && (bt = He.typeArguments, He = He.expression), Q() === 29 && Lt(p.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0, P4(Te, He));
          const Vt = Q() === 21 ? j0() : void 0;
          return zt(K(He, bt, Vt), X);
        }
        function Gg(X, De) {
          const He = M(), bt = ye(), Vt = t.getTokenStart(), rr = Xt(19, De);
          if (rr || X) {
            const Rn = t.hasPrecedingLineBreak(), gn = da(1, J_);
            ro(19, 20, rr, Vt);
            const Gr = pn(zt(ae(gn, Rn), He), bt);
            return Q() === 64 && (Lt(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()), Gr;
          } else {
            const Rn = jf();
            return pn(zt(ae(
              Rn,
              /*multiLine*/
              void 0
            ), He), bt);
          }
        }
        function _1(X, De) {
          const He = Le();
          Jn(!!(X & 1));
          const bt = qe();
          ki(!!(X & 2));
          const Vt = st;
          st = false;
          const rr = Ct();
          rr && Un(
            /*val*/
            false
          );
          const Rn = Gg(!!(X & 16), De);
          return rr && Un(
            /*val*/
            true
          ), st = Vt, Jn(He), ki(bt), Rn;
        }
        function Il() {
          const X = M(), De = ye();
          return Xt(
            27
            /* SemicolonToken */
          ), pn(zt(m.createEmptyStatement(), X), De);
        }
        function g2() {
          const X = M(), De = ye();
          Xt(
            101
            /* IfKeyword */
          );
          const He = t.getTokenStart(), bt = Xt(
            21
            /* OpenParenToken */
          ), Vt = yr(Gu);
          ro(21, 22, bt, He);
          const rr = J_(), Rn = zi(
            93
            /* ElseKeyword */
          ) ? J_() : void 0;
          return pn(zt(fe(Vt, rr, Rn), X), De);
        }
        function $g() {
          const X = M(), De = ye();
          Xt(
            92
            /* DoKeyword */
          );
          const He = J_();
          Xt(
            117
            /* WhileKeyword */
          );
          const bt = t.getTokenStart(), Vt = Xt(
            21
            /* OpenParenToken */
          ), rr = yr(Gu);
          return ro(21, 22, Vt, bt), zi(
            27
            /* SemicolonToken */
          ), pn(zt(m.createDoStatement(He, rr), X), De);
        }
        function jv() {
          const X = M(), De = ye();
          Xt(
            117
            /* WhileKeyword */
          );
          const He = t.getTokenStart(), bt = Xt(
            21
            /* OpenParenToken */
          ), Vt = yr(Gu);
          ro(21, 22, bt, He);
          const rr = J_();
          return pn(zt(he(Vt, rr), X), De);
        }
        function tT() {
          const X = M(), De = ye();
          Xt(
            99
            /* ForKeyword */
          );
          const He = gs(
            135
            /* AwaitKeyword */
          );
          Xt(
            21
            /* OpenParenToken */
          );
          let bt;
          Q() !== 27 && (Q() === 115 || Q() === 121 || Q() === 87 || Q() === 160 && kt(_c2) || // this one is meant to allow of
          Q() === 135 && kt(Fk) ? bt = cT(
            /*inForStatementInitializer*/
            true
          ) : bt = vs(Gu));
          let Vt;
          if (He ? Xt(
            165
            /* OfKeyword */
          ) : zi(
            165
            /* OfKeyword */
          )) {
            const rr = yr(() => c_(
              /*allowReturnTypeInArrowFunction*/
              true
            ));
            Xt(
              22
              /* CloseParenToken */
            ), Vt = be(He, bt, rr, J_());
          } else if (zi(
            103
            /* InKeyword */
          )) {
            const rr = yr(Gu);
            Xt(
              22
              /* CloseParenToken */
            ), Vt = m.createForInStatement(bt, rr, J_());
          } else {
            Xt(
              27
              /* SemicolonToken */
            );
            const rr = Q() !== 27 && Q() !== 22 ? yr(Gu) : void 0;
            Xt(
              27
              /* SemicolonToken */
            );
            const Rn = Q() !== 22 ? yr(Gu) : void 0;
            Xt(
              22
              /* CloseParenToken */
            ), Vt = q(bt, rr, Rn, J_());
          }
          return pn(zt(Vt, X), De);
        }
        function Xg(X) {
          const De = M(), He = ye();
          Xt(
            X === 253 ? 83 : 88
            /* ContinueKeyword */
          );
          const bt = os() ? void 0 : co();
          Aa();
          const Vt = X === 253 ? m.createBreakStatement(bt) : m.createContinueStatement(bt);
          return pn(zt(Vt, De), He);
        }
        function mE() {
          const X = M(), De = ye();
          Xt(
            107
            /* ReturnKeyword */
          );
          const He = os() ? void 0 : yr(Gu);
          return Aa(), pn(zt(m.createReturnStatement(He), X), De);
        }
        function wk() {
          const X = M(), De = ye();
          Xt(
            118
            /* WithKeyword */
          );
          const He = t.getTokenStart(), bt = Xt(
            21
            /* OpenParenToken */
          ), Vt = yr(Gu);
          ro(21, 22, bt, He);
          const rr = Zs(67108864, J_);
          return pn(zt(m.createWithStatement(Vt, rr), X), De);
        }
        function Pk() {
          const X = M(), De = ye();
          Xt(
            84
            /* CaseKeyword */
          );
          const He = yr(Gu);
          Xt(
            59
            /* ColonToken */
          );
          const bt = da(3, J_);
          return pn(zt(m.createCaseClause(He, bt), X), De);
        }
        function qw() {
          const X = M();
          Xt(
            90
            /* DefaultKeyword */
          ), Xt(
            59
            /* ColonToken */
          );
          const De = da(3, J_);
          return zt(m.createDefaultClause(De), X);
        }
        function Nk() {
          return Q() === 84 ? Pk() : qw();
        }
        function Bv() {
          const X = M();
          Xt(
            19
            /* OpenBraceToken */
          );
          const De = da(2, Nk);
          return Xt(
            20
            /* CloseBraceToken */
          ), zt(m.createCaseBlock(De), X);
        }
        function Uh() {
          const X = M(), De = ye();
          Xt(
            109
            /* SwitchKeyword */
          ), Xt(
            21
            /* OpenParenToken */
          );
          const He = yr(Gu);
          Xt(
            22
            /* CloseParenToken */
          );
          const bt = Bv();
          return pn(zt(m.createSwitchStatement(He, bt), X), De);
        }
        function gE() {
          const X = M(), De = ye();
          Xt(
            111
            /* ThrowKeyword */
          );
          let He = t.hasPrecedingLineBreak() ? void 0 : yr(Gu);
          return He === void 0 && (St++, He = zt(D(""), M())), zs() || Is(He), pn(zt(m.createThrowStatement(He), X), De);
        }
        function Jv() {
          const X = M(), De = ye();
          Xt(
            113
            /* TryKeyword */
          );
          const He = Gg(
            /*ignoreMissingOpenBrace*/
            false
          ), bt = Q() === 85 ? rT() : void 0;
          let Vt;
          return (!bt || Q() === 98) && (Xt(98, p.catch_or_finally_expected), Vt = Gg(
            /*ignoreMissingOpenBrace*/
            false
          )), pn(zt(m.createTryStatement(He, bt, Vt), X), De);
        }
        function rT() {
          const X = M();
          Xt(
            85
            /* CatchKeyword */
          );
          let De;
          zi(
            21
            /* OpenParenToken */
          ) ? (De = Nm(), Xt(
            22
            /* CloseParenToken */
          )) : De = void 0;
          const He = Gg(
            /*ignoreMissingOpenBrace*/
            false
          );
          return zt(m.createCatchClause(De, He), X);
        }
        function jc() {
          const X = M(), De = ye();
          return Xt(
            89
            /* DebuggerKeyword */
          ), Aa(), pn(zt(m.createDebuggerStatement(), X), De);
        }
        function Fl() {
          const X = M();
          let De = ye(), He;
          const bt = Q() === 21, Vt = yr(Gu);
          return Me(Vt) && zi(
            59
            /* ColonToken */
          ) ? He = m.createLabeledStatement(Vt, J_()) : (zs() || Is(Vt), He = ce(Vt), bt && (De = false)), pn(zt(He, X), De);
        }
        function Ak() {
          return ke(), m_(Q()) && !t.hasPrecedingLineBreak();
        }
        function N_() {
          return ke(), Q() === 86 && !t.hasPrecedingLineBreak();
        }
        function hp() {
          return ke(), Q() === 100 && !t.hasPrecedingLineBreak();
        }
        function h2() {
          return ke(), (m_(Q()) || Q() === 9 || Q() === 10 || Q() === 11) && !t.hasPrecedingLineBreak();
        }
        function Jd() {
          for (; ; )
            switch (Q()) {
              case 115:
              case 121:
              case 87:
              case 100:
              case 86:
              case 94:
                return true;
              case 160:
                return y2();
              case 135:
                return Iu();
              // '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:
              case 166:
                return ld();
              case 144:
              case 145:
                return aT();
              case 128:
              case 129:
              case 134:
              case 138:
              case 123:
              case 124:
              case 125:
              case 148:
                const X = Q();
                if (ke(), t.hasPrecedingLineBreak())
                  return false;
                if (X === 138 && Q() === 156)
                  return true;
                continue;
              case 162:
                return ke(), Q() === 19 || Q() === 80 || Q() === 95;
              case 102:
                return ke(), Q() === 166 || Q() === 11 || Q() === 42 || Q() === 19 || m_(Q());
              case 95:
                let De = ke();
                if (De === 156 && (De = kt(ke)), De === 64 || De === 42 || De === 19 || De === 90 || De === 130 || De === 60)
                  return true;
                continue;
              case 126:
                ke();
                continue;
              default:
                return false;
            }
        }
        function f1() {
          return kt(Jd);
        }
        function J0() {
          switch (Q()) {
            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 true;
            case 102:
              return f1() || kt(rg);
            case 87:
            case 95:
              return f1();
            case 134:
            case 138:
            case 120:
            case 144:
            case 145:
            case 156:
            case 162:
            case 166:
              return true;
            case 129:
            case 125:
            case 123:
            case 124:
            case 126:
            case 148:
              return f1() || !kt(Ak);
            default:
              return mu();
          }
        }
        function Ik() {
          return ke(), fr() || Q() === 19 || Q() === 23;
        }
        function Hw() {
          return kt(Ik);
        }
        function _c2() {
          return nT(
            /*disallowOf*/
            true
          );
        }
        function hE() {
          return ke(), Q() === 64 || Q() === 27 || Q() === 59;
        }
        function nT(X) {
          return ke(), X && Q() === 165 ? kt(hE) : (fr() || Q() === 19) && !t.hasPrecedingLineBreak();
        }
        function y2() {
          return kt(nT);
        }
        function Fk(X) {
          return ke() === 160 ? nT(X) : false;
        }
        function Iu() {
          return kt(Fk);
        }
        function J_() {
          switch (Q()) {
            case 27:
              return Il();
            case 19:
              return Gg(
                /*ignoreMissingOpenBrace*/
                false
              );
            case 115:
              return Ia(
                M(),
                ye(),
                /*modifiers*/
                void 0
              );
            case 121:
              if (Hw())
                return Ia(
                  M(),
                  ye(),
                  /*modifiers*/
                  void 0
                );
              break;
            case 135:
              if (Iu())
                return Ia(
                  M(),
                  ye(),
                  /*modifiers*/
                  void 0
                );
              break;
            case 160:
              if (y2())
                return Ia(
                  M(),
                  ye(),
                  /*modifiers*/
                  void 0
                );
              break;
            case 100:
              return yn(
                M(),
                ye(),
                /*modifiers*/
                void 0
              );
            case 86:
              return gu(
                M(),
                ye(),
                /*modifiers*/
                void 0
              );
            case 101:
              return g2();
            case 92:
              return $g();
            case 117:
              return jv();
            case 99:
              return tT();
            case 88:
              return Xg(
                252
                /* ContinueStatement */
              );
            case 83:
              return Xg(
                253
                /* BreakStatement */
              );
            case 107:
              return mE();
            case 118:
              return wk();
            case 109:
              return Uh();
            case 111:
              return gE();
            case 113:
            // Include 'catch' and 'finally' for error recovery.
            // falls through
            case 85:
            case 98:
              return Jv();
            case 89:
              return jc();
            case 60:
              return zv();
            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 (f1())
                return zv();
              break;
          }
          return Fl();
        }
        function iT(X) {
          return X.kind === 138;
        }
        function zv() {
          const X = M(), De = ye(), He = gi(
            /*allowDecorators*/
            true
          );
          if (ot(He, iT)) {
            const Vt = z_(X);
            if (Vt)
              return Vt;
            for (const rr of He)
              rr.flags |= 33554432;
            return Zs(33554432, () => sT(X, De, He));
          } else
            return sT(X, De, He);
        }
        function z_(X) {
          return Zs(33554432, () => {
            const De = Eo(Bt, X);
            if (De)
              return rc(De);
          });
        }
        function sT(X, De, He) {
          switch (Q()) {
            case 115:
            case 121:
            case 87:
            case 160:
            case 135:
              return Ia(X, De, He);
            case 100:
              return yn(X, De, He);
            case 86:
              return gu(X, De, He);
            case 120:
              return dd(X, De, He);
            case 156:
              return U0(X, De, He);
            case 94:
              return VL(X, De, He);
            case 162:
            case 144:
            case 145:
              return JA(X, De, He);
            case 102:
              return dT(X, De, He);
            case 95:
              switch (ke(), Q()) {
                case 90:
                case 64:
                  return Hv(X, De, He);
                case 130:
                  return S2(X, De, He);
                default:
                  return Zw(X, De, He);
              }
            default:
              if (He) {
                const bt = Xa(
                  283,
                  /*reportAtCurrentPosition*/
                  true,
                  p.Declaration_expected
                );
                return dD(bt, X), bt.modifiers = He, bt;
              }
              return;
          }
        }
        function Qg() {
          return ke() === 11;
        }
        function Ok() {
          return ke(), Q() === 161 || Q() === 64;
        }
        function aT() {
          return ke(), !t.hasPrecedingLineBreak() && (vr() || Q() === 11);
        }
        function pd(X, De) {
          if (Q() !== 19) {
            if (X & 4) {
              rs();
              return;
            }
            if (os()) {
              Aa();
              return;
            }
          }
          return _1(X, De);
        }
        function Lk() {
          const X = M();
          if (Q() === 28)
            return zt(m.createOmittedExpression(), X);
          const De = gs(
            26
            /* DotDotDotToken */
          ), He = z0(), bt = sg();
          return zt(m.createBindingElement(
            De,
            /*propertyName*/
            void 0,
            He,
            bt
          ), X);
        }
        function yE() {
          const X = M(), De = gs(
            26
            /* DotDotDotToken */
          ), He = fr();
          let bt = Hr(), Vt;
          He && Q() !== 59 ? (Vt = bt, bt = void 0) : (Xt(
            59
            /* ColonToken */
          ), Vt = z0());
          const rr = sg();
          return zt(m.createBindingElement(De, bt, Vt, rr), X);
        }
        function Mk() {
          const X = M();
          Xt(
            19
            /* OpenBraceToken */
          );
          const De = yr(() => yl(9, yE));
          return Xt(
            20
            /* CloseBraceToken */
          ), zt(m.createObjectBindingPattern(De), X);
        }
        function oT() {
          const X = M();
          Xt(
            23
            /* OpenBracketToken */
          );
          const De = yr(() => yl(10, Lk));
          return Xt(
            24
            /* CloseBracketToken */
          ), zt(m.createArrayBindingPattern(De), X);
        }
        function Rk() {
          return Q() === 19 || Q() === 23 || Q() === 81 || fr();
        }
        function z0(X) {
          return Q() === 23 ? oT() : Q() === 19 ? Mk() : Wl(X);
        }
        function ff() {
          return Nm(
            /*allowExclamation*/
            true
          );
        }
        function Nm(X) {
          const De = M(), He = ye(), bt = z0(p.Private_identifiers_are_not_allowed_in_variable_declarations);
          let Vt;
          X && bt.kind === 80 && Q() === 54 && !t.hasPrecedingLineBreak() && (Vt = xc());
          const rr = du(), Rn = $u(Q()) ? void 0 : sg(), gn = je(bt, Vt, rr, Rn);
          return pn(zt(gn, De), He);
        }
        function cT(X) {
          const De = M();
          let He = 0;
          switch (Q()) {
            case 115:
              break;
            case 121:
              He |= 1;
              break;
            case 87:
              He |= 2;
              break;
            case 160:
              He |= 4;
              break;
            case 135:
              E.assert(Iu()), He |= 6, ke();
              break;
            default:
              E.fail();
          }
          ke();
          let bt;
          if (Q() === 165 && kt(lT))
            bt = jf();
          else {
            const Vt = mt();
            qr(X), bt = yl(
              8,
              X ? Nm : ff
            ), qr(Vt);
          }
          return zt(me(bt, He), De);
        }
        function lT() {
          return ru() && ke() === 22;
        }
        function Ia(X, De, He) {
          const bt = cT(
            /*inForStatementInitializer*/
            false
          );
          Aa();
          const Vt = se(He, bt);
          return pn(zt(Vt, X), De);
        }
        function yn(X, De, He) {
          const bt = qe(), Vt = lm(He);
          Xt(
            100
            /* FunctionKeyword */
          );
          const rr = gs(
            42
            /* AsteriskToken */
          ), Rn = Vt & 2048 ? fd() : Wl(), gn = rr ? 1 : 0, Gr = Vt & 1024 ? 2 : 0, ii = Be();
          Vt & 32 && ki(
            /*value*/
            true
          );
          const ji = Zn(gn | Gr), lo = Vr(
            59,
            /*isType*/
            false
          ), Qa = pd(gn | Gr, p.or_expected);
          ki(bt);
          const Fa = m.createFunctionDeclaration(He, rr, Rn, ii, ji, lo, Qa);
          return pn(zt(Fa, X), De);
        }
        function Wf() {
          if (Q() === 137)
            return Xt(
              137
              /* ConstructorKeyword */
            );
          if (Q() === 11 && kt(ke) === 21)
            return cr(() => {
              const X = xt();
              return X.text === "constructor" ? X : void 0;
            });
        }
        function vl(X, De, He) {
          return cr(() => {
            if (Wf()) {
              const bt = Be(), Vt = Zn(
                0
                /* None */
              ), rr = Vr(
                59,
                /*isType*/
                false
              ), Rn = pd(0, p.or_expected), gn = m.createConstructorDeclaration(He, Vt, Rn);
              return gn.typeParameters = bt, gn.type = rr, pn(zt(gn, X), De);
            }
          });
        }
        function Wv(X, De, He, bt, Vt, rr, Rn, gn) {
          const Gr = bt ? 1 : 0, ii = ot(He, kD) ? 2 : 0, ji = Be(), lo = Zn(Gr | ii), Qa = Vr(
            59,
            /*isType*/
            false
          ), Fa = pd(Gr | ii, gn), yp = m.createMethodDeclaration(
            He,
            bt,
            Vt,
            rr,
            ji,
            lo,
            Qa,
            Fa
          );
          return yp.exclamationToken = Rn, pn(zt(yp, X), De);
        }
        function uT(X, De, He, bt, Vt) {
          const rr = !Vt && !t.hasPrecedingLineBreak() ? gs(
            54
            /* ExclamationToken */
          ) : void 0, Rn = du(), gn = Es(90112, sg);
          uc(bt, Rn, gn);
          const Gr = m.createPropertyDeclaration(
            He,
            bt,
            Vt || rr,
            Rn,
            gn
          );
          return pn(zt(Gr, X), De);
        }
        function v2(X, De, He) {
          const bt = gs(
            42
            /* AsteriskToken */
          ), Vt = Hr(), rr = gs(
            58
            /* QuestionToken */
          );
          return bt || Q() === 21 || Q() === 30 ? Wv(
            X,
            De,
            He,
            bt,
            Vt,
            rr,
            /*exclamationToken*/
            void 0,
            p.or_expected
          ) : uT(X, De, He, Vt, rr);
        }
        function Uv(X, De, He, bt, Vt) {
          const rr = Hr(), Rn = Be(), gn = Zn(
            0
            /* None */
          ), Gr = Vr(
            59,
            /*isType*/
            false
          ), ii = pd(Vt), ji = bt === 178 ? m.createGetAccessorDeclaration(He, rr, gn, Gr, ii) : m.createSetAccessorDeclaration(He, rr, gn, ii);
          return ji.typeParameters = Rn, R_(ji) && (ji.type = Gr), pn(zt(ji, X), De);
        }
        function _T() {
          let X;
          if (Q() === 60)
            return true;
          for (; Sy(Q()); ) {
            if (X = Q(), zj(X))
              return true;
            ke();
          }
          if (Q() === 42 || (tt() && (X = Q(), ke()), Q() === 23))
            return true;
          if (X !== void 0) {
            if (!b_(X) || X === 153 || X === 139)
              return true;
            switch (Q()) {
              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 true;
              default:
                return os();
            }
          }
          return false;
        }
        function C(X, De, He) {
          To(
            126
            /* StaticKeyword */
          );
          const bt = le(), Vt = pn(zt(m.createClassStaticBlockDeclaration(bt), X), De);
          return Vt.modifiers = He, Vt;
        }
        function le() {
          const X = Le(), De = qe();
          Jn(false), ki(true);
          const He = Gg(
            /*ignoreMissingOpenBrace*/
            false
          );
          return Jn(X), ki(De), He;
        }
        function _t() {
          if (qe() && Q() === 135) {
            const X = M(), De = co(p.Expression_expected);
            ke();
            const He = zf(
              X,
              De,
              /*allowOptionalChain*/
              true
            );
            return P_(X, He);
          }
          return Ov();
        }
        function ur() {
          const X = M();
          if (!zi(
            60
            /* AtToken */
          ))
            return;
          const De = it(_t);
          return zt(m.createDecorator(De), X);
        }
        function ti(X, De, He) {
          const bt = M(), Vt = Q();
          if (Q() === 87 && De) {
            if (!cr(Li))
              return;
          } else {
            if (He && Q() === 126 && kt(pT))
              return;
            if (X && Q() === 126)
              return;
            if (!xo())
              return;
          }
          return zt(A(Vt), bt);
        }
        function gi(X, De, He) {
          const bt = M();
          let Vt, rr, Rn, gn = false, Gr = false, ii = false;
          if (X && Q() === 60)
            for (; rr = ur(); )
              Vt = Er(Vt, rr);
          for (; Rn = ti(gn, De, He); )
            Rn.kind === 126 && (gn = true), Vt = Er(Vt, Rn), Gr = true;
          if (Gr && X && Q() === 60)
            for (; rr = ur(); )
              Vt = Er(Vt, rr), ii = true;
          if (ii)
            for (; Rn = ti(gn, De, He); )
              Rn.kind === 126 && (gn = true), Vt = Er(Vt, Rn);
          return Vt && ya(Vt, bt);
        }
        function Ki() {
          let X;
          if (Q() === 134) {
            const De = M();
            ke();
            const He = zt(A(
              134
              /* AsyncKeyword */
            ), De);
            X = ya([He], De);
          }
          return X;
        }
        function mi() {
          const X = M(), De = ye();
          if (Q() === 27)
            return ke(), pn(zt(m.createSemicolonClassElement(), X), De);
          const He = gi(
            /*allowDecorators*/
            true,
            /*permitConstAsModifier*/
            true,
            /*stopOnStartOfClassStaticBlock*/
            true
          );
          if (Q() === 126 && kt(pT))
            return C(X, De, He);
          if (kr(
            139
            /* GetKeyword */
          ))
            return Uv(
              X,
              De,
              He,
              178,
              0
              /* None */
            );
          if (kr(
            153
            /* SetKeyword */
          ))
            return Uv(
              X,
              De,
              He,
              179,
              0
              /* None */
            );
          if (Q() === 137 || Q() === 11) {
            const bt = vl(X, De, He);
            if (bt)
              return bt;
          }
          if (Bo())
            return qp(X, De, He);
          if (m_(Q()) || Q() === 11 || Q() === 9 || Q() === 10 || Q() === 42 || Q() === 23)
            if (ot(He, iT)) {
              for (const Vt of He)
                Vt.flags |= 33554432;
              return Zs(33554432, () => v2(X, De, He));
            } else
              return v2(X, De, He);
          if (He) {
            const bt = Xa(
              80,
              /*reportAtCurrentPosition*/
              true,
              p.Declaration_expected
            );
            return uT(
              X,
              De,
              He,
              bt,
              /*questionToken*/
              void 0
            );
          }
          return E.fail("Should not have attempted to parse class member declaration.");
        }
        function va() {
          const X = M(), De = ye(), He = gi(
            /*allowDecorators*/
            true
          );
          if (Q() === 86)
            return l_(
              X,
              De,
              He,
              232
              /* ClassExpression */
            );
          const bt = Xa(
            283,
            /*reportAtCurrentPosition*/
            true,
            p.Expression_expected
          );
          return dD(bt, X), bt.modifiers = He, bt;
        }
        function Bc() {
          return l_(
            M(),
            ye(),
            /*modifiers*/
            void 0,
            232
            /* ClassExpression */
          );
        }
        function gu(X, De, He) {
          return l_(
            X,
            De,
            He,
            264
            /* ClassDeclaration */
          );
        }
        function l_(X, De, He, bt) {
          const Vt = qe();
          Xt(
            86
            /* ClassKeyword */
          );
          const rr = Vv(), Rn = Be();
          ot(He, Ox) && ki(
            /*value*/
            true
          );
          const gn = p1();
          let Gr;
          Xt(
            19
            /* OpenBraceToken */
          ) ? (Gr = W0(), Xt(
            20
            /* CloseBraceToken */
          )) : Gr = jf(), ki(Vt);
          const ii = bt === 264 ? m.createClassDeclaration(He, rr, Rn, gn, Gr) : m.createClassExpression(He, rr, Rn, gn, Gr);
          return pn(zt(ii, X), De);
        }
        function Vv() {
          return fr() && !u_() ? Nc(fr()) : void 0;
        }
        function u_() {
          return Q() === 119 && kt(Tf);
        }
        function p1() {
          if (fT())
            return da(22, jk);
        }
        function jk() {
          const X = M(), De = Q();
          E.assert(
            De === 96 || De === 119
            /* ImplementsKeyword */
          ), ke();
          const He = yl(7, Xp);
          return zt(m.createHeritageClause(De, He), X);
        }
        function Xp() {
          const X = M(), De = Ov();
          if (De.kind === 234)
            return De;
          const He = Uo();
          return zt(m.createExpressionWithTypeArguments(De, He), X);
        }
        function Uo() {
          return Q() === 30 ? ee(
            20,
            Oo,
            30,
            32
            /* GreaterThanToken */
          ) : void 0;
        }
        function fT() {
          return Q() === 96 || Q() === 119;
        }
        function W0() {
          return da(5, mi);
        }
        function dd(X, De, He) {
          Xt(
            120
            /* InterfaceKeyword */
          );
          const bt = co(), Vt = Be(), rr = p1(), Rn = ng(), gn = m.createInterfaceDeclaration(He, bt, Vt, rr, Rn);
          return pn(zt(gn, X), De);
        }
        function U0(X, De, He) {
          Xt(
            156
            /* TypeKeyword */
          ), t.hasPrecedingLineBreak() && Lt(p.Line_break_not_permitted_here);
          const bt = co(), Vt = Be();
          Xt(
            64
            /* EqualsToken */
          );
          const rr = Q() === 141 && cr(Sk) || Oo();
          Aa();
          const Rn = m.createTypeAliasDeclaration(He, bt, Vt, rr);
          return pn(zt(Rn, X), De);
        }
        function b2() {
          const X = M(), De = ye(), He = Hr(), bt = yr(sg);
          return pn(zt(m.createEnumMember(He, bt), X), De);
        }
        function VL(X, De, He) {
          Xt(
            94
            /* EnumKeyword */
          );
          const bt = co();
          let Vt;
          Xt(
            19
            /* OpenBraceToken */
          ) ? (Vt = Ke(() => yl(6, b2)), Xt(
            20
            /* CloseBraceToken */
          )) : Vt = jf();
          const rr = m.createEnumDeclaration(He, bt, Vt);
          return pn(zt(rr, X), De);
        }
        function Gw() {
          const X = M();
          let De;
          return Xt(
            19
            /* OpenBraceToken */
          ) ? (De = da(1, J_), Xt(
            20
            /* CloseBraceToken */
          )) : De = jf(), zt(m.createModuleBlock(De), X);
        }
        function Bk(X, De, He, bt) {
          const Vt = bt & 32, rr = bt & 8 ? ge() : co(), Rn = zi(
            25
            /* DotToken */
          ) ? Bk(
            M(),
            /*hasJSDoc*/
            false,
            /*modifiers*/
            void 0,
            8 | Vt
          ) : Gw(), gn = m.createModuleDeclaration(He, rr, Rn, bt);
          return pn(zt(gn, X), De);
        }
        function $w(X, De, He) {
          let bt = 0, Vt;
          Q() === 162 ? (Vt = co(), bt |= 2048) : (Vt = xt(), Vt.text = mc(Vt.text));
          let rr;
          Q() === 19 ? rr = Gw() : Aa();
          const Rn = m.createModuleDeclaration(He, Vt, rr, bt);
          return pn(zt(Rn, X), De);
        }
        function JA(X, De, He) {
          let bt = 0;
          if (Q() === 162)
            return $w(X, De, He);
          if (zi(
            145
            /* NamespaceKeyword */
          ))
            bt |= 32;
          else if (Xt(
            144
            /* ModuleKeyword */
          ), Q() === 11)
            return $w(X, De, He);
          return Bk(X, De, He, bt);
        }
        function d1() {
          return Q() === 149 && kt(Jk);
        }
        function Jk() {
          return ke() === 21;
        }
        function pT() {
          return ke() === 19;
        }
        function qL() {
          return ke() === 44;
        }
        function S2(X, De, He) {
          Xt(
            130
            /* AsKeyword */
          ), Xt(
            145
            /* NamespaceKeyword */
          );
          const bt = co();
          Aa();
          const Vt = m.createNamespaceExportDeclaration(bt);
          return Vt.modifiers = He, pn(zt(Vt, X), De);
        }
        function dT(X, De, He) {
          Xt(
            102
            /* ImportKeyword */
          );
          const bt = t.getTokenFullStart();
          let Vt;
          vr() && (Vt = co());
          let rr;
          if (Vt?.escapedText === "type" && (Q() !== 161 || vr() && kt(Ok)) && (vr() || Wr()) ? (rr = 156, Vt = vr() ? co() : void 0) : Vt?.escapedText === "defer" && (Q() === 161 ? !kt(Qg) : Q() !== 28 && Q() !== 64) && (rr = 166, Vt = vr() ? co() : void 0), Vt && !Qw() && rr !== 166)
            return vE(
              X,
              De,
              He,
              Vt,
              rr === 156
              /* TypeKeyword */
            );
          const Rn = Xw(
            Vt,
            bt,
            rr,
            /*skipJsDocLeadingAsterisks*/
            void 0
          ), gn = mT(), Gr = zk();
          Aa();
          const ii = m.createImportDeclaration(He, Rn, gn, Gr);
          return pn(zt(ii, X), De);
        }
        function Xw(X, De, He, bt = false) {
          let Vt;
          return (X || // import id
          Q() === 42 || // import *
          Q() === 19) && (Vt = bE(X, De, He, bt), Xt(
            161
            /* FromKeyword */
          )), Vt;
        }
        function zk() {
          const X = Q();
          if ((X === 118 || X === 132) && !t.hasPrecedingLineBreak())
            return m1(X);
        }
        function Wi() {
          const X = M(), De = m_(Q()) ? ge() : Zi(
            11
            /* StringLiteral */
          );
          Xt(
            59
            /* ColonToken */
          );
          const He = c_(
            /*allowReturnTypeInArrowFunction*/
            true
          );
          return zt(m.createImportAttribute(De, He), X);
        }
        function m1(X, De) {
          const He = M();
          De || Xt(X);
          const bt = t.getTokenStart();
          if (Xt(
            19
            /* OpenBraceToken */
          )) {
            const Vt = t.hasPrecedingLineBreak(), rr = yl(
              24,
              Wi,
              /*considerSemicolonAsDelimiter*/
              true
            );
            if (!Xt(
              20
              /* CloseBraceToken */
            )) {
              const Rn = ko(Se);
              Rn && Rn.code === p._0_expected.code && Js(
                Rn,
                Sx(Z, Te, bt, 1, p.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}")
              );
            }
            return zt(m.createImportAttributes(rr, Vt, X), He);
          } else {
            const Vt = ya(
              [],
              M(),
              /*end*/
              void 0,
              /*hasTrailingComma*/
              false
            );
            return zt(m.createImportAttributes(
              Vt,
              /*multiLine*/
              false,
              X
            ), He);
          }
        }
        function Wr() {
          return Q() === 42 || Q() === 19;
        }
        function Qw() {
          return Q() === 28 || Q() === 161;
        }
        function vE(X, De, He, bt, Vt) {
          Xt(
            64
            /* EqualsToken */
          );
          const rr = T2();
          Aa();
          const Rn = m.createImportEqualsDeclaration(He, Vt, bt, rr);
          return pn(zt(Rn, X), De);
        }
        function bE(X, De, He, bt) {
          let Vt;
          return (!X || zi(
            28
            /* CommaToken */
          )) && (bt && t.setSkipJsDocLeadingAsterisks(true), Q() === 42 ? Vt = HL() : Vt = WA(
            276
            /* NamedImports */
          ), bt && t.setSkipJsDocLeadingAsterisks(false)), zt(m.createImportClause(He, X, Vt), De);
        }
        function T2() {
          return d1() ? zA() : et(
            /*allowReservedWords*/
            false
          );
        }
        function zA() {
          const X = M();
          Xt(
            149
            /* RequireKeyword */
          ), Xt(
            21
            /* OpenParenToken */
          );
          const De = mT();
          return Xt(
            22
            /* CloseParenToken */
          ), zt(m.createExternalModuleReference(De), X);
        }
        function mT() {
          if (Q() === 11) {
            const X = xt();
            return X.text = mc(X.text), X;
          } else
            return Gu();
        }
        function HL() {
          const X = M();
          Xt(
            42
            /* AsteriskToken */
          ), Xt(
            130
            /* AsKeyword */
          );
          const De = co();
          return zt(m.createNamespaceImport(De), X);
        }
        function SE() {
          return m_(Q()) || Q() === 11;
        }
        function og(X) {
          return Q() === 11 ? xt() : X();
        }
        function WA(X) {
          const De = M(), He = X === 276 ? m.createNamedImports(ee(
            23,
            GL,
            19,
            20
            /* CloseBraceToken */
          )) : m.createNamedExports(ee(
            23,
            qv,
            19,
            20
            /* CloseBraceToken */
          ));
          return zt(He, De);
        }
        function qv() {
          const X = ye();
          return pn(Yw(
            282
            /* ExportSpecifier */
          ), X);
        }
        function GL() {
          return Yw(
            277
            /* ImportSpecifier */
          );
        }
        function Yw(X) {
          const De = M();
          let He = b_(Q()) && !vr(), bt = t.getTokenStart(), Vt = t.getTokenEnd(), rr = false, Rn, gn = true, Gr = og(ge);
          if (Gr.kind === 80 && Gr.escapedText === "type")
            if (Q() === 130) {
              const lo = ge();
              if (Q() === 130) {
                const Qa = ge();
                SE() ? (rr = true, Rn = lo, Gr = og(ji), gn = false) : (Rn = Gr, Gr = Qa, gn = false);
              } else SE() ? (Rn = Gr, gn = false, Gr = og(ji)) : (rr = true, Gr = lo);
            } else SE() && (rr = true, Gr = og(ji));
          gn && Q() === 130 && (Rn = Gr, Xt(
            130
            /* AsKeyword */
          ), Gr = og(ji)), X === 277 && (Gr.kind !== 80 ? (Pe(aa(Te, Gr.pos), Gr.end, p.Identifier_expected), Gr = Dd(Xa(
            80,
            /*reportAtCurrentPosition*/
            false
          ), Gr.pos, Gr.pos)) : He && Pe(bt, Vt, p.Identifier_expected));
          const ii = X === 277 ? m.createImportSpecifier(rr, Rn, Gr) : m.createExportSpecifier(rr, Rn, Gr);
          return zt(ii, De);
          function ji() {
            return He = b_(Q()) && !vr(), bt = t.getTokenStart(), Vt = t.getTokenEnd(), ge();
          }
        }
        function UA(X) {
          return zt(m.createNamespaceExport(og(ge)), X);
        }
        function Zw(X, De, He) {
          const bt = qe();
          ki(
            /*value*/
            true
          );
          let Vt, rr, Rn;
          const gn = zi(
            156
            /* TypeKeyword */
          ), Gr = M();
          zi(
            42
            /* AsteriskToken */
          ) ? (zi(
            130
            /* AsKeyword */
          ) && (Vt = UA(Gr)), Xt(
            161
            /* FromKeyword */
          ), rr = mT()) : (Vt = WA(
            280
            /* NamedExports */
          ), (Q() === 161 || Q() === 11 && !t.hasPrecedingLineBreak()) && (Xt(
            161
            /* FromKeyword */
          ), rr = mT()));
          const ii = Q();
          rr && (ii === 118 || ii === 132) && !t.hasPrecedingLineBreak() && (Rn = m1(ii)), Aa(), ki(bt);
          const ji = m.createExportDeclaration(He, gn, Vt, rr, Rn);
          return pn(zt(ji, X), De);
        }
        function Hv(X, De, He) {
          const bt = qe();
          ki(
            /*value*/
            true
          );
          let Vt;
          zi(
            64
            /* EqualsToken */
          ) ? Vt = true : Xt(
            90
            /* DefaultKeyword */
          );
          const rr = c_(
            /*allowReturnTypeInArrowFunction*/
            true
          );
          Aa(), ki(bt);
          const Rn = m.createExportAssignment(He, Vt, rr);
          return pn(zt(Rn, X), De);
        }
        let cg;
        ((X) => {
          X[X.SourceElements = 0] = "SourceElements", X[X.BlockStatements = 1] = "BlockStatements", X[X.SwitchClauses = 2] = "SwitchClauses", X[X.SwitchClauseStatements = 3] = "SwitchClauseStatements", X[X.TypeMembers = 4] = "TypeMembers", X[X.ClassMembers = 5] = "ClassMembers", X[X.EnumMembers = 6] = "EnumMembers", X[X.HeritageClauseElement = 7] = "HeritageClauseElement", X[X.VariableDeclarations = 8] = "VariableDeclarations", X[X.ObjectBindingElements = 9] = "ObjectBindingElements", X[X.ArrayBindingElements = 10] = "ArrayBindingElements", X[X.ArgumentExpressions = 11] = "ArgumentExpressions", X[X.ObjectLiteralMembers = 12] = "ObjectLiteralMembers", X[X.JsxAttributes = 13] = "JsxAttributes", X[X.JsxChildren = 14] = "JsxChildren", X[X.ArrayLiteralMembers = 15] = "ArrayLiteralMembers", X[X.Parameters = 16] = "Parameters", X[X.JSDocParameters = 17] = "JSDocParameters", X[X.RestProperties = 18] = "RestProperties", X[X.TypeParameters = 19] = "TypeParameters", X[X.TypeArguments = 20] = "TypeArguments", X[X.TupleElementTypes = 21] = "TupleElementTypes", X[X.HeritageClauses = 22] = "HeritageClauses", X[X.ImportOrExportSpecifiers = 23] = "ImportOrExportSpecifiers", X[X.ImportAttributes = 24] = "ImportAttributes", X[X.JSDocComment = 25] = "JSDocComment", X[X.Count = 26] = "Count";
        })(cg || (cg = {}));
        let TE;
        ((X) => {
          X[X.False = 0] = "False", X[X.True = 1] = "True", X[X.Unknown = 2] = "Unknown";
        })(TE || (TE = {}));
        let Am;
        ((X) => {
          function De(ii, ji, lo) {
            Dt(
              "file.js",
              ii,
              99,
              /*syntaxCursor*/
              void 0,
              1,
              0
              /* ParseAll */
            ), t.setText(ii, ji, lo), Ee = t.scan();
            const Qa = He(), Fa = ft(
              "file.js",
              99,
              1,
              /*isDeclarationFile*/
              false,
              [],
              A(
                1
                /* EndOfFileToken */
              ),
              0,
              Ua
            ), yp = Tx(Se, Fa);
            return ie && (Fa.jsDocDiagnostics = Tx(ie, Fa)), Mn(), Qa ? { jsDocTypeExpression: Qa, diagnostics: yp } : void 0;
          }
          X.parseJSDocTypeExpressionForTests = De;
          function He(ii) {
            const ji = M(), lo = (ii ? zi : Xt)(
              19
              /* OpenBraceToken */
            ), Qa = Zs(16777216, Rd);
            (!ii || lo) && Xo(
              20
              /* CloseBraceToken */
            );
            const Fa = m.createJSDocTypeExpression(Qa);
            return Je(Fa), zt(Fa, ji);
          }
          X.parseJSDocTypeExpression = He;
          function bt() {
            const ii = M(), ji = zi(
              19
              /* OpenBraceToken */
            ), lo = M();
            let Qa = et(
              /*allowReservedWords*/
              false
            );
            for (; Q() === 81; )
              vt(), at(), Qa = zt(m.createJSDocMemberName(Qa, co()), lo);
            ji && Xo(
              20
              /* CloseBraceToken */
            );
            const Fa = m.createJSDocNameReference(Qa);
            return Je(Fa), zt(Fa, ii);
          }
          X.parseJSDocNameReference = bt;
          function Vt(ii, ji, lo) {
            Dt(
              "",
              ii,
              99,
              /*syntaxCursor*/
              void 0,
              1,
              0
              /* ParseAll */
            );
            const Qa = Zs(16777216, () => Gr(ji, lo)), yp = Tx(Se, { languageVariant: 0, text: ii });
            return Mn(), Qa ? { jsDoc: Qa, diagnostics: yp } : void 0;
          }
          X.parseIsolatedJSDocComment = Vt;
          function rr(ii, ji, lo) {
            const Qa = Ee, Fa = Se.length, yp = Wt, Uf = Zs(16777216, () => Gr(ji, lo));
            return ja(Uf, ii), Nr & 524288 && (ie || (ie = []), In(ie, Se, Fa)), Ee = Qa, Se.length = Fa, Wt = yp, Uf;
          }
          X.parseJSDocComment = rr;
          let Rn;
          ((ii) => {
            ii[ii.BeginningOfLine = 0] = "BeginningOfLine", ii[ii.SawAsterisk = 1] = "SawAsterisk", ii[ii.SavingComments = 2] = "SavingComments", ii[ii.SavingBackticks = 3] = "SavingBackticks";
          })(Rn || (Rn = {}));
          let gn;
          ((ii) => {
            ii[ii.Property = 1] = "Property", ii[ii.Parameter = 2] = "Parameter", ii[ii.CallbackParameter = 4] = "CallbackParameter";
          })(gn || (gn = {}));
          function Gr(ii = 0, ji) {
            const lo = Te, Qa = ji === void 0 ? lo.length : ii + ji;
            if (ji = Qa - ii, E.assert(ii >= 0), E.assert(ii <= Qa), E.assert(Qa <= lo.length), !Jz(lo, ii))
              return;
            let Fa, yp, Uf, V0, q0, Yg = [];
            const g1 = [], La = Bt;
            Bt |= 1 << 25;
            const _l = t.scanRange(ii + 3, ji - 5, H0);
            return Bt = La, _l;
            function H0() {
              let Cr = 1, En, Ln = ii - (lo.lastIndexOf(`
`, ii) + 1) + 4;
              function pi(uo) {
                En || (En = Ln), Yg.push(uo), Ln += uo.length;
              }
              for (at(); Wd(
                5
                /* WhitespaceTrivia */
              ); ) ;
              Wd(
                4
                /* NewLineTrivia */
              ) && (Cr = 0, Ln = 0);
              e:
                for (; ; ) {
                  switch (Q()) {
                    case 60:
                      Wk(Yg), q0 || (q0 = M()), Do(v(Ln)), Cr = 0, En = void 0;
                      break;
                    case 4:
                      Yg.push(t.getTokenText()), Cr = 0, Ln = 0;
                      break;
                    case 42:
                      const uo = t.getTokenText();
                      Cr === 1 ? (Cr = 2, pi(uo)) : (E.assert(
                        Cr === 0
                        /* BeginningOfLine */
                      ), Cr = 1, Ln += uo.length);
                      break;
                    case 5:
                      E.assert(Cr !== 2, "whitespace shouldn't come from the scanner while saving top-level comment text");
                      const Hl = t.getTokenText();
                      En !== void 0 && Ln + Hl.length > En && Yg.push(Hl.slice(En - Ln)), Ln += Hl.length;
                      break;
                    case 1:
                      break e;
                    case 82:
                      Cr = 2, pi(t.getTokenValue());
                      break;
                    case 19:
                      Cr = 2;
                      const Ud = t.getTokenFullStart(), Qp = t.getTokenEnd() - 1, md = oe(Qp);
                      if (md) {
                        V0 || Fu(Yg), g1.push(zt(m.createJSDocText(Yg.join("")), V0 ?? ii, Ud)), g1.push(md), Yg = [], V0 = t.getTokenEnd();
                        break;
                      }
                    // fallthrough if it's not a {@link sequence
                    default:
                      Cr = 2, pi(t.getTokenText());
                      break;
                  }
                  Cr === 2 ? wt(
                    /*inBackticks*/
                    false
                  ) : at();
                }
              const yi = Yg.join("").trimEnd();
              g1.length && yi.length && g1.push(zt(m.createJSDocText(yi), V0 ?? ii, q0)), g1.length && Fa && E.assertIsDefined(q0, "having parsed tags implies that the end of the comment span should be set");
              const na = Fa && ya(Fa, yp, Uf);
              return zt(m.createJSDocComment(g1.length ? ya(g1, ii, q0) : yi.length ? yi : void 0, na), ii, Qa);
            }
            function Fu(Cr) {
              for (; Cr.length && (Cr[0] === `
` || Cr[0] === "\r"); )
                Cr.shift();
            }
            function Wk(Cr) {
              for (; Cr.length; ) {
                const En = Cr[Cr.length - 1].trimEnd();
                if (En === "")
                  Cr.pop();
                else if (En.length < Cr[Cr.length - 1].length) {
                  Cr[Cr.length - 1] = En;
                  break;
                } else
                  break;
              }
            }
            function Zg() {
              for (; ; ) {
                if (at(), Q() === 1)
                  return true;
                if (!(Q() === 5 || Q() === 4))
                  return false;
              }
            }
            function lg() {
              if (!((Q() === 5 || Q() === 4) && kt(Zg)))
                for (; Q() === 5 || Q() === 4; )
                  at();
            }
            function tn() {
              if ((Q() === 5 || Q() === 4) && kt(Zg))
                return "";
              let Cr = t.hasPrecedingLineBreak(), En = false, Ln = "";
              for (; Cr && Q() === 42 || Q() === 5 || Q() === 4; )
                Ln += t.getTokenText(), Q() === 4 ? (Cr = true, En = true, Ln = "") : Q() === 42 && (Cr = false), at();
              return En ? Ln : "";
            }
            function v(Cr) {
              E.assert(
                Q() === 60
                /* AtToken */
              );
              const En = t.getTokenStart();
              at();
              const Ln = pf(
                /*message*/
                void 0
              ), pi = tn();
              let yi;
              switch (Ln.escapedText) {
                case "author":
                  yi = VA(En, Ln, Cr, pi);
                  break;
                case "implements":
                  yi = y1(En, Ln, Cr, pi);
                  break;
                case "augments":
                case "extends":
                  yi = vfe(En, Ln, Cr, pi);
                  break;
                case "class":
                case "constructor":
                  yi = qk(En, m.createJSDocClassTag, Ln, Cr, pi);
                  break;
                case "public":
                  yi = qk(En, m.createJSDocPublicTag, Ln, Cr, pi);
                  break;
                case "private":
                  yi = qk(En, m.createJSDocPrivateTag, Ln, Cr, pi);
                  break;
                case "protected":
                  yi = qk(En, m.createJSDocProtectedTag, Ln, Cr, pi);
                  break;
                case "readonly":
                  yi = qk(En, m.createJSDocReadonlyTag, Ln, Cr, pi);
                  break;
                case "override":
                  yi = qk(En, m.createJSDocOverrideTag, Ln, Cr, pi);
                  break;
                case "deprecated":
                  fi = true, yi = qk(En, m.createJSDocDeprecatedTag, Ln, Cr, pi);
                  break;
                case "this":
                  yi = JG(En, Ln, Cr, pi);
                  break;
                case "enum":
                  yi = tP(En, Ln, Cr, pi);
                  break;
                case "arg":
                case "argument":
                case "param":
                  return Uk(En, Ln, 2, Cr);
                case "return":
                case "returns":
                  yi = Kw(En, Ln, Cr, pi);
                  break;
                case "template":
                  yi = Yr(En, Ln, Cr, pi);
                  break;
                case "type":
                  yi = Vk(En, Ln, Cr, pi);
                  break;
                case "typedef":
                  yi = zG(En, Ln, Cr, pi);
                  break;
                case "callback":
                  yi = UG(En, Ln, Cr, pi);
                  break;
                case "overload":
                  yi = Tfe(En, Ln, Cr, pi);
                  break;
                case "satisfies":
                  yi = bfe(En, Ln, Cr, pi);
                  break;
                case "see":
                  yi = hfe(En, Ln, Cr, pi);
                  break;
                case "exception":
                case "throws":
                  yi = yfe(En, Ln, Cr, pi);
                  break;
                case "import":
                  yi = Sfe(En, Ln, Cr, pi);
                  break;
                default:
                  yi = cs(En, Ln, Cr, pi);
                  break;
              }
              return yi;
            }
            function w(Cr, En, Ln, pi) {
              return pi || (Ln += En - Cr), j(Ln, pi.slice(Ln));
            }
            function j(Cr, En) {
              const Ln = M();
              let pi = [];
              const yi = [];
              let na, uo = 0, Hl;
              function Ud(Kg) {
                Hl || (Hl = Cr), pi.push(Kg), Cr += Kg.length;
              }
              En !== void 0 && (En !== "" && Ud(En), uo = 1);
              let Qp = Q();
              e:
                for (; ; ) {
                  switch (Qp) {
                    case 4:
                      uo = 0, pi.push(t.getTokenText()), Cr = 0;
                      break;
                    case 60:
                      t.resetTokenState(t.getTokenEnd() - 1);
                      break e;
                    case 1:
                      break e;
                    case 5:
                      E.assert(uo !== 2 && uo !== 3, "whitespace shouldn't come from the scanner while saving comment text");
                      const Kg = t.getTokenText();
                      Hl !== void 0 && Cr + Kg.length > Hl && (pi.push(Kg.slice(Hl - Cr)), uo = 2), Cr += Kg.length;
                      break;
                    case 19:
                      uo = 2;
                      const Vh = t.getTokenFullStart(), xE = t.getTokenEnd() - 1, nP = oe(xE);
                      nP ? (yi.push(zt(m.createJSDocText(pi.join("")), na ?? Ln, Vh)), yi.push(nP), pi = [], na = t.getTokenEnd()) : Ud(t.getTokenText());
                      break;
                    case 62:
                      uo === 3 ? uo = 2 : uo = 3, Ud(t.getTokenText());
                      break;
                    case 82:
                      uo !== 3 && (uo = 2), Ud(t.getTokenValue());
                      break;
                    case 42:
                      if (uo === 0) {
                        uo = 1, Cr += 1;
                        break;
                      }
                    // record the * as a comment
                    // falls through
                    default:
                      uo !== 3 && (uo = 2), Ud(t.getTokenText());
                      break;
                  }
                  uo === 2 || uo === 3 ? Qp = wt(
                    uo === 3
                    /* SavingBackticks */
                  ) : Qp = at();
                }
              Fu(pi);
              const md = pi.join("").trimEnd();
              if (yi.length)
                return md.length && yi.push(zt(m.createJSDocText(md), na ?? Ln)), ya(yi, Ln, t.getTokenEnd());
              if (md.length)
                return md;
            }
            function oe(Cr) {
              const En = cr(qt);
              if (!En)
                return;
              at(), lg();
              const Ln = Ue(), pi = [];
              for (; Q() !== 20 && Q() !== 4 && Q() !== 1; )
                pi.push(t.getTokenText()), at();
              const yi = En === "link" ? m.createJSDocLink : En === "linkcode" ? m.createJSDocLinkCode : m.createJSDocLinkPlain;
              return zt(yi(Ln, pi.join("")), Cr, t.getTokenEnd());
            }
            function Ue() {
              if (m_(Q())) {
                const Cr = M();
                let En = ge();
                for (; zi(
                  25
                  /* DotToken */
                ); )
                  En = zt(m.createQualifiedName(En, Q() === 81 ? Xa(
                    80,
                    /*reportAtCurrentPosition*/
                    false
                  ) : ge()), Cr);
                for (; Q() === 81; )
                  vt(), at(), En = zt(m.createJSDocMemberName(En, co()), Cr);
                return En;
              }
            }
            function qt() {
              if (tn(), Q() === 19 && at() === 60 && m_(at())) {
                const Cr = t.getTokenValue();
                if (hn(Cr)) return Cr;
              }
            }
            function hn(Cr) {
              return Cr === "link" || Cr === "linkcode" || Cr === "linkplain";
            }
            function cs(Cr, En, Ln, pi) {
              return zt(m.createJSDocUnknownTag(En, w(Cr, M(), Ln, pi)), Cr);
            }
            function Do(Cr) {
              Cr && (Fa ? Fa.push(Cr) : (Fa = [Cr], yp = Cr.pos), Uf = Cr.end);
            }
            function kf() {
              return tn(), Q() === 19 ? He() : void 0;
            }
            function h1() {
              const Cr = Wd(
                23
                /* OpenBracketToken */
              );
              Cr && lg();
              const En = Wd(
                62
                /* BacktickToken */
              ), Ln = qG();
              return En && ea(
                62
                /* BacktickToken */
              ), Cr && (lg(), gs(
                64
                /* EqualsToken */
              ) && Gu(), Xt(
                24
                /* CloseBracketToken */
              )), { name: Ln, isBracketed: Cr };
            }
            function zd(Cr) {
              switch (Cr.kind) {
                case 151:
                  return true;
                case 189:
                  return zd(Cr.elementType);
                default:
                  return rf(Cr) && Me(Cr.typeName) && Cr.typeName.escapedText === "Object" && !Cr.typeArguments;
              }
            }
            function Uk(Cr, En, Ln, pi) {
              let yi = kf(), na = !yi;
              tn();
              const { name: uo, isBracketed: Hl } = h1(), Ud = tn();
              na && !kt(qt) && (yi = kf());
              const Qp = w(Cr, M(), pi, Ud), md = gfe(yi, uo, Ln, pi);
              md && (yi = md, na = true);
              const Kg = Ln === 1 ? m.createJSDocPropertyTag(En, uo, Hl, yi, na, Qp) : m.createJSDocParameterTag(En, uo, Hl, yi, na, Qp);
              return zt(Kg, Cr);
            }
            function gfe(Cr, En, Ln, pi) {
              if (Cr && zd(Cr.type)) {
                const yi = M();
                let na, uo;
                for (; na = cr(() => gT(Ln, pi, En)); )
                  na.kind === 342 || na.kind === 349 ? uo = Er(uo, na) : na.kind === 346 && yt(na.tagName, p.A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag);
                if (uo) {
                  const Hl = zt(m.createJSDocTypeLiteral(
                    uo,
                    Cr.type.kind === 189
                    /* ArrayType */
                  ), yi);
                  return zt(m.createJSDocTypeExpression(Hl), yi);
                }
              }
            }
            function Kw(Cr, En, Ln, pi) {
              ot(Fa, FF) && Pe(En.pos, t.getTokenStart(), p._0_tag_already_specified, Si(En.escapedText));
              const yi = kf();
              return zt(m.createJSDocReturnTag(En, yi, w(Cr, M(), Ln, pi)), Cr);
            }
            function Vk(Cr, En, Ln, pi) {
              ot(Fa, OD) && Pe(En.pos, t.getTokenStart(), p._0_tag_already_specified, Si(En.escapedText));
              const yi = He(
                /*mayOmitBraces*/
                true
              ), na = Ln !== void 0 && pi !== void 0 ? w(Cr, M(), Ln, pi) : void 0;
              return zt(m.createJSDocTypeTag(En, yi, na), Cr);
            }
            function hfe(Cr, En, Ln, pi) {
              const na = Q() === 23 || kt(() => at() === 60 && m_(at()) && hn(t.getTokenValue())) ? void 0 : bt(), uo = Ln !== void 0 && pi !== void 0 ? w(Cr, M(), Ln, pi) : void 0;
              return zt(m.createJSDocSeeTag(En, na, uo), Cr);
            }
            function yfe(Cr, En, Ln, pi) {
              const yi = kf(), na = w(Cr, M(), Ln, pi);
              return zt(m.createJSDocThrowsTag(En, yi, na), Cr);
            }
            function VA(Cr, En, Ln, pi) {
              const yi = M(), na = BG();
              let uo = t.getTokenFullStart();
              const Hl = w(Cr, uo, Ln, pi);
              Hl || (uo = t.getTokenFullStart());
              const Ud = typeof Hl != "string" ? ya(Bi([zt(na, yi, uo)], Hl), yi) : na.text + Hl;
              return zt(m.createJSDocAuthorTag(En, Ud), Cr);
            }
            function BG() {
              const Cr = [];
              let En = false, Ln = t.getToken();
              for (; Ln !== 1 && Ln !== 4; ) {
                if (Ln === 30)
                  En = true;
                else {
                  if (Ln === 60 && !En)
                    break;
                  if (Ln === 32 && En) {
                    Cr.push(t.getTokenText()), t.resetTokenState(t.getTokenEnd());
                    break;
                  }
                }
                Cr.push(t.getTokenText()), Ln = at();
              }
              return m.createJSDocText(Cr.join(""));
            }
            function y1(Cr, En, Ln, pi) {
              const yi = x2();
              return zt(m.createJSDocImplementsTag(En, yi, w(Cr, M(), Ln, pi)), Cr);
            }
            function vfe(Cr, En, Ln, pi) {
              const yi = x2();
              return zt(m.createJSDocAugmentsTag(En, yi, w(Cr, M(), Ln, pi)), Cr);
            }
            function bfe(Cr, En, Ln, pi) {
              const yi = He(
                /*mayOmitBraces*/
                false
              ), na = Ln !== void 0 && pi !== void 0 ? w(Cr, M(), Ln, pi) : void 0;
              return zt(m.createJSDocSatisfiesTag(En, yi, na), Cr);
            }
            function Sfe(Cr, En, Ln, pi) {
              const yi = t.getTokenFullStart();
              let na;
              vr() && (na = co());
              const uo = Xw(
                na,
                yi,
                156,
                /*skipJsDocLeadingAsterisks*/
                true
              ), Hl = mT(), Ud = zk(), Qp = Ln !== void 0 && pi !== void 0 ? w(Cr, M(), Ln, pi) : void 0;
              return zt(m.createJSDocImportTag(En, uo, Hl, Ud, Qp), Cr);
            }
            function x2() {
              const Cr = zi(
                19
                /* OpenBraceToken */
              ), En = M(), Ln = eP();
              t.setSkipJsDocLeadingAsterisks(true);
              const pi = Uo();
              t.setSkipJsDocLeadingAsterisks(false);
              const yi = m.createExpressionWithTypeArguments(Ln, pi), na = zt(yi, En);
              return Cr && (lg(), Xt(
                20
                /* CloseBraceToken */
              )), na;
            }
            function eP() {
              const Cr = M();
              let En = pf();
              for (; zi(
                25
                /* DotToken */
              ); ) {
                const Ln = pf();
                En = zt(R(En, Ln), Cr);
              }
              return En;
            }
            function qk(Cr, En, Ln, pi, yi) {
              return zt(En(Ln, w(Cr, M(), pi, yi)), Cr);
            }
            function JG(Cr, En, Ln, pi) {
              const yi = He(
                /*mayOmitBraces*/
                true
              );
              return lg(), zt(m.createJSDocThisTag(En, yi, w(Cr, M(), Ln, pi)), Cr);
            }
            function tP(Cr, En, Ln, pi) {
              const yi = He(
                /*mayOmitBraces*/
                true
              );
              return lg(), zt(m.createJSDocEnumTag(En, yi, w(Cr, M(), Ln, pi)), Cr);
            }
            function zG(Cr, En, Ln, pi) {
              let yi = kf();
              tn();
              const na = qA();
              lg();
              let uo = j(Ln), Hl;
              if (!yi || zd(yi.type)) {
                let Qp, md, Kg, Vh = false;
                for (; (Qp = cr(() => kfe(Ln))) && Qp.kind !== 346; )
                  if (Vh = true, Qp.kind === 345)
                    if (md) {
                      const xE = Lt(p.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);
                      xE && Js(xE, Sx(Z, Te, 0, 0, p.The_tag_was_first_specified_here));
                      break;
                    } else
                      md = Qp;
                  else
                    Kg = Er(Kg, Qp);
                if (Vh) {
                  const xE = yi && yi.type.kind === 189, nP = m.createJSDocTypeLiteral(Kg, xE);
                  yi = md && md.typeExpression && !zd(md.typeExpression.type) ? md.typeExpression : zt(nP, Cr), Hl = yi.end;
                }
              }
              Hl = Hl || uo !== void 0 ? M() : (na ?? yi ?? En).end, uo || (uo = w(Cr, Hl, Ln, pi));
              const Ud = m.createJSDocTypedefTag(En, yi, na, uo);
              return zt(Ud, Cr, Hl);
            }
            function qA(Cr) {
              const En = t.getTokenStart();
              if (!m_(Q()))
                return;
              const Ln = pf();
              if (zi(
                25
                /* DotToken */
              )) {
                const pi = qA(
                  /*nested*/
                  true
                ), yi = m.createModuleDeclaration(
                  /*modifiers*/
                  void 0,
                  Ln,
                  pi,
                  Cr ? 8 : void 0
                );
                return zt(yi, En);
              }
              return Cr && (Ln.flags |= 4096), Ln;
            }
            function rP(Cr) {
              const En = M();
              let Ln, pi;
              for (; Ln = cr(() => gT(4, Cr)); ) {
                if (Ln.kind === 346) {
                  yt(Ln.tagName, p.A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag);
                  break;
                }
                pi = Er(pi, Ln);
              }
              return ya(pi || [], En);
            }
            function WG(Cr, En) {
              const Ln = rP(En), pi = cr(() => {
                if (Wd(
                  60
                  /* AtToken */
                )) {
                  const yi = v(En);
                  if (yi && yi.kind === 343)
                    return yi;
                }
              });
              return zt(m.createJSDocSignature(
                /*typeParameters*/
                void 0,
                Ln,
                pi
              ), Cr);
            }
            function UG(Cr, En, Ln, pi) {
              const yi = qA();
              lg();
              let na = j(Ln);
              const uo = WG(Cr, Ln);
              na || (na = w(Cr, M(), Ln, pi));
              const Hl = na !== void 0 ? M() : uo.end;
              return zt(m.createJSDocCallbackTag(En, uo, yi, na), Cr, Hl);
            }
            function Tfe(Cr, En, Ln, pi) {
              lg();
              let yi = j(Ln);
              const na = WG(Cr, Ln);
              yi || (yi = w(Cr, M(), Ln, pi));
              const uo = yi !== void 0 ? M() : na.end;
              return zt(m.createJSDocOverloadTag(En, na, yi), Cr, uo);
            }
            function xfe(Cr, En) {
              for (; !Me(Cr) || !Me(En); )
                if (!Me(Cr) && !Me(En) && Cr.right.escapedText === En.right.escapedText)
                  Cr = Cr.left, En = En.left;
                else
                  return false;
              return Cr.escapedText === En.escapedText;
            }
            function kfe(Cr) {
              return gT(1, Cr);
            }
            function gT(Cr, En, Ln) {
              let pi = true, yi = false;
              for (; ; )
                switch (at()) {
                  case 60:
                    if (pi) {
                      const na = VG(Cr, En);
                      return na && (na.kind === 342 || na.kind === 349) && Ln && (Me(na.name) || !xfe(Ln, na.name.left)) ? false : na;
                    }
                    yi = false;
                    break;
                  case 4:
                    pi = true, yi = false;
                    break;
                  case 42:
                    yi && (pi = false), yi = true;
                    break;
                  case 80:
                    pi = false;
                    break;
                  case 1:
                    return false;
                }
            }
            function VG(Cr, En) {
              E.assert(
                Q() === 60
                /* AtToken */
              );
              const Ln = t.getTokenFullStart();
              at();
              const pi = pf(), yi = tn();
              let na;
              switch (pi.escapedText) {
                case "type":
                  return Cr === 1 && Vk(Ln, pi);
                case "prop":
                case "property":
                  na = 1;
                  break;
                case "arg":
                case "argument":
                case "param":
                  na = 6;
                  break;
                case "template":
                  return Yr(Ln, pi, En, yi);
                case "this":
                  return JG(Ln, pi, En, yi);
                default:
                  return false;
              }
              return Cr & na ? Uk(Ln, pi, Cr, En) : false;
            }
            function Cfe() {
              const Cr = M(), En = Wd(
                23
                /* OpenBracketToken */
              );
              En && lg();
              const Ln = gi(
                /*allowDecorators*/
                false,
                /*permitConstAsModifier*/
                true
              ), pi = pf(p.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces);
              let yi;
              if (En && (lg(), Xt(
                64
                /* EqualsToken */
              ), yi = Zs(16777216, Rd), Xt(
                24
                /* CloseBracketToken */
              )), !ac(pi))
                return zt(m.createTypeParameterDeclaration(
                  Ln,
                  pi,
                  /*constraint*/
                  void 0,
                  yi
                ), Cr);
            }
            function G0() {
              const Cr = M(), En = [];
              do {
                lg();
                const Ln = Cfe();
                Ln !== void 0 && En.push(Ln), tn();
              } while (Wd(
                28
                /* CommaToken */
              ));
              return ya(En, Cr);
            }
            function Yr(Cr, En, Ln, pi) {
              const yi = Q() === 19 ? He() : void 0, na = G0();
              return zt(m.createJSDocTemplateTag(En, yi, na, w(Cr, M(), Ln, pi)), Cr);
            }
            function Wd(Cr) {
              return Q() === Cr ? (at(), true) : false;
            }
            function qG() {
              let Cr = pf();
              for (zi(
                23
                /* OpenBracketToken */
              ) && Xt(
                24
                /* CloseBracketToken */
              ); zi(
                25
                /* DotToken */
              ); ) {
                const En = pf();
                zi(
                  23
                  /* OpenBracketToken */
                ) && Xt(
                  24
                  /* CloseBracketToken */
                ), Cr = Ut(Cr, En);
              }
              return Cr;
            }
            function pf(Cr) {
              if (!m_(Q()))
                return Xa(
                  80,
                  /*reportAtCurrentPosition*/
                  !Cr,
                  Cr || p.Identifier_expected
                );
              St++;
              const En = t.getTokenStart(), Ln = t.getTokenEnd(), pi = Q(), yi = mc(t.getTokenValue()), na = zt(D(yi, pi), En, Ln);
              return at(), na;
            }
          }
        })(Am = e.JSDocParser || (e.JSDocParser = {}));
      })(cv || (cv = {}));
      var $0e = /* @__PURE__ */ new WeakSet();
      function VLe(e) {
        $0e.has(e) && E.fail("Source file has already been incrementally parsed"), $0e.add(e);
      }
      var X0e = /* @__PURE__ */ new WeakSet();
      function qLe(e) {
        return X0e.has(e);
      }
      function Sre(e) {
        X0e.add(e);
      }
      var Wz;
      ((e) => {
        function t(T, k, D, P) {
          if (P = P || E.shouldAssert(
            2
            /* Aggressive */
          ), m(T, k, D, P), YY(D))
            return T;
          if (T.statements.length === 0)
            return cv.parseSourceFile(
              T.fileName,
              k,
              T.languageVersion,
              /*syntaxCursor*/
              void 0,
              /*setParentNodes*/
              true,
              T.scriptKind,
              T.setExternalModuleIndicator,
              T.jsDocParsingMode
            );
          VLe(T), cv.fixupParentReferences(T);
          const A = T.text, O = h(T), F = u(T, D);
          m(T, k, F, P), E.assert(F.span.start <= D.span.start), E.assert(Yo(F.span) === Yo(D.span)), E.assert(Yo(g4(F)) === Yo(g4(D)));
          const R = g4(F).length - F.span.length;
          _(T, F.span.start, Yo(F.span), Yo(g4(F)), R, A, k, P);
          const B = cv.parseSourceFile(
            T.fileName,
            k,
            T.languageVersion,
            O,
            /*setParentNodes*/
            true,
            T.scriptKind,
            T.setExternalModuleIndicator,
            T.jsDocParsingMode
          );
          return B.commentDirectives = n(
            T.commentDirectives,
            B.commentDirectives,
            F.span.start,
            Yo(F.span),
            R,
            A,
            k,
            P
          ), B.impliedNodeFormat = T.impliedNodeFormat, Yte(T, B), B;
        }
        e.updateSourceFile = t;
        function n(T, k, D, P, A, O, F, R) {
          if (!T) return k;
          let B, U = false;
          for (const W of T) {
            const { range: _e, type: K } = W;
            if (_e.end < D)
              B = Er(B, W);
            else if (_e.pos > P) {
              $();
              const V = {
                range: { pos: _e.pos + A, end: _e.end + A },
                type: K
              };
              B = Er(B, V), R && E.assert(O.substring(_e.pos, _e.end) === F.substring(V.range.pos, V.range.end));
            }
          }
          return $(), B;
          function $() {
            U || (U = true, B ? k && B.push(...k) : B = k);
          }
        }
        function i(T, k, D, P, A, O, F) {
          D ? B(T) : R(T);
          return;
          function R(U) {
            let $ = "";
            if (F && s(U) && ($ = A.substring(U.pos, U.end)), Dz(U, k), Dd(U, U.pos + P, U.end + P), F && s(U) && E.assert($ === O.substring(U.pos, U.end)), Ts(U, R, B), bf(U))
              for (const W of U.jsDoc)
                R(W);
            c(U, F);
          }
          function B(U) {
            Dd(U, U.pos + P, U.end + P);
            for (const $ of U)
              R($);
          }
        }
        function s(T) {
          switch (T.kind) {
            case 11:
            case 9:
            case 80:
              return true;
          }
          return false;
        }
        function o(T, k, D, P, 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, P), 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, P)
          );
          if (E.assert(O <= F), T.parent) {
            const R = T.parent;
            E.assertGreaterThanOrEqual(O, R.pos), E.assertLessThanOrEqual(F, R.end);
          }
          Dd(T, O, F);
        }
        function c(T, k) {
          if (k) {
            let D = T.pos;
            const P = (A) => {
              E.assert(A.pos >= D), D = A.end;
            };
            if (bf(T))
              for (const A of T.jsDoc)
                P(A);
            Ts(T, P), E.assert(D <= T.end);
          }
        }
        function _(T, k, D, P, A, O, F, R) {
          B(T);
          return;
          function B($) {
            if (E.assert($.pos <= $.end), $.pos > D) {
              i(
                $,
                T,
                /*isArray*/
                false,
                A,
                O,
                F,
                R
              );
              return;
            }
            const W = $.end;
            if (W >= k) {
              if (Sre($), Dz($, T), o($, k, D, P, A), Ts($, B, U), bf($))
                for (const _e of $.jsDoc)
                  B(_e);
              c($, R);
              return;
            }
            E.assert(W < k);
          }
          function U($) {
            if (E.assert($.pos <= $.end), $.pos > D) {
              i(
                $,
                T,
                /*isArray*/
                true,
                A,
                O,
                F,
                R
              );
              return;
            }
            const W = $.end;
            if (W >= k) {
              Sre($), o($, k, D, P, A);
              for (const _e of $)
                B(_e);
              return;
            }
            E.assert(W < k);
          }
        }
        function u(T, k) {
          let P = k.span.start;
          for (let F = 0; P > 0 && F <= 1; F++) {
            const R = g(T, P);
            E.assert(R.pos <= P);
            const B = R.pos;
            P = Math.max(0, B - 1);
          }
          const A = Dc(P, Yo(k.span)), O = k.newLength + (k.span.start - P);
          return KP(A, O);
        }
        function g(T, k) {
          let D = T, P;
          if (Ts(T, O), P) {
            const F = A(P);
            F.pos > D.pos && (D = F);
          }
          return D;
          function A(F) {
            for (; ; ) {
              const R = mJ(F);
              if (R)
                F = R;
              else
                return F;
            }
          }
          function O(F) {
            if (!ac(F))
              if (F.pos <= k) {
                if (F.pos >= D.pos && (D = F), k < F.end)
                  return Ts(F, O), true;
                E.assert(F.end <= k), P = F;
              } else
                return E.assert(F.pos > k), true;
          }
        }
        function m(T, k, D, P) {
          const A = T.text;
          if (D && (E.assert(A.length - D.span.length + D.newLength === k.length), P || E.shouldAssert(
            3
            /* VeryAggressive */
          ))) {
            const O = A.substr(0, D.span.start), F = k.substr(0, D.span.start);
            E.assert(O === F);
            const R = A.substring(Yo(D.span), A.length), B = k.substring(Yo(g4(D)), k.length);
            E.assert(R === B);
          }
        }
        function h(T) {
          let k = T.statements, D = 0;
          E.assert(D < k.length);
          let P = k[D], A = -1;
          return {
            currentNode(F) {
              return F !== A && (P && P.end === F && D < k.length - 1 && (D++, P = k[D]), (!P || P.pos !== F) && O(F)), A = F, E.assert(!P || P.pos === F), P;
            }
          };
          function O(F) {
            k = void 0, D = -1, P = void 0, Ts(T, R, B);
            return;
            function R(U) {
              return F >= U.pos && F < U.end ? (Ts(U, R, B), true) : false;
            }
            function B(U) {
              if (F >= U.pos && F < U.end)
                for (let $ = 0; $ < U.length; $++) {
                  const W = U[$];
                  if (W) {
                    if (W.pos === F)
                      return k = U, D = $, P = W, true;
                    if (W.pos < F && F < W.end)
                      return Ts(W, R, B), true;
                  }
                }
              return false;
            }
          }
        }
        e.createSyntaxCursor = h;
        let S;
        ((T) => {
          T[T.Value = -1] = "Value";
        })(S || (S = {}));
      })(Wz || (Wz = {}));
      function wl(e) {
        return VF(e) !== void 0;
      }
      function VF(e) {
        const t = GT(
          e,
          eF,
          /*ignoreCase*/
          false
        );
        if (t)
          return t;
        if (Ho(
          e,
          ".ts"
          /* Ts */
        )) {
          const n = Xc(e), i = n.lastIndexOf(".d.");
          if (i >= 0)
            return n.substring(i);
        }
      }
      function HLe(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 Uz(e, t) {
        const n = [];
        for (const i of Sg(t, 0) || Ge) {
          const s = t.substring(i.pos, i.end);
          QLe(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 Vz(e, t) {
        e.checkJsDirective = void 0, e.referencedFiles = [], e.typeReferenceDirectives = [], e.libReferenceDirectives = [], e.amdDependencies = [], e.hasNoDefaultLib = false, e.pragmas.forEach((n, i) => {
          switch (i) {
            case "reference": {
              const s = e.referencedFiles, o = e.typeReferenceDirectives, c = e.libReferenceDirectives;
              lr(UT(n), (_) => {
                const { types: u, lib: g, path: m, ["resolution-mode"]: h, preserve: S } = _.arguments, T = S === "true" ? true : void 0;
                if (_.arguments["no-default-lib"] === "true")
                  e.hasNoDefaultLib = true;
                else if (u) {
                  const k = HLe(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 = hr(
                UT(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": {
              lr(UT(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 Tre = /* @__PURE__ */ new Map();
      function GLe(e) {
        if (Tre.has(e))
          return Tre.get(e);
        const t = new RegExp(`(\\s${e}\\s*=\\s*)(?:(?:'([^']*)')|(?:"([^"]*)"))`, "im");
        return Tre.set(e, t), t;
      }
      var $Le = /^\/\/\/\s*<(\S+)\s.*?\/>/m, XLe = /^\/\/\/?\s*@([^\s:]+)((?:[^\S\r\n]|:).*)?$/m;
      function QLe(e, t, n) {
        const i = t.kind === 2 && $Le.exec(n);
        if (i) {
          const o = i[1].toLowerCase(), c = n7[o];
          if (!c || !(c.kind & 1))
            return;
          if (c.args) {
            const _ = {};
            for (const u of c.args) {
              const m = GLe(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 && XLe.exec(n);
        if (s)
          return Q0e(e, t, 2, s);
        if (t.kind === 3) {
          const o = /@(\S+)(\s+(?:\S.*)?)?$/gm;
          let c;
          for (; c = o.exec(n); )
            Q0e(e, t, 4, c);
        }
      }
      function Q0e(e, t, n, i) {
        if (!i) return;
        const s = i[1].toLowerCase(), o = n7[s];
        if (!o || !(o.kind & n))
          return;
        const c = i[2], _ = YLe(o, c);
        _ !== "fail" && e.push({ name: s, args: { arguments: _, range: t } });
      }
      function YLe(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 lv(e, t) {
        return e.kind !== t.kind ? false : e.kind === 80 ? e.escapedText === t.escapedText : e.kind === 110 ? true : e.kind === 296 ? e.namespace.escapedText === t.namespace.escapedText && e.name.escapedText === t.name.escapedText : e.name.escapedText === t.name.escapedText && lv(e.expression, t.expression);
      }
      var xre = {
        name: "compileOnSave",
        type: "boolean",
        defaultValueDescription: false
      }, Y0e = new Map(Object.entries({
        preserve: 1,
        "react-native": 3,
        "react-jsx": 4,
        "react-jsxdev": 5,
        react: 2
        /* React */
      })), YN = new Map(XE(Y0e.entries(), ([e, t]) => ["" + t, e])), Z0e = [
        // 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"],
        ["esnext.error", "lib.esnext.error.d.ts"],
        ["esnext.sharedmemory", "lib.esnext.sharedmemory.d.ts"],
        ["decorators", "lib.decorators.d.ts"],
        ["decorators.legacy", "lib.decorators.legacy.d.ts"]
      ], qF = Z0e.map((e) => e[0]), qz = new Map(Z0e), Xx = [
        {
          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: false
        },
        {
          name: "excludeDirectories",
          type: "list",
          element: {
            name: "excludeDirectory",
            type: "string",
            isFilePath: true,
            extraValidation: Ure
          },
          allowConfigDirTemplateSubstitution: true,
          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: true,
            extraValidation: Ure
          },
          allowConfigDirTemplateSubstitution: true,
          category: p.Watch_and_Build_Modes,
          description: p.Remove_a_list_of_files_from_the_watch_mode_s_processing
        }
      ], HF = [
        {
          name: "help",
          shortName: "h",
          type: "boolean",
          showInSimplifiedHelpView: true,
          isCommandLineOnly: true,
          category: p.Command_line_Options,
          description: p.Print_this_message,
          defaultValueDescription: false
        },
        {
          name: "help",
          shortName: "?",
          type: "boolean",
          isCommandLineOnly: true,
          category: p.Command_line_Options,
          defaultValueDescription: false
        },
        {
          name: "watch",
          shortName: "w",
          type: "boolean",
          showInSimplifiedHelpView: true,
          isCommandLineOnly: true,
          category: p.Command_line_Options,
          description: p.Watch_input_files,
          defaultValueDescription: false
        },
        {
          name: "preserveWatchOutput",
          type: "boolean",
          showInSimplifiedHelpView: false,
          category: p.Output_Formatting,
          description: p.Disable_wiping_the_console_in_watch_mode,
          defaultValueDescription: false
        },
        {
          name: "listFiles",
          type: "boolean",
          category: p.Compiler_Diagnostics,
          description: p.Print_all_of_the_files_read_during_the_compilation,
          defaultValueDescription: false
        },
        {
          name: "explainFiles",
          type: "boolean",
          category: p.Compiler_Diagnostics,
          description: p.Print_files_read_during_the_compilation_including_why_it_was_included,
          defaultValueDescription: false
        },
        {
          name: "listEmittedFiles",
          type: "boolean",
          category: p.Compiler_Diagnostics,
          description: p.Print_the_names_of_emitted_files_after_a_compilation,
          defaultValueDescription: false
        },
        {
          name: "pretty",
          type: "boolean",
          showInSimplifiedHelpView: true,
          category: p.Output_Formatting,
          description: p.Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read,
          defaultValueDescription: true
        },
        {
          name: "traceResolution",
          type: "boolean",
          category: p.Compiler_Diagnostics,
          description: p.Log_paths_used_during_the_moduleResolution_process,
          defaultValueDescription: false
        },
        {
          name: "diagnostics",
          type: "boolean",
          category: p.Compiler_Diagnostics,
          description: p.Output_compiler_performance_information_after_building,
          defaultValueDescription: false
        },
        {
          name: "extendedDiagnostics",
          type: "boolean",
          category: p.Compiler_Diagnostics,
          description: p.Output_more_detailed_compiler_performance_information_after_building,
          defaultValueDescription: false
        },
        {
          name: "generateCpuProfile",
          type: "string",
          isFilePath: true,
          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: true,
          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: true,
          showInSimplifiedHelpView: true,
          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: true,
          showInSimplifiedHelpView: true,
          category: p.Emit,
          defaultValueDescription: false,
          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: true,
          showInSimplifiedHelpView: true,
          category: p.Emit,
          description: p.Only_output_d_ts_files_and_not_JavaScript_files,
          transpileOptionValue: void 0,
          defaultValueDescription: false
        },
        {
          name: "sourceMap",
          type: "boolean",
          // Not setting affectsEmit because we calculate this flag might not affect full emit
          affectsBuildInfo: true,
          showInSimplifiedHelpView: true,
          category: p.Emit,
          defaultValueDescription: false,
          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: true,
          category: p.Emit,
          description: p.Include_sourcemap_files_inside_the_emitted_JavaScript,
          defaultValueDescription: false
        },
        {
          name: "noCheck",
          type: "boolean",
          showInSimplifiedHelpView: false,
          category: p.Compiler_Diagnostics,
          description: p.Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported,
          transpileOptionValue: true,
          defaultValueDescription: false
          // Not setting affectsSemanticDiagnostics or affectsBuildInfo because we dont want all diagnostics to go away, its handled in builder
        },
        {
          name: "noEmit",
          type: "boolean",
          showInSimplifiedHelpView: true,
          category: p.Emit,
          description: p.Disable_emitting_files_from_a_compilation,
          transpileOptionValue: void 0,
          defaultValueDescription: false
        },
        {
          name: "assumeChangesOnlyAffectDirectDependencies",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsEmit: true,
          affectsBuildInfo: true,
          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: false
        },
        {
          name: "locale",
          type: "string",
          category: p.Command_line_Options,
          isCommandLineOnly: true,
          description: p.Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit,
          defaultValueDescription: p.Platform_specific
        }
      ], Hz = {
        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: true,
        affectsModuleResolution: true,
        affectsEmit: true,
        affectsBuildInfo: true,
        deprecatedKeys: /* @__PURE__ */ new Set(["es3"]),
        paramType: p.VERSION,
        showInSimplifiedHelpView: true,
        category: p.Language_and_Environment,
        description: p.Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations,
        defaultValueDescription: 1
        /* ES5 */
      }, kre = {
        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,
          node20: 102,
          nodenext: 199,
          preserve: 200
          /* Preserve */
        })),
        affectsSourceFile: true,
        affectsModuleResolution: true,
        affectsEmit: true,
        affectsBuildInfo: true,
        paramType: p.KIND,
        showInSimplifiedHelpView: true,
        category: p.Modules,
        description: p.Specify_what_module_code_is_generated,
        defaultValueDescription: void 0
      }, K0e = [
        // CommandLine only options
        {
          name: "all",
          type: "boolean",
          showInSimplifiedHelpView: true,
          category: p.Command_line_Options,
          description: p.Show_all_compiler_options,
          defaultValueDescription: false
        },
        {
          name: "version",
          shortName: "v",
          type: "boolean",
          showInSimplifiedHelpView: true,
          category: p.Command_line_Options,
          description: p.Print_the_compiler_s_version,
          defaultValueDescription: false
        },
        {
          name: "init",
          type: "boolean",
          showInSimplifiedHelpView: true,
          category: p.Command_line_Options,
          description: p.Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file,
          defaultValueDescription: false
        },
        {
          name: "project",
          shortName: "p",
          type: "string",
          isFilePath: true,
          showInSimplifiedHelpView: true,
          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: true,
          category: p.Command_line_Options,
          isCommandLineOnly: true,
          description: p.Print_the_final_configuration_instead_of_building,
          defaultValueDescription: false
        },
        {
          name: "listFilesOnly",
          type: "boolean",
          category: p.Command_line_Options,
          isCommandLineOnly: true,
          description: p.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing,
          defaultValueDescription: false
        },
        // Basic
        Hz,
        kre,
        {
          name: "lib",
          type: "list",
          element: {
            name: "lib",
            type: qz,
            defaultValueDescription: void 0
          },
          affectsProgramStructure: true,
          showInSimplifiedHelpView: true,
          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: true,
          affectsBuildInfo: true,
          showInSimplifiedHelpView: true,
          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: false
        },
        {
          name: "checkJs",
          type: "boolean",
          affectsModuleResolution: true,
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          showInSimplifiedHelpView: true,
          category: p.JavaScript_Support,
          description: p.Enable_error_reporting_in_type_checked_JavaScript_files,
          defaultValueDescription: false
        },
        {
          name: "jsx",
          type: Y0e,
          affectsSourceFile: true,
          affectsEmit: true,
          affectsBuildInfo: true,
          affectsModuleResolution: true,
          // 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: true,
          paramType: p.KIND,
          showInSimplifiedHelpView: true,
          category: p.Language_and_Environment,
          description: p.Specify_what_JSX_code_is_generated,
          defaultValueDescription: void 0
        },
        {
          name: "outFile",
          type: "string",
          affectsEmit: true,
          affectsBuildInfo: true,
          affectsDeclarationPath: true,
          isFilePath: true,
          paramType: p.FILE,
          showInSimplifiedHelpView: true,
          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: true,
          affectsBuildInfo: true,
          affectsDeclarationPath: true,
          isFilePath: true,
          paramType: p.DIRECTORY,
          showInSimplifiedHelpView: true,
          category: p.Emit,
          description: p.Specify_an_output_folder_for_all_emitted_files
        },
        {
          name: "rootDir",
          type: "string",
          affectsEmit: true,
          affectsBuildInfo: true,
          affectsDeclarationPath: true,
          isFilePath: true,
          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: true,
          isTSConfigOnly: true,
          category: p.Projects,
          transpileOptionValue: void 0,
          defaultValueDescription: false,
          description: p.Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references
        },
        {
          name: "tsBuildInfoFile",
          type: "string",
          affectsEmit: true,
          affectsBuildInfo: true,
          isFilePath: true,
          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: true,
          affectsBuildInfo: true,
          showInSimplifiedHelpView: true,
          category: p.Emit,
          defaultValueDescription: false,
          description: p.Disable_emitting_comments
        },
        {
          name: "importHelpers",
          type: "boolean",
          affectsEmit: true,
          affectsBuildInfo: true,
          affectsSourceFile: true,
          category: p.Emit,
          description: p.Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file,
          defaultValueDescription: false
        },
        {
          name: "importsNotUsedAsValues",
          type: new Map(Object.entries({
            remove: 0,
            preserve: 1,
            error: 2
            /* Error */
          })),
          affectsEmit: true,
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          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: true,
          affectsBuildInfo: true,
          category: p.Emit,
          description: p.Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration,
          defaultValueDescription: false
        },
        {
          name: "isolatedModules",
          type: "boolean",
          category: p.Interop_Constraints,
          description: p.Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports,
          transpileOptionValue: true,
          defaultValueDescription: false
        },
        {
          name: "verbatimModuleSyntax",
          type: "boolean",
          affectsEmit: true,
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          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: false
        },
        {
          name: "isolatedDeclarations",
          type: "boolean",
          category: p.Interop_Constraints,
          description: p.Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files,
          defaultValueDescription: false,
          affectsBuildInfo: true,
          affectsSemanticDiagnostics: true
        },
        {
          name: "erasableSyntaxOnly",
          type: "boolean",
          category: p.Interop_Constraints,
          description: p.Do_not_allow_runtime_constructs_that_are_not_part_of_ECMAScript,
          defaultValueDescription: false,
          affectsBuildInfo: true,
          affectsSemanticDiagnostics: true
        },
        {
          name: "libReplacement",
          type: "boolean",
          affectsProgramStructure: true,
          category: p.Language_and_Environment,
          description: p.Enable_lib_replacement,
          defaultValueDescription: true
        },
        // 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: true,
          showInSimplifiedHelpView: true,
          category: p.Type_Checking,
          description: p.Enable_all_strict_type_checking_options,
          defaultValueDescription: false
        },
        {
          name: "noImplicitAny",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          strictFlag: true,
          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: true,
          affectsBuildInfo: true,
          strictFlag: true,
          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: true,
          affectsBuildInfo: true,
          strictFlag: true,
          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: true,
          affectsBuildInfo: true,
          strictFlag: true,
          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: true,
          affectsBuildInfo: true,
          strictFlag: true,
          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: true,
          affectsBuildInfo: true,
          strictFlag: true,
          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: true,
          affectsBuildInfo: true,
          strictFlag: true,
          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: true,
          affectsBuildInfo: true,
          strictFlag: true,
          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: true,
          affectsEmit: true,
          affectsBuildInfo: true,
          strictFlag: true,
          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: true,
          affectsBuildInfo: true,
          category: p.Type_Checking,
          description: p.Enable_error_reporting_when_local_variables_aren_t_read,
          defaultValueDescription: false
        },
        {
          name: "noUnusedParameters",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Type_Checking,
          description: p.Raise_an_error_when_a_function_parameter_isn_t_read,
          defaultValueDescription: false
        },
        {
          name: "exactOptionalPropertyTypes",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Type_Checking,
          description: p.Interpret_optional_property_types_as_written_rather_than_adding_undefined,
          defaultValueDescription: false
        },
        {
          name: "noImplicitReturns",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Type_Checking,
          description: p.Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function,
          defaultValueDescription: false
        },
        {
          name: "noFallthroughCasesInSwitch",
          type: "boolean",
          affectsBindDiagnostics: true,
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Type_Checking,
          description: p.Enable_error_reporting_for_fallthrough_cases_in_switch_statements,
          defaultValueDescription: false
        },
        {
          name: "noUncheckedIndexedAccess",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Type_Checking,
          description: p.Add_undefined_to_a_type_when_accessed_using_an_index,
          defaultValueDescription: false
        },
        {
          name: "noImplicitOverride",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Type_Checking,
          description: p.Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier,
          defaultValueDescription: false
        },
        {
          name: "noPropertyAccessFromIndexSignature",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          showInSimplifiedHelpView: false,
          category: p.Type_Checking,
          description: p.Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type,
          defaultValueDescription: false
        },
        // 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: true,
          affectsModuleResolution: true,
          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: true,
          isFilePath: true,
          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: true,
          allowConfigDirTemplateSubstitution: true,
          isTSConfigOnly: true,
          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: true,
          element: {
            name: "rootDirs",
            type: "string",
            isFilePath: true
          },
          affectsModuleResolution: true,
          allowConfigDirTemplateSubstitution: true,
          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: true
          },
          affectsModuleResolution: true,
          allowConfigDirTemplateSubstitution: true,
          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: true,
          showInSimplifiedHelpView: true,
          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: true,
          affectsBuildInfo: true,
          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: true,
          affectsEmit: true,
          affectsBuildInfo: true,
          showInSimplifiedHelpView: true,
          category: p.Interop_Constraints,
          description: p.Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility,
          defaultValueDescription: false
        },
        {
          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: false
        },
        {
          name: "allowUmdGlobalAccess",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Modules,
          description: p.Allow_accessing_UMD_globals_from_modules,
          defaultValueDescription: false
        },
        {
          name: "moduleSuffixes",
          type: "list",
          element: {
            name: "suffix",
            type: "string"
          },
          listPreserveFalsyValues: true,
          affectsModuleResolution: true,
          category: p.Modules,
          description: p.List_of_file_name_suffixes_to_search_when_resolving_a_module
        },
        {
          name: "allowImportingTsExtensions",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Modules,
          description: p.Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set,
          defaultValueDescription: false,
          transpileOptionValue: void 0
        },
        {
          name: "rewriteRelativeImportExtensions",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          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: false
        },
        {
          name: "resolvePackageJsonExports",
          type: "boolean",
          affectsModuleResolution: true,
          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: true,
          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: true,
          category: p.Modules,
          description: p.Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports
        },
        {
          name: "noUncheckedSideEffectImports",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Modules,
          description: p.Check_side_effect_imports,
          defaultValueDescription: false
        },
        // Source Maps
        {
          name: "sourceRoot",
          type: "string",
          affectsEmit: true,
          affectsBuildInfo: true,
          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: true,
          affectsBuildInfo: true,
          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: true,
          affectsBuildInfo: true,
          category: p.Emit,
          description: p.Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript,
          defaultValueDescription: false
        },
        // Experimental
        {
          name: "experimentalDecorators",
          type: "boolean",
          affectsEmit: true,
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Language_and_Environment,
          description: p.Enable_experimental_support_for_legacy_experimental_decorators,
          defaultValueDescription: false
        },
        {
          name: "emitDecoratorMetadata",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsEmit: true,
          affectsBuildInfo: true,
          category: p.Language_and_Environment,
          description: p.Emit_design_type_metadata_for_decorated_declarations_in_source_files,
          defaultValueDescription: false
        },
        // 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: true,
          affectsEmit: true,
          affectsBuildInfo: true,
          affectsModuleResolution: true,
          affectsSourceFile: true,
          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: true,
          category: p.Modules,
          description: p.Enable_importing_json_files,
          defaultValueDescription: false
        },
        {
          name: "allowArbitraryExtensions",
          type: "boolean",
          affectsProgramStructure: true,
          category: p.Modules,
          description: p.Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present,
          defaultValueDescription: false
        },
        {
          name: "out",
          type: "string",
          affectsEmit: true,
          affectsBuildInfo: true,
          affectsDeclarationPath: true,
          isFilePath: false,
          // 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: true,
          affectsBuildInfo: true,
          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: true,
          category: p.Completeness,
          description: p.Skip_type_checking_d_ts_files_that_are_included_with_TypeScript,
          defaultValueDescription: false
        },
        {
          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: true,
          affectsBuildInfo: true,
          category: p.Emit,
          description: p.Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files,
          defaultValueDescription: false
        },
        {
          name: "newLine",
          type: new Map(Object.entries({
            crlf: 0,
            lf: 1
            /* LineFeed */
          })),
          affectsEmit: true,
          affectsBuildInfo: true,
          paramType: p.NEWLINE,
          category: p.Emit,
          description: p.Set_the_newline_character_for_emitting_files,
          defaultValueDescription: "lf"
        },
        {
          name: "noErrorTruncation",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Output_Formatting,
          description: p.Disable_truncating_types_in_error_messages,
          defaultValueDescription: false
        },
        {
          name: "noLib",
          type: "boolean",
          category: p.Language_and_Environment,
          affectsProgramStructure: true,
          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: true,
          defaultValueDescription: false
        },
        {
          name: "noResolve",
          type: "boolean",
          affectsModuleResolution: true,
          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: true,
          defaultValueDescription: false
        },
        {
          name: "stripInternal",
          type: "boolean",
          affectsEmit: true,
          affectsBuildInfo: true,
          category: p.Emit,
          description: p.Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments,
          defaultValueDescription: false
        },
        {
          name: "disableSizeLimit",
          type: "boolean",
          affectsProgramStructure: true,
          category: p.Editor_Support,
          description: p.Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server,
          defaultValueDescription: false
        },
        {
          name: "disableSourceOfProjectReferenceRedirect",
          type: "boolean",
          isTSConfigOnly: true,
          category: p.Projects,
          description: p.Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects,
          defaultValueDescription: false
        },
        {
          name: "disableSolutionSearching",
          type: "boolean",
          isTSConfigOnly: true,
          category: p.Projects,
          description: p.Opt_a_project_out_of_multi_project_reference_checking_when_editing,
          defaultValueDescription: false
        },
        {
          name: "disableReferencedProjectLoad",
          type: "boolean",
          isTSConfigOnly: true,
          category: p.Projects,
          description: p.Reduce_the_number_of_projects_loaded_automatically_by_TypeScript,
          defaultValueDescription: false
        },
        {
          name: "noImplicitUseStrict",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Backwards_Compatibility,
          description: p.Disable_adding_use_strict_directives_in_emitted_JavaScript_files,
          defaultValueDescription: false
        },
        {
          name: "noEmitHelpers",
          type: "boolean",
          affectsEmit: true,
          affectsBuildInfo: true,
          category: p.Emit,
          description: p.Disable_generating_custom_helper_functions_like_extends_in_compiled_output,
          defaultValueDescription: false
        },
        {
          name: "noEmitOnError",
          type: "boolean",
          affectsEmit: true,
          affectsBuildInfo: true,
          category: p.Emit,
          transpileOptionValue: void 0,
          description: p.Disable_emitting_files_if_any_type_checking_errors_are_reported,
          defaultValueDescription: false
        },
        {
          name: "preserveConstEnums",
          type: "boolean",
          affectsEmit: true,
          affectsBuildInfo: true,
          category: p.Emit,
          description: p.Disable_erasing_const_enum_declarations_in_generated_code,
          defaultValueDescription: false
        },
        {
          name: "declarationDir",
          type: "string",
          affectsEmit: true,
          affectsBuildInfo: true,
          affectsDeclarationPath: true,
          isFilePath: true,
          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: true,
          category: p.Completeness,
          description: p.Skip_type_checking_all_d_ts_files,
          defaultValueDescription: false
        },
        {
          name: "allowUnusedLabels",
          type: "boolean",
          affectsBindDiagnostics: true,
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Type_Checking,
          description: p.Disable_error_reporting_for_unused_labels,
          defaultValueDescription: void 0
        },
        {
          name: "allowUnreachableCode",
          type: "boolean",
          affectsBindDiagnostics: true,
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Type_Checking,
          description: p.Disable_error_reporting_for_unreachable_code,
          defaultValueDescription: void 0
        },
        {
          name: "suppressExcessPropertyErrors",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Backwards_Compatibility,
          description: p.Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals,
          defaultValueDescription: false
        },
        {
          name: "suppressImplicitAnyIndexErrors",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsBuildInfo: true,
          category: p.Backwards_Compatibility,
          description: p.Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures,
          defaultValueDescription: false
        },
        {
          name: "forceConsistentCasingInFileNames",
          type: "boolean",
          affectsModuleResolution: true,
          category: p.Interop_Constraints,
          description: p.Ensure_that_casing_is_correct_in_imports,
          defaultValueDescription: true
        },
        {
          name: "maxNodeModuleJsDepth",
          type: "number",
          affectsModuleResolution: true,
          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: true,
          affectsBuildInfo: true,
          category: p.Backwards_Compatibility,
          description: p.Disable_strict_checking_of_generic_signatures_in_function_types,
          defaultValueDescription: false
        },
        {
          name: "useDefineForClassFields",
          type: "boolean",
          affectsSemanticDiagnostics: true,
          affectsEmit: true,
          affectsBuildInfo: true,
          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: true,
          affectsBuildInfo: true,
          category: p.Backwards_Compatibility,
          description: p.Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed,
          defaultValueDescription: false
        },
        {
          name: "keyofStringsOnly",
          type: "boolean",
          category: p.Backwards_Compatibility,
          description: p.Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option,
          defaultValueDescription: false
        },
        {
          // A list of plugins to load in the language service
          name: "plugins",
          type: "list",
          isTSConfigOnly: true,
          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: true,
          affectsModuleResolution: true,
          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
        }
      ], od = [
        ...HF,
        ...K0e
      ], Cre = od.filter((e) => !!e.affectsSemanticDiagnostics), Ere = od.filter((e) => !!e.affectsEmit), Dre = od.filter((e) => !!e.affectsDeclarationPath), Gz = od.filter((e) => !!e.affectsModuleResolution), $z = od.filter((e) => !!e.affectsSourceFile || !!e.affectsBindDiagnostics), wre = od.filter((e) => !!e.affectsProgramStructure), Pre = od.filter((e) => Ya(e, "transpileOptionValue")), ZLe = od.filter(
        (e) => e.allowConfigDirTemplateSubstitution || !e.isCommandLineOnly && e.isFilePath
      ), KLe = Xx.filter(
        (e) => e.allowConfigDirTemplateSubstitution || !e.isCommandLineOnly && e.isFilePath
      ), Nre = od.filter(eMe);
      function eMe(e) {
        return !ms(e.type);
      }
      var DS = {
        name: "build",
        type: "boolean",
        shortName: "b",
        showInSimplifiedHelpView: true,
        category: p.Command_line_Options,
        description: p.Build_one_or_more_projects_and_their_dependencies_if_out_of_date,
        defaultValueDescription: false
      }, Xz = [
        DS,
        {
          name: "verbose",
          shortName: "v",
          category: p.Command_line_Options,
          description: p.Enable_verbose_logging,
          type: "boolean",
          defaultValueDescription: false
        },
        {
          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: false
        },
        {
          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: false
        },
        {
          name: "clean",
          category: p.Command_line_Options,
          description: p.Delete_the_outputs_of_all_projects,
          type: "boolean",
          defaultValueDescription: false
        },
        {
          name: "stopBuildOnErrors",
          category: p.Command_line_Options,
          description: p.Skip_building_downstream_projects_on_error_in_upstream_project,
          type: "boolean",
          defaultValueDescription: false
        }
      ], ZN = [
        ...HF,
        ...Xz
      ], GF = [
        {
          name: "enable",
          type: "boolean",
          defaultValueDescription: false
        },
        {
          name: "include",
          type: "list",
          element: {
            name: "include",
            type: "string"
          }
        },
        {
          name: "exclude",
          type: "list",
          element: {
            name: "exclude",
            type: "string"
          }
        },
        {
          name: "disableFilenameBasedTypeAcquisition",
          type: "boolean",
          defaultValueDescription: false
        }
      ];
      function $F(e) {
        const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
        return lr(e, (i) => {
          t.set(i.name.toLowerCase(), i), i.shortName && n.set(i.shortName, i.name);
        }), { optionsNameMap: t, shortOptionNames: n };
      }
      var eye;
      function x6() {
        return eye || (eye = $F(od));
      }
      var tMe = {
        diagnostic: p.Compiler_option_0_may_only_be_used_with_build,
        getOptionsNameMap: aye
      }, tye = {
        module: 1,
        target: 3,
        strict: true,
        esModuleInterop: true,
        forceConsistentCasingInFileNames: true,
        skipLibCheck: true
      };
      function Are(e) {
        return rye(e, $o);
      }
      function rye(e, t) {
        const n = ns(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 XF(e, t, n) {
        return Jye(e, (t ?? "").trim(), n);
      }
      function Ire(e, t = "", n) {
        if (t = t.trim(), Ui(t, "-"))
          return;
        if (e.type === "listOrElement" && !t.includes(","))
          return Qx(e, t, n);
        if (t === "")
          return [];
        const i = t.split(",");
        switch (e.element.type) {
          case "number":
            return Fi(i, (s) => Qx(e.element, parseInt(s), n));
          case "string":
            return Fi(i, (s) => Qx(e.element, s || "", n));
          case "boolean":
          case "object":
            return E.fail(`List of ${e.element.type} is not yet supported.`);
          default:
            return Fi(i, (s) => XF(e.element, s, n));
        }
      }
      function nye(e) {
        return e.name;
      }
      function Fre(e, t, n, i, s) {
        var o;
        const c = (o = t.alternateMode) == null ? void 0 : o.getOptionsNameMap().optionsNameMap.get(e.toLowerCase());
        if (c)
          return uv(
            s,
            i,
            c !== DS ? t.alternateMode.diagnostic : p.Option_build_must_be_the_first_command_line_argument,
            e
          );
        const _ = mb(e, t.optionDeclarations, nye);
        return _ ? uv(s, i, t.unknownDidYouMeanDiagnostic, n || e, _.name) : uv(s, i, t.unknownOptionDiagnostic, n || e);
      }
      function Qz(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 = Lre(
                e.getOptionsNameMap,
                S,
                /*allowShort*/
                true
              );
              if (T)
                m = iye(g, m, e, T, i, c);
              else {
                const k = Lre(
                  eW.getOptionsNameMap,
                  S,
                  /*allowShort*/
                  true
                );
                k ? m = iye(g, m, eW, k, s || (s = {}), c) : c.push(Fre(S, e, h));
              }
            } else
              o.push(h);
          }
        }
        function u(g) {
          const m = BD(g, n || ((T) => fl.readFile(T)));
          if (!ms(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 iye(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] = Qx(
            i,
            /*value*/
            false,
            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 && !Ui(c, "-") && t++);
        } else if (!e[t] && i.type !== "boolean" && o.push($o(n.optionTypeMismatchDiagnostic, i.name, tW(i))), e[t] !== "null")
          switch (i.type) {
            case "number":
              s[i.name] = Qx(i, parseInt(e[t]), o), t++;
              break;
            case "boolean":
              const c = e[t];
              s[i.name] = Qx(i, c !== "false", o), (c === "false" || c === "true") && t++;
              break;
            case "string":
              s[i.name] = Qx(i, e[t] || "", o), t++;
              break;
            case "list":
              const _ = Ire(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] = XF(i, e[t], o), t++;
              break;
          }
        else
          s[i.name] = void 0, t++;
        return t;
      }
      var QF = {
        alternateMode: tMe,
        getOptionsNameMap: x6,
        optionDeclarations: od,
        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 Ore(e, t) {
        return Qz(QF, e, t);
      }
      function Yz(e, t) {
        return Lre(x6, e, t);
      }
      function Lre(e, t, n = false) {
        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 sye;
      function aye() {
        return sye || (sye = $F(ZN));
      }
      var rMe = {
        diagnostic: p.Compiler_option_0_may_not_be_used_with_build,
        getOptionsNameMap: x6
      }, nMe = {
        alternateMode: rMe,
        getOptionsNameMap: aye,
        optionDeclarations: ZN,
        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 Mre(e) {
        const { options: t, watchOptions: n, fileNames: i, errors: s } = Qz(
          nMe,
          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 x_(e, ...t) {
        return Ws($o(e, ...t).messageText, ms);
      }
      function KN(e, t, n, i, s, o) {
        const c = BD(e, (g) => n.readFile(g));
        if (!ms(c)) {
          n.onUnRecoverableConfigFileDiagnostic(c);
          return;
        }
        const _ = QN(e, c), u = n.getCurrentDirectory();
        return _.path = io(e, u, $l(n.useCaseSensitiveFileNames)), _.resolvedPath = _.path, _.originalFileName = _.fileName, r8(
          _,
          n,
          Qi(Hn(e), u),
          t,
          Qi(e, u),
          /*resolutionStack*/
          void 0,
          o,
          i,
          s
        );
      }
      function e8(e, t) {
        const n = BD(e, t);
        return ms(n) ? Zz(e, n) : { config: {}, error: n };
      }
      function Zz(e, t) {
        const n = QN(e, t);
        return {
          config: vye(
            n,
            n.parseDiagnostics,
            /*jsonConversionNotifier*/
            void 0
          ),
          error: n.parseDiagnostics.length ? n.parseDiagnostics[0] : void 0
        };
      }
      function Rre(e, t) {
        const n = BD(e, t);
        return ms(n) ? QN(e, n) : { fileName: e, parseDiagnostics: [n] };
      }
      function BD(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 Kz(e) {
        return fC(e, nye);
      }
      var oye = {
        optionDeclarations: GF,
        unknownOptionDiagnostic: p.Unknown_type_acquisition_option_0,
        unknownDidYouMeanDiagnostic: p.Unknown_type_acquisition_option_0_Did_you_mean_1
      }, cye;
      function lye() {
        return cye || (cye = $F(Xx));
      }
      var eW = {
        getOptionsNameMap: lye,
        optionDeclarations: Xx,
        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
      }, uye;
      function _ye() {
        return uye || (uye = Kz(od));
      }
      var fye;
      function pye() {
        return fye || (fye = Kz(Xx));
      }
      var dye;
      function mye() {
        return dye || (dye = Kz(GF));
      }
      var YF = {
        name: "extends",
        type: "listOrElement",
        element: {
          name: "extends",
          type: "string"
        },
        category: p.File_Management,
        disallowNullOrUndefined: true
      }, gye = {
        name: "compilerOptions",
        type: "object",
        elementOptions: _ye(),
        extraKeyDiagnostics: QF
      }, hye = {
        name: "watchOptions",
        type: "object",
        elementOptions: pye(),
        extraKeyDiagnostics: eW
      }, yye = {
        name: "typeAcquisition",
        type: "object",
        elementOptions: mye(),
        extraKeyDiagnostics: oye
      }, jre;
      function iMe() {
        return jre === void 0 && (jre = {
          name: void 0,
          // should never be needed since this is root
          type: "object",
          elementOptions: Kz([
            gye,
            hye,
            yye,
            YF,
            {
              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
            },
            xre
          ])
        }), jre;
      }
      function vye(e, t, n) {
        var i;
        const s = (i = e.statements[0]) == null ? void 0 : i.expression;
        if (s && s.kind !== 211) {
          if (t.push(tp(
            e,
            s,
            p.The_root_value_of_a_0_file_must_be_an_object,
            Xc(e.fileName) === "jsconfig.json" ? "jsconfig.json" : "tsconfig.json"
          )), Kl(s)) {
            const o = Nn(s.elements, ua);
            if (o)
              return t8(
                e,
                o,
                t,
                /*returnValue*/
                true,
                n
              );
          }
          return {};
        }
        return t8(
          e,
          s,
          t,
          /*returnValue*/
          true,
          n
        );
      }
      function Bre(e, t) {
        var n;
        return t8(
          e,
          (n = e.statements[0]) == null ? void 0 : n.expression,
          t,
          /*returnValue*/
          true,
          /*jsonConversionNotifier*/
          void 0
        );
      }
      function t8(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 !== 304) {
              n.push(tp(e, T, p.Property_assignment_expected));
              continue;
            }
            T.questionToken && n.push(tp(e, T.questionToken, p.The_0_modifier_can_only_be_used_in_TypeScript_files, "?")), u(T.name) || n.push(tp(e, T.name, p.String_literal_with_double_quotes_expected));
            const k = b3(T.name) ? void 0 : ox(T.name), D = k && Si(k), P = D ? (h = m?.elementOptions) == null ? void 0 : h.get(D) : void 0, A = _(T.initializer, P);
            typeof D < "u" && (i && (S[D] = A), s?.onPropertySet(D, A, T, m, P));
          }
          return S;
        }
        function c(g, m) {
          if (!i) {
            g.forEach((h) => _(h, m));
            return;
          }
          return kn(g.map((h) => _(h, m)), (h) => h !== void 0);
        }
        function _(g, m) {
          switch (g.kind) {
            case 112:
              return true;
            case 97:
              return false;
            case 106:
              return null;
            // eslint-disable-line no-restricted-syntax
            case 11:
              return u(g) || n.push(tp(e, g, p.String_literal_with_double_quotes_expected)), g.text;
            case 9:
              return Number(g.text);
            case 225:
              if (g.operator !== 41 || g.operand.kind !== 9)
                break;
              return -Number(g.operand.text);
            case 211:
              return o(g, m);
            case 210:
              return c(
                g.elements,
                m && m.element
              );
          }
          m ? n.push(tp(e, g, p.Compiler_option_0_requires_a_value_of_type_1, m.name, tW(m))) : n.push(tp(e, g, p.Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal));
        }
        function u(g) {
          return oa(g) && u5(g, e);
        }
      }
      function tW(e) {
        return e.type === "listOrElement" ? `${tW(e.element)} or Array` : e.type === "list" ? "Array" : ms(e.type) ? e.type : "string";
      }
      function bye(e, t) {
        if (e) {
          if (n8(t)) return !e.disallowNullOrUndefined;
          if (e.type === "list")
            return ss(t);
          if (e.type === "listOrElement")
            return ss(t) || bye(e.element, t);
          const n = ms(e.type) ? e.type : "string";
          return typeof t === n;
        }
        return false;
      }
      function rW(e, t, n) {
        var i, s, o;
        const c = $l(n.useCaseSensitiveFileNames), _ = hr(
          kn(
            e.fileNames,
            (s = (i = e.options.configFile) == null ? void 0 : i.configFileSpecs) != null && s.validatedIncludeSpecs ? oMe(
              t,
              e.options.configFile.configFileSpecs.validatedIncludeSpecs,
              e.options.configFile.configFileSpecs.validatedExcludeSpecs,
              n
            ) : fb
          ),
          (k) => vC(Qi(t, n.getCurrentDirectory()), Qi(k, n.getCurrentDirectory()), c)
        ), u = { configFilePath: Qi(t, n.getCurrentDirectory()), useCaseSensitiveFileNames: n.useCaseSensitiveFileNames }, g = nW(e.options, u), m = e.watchOptions && cMe(e.watchOptions), h = {
          compilerOptions: {
            ...ZF(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 && ZF(m),
          references: hr(e.projectReferences, (k) => ({ ...k, path: k.originalPath ? k.originalPath : "", originalPath: void 0 })),
          files: wr(_) ? _ : void 0,
          ...(o = e.options.configFile) != null && o.configFileSpecs ? {
            include: aMe(e.options.configFile.configFileSpecs.validatedIncludeSpecs),
            exclude: e.options.configFile.configFileSpecs.validatedExcludeSpecs
          } : {},
          compileOnSave: e.compileOnSave ? true : void 0
        }, S = new Set(g.keys()), T = {};
        for (const k in aD)
          if (!S.has(k) && sMe(k, S)) {
            const D = aD[k].computeValue(e.options), P = aD[k].computeValue({});
            D !== P && (T[k] = aD[k].computeValue(e.options));
          }
        return B2(h.compilerOptions, ZF(nW(T, u))), h;
      }
      function sMe(e, t) {
        const n = /* @__PURE__ */ new Set();
        return i(e);
        function i(s) {
          var o;
          return Mp(n, s) ? ot((o = aD[s]) == null ? void 0 : o.dependencies, (c) => t.has(c) || i(c)) : false;
        }
      }
      function ZF(e) {
        return Object.fromEntries(e);
      }
      function aMe(e) {
        if (wr(e)) {
          if (wr(e) !== 1) return e;
          if (e[0] !== Cye)
            return e;
        }
      }
      function oMe(e, t, n, i) {
        if (!t) return fb;
        const s = Q5(e, n, t, i.useCaseSensitiveFileNames, i.getCurrentDirectory()), o = s.excludePattern && m0(s.excludePattern, i.useCaseSensitiveFileNames), c = s.includeFilePattern && m0(s.includeFilePattern, i.useCaseSensitiveFileNames);
        return c ? o ? (_) => !(c.test(_) && !o.test(_)) : (_) => !c.test(_) : o ? (_) => o.test(_) : fb;
      }
      function Sye(e) {
        switch (e.type) {
          case "string":
          case "number":
          case "boolean":
          case "object":
            return;
          case "list":
          case "listOrElement":
            return Sye(e.element);
          default:
            return e.type;
        }
      }
      function KF(e, t) {
        return dl(t, (n, i) => {
          if (n === e)
            return i;
        });
      }
      function nW(e, t) {
        return Tye(e, x6(), t);
      }
      function cMe(e) {
        return Tye(e, lye());
      }
      function Tye(e, { optionsNameMap: t }, n) {
        const i = /* @__PURE__ */ new Map(), s = n && $l(n.useCaseSensitiveFileNames);
        for (const o in e)
          if (Ya(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 = Sye(_);
              u ? _.type === "list" ? i.set(o, c.map((g) => KF(g, u))) : i.set(o, KF(c, u)) : n && _.isFilePath ? i.set(o, vC(n.configFilePath, Qi(c, Hn(n.configFilePath)), s)) : n && _.type === "list" && _.element.isFilePath ? i.set(o, c.map((g) => vC(n.configFilePath, Qi(g, Hn(n.configFilePath)), s))) : i.set(o, c);
            }
          }
        return i;
      }
      function Jre(e, t) {
        const n = "  ", i = [], s = Object.keys(e).filter((m) => m !== "init" && m !== "help" && m !== "watch");
        if (i.push("{"), i.push(`${n}// ${bs(p.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file)}`), i.push(`${n}"compilerOptions": {`), c(p.File_Layout), _("rootDir", "./src", "optional"), _("outDir", "./dist", "optional"), o(), c(p.Environment_Settings), c(p.See_also_https_Colon_Slash_Slashaka_ms_Slashtsconfig_Slashmodule), _(
          "module",
          199
          /* NodeNext */
        ), _(
          "target",
          99
          /* ESNext */
        ), _("types", []), e.lib && _("lib", e.lib), c(p.For_nodejs_Colon), i.push(`${n}${n}// "lib": ["esnext"],`), i.push(`${n}${n}// "types": ["node"],`), c(p.and_npm_install_D_types_Slashnode), o(), c(p.Other_Outputs), _(
          "sourceMap",
          /*defaultValue*/
          true
        ), _(
          "declaration",
          /*defaultValue*/
          true
        ), _(
          "declarationMap",
          /*defaultValue*/
          true
        ), o(), c(p.Stricter_Typechecking_Options), _(
          "noUncheckedIndexedAccess",
          /*defaultValue*/
          true
        ), _(
          "exactOptionalPropertyTypes",
          /*defaultValue*/
          true
        ), o(), c(p.Style_Options), _(
          "noImplicitReturns",
          /*defaultValue*/
          true,
          "optional"
        ), _(
          "noImplicitOverride",
          /*defaultValue*/
          true,
          "optional"
        ), _(
          "noUnusedLocals",
          /*defaultValue*/
          true,
          "optional"
        ), _(
          "noUnusedParameters",
          /*defaultValue*/
          true,
          "optional"
        ), _(
          "noFallthroughCasesInSwitch",
          /*defaultValue*/
          true,
          "optional"
        ), _(
          "noPropertyAccessFromIndexSignature",
          /*defaultValue*/
          true,
          "optional"
        ), o(), c(p.Recommended_Options), _(
          "strict",
          /*defaultValue*/
          true
        ), _(
          "jsx",
          4
          /* ReactJSX */
        ), _(
          "verbatimModuleSyntax",
          /*defaultValue*/
          true
        ), _(
          "isolatedModules",
          /*defaultValue*/
          true
        ), _(
          "noUncheckedSideEffectImports",
          /*defaultValue*/
          true
        ), _(
          "moduleDetection",
          3
          /* Force */
        ), _(
          "skipLibCheck",
          /*defaultValue*/
          true
        ), s.length > 0)
          for (o(); s.length > 0; )
            _(s[0], e[s[0]]);
        function o() {
          i.push("");
        }
        function c(m) {
          i.push(`${n}${n}// ${bs(m)}`);
        }
        function _(m, h, S = "never") {
          const T = s.indexOf(m);
          T >= 0 && s.splice(T, 1);
          let k;
          S === "always" ? k = true : S === "never" ? k = false : k = !Ya(e, m);
          const D = e[m] ?? h;
          k ? i.push(`${n}${n}// "${m}": ${u(m, D)},`) : i.push(`${n}${n}"${m}": ${u(m, D)},`);
        }
        function u(m, h) {
          const S = od.filter((k) => k.name === m)[0];
          S || E.fail(`No option named ${m}?`);
          const T = S.type instanceof Map ? S.type : void 0;
          if (ss(h)) {
            const k = "element" in S && S.element.type instanceof Map ? S.element.type : void 0;
            return `[${h.map((D) => g(D, k)).join(", ")}]`;
          } else
            return g(h, T);
        }
        function g(m, h) {
          return h && (m = KF(m, h) ?? E.fail(`No matching value of ${m}`)), JSON.stringify(m);
        }
        return i.push(`${n}}`), i.push("}"), i.push(""), i.join(t);
      }
      function eO(e, t) {
        const n = {}, i = x6().optionsNameMap;
        for (const s in e)
          Ya(e, s) && (n[s] = lMe(
            i.get(s.toLowerCase()),
            e[s],
            t
          ));
        return n.configFilePath && (n.configFilePath = t(n.configFilePath)), n;
      }
      function lMe(e, t, n) {
        if (e && !n8(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 xye(e, t, n, i, s, o, c, _, u) {
        return Eye(
          e,
          /*sourceFile*/
          void 0,
          t,
          n,
          i,
          u,
          s,
          o,
          c,
          _
        );
      }
      function r8(e, t, n, i, s, o, c, _, u) {
        var g, m;
        (g = on) == null || g.push(on.Phase.Parse, "parseJsonSourceFileConfigFileContent", { path: e.fileName });
        const h = Eye(
          /*json*/
          void 0,
          e,
          t,
          n,
          i,
          u,
          s,
          o,
          c,
          _
        );
        return (m = on) == null || m.pop(), h;
      }
      function iW(e, t) {
        t && Object.defineProperty(e, "configFile", { enumerable: false, writable: false, value: t });
      }
      function n8(e) {
        return e == null;
      }
      function kye(e, t) {
        return Hn(Qi(e, t));
      }
      var Cye = "**/*";
      function Eye(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 = Iye(e, t, n, i, c, _, m, g), { raw: S } = h, T = Dye(
          OR(s, h.options || {}),
          ZLe,
          i
        ), k = tO(
          o && h.watchOptions ? OR(o, h.watchOptions) : h.watchOptions || o,
          i
        );
        T.configFilePath = c && Rl(c);
        const D = qs(c ? kye(c, i) : i), P = A();
        return t && (t.configFileSpecs = P), iW(T, t), {
          options: T,
          watchOptions: k,
          fileNames: O(D),
          projectReferences: F(D),
          typeAcquisition: h.typeAcquisition || oW(),
          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: SMe(P, D, n.useCaseSensitiveFileNames),
          compileOnSave: !!S.compileOnSave
        };
        function A() {
          const W = U("references", (me) => typeof me == "object", "object"), _e = R(B("files"));
          if (_e) {
            const me = W === "no-prop" || ss(W) && W.length === 0, Z = Ya(S, "extends");
            if (_e.length === 0 && me && !Z)
              if (t) {
                const pe = c || "tsconfig.json", Te = p.The_files_list_in_config_file_0_is_empty, Fe = E3(t, "files", (ne) => ne.initializer), Ye = uv(t, Fe, Te, pe);
                m.push(Ye);
              } else
                $(p.The_files_list_in_config_file_0_is_empty, c || "tsconfig.json");
          }
          let K = R(B("include"));
          const V = B("exclude");
          let ae = false, se = R(V);
          if (V === "no-prop") {
            const me = T.outDir, Z = T.declarationDir;
            (me || Z) && (se = kn([me, Z], (pe) => !!pe));
          }
          _e === void 0 && K === void 0 && (K = [Cye], ae = true);
          let ce, fe, he, q;
          K && (ce = Uye(
            K,
            m,
            /*disallowTrailingRecursion*/
            true,
            t,
            "include"
          ), he = rO(
            ce,
            D
          ) || ce), se && (fe = Uye(
            se,
            m,
            /*disallowTrailingRecursion*/
            false,
            t,
            "exclude"
          ), q = rO(
            fe,
            D
          ) || fe);
          const be = kn(_e, ms), je = rO(
            be,
            D
          ) || be;
          return {
            filesSpecs: _e,
            includeSpecs: K,
            excludeSpecs: se,
            validatedFilesSpec: je,
            validatedIncludeSpecs: he,
            validatedExcludeSpecs: q,
            validatedFilesSpecBeforeSubstitution: be,
            validatedIncludeSpecsBeforeSubstitution: ce,
            validatedExcludeSpecsBeforeSubstitution: fe,
            isDefaultIncludeSpec: ae
          };
        }
        function O(W) {
          const _e = JD(P, W, T, n, u);
          return Aye(_e, i8(S), _) && m.push(Nye(P, c)), _e;
        }
        function F(W) {
          let _e;
          const K = U("references", (V) => typeof V == "object", "object");
          if (ss(K))
            for (const V of K)
              typeof V.path != "string" ? $(p.Compiler_option_0_requires_a_value_of_type_1, "reference.path", "string") : (_e || (_e = [])).push({
                path: Qi(V.path, W),
                originalPath: V.path,
                prepend: V.prepend,
                circular: V.circular
              });
          return _e;
        }
        function R(W) {
          return ss(W) ? W : void 0;
        }
        function B(W) {
          return U(W, ms, "string");
        }
        function U(W, _e, K) {
          if (Ya(S, W) && !n8(S[W]))
            if (ss(S[W])) {
              const V = S[W];
              return !t && !Ni(V, _e) && m.push($o(p.Compiler_option_0_requires_a_value_of_type_1, W, K)), V;
            } else
              return $(p.Compiler_option_0_requires_a_value_of_type_1, W, "Array"), "not-array";
          return "no-prop";
        }
        function $(W, ..._e) {
          t || m.push($o(W, ..._e));
        }
      }
      function tO(e, t) {
        return Dye(e, KLe, t);
      }
      function Dye(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), sW(c) && s(o, Pye(c, n));
                break;
              case "list":
                E.assert(o.element.isFilePath);
                const _ = rO(c, n);
                _ && s(o, _);
                break;
              case "object":
                E.assert(o.name === "paths");
                const u = uMe(c, n);
                u && s(o, u);
                break;
              default:
                E.fail("option type not supported");
            }
          }
        return i || e;
        function s(o, c) {
          (i ?? (i = B2({}, e)))[o.name] = c;
        }
      }
      var wye = "${configDir}";
      function sW(e) {
        return ms(e) && Ui(
          e,
          wye,
          /*ignoreCase*/
          true
        );
      }
      function Pye(e, t) {
        return Qi(e.replace(wye, "./"), t);
      }
      function rO(e, t) {
        if (!e) return e;
        let n;
        return e.forEach((i, s) => {
          sW(i) && ((n ?? (n = e.slice()))[s] = Pye(i, t));
        }), n;
      }
      function uMe(e, t) {
        let n;
        return Zd(e).forEach((s) => {
          if (!ss(e[s])) return;
          const o = rO(e[s], t);
          o && ((n ?? (n = B2({}, e)))[s] = o);
        }), n;
      }
      function _Me(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 Nye({ 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 Aye(e, t, n) {
        return e.length === 0 && t && (!n || n.length === 0);
      }
      function aW(e) {
        return !e.fileNames.length && Ya(e.raw, "references");
      }
      function i8(e) {
        return !Ya(e, "files") && !Ya(e, "references");
      }
      function nO(e, t, n, i, s) {
        const o = i.length;
        return Aye(e, s) ? i.push(Nye(n, t)) : TR(i, (c) => !_Me(c)), o !== i.length;
      }
      function fMe(e) {
        return !!e.options;
      }
      function Iye(e, t, n, i, s, o, c, _) {
        var u;
        i = Rl(i);
        const g = Qi(s || "", i);
        if (o.includes(g))
          return c.push($o(p.Circularity_detected_while_resolving_configuration_Colon_0, [...o, g].join(" -> "))), { raw: e || Bre(t, c) };
        const m = e ? pMe(e, n, i, s, c) : dMe(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: {} };
          ms(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 = ns(T.extendedSourceFiles.keys())), m.options = B2(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 = mMe(t, k, n, o, c, _, T);
          if (D && fMe(D)) {
            const P = D.raw;
            let A;
            const O = (F) => {
              m.raw[F] || P[F] && (T[F] = hr(P[F], (R) => sW(R) || $_(R) ? R : On(
                A || (A = l4(Hn(k), i, $l(n.useCaseSensitiveFileNames))),
                R
              )));
            };
            O("include"), O("exclude"), O("files"), P.compileOnSave !== void 0 && (T.compileOnSave = P.compileOnSave), B2(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 ? B2(T.watchOptions, k) : (T.watchOptionsCopied = true, B2({}, T.watchOptions, k));
        }
      }
      function pMe(e, t, n, i, s) {
        Ya(e, "excludes") && s.push($o(p.Unknown_option_excludes_Did_you_mean_exclude));
        const o = jye(e.compilerOptions, n, s, i), c = Bye(e.typeAcquisition, n, s, i), _ = hMe(e.watchOptions, n, s);
        e.compileOnSave = gMe(e, n, s);
        const u = e.extends || e.extends === "" ? Fye(e.extends, t, n, i, s) : void 0;
        return { raw: e, options: o, watchOptions: _, typeAcquisition: c, extendedConfigPath: u };
      }
      function Fye(e, t, n, i, s, o, c, _) {
        let u;
        const g = i ? kye(i, n) : n;
        if (ms(e))
          u = Oye(
            e,
            t,
            g,
            s,
            c,
            _
          );
        else if (ss(e)) {
          u = [];
          for (let m = 0; m < e.length; m++) {
            const h = e[m];
            ms(h) ? u = Er(
              u,
              Oye(
                h,
                t,
                g,
                s,
                c?.elements[m],
                _
              )
            ) : wS(YF.element, e, n, s, o, c?.elements[m], _);
          }
        } else
          wS(YF, e, n, s, o, c, _);
        return u;
      }
      function dMe(e, t, n, i, s) {
        const o = Rye(i);
        let c, _, u, g;
        const m = iMe(), h = vye(
          e,
          s,
          { rootOptions: m, onPropertySet: S }
        );
        return c || (c = oW(i)), g && h && h.compilerOptions === void 0 && s.push(tp(e, g[0], p._0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file, ox(g[0]))), { raw: h, options: o, watchOptions: _, typeAcquisition: c, extendedConfigPath: u };
        function S(T, k, D, P, A) {
          if (A && A !== YF && (k = wS(A, k, n, s, D, D.initializer, e)), P?.name)
            if (A) {
              let O;
              P === gye ? O = o : P === hye ? O = _ ?? (_ = {}) : P === yye ? O = c ?? (c = oW(i)) : E.fail("Unknown option"), O[A.name] = k;
            } else T && P?.extraKeyDiagnostics && (P.elementOptions ? s.push(Fre(
              T,
              P.extraKeyDiagnostics,
              /*unknownOptionErrorText*/
              void 0,
              D.name,
              e
            )) : s.push(tp(e, D.name, P.extraKeyDiagnostics.unknownOptionDiagnostic, T)));
          else P === m && (A === YF ? u = Fye(k, t, n, i, s, D, D.initializer, e) : A || (T === "excludes" && s.push(tp(e, D.name, p.Unknown_option_excludes_Did_you_mean_exclude)), Nn(K0e, (O) => O.name === T) && (g = Er(g, D.name))));
        }
      }
      function Oye(e, t, n, i, s, o) {
        if (e = Rl(e), $_(e) || Ui(e, "./") || Ui(e, "../")) {
          let _ = Qi(e, n);
          if (!t.fileExists(_) && !Co(
            _,
            ".json"
            /* Json */
          ) && (_ = `${_}.json`, !t.fileExists(_))) {
            i.push(uv(o, s, p.File_0_not_found, e));
            return;
          }
          return _;
        }
        const c = sne(e, On(n, "tsconfig.json"), t);
        if (c.resolvedModule)
          return c.resolvedModule.resolvedFileName;
        e === "" ? i.push(uv(o, s, p.Compiler_option_0_cannot_be_given_an_empty_string, "extends")) : i.push(uv(o, s, p.File_0_not_found, e));
      }
      function mMe(e, t, n, i, s, o, c) {
        const _ = n.useCaseSensitiveFileNames ? t : uy(t);
        let u, g, m;
        if (o && (u = o.get(_)) ? { extendedResult: g, extendedConfig: m } = u : (g = Rre(t, (h) => n.readFile(h)), g.parseDiagnostics.length || (m = Iye(
          /*json*/
          void 0,
          g,
          n,
          Hn(t),
          Xc(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 gMe(e, t, n) {
        if (!Ya(e, xre.name))
          return false;
        const i = wS(xre, e.compileOnSave, t, n);
        return typeof i == "boolean" && i;
      }
      function Lye(e, t, n) {
        const i = [];
        return { options: jye(e, t, i, n), errors: i };
      }
      function Mye(e, t, n) {
        const i = [];
        return { options: Bye(e, t, i, n), errors: i };
      }
      function Rye(e) {
        return e && Xc(e) === "jsconfig.json" ? { allowJs: true, maxNodeModuleJsDepth: 2, allowSyntheticDefaultImports: true, skipLibCheck: true, noEmit: true } : {};
      }
      function jye(e, t, n, i) {
        const s = Rye(i);
        return zre(_ye(), e, t, s, QF, n), i && (s.configFilePath = Rl(i)), s;
      }
      function oW(e) {
        return { enable: !!e && Xc(e) === "jsconfig.json", include: [], exclude: [] };
      }
      function Bye(e, t, n, i) {
        const s = oW(i);
        return zre(mye(), e, t, s, oye, n), s;
      }
      function hMe(e, t, n) {
        return zre(
          pye(),
          e,
          t,
          /*defaultOptions*/
          void 0,
          eW,
          n
        );
      }
      function zre(e, t, n, i, s, o) {
        if (t) {
          for (const c in t) {
            const _ = e.get(c);
            _ ? (i || (i = {}))[_.name] = wS(_, t[c], n, o) : o.push(Fre(c, s));
          }
          return i;
        }
      }
      function uv(e, t, n, ...i) {
        return e && t ? tp(e, t, n, ...i) : $o(n, ...i);
      }
      function wS(e, t, n, i, s, o, c) {
        if (e.isCommandLineOnly) {
          i.push(uv(c, s?.name, p.Option_0_can_only_be_specified_on_command_line, e.name));
          return;
        }
        if (bye(e, t)) {
          const _ = e.type;
          if (_ === "list" && ss(t))
            return zye(e, t, n, i, s, o, c);
          if (_ === "listOrElement")
            return ss(t) ? zye(e, t, n, i, s, o, c) : wS(e.element, t, n, i, s, o, c);
          if (!ms(e.type))
            return Jye(e, t, i, o, c);
          const u = Qx(e, t, i, o, c);
          return n8(u) ? u : yMe(e, n, u);
        } else
          i.push(uv(c, o, p.Compiler_option_0_requires_a_value_of_type_1, e.name, tW(e)));
      }
      function yMe(e, t, n) {
        return e.isFilePath && (n = Rl(n), n = sW(n) ? n : Qi(n, t), n === "" && (n = ".")), n;
      }
      function Qx(e, t, n, i, s) {
        var o;
        if (n8(t)) return;
        const c = (o = e.extraValidation) == null ? void 0 : o.call(e, t);
        if (!c) return t;
        n.push(uv(s, i, ...c));
      }
      function Jye(e, t, n, i, s) {
        if (n8(t)) return;
        const o = t.toLowerCase(), c = e.type.get(o);
        if (c !== void 0)
          return Qx(e, c, n, i, s);
        n.push(rye(e, (_, ...u) => uv(s, i, _, ...u)));
      }
      function zye(e, t, n, i, s, o, c) {
        return kn(hr(t, (_, u) => wS(e.element, _, n, i, s, o?.elements[u], c)), (_) => e.listPreserveFalsyValues ? true : !!_);
      }
      var vMe = /(?:^|\/)\*\*\/?$/, bMe = /^[^*?]*(?=\/[^/]*[*?])/;
      function JD(e, t, n, i, s = Ge) {
        t = qs(t);
        const o = $l(i.useCaseSensitiveFileNames), c = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map(), { validatedFilesSpec: g, validatedIncludeSpecs: m, validatedExcludeSpecs: h } = e, S = cD(n, s), T = hN(n, S);
        if (g)
          for (const A of g) {
            const O = Qi(A, t);
            c.set(o(O), O);
          }
        let k;
        if (m && m.length > 0)
          for (const A of i.readDirectory(
            t,
            wp(T),
            h,
            m,
            /*depth*/
            void 0
          )) {
            if (Ho(
              A,
              ".json"
              /* Json */
            )) {
              if (!k) {
                const R = m.filter((U) => Co(
                  U,
                  ".json"
                  /* Json */
                )), B = hr($5(R, t, "files"), (U) => `^${U}$`);
                k = B ? B.map((U) => m0(U, i.useCaseSensitiveFileNames)) : Ge;
              }
              if (ic(k, (R) => R.test(A)) !== -1) {
                const R = o(A);
                !c.has(R) && !u.has(R) && u.set(R, A);
              }
              continue;
            }
            if (xMe(A, c, _, S, o))
              continue;
            kMe(A, _, S, o);
            const O = o(A);
            !c.has(O) && !_.has(O) && _.set(O, A);
          }
        const D = ns(c.values()), P = ns(_.values());
        return D.concat(P, ns(u.values()));
      }
      function Wre(e, t, n, i, s) {
        const { validatedFilesSpec: o, validatedIncludeSpecs: c, validatedExcludeSpecs: _ } = t;
        if (!wr(c) || !wr(_)) return false;
        n = qs(n);
        const u = $l(i);
        if (o) {
          for (const g of o)
            if (u(Qi(g, n)) === e) return false;
        }
        return sO(e, _, i, s, n);
      }
      function Wye(e) {
        const t = Ui(e, "**/") ? 0 : e.indexOf("/**/");
        return t === -1 ? false : (Co(e, "/..") ? e.length : e.lastIndexOf("/../")) > t;
      }
      function iO(e, t, n, i) {
        return sO(
          e,
          kn(t, (s) => !Wye(s)),
          n,
          i
        );
      }
      function sO(e, t, n, i, s) {
        const o = oD(t, On(qs(i), s), "exclude"), c = o && m0(o, n);
        return c ? c.test(e) ? true : !yC(e) && c.test(pl(e)) : false;
      }
      function Uye(e, t, n, i, s) {
        return e.filter((c) => {
          if (!ms(c)) return false;
          const _ = Ure(c, n);
          return _ !== void 0 && t.push(o(..._)), _ === void 0;
        });
        function o(c, _) {
          const u = K7(i, s, _);
          return uv(i, u, c, _);
        }
      }
      function Ure(e, t) {
        if (E.assert(typeof e == "string"), t && vMe.test(e))
          return [p.File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, e];
        if (Wye(e))
          return [p.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, e];
      }
      function SMe({ validatedIncludeSpecs: e, validatedExcludeSpecs: t }, n, i) {
        const s = oD(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 = qs(On(n, g));
            if (o && o.test(m))
              continue;
            const h = TMe(m, i);
            if (h) {
              const { key: S, path: T, flags: k } = h, D = _.get(S), P = D !== void 0 ? c[D] : void 0;
              (P === void 0 || P < 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 (Ya(c, g))
              for (const m of u) {
                const h = Vre(g, i);
                h !== m && Kf(m, h, n, !i) && delete c[g];
              }
        }
        return c;
      }
      function Vre(e, t) {
        return t ? e : uy(e);
      }
      function TMe(e, t) {
        const n = bMe.exec(e);
        if (n) {
          const i = e.indexOf("?"), s = e.indexOf("*"), o = e.lastIndexOf(yo);
          return {
            key: Vre(n[0], t),
            path: n[0],
            flags: i !== -1 && i < o || s !== -1 && s < o ? 1 : 0
            /* None */
          };
        }
        if (EJ(e.substring(e.lastIndexOf(yo) + 1))) {
          const i = a0(e);
          return {
            key: Vre(i, t),
            path: i,
            flags: 1
            /* Recursive */
          };
        }
      }
      function xMe(e, t, n, i, s) {
        const o = lr(i, (c) => bc(e, c) ? c : void 0);
        if (!o)
          return false;
        for (const c of o) {
          if (Ho(e, c) && (c !== ".ts" || !Ho(
            e,
            ".d.ts"
            /* Dts */
          )))
            return false;
          const _ = s(g0(e, c));
          if (t.has(_) || n.has(_)) {
            if (c === ".d.ts" && (Ho(
              e,
              ".js"
              /* Js */
            ) || Ho(
              e,
              ".jsx"
              /* Jsx */
            )))
              continue;
            return true;
          }
        }
        return false;
      }
      function kMe(e, t, n, i) {
        const s = lr(n, (o) => bc(e, o) ? o : void 0);
        if (s)
          for (let o = s.length - 1; o >= 0; o--) {
            const c = s[o];
            if (Ho(e, c))
              return;
            const _ = i(g0(e, c));
            t.delete(_);
          }
      }
      function qre(e) {
        const t = {};
        for (const n in e)
          if (Ya(e, n)) {
            const i = Yz(n);
            i !== void 0 && (t[n] = Hre(e[n], i));
          }
        return t;
      }
      function Hre(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 (!ss(e)) return Hre(e, t.element);
          // fall through to list
          case "list":
            const n = t.element;
            return ss(e) ? Fi(e, (i) => Hre(i, n)) : "";
          default:
            return dl(t.type, (i, s) => {
              if (i === e)
                return s;
            });
        }
      }
      function es(e, t, ...n) {
        e.trace(xx(t, ...n));
      }
      function Vy(e, t) {
        return !!e.traceResolution && t.trace !== void 0;
      }
      function Yx(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 + yo.length),
            version: s.version,
            peerDependencies: qMe(e, n)
          });
        }
        return t && { path: t.path, extension: t.ext, packageId: i, resolvedUsingTsExtension: t.resolvedUsingTsExtension };
      }
      function cW(e) {
        return Yx(
          /*packageInfo*/
          void 0,
          e,
          /*state*/
          void 0
        );
      }
      function Vye(e) {
        if (e)
          return E.assert(e.packageId === void 0), { path: e.path, ext: e.extension, resolvedUsingTsExtension: e.resolvedUsingTsExtension };
      }
      function aO(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 CMe(e) {
        const t = [];
        return e & 1 && t.push(...gN), e & 2 && t.push(...e6), e & 4 && t.push(...eF), e & 8 && t.push(
          ".json"
          /* Json */
        ), t;
      }
      function Gre(e) {
        if (e)
          return E.assert(rF(e.extension)), { fileName: e.path, packageId: e.packageId };
      }
      function qye(e, t, n, i, s, o, c, _, u) {
        if (!c.resultFromCache && !c.compilerOptions.preserveSymlinks && t && n && !t.originalPath && !xl(e)) {
          const { resolvedFileName: g, originalPath: m } = $ye(t.path, c.host, c.traceEnabled);
          m && (t = { ...t, path: g, originalPath: m });
        }
        return Hye(
          t,
          n,
          i,
          s,
          o,
          c.resultFromCache,
          _,
          u
        );
      }
      function Hye(e, t, n, i, s, o, c, _) {
        return o ? c?.isReadonly ? {
          ...o,
          failedLookupLocations: $re(o.failedLookupLocations, n),
          affectingLocations: $re(o.affectingLocations, i),
          resolutionDiagnostics: $re(o.resolutionDiagnostics, s)
        } : (o.failedLookupLocations = k6(o.failedLookupLocations, n), o.affectingLocations = k6(o.affectingLocations, i), o.resolutionDiagnostics = k6(o.resolutionDiagnostics, s), o) : {
          resolvedModule: e && {
            resolvedFileName: e.path,
            originalPath: e.originalPath === true ? void 0 : e.originalPath,
            extension: e.extension,
            isExternalLibraryImport: t,
            packageId: e.packageId,
            resolvedUsingTsExtension: !!e.resolvedUsingTsExtension
          },
          failedLookupLocations: zD(n),
          affectingLocations: zD(i),
          resolutionDiagnostics: zD(s),
          alternateResult: _
        };
      }
      function zD(e) {
        return e.length ? e : void 0;
      }
      function k6(e, t) {
        return t?.length ? e?.length ? (e.push(...t), e) : t : e;
      }
      function $re(e, t) {
        return e?.length ? t.length ? [...e, ...t] : e.slice() : zD(t);
      }
      function Xre(e, t, n, i) {
        if (!Ya(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 lW(e, t, n, i) {
        const s = Xre(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 = qs(On(n, s));
        return i.traceEnabled && es(i.host, p.package_json_has_0_field_1_that_references_2, t, s, o), o;
      }
      function EMe(e, t, n) {
        return lW(e, "typings", t, n) || lW(e, "types", t, n);
      }
      function DMe(e, t, n) {
        return lW(e, "tsconfig", t, n);
      }
      function wMe(e, t, n) {
        return lW(e, "main", t, n);
      }
      function PMe(e, t) {
        const n = Xre(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 NMe(e, t) {
        const n = PMe(e, t);
        if (n === void 0) return;
        if (t.traceEnabled)
          for (const c in n)
            Ya(n, c) && !e7.tryParse(c) && es(t.host, p.package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range, c);
        const i = oO(n);
        if (!i) {
          t.traceEnabled && es(t.host, p.package_json_does_not_have_a_typesVersions_entry_that_matches_version_0, $E);
          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 Qre;
      function oO(e) {
        Qre || (Qre = new vd(Qf));
        for (const t in e) {
          if (!Ya(e, t)) continue;
          const n = e7.tryParse(t);
          if (n !== void 0 && n.test(Qre))
            return { version: t, paths: e[t] };
        }
      }
      function WD(e, t) {
        if (e.typeRoots)
          return e.typeRoots;
        let n;
        if (e.configFilePath ? n = Hn(e.configFilePath) : t.getCurrentDirectory && (n = t.getCurrentDirectory()), n !== void 0)
          return AMe(n);
      }
      function AMe(e) {
        let t;
        return u4(qs(e), (n) => {
          const i = On(n, IMe);
          (t ?? (t = [])).push(i);
        }), t;
      }
      var IMe = On("node_modules", "@types");
      function Gye(e, t, n) {
        const i = typeof n.useCaseSensitiveFileNames == "function" ? n.useCaseSensitiveFileNames() : n.useCaseSensitiveFileNames;
        return _h(e, t, !i) === 0;
      }
      function $ye(e, t, n) {
        const i = n1e(e, t, n), s = Gye(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 Xye(e, t, n) {
        const i = Co(e, "/node_modules/@types") || Co(e, "/node_modules/@types/") ? g1e(t, n) : t;
        return On(e, i);
      }
      function Yre(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 _ = Vy(n, i);
        s && (n = s.commandLine.options);
        const u = t ? Hn(t) : void 0;
        let g = u ? o?.getFromDirectoryCache(e, c, u, s) : void 0;
        if (!g && u && !xl(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), B(g)), g;
        const m = WD(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 = Zre(n);
        c !== void 0 && (T |= 30);
        const k = Cu(n);
        c === 99 && 3 <= k && k <= 99 && (T |= 32);
        const D = T & 8 ? qy(n, c) : [], P = [], A = {
          compilerOptions: n,
          host: i,
          traceEnabled: _,
          failedLookupLocations: h,
          affectingLocations: S,
          packageJsonInfoCache: o,
          features: T,
          conditions: D,
          requestContainingDirectory: u,
          reportDiagnostic: (W) => void P.push(W),
          isConfigLookup: false,
          candidateIsFromPackageJsonField: false,
          resolvedPackageDirectory: false
        };
        let O = U(), F = true;
        O || (O = $(), F = false);
        let R;
        if (O) {
          const { fileName: W, packageId: _e } = O;
          let K = W, V;
          n.preserveSymlinks || ({ resolvedFileName: K, originalPath: V } = $ye(W, i, _)), R = {
            primary: F,
            resolvedFileName: K,
            originalPath: V,
            packageId: _e,
            isExternalLibraryImport: Hy(W)
          };
        }
        return g = {
          resolvedTypeReferenceDirective: R,
          failedLookupLocations: zD(h),
          affectingLocations: zD(S),
          resolutionDiagnostics: zD(P)
        }, u && o && !o.isReadonly && (o.getOrCreateCacheForDirectory(u, s).set(
          e,
          /*mode*/
          c,
          g
        ), xl(e) || o.getOrCreateCacheForNonRelativeName(e, c, s).set(u, g)), _ && B(g), g;
        function B(W) {
          var _e;
          (_e = W.resolvedTypeReferenceDirective) != null && _e.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, j1(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 U() {
          if (m && m.length)
            return _ && es(i, p.Resolving_with_primary_search_path_0, m.join(", ")), Ic(m, (W) => {
              const _e = Xye(W, e, A), K = Cd(W, i);
              if (!K && _ && es(i, p.Directory_0_does_not_exist_skipping_all_lookups_in_it, W), n.typeRoots) {
                const V = D6(4, _e, !K, A);
                if (V) {
                  const ae = a8(V.path), se = ae ? NS(
                    ae,
                    /*onlyRecordFailures*/
                    false,
                    A
                  ) : void 0;
                  return Gre(Yx(se, V, A));
                }
              }
              return Gre(
                one(4, _e, !K, A)
              );
            });
          _ && es(i, p.Root_directory_cannot_be_determined_skipping_primary_search_paths);
        }
        function $() {
          const W = t && Hn(t);
          if (W !== void 0) {
            let _e;
            if (!n.typeRoots || !Co(t, sw))
              if (_ && es(i, p.Looking_up_in_node_modules_folder_initial_location_0, W), xl(e)) {
                const { path: K } = r1e(W, e);
                _e = pW(
                  4,
                  K,
                  /*onlyRecordFailures*/
                  false,
                  A,
                  /*considerPackageJson*/
                  true
                );
              } else {
                const K = f1e(
                  4,
                  e,
                  W,
                  A,
                  /*cache*/
                  void 0,
                  /*redirectedReference*/
                  void 0
                );
                _e = K && K.value;
              }
            else _ && es(i, p.Resolving_type_reference_directive_for_program_that_specifies_custom_typeRoots_skipping_lookup_in_node_modules_folder);
            return Gre(_e);
          } else
            _ && es(i, p.Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder);
        }
      }
      function Zre(e) {
        let t = 0;
        switch (Cu(e)) {
          case 3:
            t = 30;
            break;
          case 99:
            t = 30;
            break;
          case 100:
            t = 30;
            break;
        }
        return e.resolvePackageJsonExports ? t |= 8 : e.resolvePackageJsonExports === false && (t &= -9), e.resolvePackageJsonImports ? t |= 2 : e.resolvePackageJsonImports === false && (t &= -3), t;
      }
      function qy(e, t) {
        const n = Cu(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"), Bi(i, e.customConditions);
      }
      function uW(e, t, n, i, s) {
        const o = VD(s?.getPackageJsonInfoCache(), i, n);
        return Qm(i, t, (c) => {
          if (Xc(c) !== "node_modules") {
            const _ = On(c, "node_modules"), u = On(_, e);
            return NS(
              u,
              /*onlyRecordFailures*/
              false,
              o
            );
          }
        });
      }
      function cO(e, t) {
        if (e.types)
          return e.types;
        const n = [];
        if (t.directoryExists && t.getDirectories) {
          const i = WD(e, t);
          if (i) {
            for (const s of i)
              if (t.directoryExists(s))
                for (const o of t.getDirectories(s)) {
                  const c = qs(o), _ = On(s, c, "package.json");
                  if (!(t.fileExists(_) && XC(_, t).typings === null)) {
                    const g = Xc(c);
                    g.charCodeAt(0) !== 46 && n.push(g);
                  }
                }
          }
        }
        return n;
      }
      function lO(e) {
        return !!e?.contents;
      }
      function Kre(e) {
        return !!e && !e.contents;
      }
      function ene(e) {
        var t;
        if (e === null || typeof e != "object")
          return "" + e;
        if (ss(e))
          return `[${(t = e.map((i) => ene(i))) == null ? void 0 : t.join(",")}]`;
        let n = "{";
        for (const i in e)
          Ya(e, i) && (n += `${i}: ${ene(e[i])}`);
        return n + "}";
      }
      function _W(e, t) {
        return t.map((n) => ene(q5(e, n))).join("|") + `|${e.pathsBasePath}`;
      }
      function Qye(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*/
            false
          ) : s;
        }
        function c(h) {
          return h ? u(
            h.commandLine.options,
            /*create*/
            true
          ) : s;
        }
        function _(h) {
          e !== h && (e ? s = u(
            h,
            /*create*/
            true
          ) : 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 = _W(h, Gz)), S;
        }
      }
      function FMe(e, t) {
        let n;
        return { getPackageJsonInfo: i, setPackageJsonInfo: s, clear: o, getInternalMap: c };
        function i(_) {
          return n?.get(io(_, e, t));
        }
        function s(_, u) {
          (n || (n = /* @__PURE__ */ new Map())).set(io(_, e, t), u);
        }
        function o() {
          n = void 0;
        }
        function c() {
          return n;
        }
      }
      function Yye(e, t, n, i) {
        const s = e.getOrCreateMapOfCacheRedirects(t);
        let o = s.get(n);
        return o || (o = i(), s.set(n, o)), o;
      }
      function OMe(e, t, n, i) {
        const s = Qye(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 = io(g, e, t);
          return Yye(s, m, h, () => C6());
        }
        function u(g, m, h, S) {
          var T, k;
          const D = io(h, e, t);
          return (k = (T = s.getMapOfCacheRedirects(S)) == null ? void 0 : T.get(D)) == null ? void 0 : k.get(g, m);
        }
      }
      function UD(e, t) {
        return t === void 0 ? e : `${t}|${e}`;
      }
      function C6() {
        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 = UD(s, o);
          return t.set(c, [s, o]), c;
        }
      }
      function LMe(e) {
        return e.resolvedModule && (e.resolvedModule.originalPath || e.resolvedModule.resolvedFileName);
      }
      function MMe(e) {
        return e.resolvedTypeReferenceDirective && (e.resolvedTypeReferenceDirective.originalPath || e.resolvedTypeReferenceDirective.resolvedFileName);
      }
      function RMe(e, t, n, i, s) {
        const o = Qye(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, P;
          return E.assert(!xl(h)), (P = (D = o.getMapOfCacheRedirects(k)) == null ? void 0 : D.get(UD(h, S))) == null ? void 0 : P.get(T);
        }
        function g(h, S, T) {
          return E.assert(!xl(h)), Yye(o, T, UD(h, S), m);
        }
        function m() {
          const h = /* @__PURE__ */ new Map();
          return { get: S, set: T };
          function S(D) {
            return h.get(io(D, e, t));
          }
          function T(D, P) {
            const A = io(D, e, t);
            if (h.has(A))
              return;
            h.set(A, P);
            const O = i(P), F = O && k(A, O);
            let R = A;
            for (; R !== F; ) {
              const B = Hn(R);
              if (B === R || h.has(B))
                break;
              h.set(B, P), R = B;
            }
          }
          function k(D, P) {
            const A = io(Hn(P), 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] === yo))
              return D;
            const R = bd(D);
            if (O < R)
              return;
            const B = D.lastIndexOf(yo, O - 1);
            if (B !== -1)
              return D.substr(0, Math.max(B, R));
          }
        }
      }
      function Zye(e, t, n, i, s, o) {
        o ?? (o = /* @__PURE__ */ new Map());
        const c = OMe(
          e,
          t,
          n,
          o
        ), _ = RMe(
          e,
          t,
          n,
          s,
          o
        );
        return i ?? (i = FMe(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 E6(e, t, n, i, s) {
        const o = Zye(
          e,
          t,
          n,
          i,
          LMe,
          s
        );
        return o.getOrCreateCacheForModuleName = (c, _, u) => o.getOrCreateCacheForNonRelativeName(c, _, u), o;
      }
      function uO(e, t, n, i, s) {
        return Zye(
          e,
          t,
          n,
          i,
          MMe,
          s
        );
      }
      function fW(e) {
        return { moduleResolution: 2, traceResolution: e.traceResolution };
      }
      function _O(e, t, n, i, s) {
        return PS(e, t, fW(n), i, s);
      }
      function Kye(e, t, n, i) {
        const s = Hn(t);
        return n.getFromDirectoryCache(
          e,
          i,
          s,
          /*redirectedReference*/
          void 0
        );
      }
      function PS(e, t, n, i, s, o, c) {
        const _ = Vy(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 = Hn(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 = Cu(n), _ && es(i, p.Module_resolution_kind_is_not_specified_using_0, gC[m])) : _ && es(i, p.Explicitly_specified_module_resolution_kind_Colon_0, gC[m]), m) {
            case 3:
              g = zMe(e, t, n, i, s, o, c);
              break;
            case 99:
              g = WMe(e, t, n, i, s, o, c);
              break;
            case 2:
              g = ine(e, t, n, i, s, o, c ? qy(n, c) : void 0);
              break;
            case 1:
              g = une(e, t, n, i, s, o);
              break;
            case 100:
              g = nne(e, t, n, i, s, o, c ? qy(n, c) : void 0);
              break;
            default:
              return E.fail(`Unexpected moduleResolution: ${m}`);
          }
          s && !s.isReadonly && (s.getOrCreateCacheForDirectory(u, o).set(e, c, g), xl(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, j1(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 e1e(e, t, n, i, s) {
        const o = jMe(e, t, i, s);
        return o ? o.value : xl(t) ? BMe(e, t, n, i, s) : JMe(e, t, i, s);
      }
      function jMe(e, t, n, i) {
        const { baseUrl: s, paths: o } = i.compilerOptions;
        if (o && !vf(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 = k5(i.compilerOptions, i.host), _ = bN(o);
          return cne(
            e,
            t,
            c,
            o,
            _,
            n,
            /*onlyRecordFailures*/
            false,
            i
          );
        }
      }
      function BMe(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 = qs(On(n, t));
        let c, _;
        for (const u of s.compilerOptions.rootDirs) {
          let g = qs(u);
          Co(g, yo) || (g += yo);
          const m = Ui(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, !Cd(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 = On(qs(m), u);
            s.traceEnabled && es(s.host, p.Loading_0_from_the_root_dir_1_candidate_location_2, u, m, h);
            const S = Hn(h), T = i(e, h, !Cd(S, s.host), s);
            if (T)
              return T;
          }
          s.traceEnabled && es(s.host, p.Module_resolution_using_rootDirs_has_failed);
        }
      }
      function JMe(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 = qs(On(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, !Cd(Hn(o), i.host), i);
      }
      function tne(e, t, n) {
        const { resolvedModule: i, failedLookupLocations: s } = UMe(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 rne = /* @__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))(rne || {});
      function zMe(e, t, n, i, s, o, c) {
        return t1e(
          30,
          e,
          t,
          n,
          i,
          s,
          o,
          c
        );
      }
      function WMe(e, t, n, i, s, o, c) {
        return t1e(
          30,
          e,
          t,
          n,
          i,
          s,
          o,
          c
        );
      }
      function t1e(e, t, n, i, s, o, c, _, u) {
        const g = Hn(n), m = _ === 99 ? 32 : 0;
        let h = i.noDtsResolution ? 3 : 7;
        return Lb(i) && (h |= 8), s8(
          e | m,
          t,
          g,
          i,
          s,
          o,
          h,
          /*isConfigLookup*/
          false,
          c,
          u
        );
      }
      function UMe(e, t, n) {
        return s8(
          0,
          e,
          t,
          { moduleResolution: 2, allowJs: true },
          n,
          /*cache*/
          void 0,
          2,
          /*isConfigLookup*/
          false,
          /*redirectedReference*/
          void 0,
          /*conditions*/
          void 0
        );
      }
      function nne(e, t, n, i, s, o, c) {
        const _ = Hn(t);
        let u = n.noDtsResolution ? 3 : 7;
        return Lb(n) && (u |= 8), s8(
          Zre(n),
          e,
          _,
          n,
          i,
          s,
          u,
          /*isConfigLookup*/
          false,
          o,
          c
        );
      }
      function ine(e, t, n, i, s, o, c, _) {
        let u;
        return _ ? u = 8 : n.noDtsResolution ? (u = 3, Lb(n) && (u |= 8)) : u = Lb(n) ? 15 : 7, s8(c ? 30 : 0, e, Hn(t), n, i, s, u, !!_, o, c);
      }
      function sne(e, t, n) {
        return s8(
          30,
          e,
          Hn(t),
          {
            moduleResolution: 99
            /* NodeNext */
          },
          n,
          /*cache*/
          void 0,
          8,
          /*isConfigLookup*/
          true,
          /*redirectedReference*/
          void 0,
          /*conditions*/
          void 0
        );
      }
      function s8(e, t, n, i, s, o, c, _, u, g) {
        var m, h, S, T, k;
        const D = Vy(i, s), P = [], A = [], O = Cu(i);
        g ?? (g = qy(
          i,
          O === 100 || O === 2 ? void 0 : e & 32 ? 99 : 1
          /* CommonJS */
        ));
        const F = [], R = {
          compilerOptions: i,
          host: s,
          traceEnabled: D,
          failedLookupLocations: P,
          affectingLocations: A,
          packageJsonInfoCache: o,
          features: e,
          conditions: g ?? Ge,
          requestContainingDirectory: n,
          reportDiagnostic: (W) => void F.push(W),
          isConfigLookup: _,
          candidateIsFromPackageJsonField: false,
          resolvedPackageDirectory: false
        };
        D && KC(O) && es(s, p.Resolving_in_0_mode_with_conditions_1, e & 32 ? "ESM" : "CJS", R.conditions.map((W) => `'${W}'`).join(", "));
        let B;
        if (O === 2) {
          const W = c & 5, _e = c & -6;
          B = W && $(W, R) || _e && $(_e, R) || void 0;
        } else
          B = $(c, R);
        let U;
        if (R.resolvedPackageDirectory && !_ && !xl(t)) {
          const W = B?.value && c & 5 && !l1e(5, B.value.resolved.extension);
          if ((m = B?.value) != null && m.isExternalLibraryImport && W && e & 8 && g?.includes("import")) {
            Gy(R, p.Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update);
            const _e = {
              ...R,
              features: R.features & -9,
              reportDiagnostic: Ua
            }, K = $(c & 5, _e);
            (h = K?.value) != null && h.isExternalLibraryImport && (U = K.value.resolved.path);
          } else if ((!B?.value || W) && O === 2) {
            Gy(R, p.Resolution_of_non_relative_name_failed_trying_with_moduleResolution_bundler_to_see_if_project_may_need_configuration_update);
            const _e = {
              ...R.compilerOptions,
              moduleResolution: 100
              /* Bundler */
            }, K = {
              ...R,
              compilerOptions: _e,
              features: 30,
              conditions: qy(_e),
              reportDiagnostic: Ua
            }, V = $(c & 5, K);
            (S = V?.value) != null && S.isExternalLibraryImport && (U = V.value.resolved.path);
          }
        }
        return qye(
          t,
          (T = B?.value) == null ? void 0 : T.resolved,
          (k = B?.value) == null ? void 0 : k.isExternalLibraryImport,
          P,
          A,
          F,
          R,
          o,
          U
        );
        function $(W, _e) {
          const V = e1e(W, t, n, (ae, se, ce, fe) => pW(
            ae,
            se,
            ce,
            fe,
            /*considerPackageJson*/
            true
          ), _e);
          if (V)
            return If({ resolved: V, isExternalLibraryImport: Hy(V.path) });
          if (xl(t)) {
            const { path: ae, parts: se } = r1e(n, t), ce = pW(
              W,
              ae,
              /*onlyRecordFailures*/
              false,
              _e,
              /*considerPackageJson*/
              true
            );
            return ce && If({ resolved: ce, isExternalLibraryImport: ds(se, "node_modules") });
          } else {
            if (e & 2 && Ui(t, "#")) {
              const se = XMe(W, t, n, _e, o, u);
              if (se)
                return se.value && { value: { resolved: se.value, isExternalLibraryImport: false } };
            }
            if (e & 4) {
              const se = $Me(W, t, n, _e, o, u);
              if (se)
                return se.value && { value: { resolved: se.value, isExternalLibraryImport: false } };
            }
            if (t.includes(":")) {
              D && es(s, p.Skipping_module_0_that_looks_like_an_absolute_URI_target_file_types_Colon_1, t, aO(W));
              return;
            }
            D && es(s, p.Loading_module_0_from_node_modules_folder_target_file_types_Colon_1, t, aO(W));
            let ae = f1e(W, t, n, _e, o, u);
            return W & 4 && (ae ?? (ae = y1e(t, _e))), ae && { value: ae.value && { resolved: ae.value, isExternalLibraryImport: true } };
          }
        }
      }
      function r1e(e, t) {
        const n = On(e, t), i = cu(n), s = ko(i);
        return { path: s === "." || s === ".." ? pl(qs(n)) : qs(n), parts: i };
      }
      function n1e(e, t, n) {
        if (!t.realpath)
          return e;
        const i = qs(t.realpath(e));
        return n && es(t, p.Resolving_real_path_for_0_result_1, e, i), i;
      }
      function pW(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, aO(e)), !dy(t)) {
          if (!n) {
            const c = Hn(t);
            Cd(c, i.host) || (i.traceEnabled && es(i.host, p.Directory_0_does_not_exist_skipping_all_lookups_in_it, c), n = true);
          }
          const o = D6(e, t, n, i);
          if (o) {
            const c = s ? a8(o.path) : void 0, _ = c ? NS(
              c,
              /*onlyRecordFailures*/
              false,
              i
            ) : void 0;
            return Yx(_, o, i);
          }
        }
        if (n || Cd(t, i.host) || (i.traceEnabled && es(i.host, p.Directory_0_does_not_exist_skipping_all_lookups_in_it, t), n = true), !(i.features & 32))
          return one(e, t, n, i, s);
      }
      var Jg = "/node_modules/";
      function Hy(e) {
        return e.includes(Jg);
      }
      function a8(e, t) {
        const n = qs(e), i = n.lastIndexOf(Jg);
        if (i === -1)
          return;
        const s = i + Jg.length;
        let o = i1e(n, s, t);
        return n.charCodeAt(s) === 64 && (o = i1e(n, o, t)), n.slice(0, o);
      }
      function i1e(e, t, n) {
        const i = e.indexOf(yo, t + 1);
        return i === -1 ? n ? e.length : t : i;
      }
      function ane(e, t, n, i) {
        return cW(D6(e, t, n, i));
      }
      function D6(e, t, n, i) {
        const s = s1e(e, t, n, i);
        if (s)
          return s;
        if (!(i.features & 32)) {
          const o = a1e(t, e, "", n, i);
          if (o)
            return o;
        }
      }
      function s1e(e, t, n, i) {
        if (!Xc(t).includes("."))
          return;
        let o = Uu(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), a1e(o, e, c, n, i);
      }
      function dW(e, t, n, i, s) {
        if (e & 1 && bc(t, gN) || e & 4 && bc(t, eF)) {
          const o = mW(t, i, s), c = F5(t);
          return o !== void 0 ? { path: t, ext: c, resolvedUsingTsExtension: n ? !Co(n, c) : void 0 } : void 0;
        }
        return s.isConfigLookup && e === 8 && Ho(
          t,
          ".json"
          /* Json */
        ) ? mW(t, i, s) !== void 0 ? { path: t, ext: ".json", resolvedUsingTsExtension: void 0 } : void 0 : s1e(e, t, i, s);
      }
      function a1e(e, t, n, i, s) {
        if (!i) {
          const c = Hn(e);
          c && (i = !Cd(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 && !wl(e + n) && o(`.d${n}.ts`) || void 0;
        }
        function o(c, _) {
          const u = mW(e + c, i, s);
          return u === void 0 ? void 0 : { path: u, ext: c, resolvedUsingTsExtension: !s.candidateIsFromPackageJsonField && _ };
        }
      }
      function mW(e, t, n) {
        var i;
        if (!((i = n.compilerOptions.moduleSuffixes) != null && i.length))
          return o1e(e, t, n);
        const s = Lg(e) ?? "", o = s ? vN(e, s) : e;
        return lr(n.compilerOptions.moduleSuffixes, (c) => o1e(o + c + s, t, n));
      }
      function o1e(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 one(e, t, n, i, s = true) {
        const o = s ? NS(t, n, i) : void 0;
        return Yx(o, hW(e, t, n, i, o), i);
      }
      function gW(e, t, n, i, s) {
        if (!s && e.contents.resolvedEntrypoints !== void 0)
          return e.contents.resolvedEntrypoints;
        let o;
        const c = 5 | (s ? 2 : 0), _ = Zre(t), u = VD(i?.getPackageJsonInfoCache(), n, t);
        u.conditions = qy(t), u.requestContainingDirectory = e.packageDirectory;
        const g = hW(
          c,
          e.packageDirectory,
          /*onlyRecordFailures*/
          false,
          u,
          e
        );
        if (o = Er(o, g?.path), _ & 8 && e.contents.packageJsonContent.exports) {
          const m = _b(
            [qy(
              t,
              99
              /* ESNext */
            ), qy(
              t,
              1
              /* CommonJS */
            )],
            yf
          );
          for (const h of m) {
            const S = { ...u, failedLookupLocations: [], conditions: h, host: n }, T = VMe(
              e,
              e.contents.packageJsonContent.exports,
              S,
              c
            );
            if (T)
              for (const k of T)
                o = lh(o, k.path);
          }
        }
        return e.contents.resolvedEntrypoints = o || false;
      }
      function VMe(e, t, n, i) {
        let s;
        if (ss(t))
          for (const c of t)
            o(c);
        else if (typeof t == "object" && t !== null && pO(t))
          for (const c in t)
            o(t[c]);
        else
          o(t);
        return s;
        function o(c) {
          var _, u;
          if (typeof c == "string" && Ui(c, "./"))
            if (c.includes("*") && n.host.readDirectory) {
              if (c.indexOf("*") !== c.lastIndexOf("*"))
                return false;
              n.host.readDirectory(
                e.packageDirectory,
                CMe(i),
                /*excludes*/
                void 0,
                [
                  l7(fS(c, "**/*"), ".*")
                ]
              ).forEach((g) => {
                s = lh(s, {
                  path: g,
                  ext: GT(g),
                  resolvedUsingTsExtension: void 0
                });
              });
            } else {
              const g = cu(c).slice(2);
              if (g.includes("..") || g.includes(".") || g.includes("node_modules"))
                return false;
              const m = On(e.packageDirectory, c), h = Qi(m, (u = (_ = n.host).getCurrentDirectory) == null ? void 0 : u.call(_)), S = dW(
                i,
                h,
                c,
                /*onlyRecordFailures*/
                false,
                n
              );
              if (S)
                return s = lh(s, S, (T, k) => T.path === k.path), true;
            }
          else if (Array.isArray(c)) {
            for (const g of c)
              if (o(g))
                return true;
          } else if (typeof c == "object" && c !== null)
            return lr(Zd(c), (g) => {
              if (g === "default" || ds(n.conditions, g) || o8(n.conditions, g))
                return o(c[g]), true;
            });
        }
      }
      function VD(e, t, n) {
        return {
          host: t,
          compilerOptions: n,
          traceEnabled: Vy(n, t),
          failedLookupLocations: void 0,
          affectingLocations: void 0,
          packageJsonInfoCache: e,
          features: 0,
          conditions: Ge,
          requestContainingDirectory: void 0,
          reportDiagnostic: Ua,
          isConfigLookup: false,
          candidateIsFromPackageJsonField: false,
          resolvedPackageDirectory: false
        };
      }
      function qD(e, t) {
        return Qm(
          t.host,
          e,
          (n) => NS(
            n,
            /*onlyRecordFailures*/
            false,
            t
          )
        );
      }
      function c1e(e, t) {
        return e.contents.versionPaths === void 0 && (e.contents.versionPaths = NMe(e.contents.packageJsonContent, t) || false), e.contents.versionPaths || void 0;
      }
      function qMe(e, t) {
        return e.contents.peerDependencies === void 0 && (e.contents.peerDependencies = HMe(e, t) || false), e.contents.peerDependencies || void 0;
      }
      function HMe(e, t) {
        const n = Xre(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 = n1e(e.packageDirectory, t.host, t.traceEnabled), s = i.substring(0, i.lastIndexOf("node_modules") + 12) + yo;
        let o = "";
        for (const c in n)
          if (Ya(n, c)) {
            const _ = NS(
              s + c,
              /*onlyRecordFailures*/
              false,
              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 NS(e, t, n) {
        var i, s, o, c, _, u;
        const { host: g, traceEnabled: m } = n, h = On(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 (lO(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 = Cd(e, g);
        if (T && g.fileExists(h)) {
          const k = XC(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 hW(e, t, n, i, s) {
        const o = s && c1e(s, i);
        let c;
        s && Gye(s?.packageDirectory, t, i.host) && (i.isConfigLookup ? c = DMe(s.contents.packageJsonContent, s.packageDirectory, i) : c = e & 4 && EMe(s.contents.packageJsonContent, s.packageDirectory, i) || e & 7 && wMe(s.contents.packageJsonContent, s.packageDirectory, i) || void 0);
        const _ = (S, T, k, D) => {
          const P = dW(
            S,
            T,
            /*packageJsonValue*/
            void 0,
            k,
            D
          );
          if (P)
            return cW(P);
          const A = S === 4 ? 5 : S, O = D.features, F = D.candidateIsFromPackageJsonField;
          D.candidateIsFromPackageJsonField = true, s?.contents.packageJsonContent.type !== "module" && (D.features &= -33);
          const R = pW(
            A,
            T,
            k,
            D,
            /*considerPackageJson*/
            false
          );
          return D.features = O, D.candidateIsFromPackageJsonField = F, R;
        }, u = c ? !Cd(Hn(c), i.host) : void 0, g = n || !Cd(t, i.host), m = On(t, i.isConfigLookup ? "tsconfig" : "index");
        if (o && (!c || Kf(t, c))) {
          const S = Ef(
            t,
            c || m,
            /*ignoreCase*/
            false
          );
          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, Qf, S);
          const T = bN(o.paths), k = cne(e, S, t, o.paths, T, _, u || g, i);
          if (k)
            return Vye(k.value);
        }
        const h = c && Vye(_(e, c, u, i));
        if (h) return h;
        if (!(i.features & 32))
          return D6(e, m, g, i);
      }
      function l1e(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" || false;
      }
      function fO(e) {
        let t = e.indexOf(yo);
        return e[0] === "@" && (t = e.indexOf(yo, t + 1)), t === -1 ? { packageName: e, rest: "" } : { packageName: e.slice(0, t), rest: e.slice(t + 1) };
      }
      function pO(e) {
        return Ni(Zd(e), (t) => Ui(t, "."));
      }
      function GMe(e) {
        return !ot(Zd(e), (t) => Ui(t, "."));
      }
      function $Me(e, t, n, i, s, o) {
        var c, _;
        const u = Qi(n, (_ = (c = i.host).getCurrentDirectory) == null ? void 0 : _.call(c)), g = qD(u, i);
        if (!g || !g.contents.packageJsonContent.exports || typeof g.contents.packageJsonContent.name != "string")
          return;
        const m = cu(t), h = cu(g.contents.packageJsonContent.name);
        if (!Ni(h, (P, A) => m[A] === P))
          return;
        const S = m.slice(h.length), T = wr(S) ? `.${yo}${S.join(yo)}` : ".";
        if (Ly(i.compilerOptions) && !Hy(n))
          return yW(g, e, T, i, s, o);
        const k = e & 5, D = e & -6;
        return yW(g, k, T, i, s, o) || yW(g, D, T, i, s, o);
      }
      function yW(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" && GMe(e.contents.packageJsonContent.exports) ? c = e.contents.packageJsonContent.exports : Ya(e.contents.packageJsonContent.exports, ".") && (c = e.contents.packageJsonContent.exports["."]), c)
              return _1e(
                t,
                i,
                s,
                o,
                n,
                e,
                /*isImports*/
                false
              )(
                c,
                "",
                /*pattern*/
                false,
                "."
              );
          } else if (pO(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 = u1e(
              t,
              i,
              s,
              o,
              n,
              e.contents.packageJsonContent.exports,
              e,
              /*isImports*/
              false
            );
            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 XMe(e, t, n, i, s, o) {
        var c, _;
        if (t === "#" || Ui(t, "#/"))
          return i.traceEnabled && es(i.host, p.Invalid_import_specifier_0_has_no_possible_resolutions, t), If(
            /*value*/
            void 0
          );
        const u = Qi(n, (_ = (c = i.host).getCurrentDirectory) == null ? void 0 : _.call(c)), g = qD(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 = u1e(
          e,
          i,
          s,
          o,
          t,
          g.contents.packageJsonContent.imports,
          g,
          /*isImports*/
          true
        );
        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 vW(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 u1e(e, t, n, i, s, o, c, _) {
        const u = _1e(e, t, n, i, s, c, _);
        if (!Co(s, yo) && !s.includes("*") && Ya(o, s)) {
          const h = o[s];
          return u(
            h,
            /*subpath*/
            "",
            /*pattern*/
            false,
            s
          );
        }
        const g = q_(kn(Zd(o), (h) => QMe(h) || Co(h, "/")), vW);
        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*/
              true,
              h
            );
          } else if (Co(h, "*") && Ui(s, h.substring(0, h.length - 1))) {
            const S = o[h], T = s.substring(h.length - 1);
            return u(
              S,
              T,
              /*pattern*/
              true,
              h
            );
          } else if (Ui(s, h)) {
            const S = o[h], T = s.substring(h.length);
            return u(
              S,
              T,
              /*pattern*/
              false,
              h
            );
          }
        function m(h, S) {
          if (Co(h, "*")) return false;
          const T = h.indexOf("*");
          return T === -1 ? false : Ui(S, h.substring(0, T)) && Co(S, h.substring(T + 1));
        }
      }
      function QMe(e) {
        const t = e.indexOf("*");
        return t !== -1 && t === e.lastIndexOf("*");
      }
      function _1e(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 && !Co(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 (!Ui(u, "./")) {
              if (c && !Ui(u, "../") && !Ui(u, "/") && !$_(u)) {
                const $ = m ? u.replace(/\*/g, g) : u + g;
                Gy(t, p.Using_0_subpath_1_with_target_2, "imports", h, $), Gy(t, p.Resolving_module_0_from_1, $, o.packageDirectory + "/");
                const W = s8(
                  t.features,
                  $,
                  o.packageDirectory + "/",
                  t.compilerOptions,
                  t.host,
                  n,
                  e,
                  /*isConfigLookup*/
                  false,
                  i,
                  t.conditions
                );
                return (S = t.failedLookupLocations) == null || S.push(...W.failedLookupLocations ?? Ge), (T = t.affectingLocations) == null || T.push(...W.affectingLocations ?? Ge), 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 = (vf(u) ? cu(u).slice(1) : cu(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 = On(o.packageDirectory, u), R = cu(g);
            if (R.includes("..") || R.includes(".") || R.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 B = k(m ? F.replace(/\*/g, g) : F + g), U = P(B, g, On(o.packageDirectory, "package.json"), c);
            return U || If(Yx(o, dW(
              e,
              B,
              u,
              /*onlyRecordFailures*/
              false,
              t
            ), t));
          } else if (typeof u == "object" && u !== null)
            if (Array.isArray(u)) {
              if (!wr(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 {
              Gy(t, p.Entering_conditional_exports);
              for (const A of Zd(u))
                if (A === "default" || t.conditions.includes(A) || o8(t.conditions, A)) {
                  Gy(t, p.Matched_0_condition_1, c ? "imports" : "exports", A);
                  const O = u[A], F = _(O, g, m, h);
                  if (F)
                    return Gy(t, p.Resolved_under_condition_0, A), Gy(t, p.Exiting_conditional_exports), F;
                  Gy(t, p.Failed_to_resolve_under_condition_0, A);
                } else
                  Gy(t, p.Saw_non_matching_condition_0, A);
              Gy(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 : Qi(A, (F = (O = t.host).getCurrentDirectory) == null ? void 0 : F.call(O));
          }
          function D(A, O) {
            return pl(On(A, O));
          }
          function P(A, O, F, R) {
            var B, U, $, W;
            if (!t.isConfigLookup && (t.compilerOptions.declarationDir || t.compilerOptions.outDir) && !A.includes("/node_modules/") && (!t.compilerOptions.configFile || Kf(o.packageDirectory, k(t.compilerOptions.configFile.fileName), !bW(t)))) {
              const K = yh({ useCaseSensitiveFileNames: () => bW(t) }), V = [];
              if (t.compilerOptions.rootDir || t.compilerOptions.composite && t.compilerOptions.configFilePath) {
                const ae = k(nw(t.compilerOptions, () => [], ((U = (B = t.host).getCurrentDirectory) == null ? void 0 : U.call(B)) || "", K));
                V.push(ae);
              } else if (t.requestContainingDirectory) {
                const ae = k(On(t.requestContainingDirectory, "index.ts")), se = k(nw(t.compilerOptions, () => [ae, k(F)], ((W = ($ = t.host).getCurrentDirectory) == null ? void 0 : W.call($)) || "", K));
                V.push(se);
                let ce = pl(se);
                for (; ce && ce.length > 1; ) {
                  const fe = cu(ce);
                  fe.pop();
                  const he = O1(fe);
                  V.unshift(he), ce = pl(he);
                }
              }
              V.length > 1 && t.reportDiagnostic($o(
                R ? 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 ae of V) {
                const se = _e(ae);
                for (const ce of se)
                  if (Kf(ce, A, !bW(t))) {
                    const fe = A.slice(ce.length + 1), he = On(ae, fe), q = [
                      ".mjs",
                      ".cjs",
                      ".js",
                      ".json",
                      ".d.mts",
                      ".d.cts",
                      ".d.ts"
                      /* Dts */
                    ];
                    for (const be of q)
                      if (Ho(he, be)) {
                        const je = XB(he);
                        for (const me of je) {
                          if (!l1e(e, me)) continue;
                          const Z = UP(he, me, be, !bW(t));
                          if (t.host.fileExists(Z))
                            return If(Yx(o, dW(
                              e,
                              Z,
                              /*packageJsonValue*/
                              void 0,
                              /*onlyRecordFailures*/
                              false,
                              t
                            ), t));
                        }
                      }
                  }
              }
            }
            return;
            function _e(K) {
              var V, ae;
              const se = t.compilerOptions.configFile ? ((ae = (V = t.host).getCurrentDirectory) == null ? void 0 : ae.call(V)) || "" : K, ce = [];
              return t.compilerOptions.declarationDir && ce.push(k(D(se, t.compilerOptions.declarationDir))), t.compilerOptions.outDir && t.compilerOptions.outDir !== t.compilerOptions.declarationDir && ce.push(k(D(se, t.compilerOptions.outDir))), ce;
            }
          }
        }
      }
      function o8(e, t) {
        if (!e.includes("types") || !Ui(t, "types@")) return false;
        const n = e7.tryParse(t.substring(6));
        return n ? n.test(Qf) : false;
      }
      function f1e(e, t, n, i, s, o) {
        return p1e(
          e,
          t,
          n,
          i,
          /*typesScopeOnly*/
          false,
          s,
          o
        );
      }
      function YMe(e, t, n) {
        return p1e(
          4,
          e,
          t,
          n,
          /*typesScopeOnly*/
          true,
          /*cache*/
          void 0,
          /*redirectedReference*/
          void 0
        );
      }
      function p1e(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) {
          Gy(i, p.Searching_all_ancestor_node_modules_directories_for_preferred_extensions_Colon_0, aO(u));
          const h = m(u);
          if (h) return h;
        }
        if (g && !s)
          return Gy(i, p.Searching_all_ancestor_node_modules_directories_for_fallback_extensions_Colon_0, aO(g)), m(g);
        function m(h) {
          return Qm(
            i.host,
            Rl(n),
            (S) => {
              if (Xc(S) !== "node_modules") {
                const T = h1e(o, t, _, S, c, i);
                return T || If(d1e(h, t, S, i, s, o, c));
              }
            }
          );
        }
      }
      function Qm(e, t, n) {
        var i;
        const s = (i = e?.getGlobalTypingsCacheLocation) == null ? void 0 : i.call(e);
        return u4(t, (o) => {
          const c = n(o);
          if (c !== void 0) return c;
          if (o === s) return false;
        }) || void 0;
      }
      function d1e(e, t, n, i, s, o, c) {
        const _ = On(n, "node_modules"), u = Cd(_, i.host);
        if (!u && i.traceEnabled && es(i.host, p.Directory_0_does_not_exist_skipping_all_lookups_in_it, _), !s) {
          const g = m1e(e, t, _, u, i, o, c);
          if (g)
            return g;
        }
        if (e & 4) {
          const g = On(_, "@types");
          let m = u;
          return u && !Cd(g, i.host) && (i.traceEnabled && es(i.host, p.Directory_0_does_not_exist_skipping_all_lookups_in_it, g), m = false), m1e(4, g1e(t, i), g, m, i, o, c);
        }
      }
      function m1e(e, t, n, i, s, o, c) {
        var _, u;
        const g = qs(On(n, t)), { packageName: m, rest: h } = fO(t), S = On(n, m);
        let T, k = NS(g, !i, s);
        if (h !== "" && k && (!(s.features & 8) || !Ya(((_ = T = NS(S, !i, s)) == null ? void 0 : _.contents.packageJsonContent) ?? Ge, "exports"))) {
          const A = D6(e, g, !i, s);
          if (A)
            return cW(A);
          const O = hW(
            e,
            g,
            !i,
            s,
            k
          );
          return Yx(k, O, s);
        }
        const D = (A, O, F, R) => {
          let B = (h || !(R.features & 32)) && D6(A, O, F, R) || hW(
            A,
            O,
            F,
            R,
            k
          );
          return !B && !h && k && (k.contents.packageJsonContent.exports === void 0 || k.contents.packageJsonContent.exports === null) && R.features & 32 && (B = D6(A, On(O, "index.js"), F, R)), Yx(k, B, R);
        };
        if (h !== "" && (k = T ?? NS(S, !i, s)), k && (s.resolvedPackageDirectory = true), k && k.contents.packageJsonContent.exports && s.features & 8)
          return (u = yW(k, e, On(".", h), s, o, c)) == null ? void 0 : u.value;
        const P = h !== "" && k ? c1e(k, s) : void 0;
        if (P) {
          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, P.version, Qf, h);
          const A = i && Cd(S, s.host), O = bN(P.paths), F = cne(e, h, S, P.paths, O, D, !A, s);
          if (F)
            return F.value;
        }
        return D(e, g, !i, s);
      }
      function cne(e, t, n, i, s, o, c, _) {
        const u = FJ(s, t);
        if (u) {
          const g = ms(u) ? void 0 : pQ(u, t), m = ms(u) ? u : fQ(u);
          return _.traceEnabled && es(_.host, p.Module_name_0_matched_pattern_1, t, m), { value: lr(i[m], (S) => {
            const T = g ? fS(S, g) : S, k = qs(On(n, T));
            _.traceEnabled && es(_.host, p.Trying_substitution_0_candidate_module_location_Colon_1, S, T);
            const D = Lg(S);
            if (D !== void 0) {
              const P = mW(k, c, _);
              if (P !== void 0)
                return cW({ path: P, ext: D, resolvedUsingTsExtension: void 0 });
            }
            return o(e, k, c || !Cd(Hn(k), _.host), _);
          }) };
        }
      }
      var lne = "__";
      function g1e(e, t) {
        const n = w6(e);
        return t.traceEnabled && n !== e && es(t.host, p.Scoped_package_detected_looking_in_0, n), n;
      }
      function dO(e) {
        return `@types/${w6(e)}`;
      }
      function w6(e) {
        if (Ui(e, "@")) {
          const t = e.replace(yo, lne);
          if (t !== e)
            return t.slice(1);
        }
        return e;
      }
      function HD(e) {
        const t = e4(e, "@types/");
        return t !== e ? c8(t) : e;
      }
      function c8(e) {
        return e.includes(lne) ? "@" + e.replace(lne, yo) : e;
      }
      function h1e(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 || true,
              extension: c.resolvedModule.extension,
              packageId: c.resolvedModule.packageId,
              resolvedUsingTsExtension: c.resolvedModule.resolvedUsingTsExtension
            }
          };
      }
      function une(e, t, n, i, s, o) {
        const c = Vy(n, i), _ = [], u = [], g = Hn(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: false,
          candidateIsFromPackageJsonField: false,
          resolvedPackageDirectory: false
        }, S = T(
          5
          /* Declaration */
        ) || T(2 | (n.resolveJsonModule ? 8 : 0));
        return qye(
          e,
          S && S.value,
          S?.value && Hy(S.value.path),
          _,
          u,
          m,
          h,
          s
        );
        function T(k) {
          const D = e1e(k, e, g, ane, h);
          if (D)
            return { value: D };
          if (xl(e)) {
            const P = qs(On(g, e));
            return If(ane(
              k,
              P,
              /*onlyRecordFailures*/
              false,
              h
            ));
          } else {
            const P = Qm(
              h.host,
              g,
              (A) => {
                const O = h1e(
                  s,
                  e,
                  /*mode*/
                  void 0,
                  A,
                  o,
                  h
                );
                if (O)
                  return O;
                const F = qs(On(A, e));
                return If(ane(
                  k,
                  F,
                  /*onlyRecordFailures*/
                  false,
                  h
                ));
              }
            );
            if (P) return P;
            if (k & 5) {
              let A = YMe(e, g, h);
              return k & 4 && (A ?? (A = y1e(e, h))), A;
            }
          }
        }
      }
      function y1e(e, t) {
        if (t.compilerOptions.typeRoots)
          for (const n of t.compilerOptions.typeRoots) {
            const i = Xye(n, e, t), s = Cd(n, t.host);
            !s && t.traceEnabled && es(t.host, p.Directory_0_does_not_exist_skipping_all_lookups_in_it, n);
            const o = D6(4, i, !s, t);
            if (o) {
              const _ = a8(o.path), u = _ ? NS(
                _,
                /*onlyRecordFailures*/
                false,
                t
              ) : void 0;
              return If(Yx(u, o, t));
            }
            const c = one(4, i, !s, t);
            if (c) return If(c);
          }
      }
      function P6(e, t) {
        return Tee(e) || !!t && wl(t);
      }
      function _ne(e, t, n, i, s, o) {
        const c = Vy(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: false,
          candidateIsFromPackageJsonField: false,
          resolvedPackageDirectory: false
        }, h = d1e(
          4,
          e,
          s,
          m,
          /*typesScopeOnly*/
          false,
          /*cache*/
          void 0,
          /*redirectedReference*/
          void 0
        );
        return Hye(
          h,
          /*isExternalLibraryImport*/
          true,
          _,
          u,
          g,
          m.resultFromCache,
          /*cache*/
          void 0
        );
      }
      function If(e) {
        return e !== void 0 ? { value: e } : void 0;
      }
      function Gy(e, t, ...n) {
        e.traceEnabled && es(e.host, t, ...n);
      }
      function bW(e) {
        return e.host.useCaseSensitiveFileNames ? typeof e.host.useCaseSensitiveFileNames == "boolean" ? e.host.useCaseSensitiveFileNames : e.host.useCaseSensitiveFileNames() : true;
      }
      var fne = /* @__PURE__ */ ((e) => (e[e.NonInstantiated = 0] = "NonInstantiated", e[e.Instantiated = 1] = "Instantiated", e[e.ConstEnumOnly = 2] = "ConstEnumOnly", e))(fne || {});
      function Eh(e, t) {
        return e.body && !e.body.parent && (ja(e.body, e), X1(
          e.body,
          /*incremental*/
          false
        )), e.body ? pne(e.body, t) : 1;
      }
      function pne(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 = ZMe(e, t);
        return t.set(n, i), i;
      }
      function ZMe(e, t) {
        switch (e.kind) {
          // 1. interface declarations, type alias declarations
          case 265:
          case 266:
            return 0;
          // 2. const enum declarations
          case 267:
            if (B1(e))
              return 2;
            break;
          // 3. non-exported import declarations
          case 273:
          case 272:
            if (!Gn(
              e,
              32
              /* Export */
            ))
              return 0;
            break;
          // 4. Export alias declarations pointing at only uninstantiated modules or things uninstantiated modules contain
          case 279:
            const n = e;
            if (!n.moduleSpecifier && n.exportClause && n.exportClause.kind === 280) {
              let i = 0;
              for (const s of n.exportClause.elements) {
                const o = KMe(s, t);
                if (o > i && (i = o), i === 1)
                  return i;
              }
              return i;
            }
            break;
          // 5. other uninstantiated module declarations.
          case 269: {
            let i = 0;
            return Ts(e, (s) => {
              const o = pne(s, t);
              switch (o) {
                case 0:
                  return;
                case 2:
                  i = 2;
                  return;
                case 1:
                  return i = 1, true;
                default:
                  E.assertNever(o);
              }
            }), i;
          }
          case 268:
            return Eh(e, t);
          case 80:
            if (e.flags & 4096)
              return 0;
        }
        return 1;
      }
      function KMe(e, t) {
        const n = e.propertyName || e.name;
        if (n.kind !== 80)
          return 1;
        let i = e.parent;
        for (; i; ) {
          if (Ps(i) || mm(i) || Di(i)) {
            const s = i.statements;
            let o;
            for (const c of s)
              if (e3(c, n)) {
                c.parent || (ja(c, i), X1(
                  c,
                  /*incremental*/
                  false
                ));
                const _ = pne(c, t);
                if ((o === void 0 || _ > o) && (o = _), o === 1)
                  return o;
                c.kind === 272 && (o = 1);
              }
            if (o !== void 0)
              return o;
          }
          i = i.parent;
        }
        return 1;
      }
      var dne = /* @__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))(dne || {});
      function Ym(e, t, n) {
        return E.attachFlowNodeDebugInfo({ flags: e, id: 0, node: t, antecedent: n });
      }
      var eRe = /* @__PURE__ */ tRe();
      function mne(e, t) {
        Qo("beforeBind"), eRe(e, t), Qo("afterBind"), Zf("Bind", "beforeBind", "afterBind");
      }
      function tRe() {
        var e, t, n, i, s, o, c, _, u, g, m, h, S, T, k, D, P, A, O, F, R, B, U, $, W, _e = false, K = 0, V, ae, se = Ym(
          1,
          /*node*/
          void 0,
          /*antecedent*/
          void 0
        ), ce = Ym(
          1,
          /*node*/
          void 0,
          /*antecedent*/
          void 0
        ), fe = M();
        return q;
        function he(L, Oe, ...xt) {
          return tp(xr(L) || e, L, Oe, ...xt);
        }
        function q(L, Oe) {
          var xt, Tr;
          e = L, t = Oe, n = pa(t), W = be(e, Oe), ae = /* @__PURE__ */ new Set(), K = 0, V = Yl.getSymbolConstructor(), E.attachFlowNodeDebugInfo(se), E.attachFlowNodeDebugInfo(ce), e.locals || ((xt = on) == null || xt.push(
            on.Phase.Bind,
            "bindSourceFile",
            { path: e.path },
            /*separateBeginAndEnd*/
            true
          ), kr(e), (Tr = on) == null || Tr.pop(), e.symbolCount = K, e.classifiableNames = ae, To(), ea()), 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 = false, h = void 0, S = void 0, T = void 0, k = void 0, D = void 0, P = void 0, A = void 0, F = void 0, R = false, B = false, U = false, _e = false, $ = 0;
        }
        function be(L, Oe) {
          return uu(Oe, "alwaysStrict") && !L.isDeclarationFile ? true : !!L.externalModuleIndicator;
        }
        function je(L, Oe) {
          return K++, new V(L, Oe);
        }
        function me(L, Oe, xt) {
          L.flags |= xt, Oe.symbol = L, L.declarations = lh(L.declarations, Oe), xt & 1955 && !L.exports && (L.exports = js()), xt & 6240 && !L.members && (L.members = js()), L.constEnumOnlyModule && L.flags & 304 && (L.constEnumOnlyModule = false), xt & 111551 && B4(L, Oe);
        }
        function Z(L) {
          if (L.kind === 278)
            return L.isExportEquals ? "export=" : "default";
          const Oe = us(L);
          if (Oe) {
            if (Ju(L)) {
              const xt = np(Oe);
              return Vm(L) ? "__global" : `"${xt}"`;
            }
            if (Oe.kind === 168) {
              const xt = Oe.expression;
              if (wf(xt))
                return Zo(xt.text);
              if (h5(xt))
                return Vs(xt.operator) + xt.operand.text;
              E.fail("Only computed properties with literal names have declaration names");
            }
            if (Ai(Oe)) {
              const xt = jl(L);
              if (!xt)
                return;
              const Tr = xt.symbol;
              return X3(Tr, Oe.escapedText);
            }
            return Pd(Oe) ? wx(Oe) : am(Oe) ? H4(Oe) : void 0;
          }
          switch (L.kind) {
            case 177:
              return "__constructor";
            case 185:
            case 180:
            case 324:
              return "__call";
            case 186:
            case 181:
              return "__new";
            case 182:
              return "__index";
            case 279:
              return "__export";
            case 308:
              return "export=";
            case 227:
              if (wc(L) === 2)
                return "export=";
              E.fail("Unknown binary declaration kind");
              break;
            case 318:
              return fx(L) ? "__new" : "__call";
            case 170:
              return E.assert(L.parent.kind === 318, "Impossible parameter parent kind", () => `parent is: ${E.formatSyntaxKind(L.parent.kind)}, expected JSDocFunctionType`), "arg" + L.parent.parameters.indexOf(L);
          }
        }
        function pe(L) {
          return kl(L) ? so(L.name) : Si(E.checkDefined(Z(L)));
        }
        function Te(L, Oe, xt, Tr, $i, Ns, Zi) {
          E.assert(Zi || !hh(xt));
          const hs = Gn(
            xt,
            2048
            /* Default */
          ) || Eu(xt) && Um(xt.name), jo = Zi ? "__computed" : hs && Oe ? "default" : Z(xt);
          let ra;
          if (jo === void 0)
            ra = je(
              0,
              "__missing"
              /* Missing */
            );
          else if (ra = L.get(jo), Tr & 2885600 && ae.add(jo), !ra)
            L.set(jo, ra = je(0, jo)), Ns && (ra.isReplaceableByMethod = true);
          else {
            if (Ns && !ra.isReplaceableByMethod)
              return ra;
            if (ra.flags & $i) {
              if (ra.isReplaceableByMethod)
                L.set(jo, ra = je(0, jo));
              else if (!(Tr & 3 && ra.flags & 67108864)) {
                kl(xt) && ja(xt.name, xt);
                let Al = ra.flags & 2 ? p.Cannot_redeclare_block_scoped_variable_0 : p.Duplicate_identifier_0, uf = true;
                (ra.flags & 384 || Tr & 384) && (Al = p.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations, uf = false);
                let Bf = false;
                wr(ra.declarations) && (hs || ra.declarations && ra.declarations.length && xt.kind === 278 && !xt.isExportEquals) && (Al = p.A_module_cannot_have_multiple_default_exports, uf = false, Bf = true);
                const dp = [];
                jp(xt) && ac(xt.type) && Gn(
                  xt,
                  32
                  /* Export */
                ) && ra.flags & 2887656 && dp.push(he(xt, p.Did_you_mean_0, `export type { ${Si(xt.name.escapedText)} }`));
                const Fh = us(xt) || xt;
                lr(ra.declarations, (o_, tg) => {
                  const Rd = us(o_) || o_, Vp = uf ? he(Rd, Al, pe(o_)) : he(Rd, Al);
                  e.bindDiagnostics.push(
                    Bf ? Js(Vp, he(Fh, tg === 0 ? p.Another_export_default_is_here : p.and_here)) : Vp
                  ), Bf && dp.push(he(Rd, p.The_first_export_default_is_here));
                });
                const A0 = uf ? he(Fh, Al, pe(xt)) : he(Fh, Al);
                e.bindDiagnostics.push(Js(A0, ...dp)), ra = je(0, jo);
              }
            }
          }
          return me(ra, xt, Tr), ra.parent ? E.assert(ra.parent === Oe, "Existing symbol parent should match new one") : ra.parent = Oe, ra;
        }
        function Fe(L, Oe, xt) {
          const Tr = !!(L1(L) & 32) || Ye(L);
          if (Oe & 2097152)
            return L.kind === 282 || L.kind === 272 && Tr ? Te(s.symbol.exports, s.symbol, L, Oe, xt) : (E.assertNode(s, zm), Te(
              s.locals,
              /*parent*/
              void 0,
              L,
              Oe,
              xt
            ));
          if (Op(L) && E.assert(an(L)), !Ju(L) && (Tr || s.flags & 128)) {
            if (!zm(s) || !s.locals || Gn(
              L,
              2048
              /* Default */
            ) && !Z(L))
              return Te(s.symbol.exports, s.symbol, L, Oe, xt);
            const $i = Oe & 111551 ? 1048576 : 0, Ns = Te(
              s.locals,
              /*parent*/
              void 0,
              L,
              $i,
              xt
            );
            return Ns.exportSymbol = Te(s.symbol.exports, s.symbol, L, Oe, xt), L.localSymbol = Ns, Ns;
          } else
            return E.assertNode(s, zm), Te(
              s.locals,
              /*parent*/
              void 0,
              L,
              Oe,
              xt
            );
        }
        function Ye(L) {
          if (L.parent && Lc(L) && (L = L.parent), !Op(L)) return false;
          if (!BN(L) && L.fullName) return true;
          const Oe = us(L);
          return Oe ? !!(iN(Oe.parent) && pp(Oe.parent) || Cl(Oe.parent) && L1(Oe.parent) & 32) : false;
        }
        function ne(L, Oe) {
          const xt = s, Tr = o, $i = c, Ns = B;
          if (L.kind === 220 && L.body.kind !== 242 && (B = true), Oe & 1 ? (L.kind !== 220 && (o = s), s = c = L, Oe & 32 && (s.locals = js(), cr(s))) : Oe & 2 && (c = L, Oe & 32 && (c.locals = void 0)), Oe & 4) {
            const Zi = h, hs = S, jo = T, ra = k, Al = A, uf = F, Bf = R, dp = Oe & 16 && !Gn(
              L,
              1024
              /* Async */
            ) && !L.asteriskToken && !!J1(L) || L.kind === 176;
            dp || (h = Ym(
              2,
              /*node*/
              void 0,
              /*antecedent*/
              void 0
            ), Oe & 144 && (h.node = L)), k = dp || L.kind === 177 || an(L) && (L.kind === 263 || L.kind === 219) ? Wt() : void 0, A = void 0, S = void 0, T = void 0, F = void 0, R = false, Ee(L), L.flags &= -5633, !(h.flags & 1) && Oe & 8 && Ip(L.body) && (L.flags |= 512, R && (L.flags |= 1024), L.endFlowNode = h), L.kind === 308 && (L.flags |= $, L.endFlowNode = h), k && (Dt(k, h), h = _i(k), (L.kind === 177 || L.kind === 176 || an(L) && (L.kind === 263 || L.kind === 219)) && (L.returnFlowNode = h)), dp || (h = Zi), S = hs, T = jo, k = ra, A = Al, F = uf, R = Bf;
          } else Oe & 64 ? (g = false, Ee(L), E.assertNotNode(L, Me), L.flags = g ? L.flags | 256 : L.flags & -257) : Ee(L);
          B = Ns, s = xt, o = Tr, c = $i;
        }
        function Se(L) {
          ie(L, (Oe) => Oe.kind === 263 ? kr(Oe) : void 0), ie(L, (Oe) => Oe.kind !== 263 ? kr(Oe) : void 0);
        }
        function ie(L, Oe = kr) {
          L !== void 0 && lr(L, Oe);
        }
        function Ne(L) {
          Ts(L, kr, ie);
        }
        function Ee(L) {
          const Oe = _e;
          if (_e = false, wi(L)) {
            zC(L) && L.flowNode && (L.flowNode = void 0), Ne(L), Li(L), _e = Oe;
            return;
          }
          switch (L.kind >= 244 && L.kind <= 260 && (!t.allowUnreachableCode || L.kind === 254) && (L.flowNode = h), L.kind) {
            case 248:
              Zs(L);
              break;
            case 247:
              yr(L);
              break;
            case 249:
              vs(L);
              break;
            case 250:
            case 251:
              Xe(L);
              break;
            case 246:
              Et(L);
              break;
            case 254:
            case 258:
              re(L);
              break;
            case 253:
            case 252:
              Ae(L);
              break;
            case 259:
              $e(L);
              break;
            case 256:
              Ke(L);
              break;
            case 270:
              Tt(L);
              break;
            case 297:
              Le(L);
              break;
            case 245:
              mt(L);
              break;
            case 257:
              Ct(L);
              break;
            case 225:
              Pe(L);
              break;
            case 226:
              yt(L);
              break;
            case 227:
              if (p0(L)) {
                _e = Oe, ue(L);
                return;
              }
              fe(L);
              break;
            case 221:
              ye(L);
              break;
            case 228:
              Q(L);
              break;
            case 261:
              Mt(L);
              break;
            case 212:
            case 213:
              nr(L);
              break;
            case 214:
              kt(L);
              break;
            case 236:
              _r(L);
              break;
            case 347:
            case 339:
            case 341:
              Zr(L);
              break;
            case 352:
              Pr(L);
              break;
            // In source files and blocks, bind functions first to match hoisting that occurs at runtime
            case 308: {
              Se(L.statements), kr(L.endOfFileToken);
              break;
            }
            case 242:
            case 269:
              Se(L.statements);
              break;
            case 209:
              ke(L);
              break;
            case 170:
              at(L);
              break;
            case 211:
            case 210:
            case 304:
            case 231:
              _e = Oe;
            // falls through
            default:
              Ne(L);
              break;
          }
          Li(L), _e = Oe;
        }
        function Ce(L) {
          switch (L.kind) {
            case 80:
            case 110:
              return true;
            case 212:
            case 213:
              return St(L);
            case 214:
              return Bt(L);
            case 218:
              if (Gb(L))
                return false;
            // fallthrough
            case 236:
              return Ce(L.expression);
            case 227:
              return Nr(L);
            case 225:
              return L.operator === 54 && Ce(L.operand);
            case 222:
              return Ce(L.expression);
          }
          return false;
        }
        function Ve(L) {
          switch (L.kind) {
            case 80:
            case 110:
            case 108:
            case 237:
              return true;
            case 212:
            case 218:
            case 236:
              return Ve(L.expression);
            case 213:
              return (wf(L.argumentExpression) || Za(L.argumentExpression)) && Ve(L.expression);
            case 227:
              return L.operatorToken.kind === 28 && Ve(L.right) || vh(L.operatorToken.kind) && h_(L.left);
          }
          return false;
        }
        function St(L) {
          return Ve(L) || Tu(L) && St(L.expression);
        }
        function Bt(L) {
          if (L.arguments) {
            for (const Oe of L.arguments)
              if (St(Oe))
                return true;
          }
          return !!(L.expression.kind === 212 && St(L.expression.expression));
        }
        function tr(L, Oe) {
          return c6(L) && st(L.expression) && Ma(Oe);
        }
        function Nr(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 Oe = Ra(L.left), xt = Ra(L.right);
              return st(Oe) || st(xt) || tr(xt, Oe) || tr(Oe, xt) || k4(xt) && Ce(Oe) || k4(Oe) && Ce(xt);
            case 104:
              return st(L.left);
            case 103:
              return Ce(L.right);
            case 28:
              return Ce(L.right);
          }
          return false;
        }
        function st(L) {
          switch (L.kind) {
            case 218:
              return st(L.expression);
            case 227:
              switch (L.operatorToken.kind) {
                case 64:
                  return st(L.left);
                case 28:
                  return st(L.right);
              }
          }
          return St(L);
        }
        function Wt() {
          return Ym(
            4,
            /*node*/
            void 0,
            /*antecedent*/
            void 0
          );
        }
        function Jr() {
          return Ym(
            8,
            /*node*/
            void 0,
            /*antecedent*/
            void 0
          );
        }
        function ui(L, Oe, xt) {
          return Ym(1024, { target: L, antecedents: Oe }, xt);
        }
        function Ji(L) {
          L.flags |= L.flags & 2048 ? 4096 : 2048;
        }
        function Dt(L, Oe) {
          !(Oe.flags & 1) && !ds(L.antecedent, Oe) && ((L.antecedent || (L.antecedent = [])).push(Oe), Ji(Oe));
        }
        function Mn(L, Oe, xt) {
          return Oe.flags & 1 ? Oe : xt ? (xt.kind === 112 && L & 64 || xt.kind === 97 && L & 32) && !T7(xt) && !Mj(xt.parent) ? se : Ce(xt) ? (Ji(Oe), Ym(L, xt, Oe)) : Oe : L & 32 ? Oe : se;
        }
        function ai(L, Oe, xt, Tr) {
          return Ji(L), Ym(128, { switchStatement: Oe, clauseStart: xt, clauseEnd: Tr }, L);
        }
        function fi(L, Oe, xt) {
          Ji(Oe), U = true;
          const Tr = Ym(L, xt, Oe);
          return A && Dt(A, Tr), Tr;
        }
        function pn(L, Oe) {
          return Ji(L), U = true, Ym(512, Oe, L);
        }
        function _i(L) {
          const Oe = L.antecedent;
          return Oe ? Oe.length === 1 ? Oe[0] : L : se;
        }
        function Je(L) {
          const Oe = L.parent;
          switch (Oe.kind) {
            case 246:
            case 248:
            case 247:
              return Oe.expression === L;
            case 249:
            case 228:
              return Oe.condition === L;
          }
          return false;
        }
        function ft(L) {
          for (; ; )
            if (L.kind === 218)
              L = L.expression;
            else if (L.kind === 225 && L.operator === 54)
              L = L.operand;
            else
              return rN(L);
        }
        function er(L) {
          return nJ(Ra(L));
        }
        function qr(L) {
          for (; n_(L.parent) || K1(L.parent) && L.parent.operator === 54; )
            L = L.parent;
          return !Je(L) && !ft(L.parent) && !(Tu(L.parent) && L.parent.expression === L);
        }
        function Jn(L, Oe, xt, Tr) {
          const $i = D, Ns = P;
          D = xt, P = Tr, L(Oe), D = $i, P = Ns;
        }
        function Un(L, Oe, xt) {
          Jn(kr, L, Oe, xt), (!L || !er(L) && !ft(L) && !(Tu(L) && v4(L))) && (Dt(Oe, Mn(32, h, L)), Dt(xt, Mn(64, h, L)));
        }
        function ki(L, Oe, xt) {
          const Tr = S, $i = T;
          S = Oe, T = xt, kr(L), S = Tr, T = $i;
        }
        function Es(L, Oe) {
          let xt = F;
          for (; xt && L.parent.kind === 257; )
            xt.continueTarget = Oe, xt = xt.next, L = L.parent;
          return Oe;
        }
        function Zs(L) {
          const Oe = Es(L, Jr()), xt = Wt(), Tr = Wt();
          Dt(Oe, h), h = Oe, Un(L.expression, xt, Tr), h = _i(xt), ki(L.statement, Tr, Oe), Dt(Oe, h), h = _i(Tr);
        }
        function yr(L) {
          const Oe = Jr(), xt = Es(L, Wt()), Tr = Wt();
          Dt(Oe, h), h = Oe, ki(L.statement, Tr, xt), Dt(xt, h), h = _i(xt), Un(L.expression, Oe, Tr), h = _i(Tr);
        }
        function vs(L) {
          const Oe = Es(L, Jr()), xt = Wt(), Tr = Wt(), $i = Wt();
          kr(L.initializer), Dt(Oe, h), h = Oe, Un(L.condition, xt, $i), h = _i(xt), ki(L.statement, $i, Tr), Dt(Tr, h), h = _i(Tr), kr(L.incrementor), Dt(Oe, h), h = _i($i);
        }
        function Xe(L) {
          const Oe = Es(L, Jr()), xt = Wt();
          kr(L.expression), Dt(Oe, h), h = Oe, L.kind === 251 && kr(L.awaitModifier), Dt(xt, h), kr(L.initializer), L.initializer.kind !== 262 && Lt(L.initializer), ki(L.statement, xt, Oe), Dt(Oe, h), h = _i(xt);
        }
        function Et(L) {
          const Oe = Wt(), xt = Wt(), Tr = Wt();
          Un(L.expression, Oe, xt), h = _i(Oe), kr(L.thenStatement), Dt(Tr, h), h = _i(xt), kr(L.elseStatement), Dt(Tr, h), h = _i(Tr);
        }
        function re(L) {
          const Oe = B;
          B = true, kr(L.expression), B = Oe, L.kind === 254 && (R = true, k && Dt(k, h)), h = se, U = true;
        }
        function it(L) {
          for (let Oe = F; Oe; Oe = Oe.next)
            if (Oe.name === L)
              return Oe;
        }
        function Y(L, Oe, xt) {
          const Tr = L.kind === 253 ? Oe : xt;
          Tr && (Dt(Tr, h), h = se, U = true);
        }
        function Ae(L) {
          if (kr(L.label), L.label) {
            const Oe = it(L.label.escapedText);
            Oe && (Oe.referenced = true, Y(L, Oe.breakTarget, Oe.continueTarget));
          } else
            Y(L, S, T);
        }
        function $e(L) {
          const Oe = k, xt = A, Tr = Wt(), $i = Wt();
          let Ns = Wt();
          if (L.finallyBlock && (k = $i), Dt(Ns, h), A = Ns, kr(L.tryBlock), Dt(Tr, h), L.catchClause && (h = _i(Ns), Ns = Wt(), Dt(Ns, h), A = Ns, kr(L.catchClause), Dt(Tr, h)), k = Oe, A = xt, L.finallyBlock) {
            const Zi = Wt();
            Zi.antecedent = Bi(Bi(Tr.antecedent, Ns.antecedent), $i.antecedent), h = Zi, kr(L.finallyBlock), h.flags & 1 ? h = se : (k && $i.antecedent && Dt(k, ui(Zi, $i.antecedent, h)), A && Ns.antecedent && Dt(A, ui(Zi, Ns.antecedent, h)), h = Tr.antecedent ? ui(Zi, Tr.antecedent, h) : se);
          } else
            h = _i(Tr);
        }
        function Ke(L) {
          const Oe = Wt();
          kr(L.expression);
          const xt = S, Tr = O;
          S = Oe, O = h, kr(L.caseBlock), Dt(Oe, h);
          const $i = lr(
            L.caseBlock.clauses,
            (Ns) => Ns.kind === 298
            /* DefaultClause */
          );
          L.possiblyExhaustive = !$i && !Oe.antecedent, $i || Dt(Oe, ai(O, L, 0, 0)), S = xt, O = Tr, h = _i(Oe);
        }
        function Tt(L) {
          const Oe = L.clauses, xt = L.parent.expression.kind === 112 || Ce(L.parent.expression);
          let Tr = se;
          for (let $i = 0; $i < Oe.length; $i++) {
            const Ns = $i;
            for (; !Oe[$i].statements.length && $i + 1 < Oe.length; )
              Tr === se && (h = O), kr(Oe[$i]), $i++;
            const Zi = Wt();
            Dt(Zi, xt ? ai(O, L.parent, Ns, $i + 1) : O), Dt(Zi, Tr), h = _i(Zi);
            const hs = Oe[$i];
            kr(hs), Tr = h, !(h.flags & 1) && $i !== Oe.length - 1 && t.noFallthroughCasesInSwitch && (hs.fallthroughFlowNode = h);
          }
        }
        function Le(L) {
          const Oe = h;
          h = O, kr(L.expression), h = Oe, ie(L.statements);
        }
        function mt(L) {
          kr(L.expression), pt(L.expression);
        }
        function pt(L) {
          if (L.kind === 214) {
            const Oe = L;
            Oe.expression.kind !== 108 && nN(Oe.expression) && (h = pn(h, Oe));
          }
        }
        function Ct(L) {
          const Oe = Wt();
          F = {
            next: F,
            name: L.label.escapedText,
            breakTarget: Oe,
            continueTarget: void 0,
            referenced: false
          }, kr(L.label), kr(L.statement), !F.referenced && !t.allowUnusedLabels && Hr(Cee(t), L.label, p.Unused_label), F = F.next, Dt(Oe, h), h = _i(Oe);
        }
        function qe(L) {
          L.kind === 227 && L.operatorToken.kind === 64 ? Lt(L.left) : Lt(L);
        }
        function Lt(L) {
          if (Ve(L))
            h = fi(16, h, L);
          else if (L.kind === 210)
            for (const Oe of L.elements)
              Oe.kind === 231 ? Lt(Oe.expression) : qe(Oe);
          else if (L.kind === 211)
            for (const Oe of L.properties)
              Oe.kind === 304 ? qe(Oe.initializer) : Oe.kind === 305 ? Lt(Oe.name) : Oe.kind === 306 && Lt(Oe.expression);
        }
        function rn(L, Oe, xt) {
          const Tr = Wt();
          L.operatorToken.kind === 56 || L.operatorToken.kind === 77 ? Un(L.left, Tr, xt) : Un(L.left, Oe, Tr), h = _i(Tr), kr(L.operatorToken), Z4(L.operatorToken.kind) ? (Jn(kr, L.right, Oe, xt), Lt(L.left), Dt(Oe, Mn(32, h, L)), Dt(xt, Mn(64, h, L))) : Un(L.right, Oe, xt);
        }
        function Pe(L) {
          if (L.operator === 54) {
            const Oe = D;
            D = P, P = Oe, Ne(L), P = D, D = Oe;
          } else
            Ne(L), (L.operator === 46 || L.operator === 47) && Lt(L.operand);
        }
        function yt(L) {
          Ne(L), (L.operator === 46 || L.operator === 47) && Lt(L.operand);
        }
        function ue(L) {
          _e ? (_e = false, kr(L.operatorToken), kr(L.right), _e = true, kr(L.left)) : (_e = true, kr(L.left), _e = false, kr(L.operatorToken), kr(L.right)), Lt(L.left);
        }
        function M() {
          return zF(
            L,
            Oe,
            xt,
            Tr,
            $i,
            /*foldState*/
            void 0
          );
          function L(Zi, hs) {
            if (hs) {
              hs.stackIndex++, ja(Zi, i);
              const ra = W;
              ta(Zi);
              const Al = i;
              i = Zi, hs.skip = false, hs.inStrictModeStack[hs.stackIndex] = ra, hs.parentStack[hs.stackIndex] = Al;
            } else
              hs = {
                stackIndex: 0,
                skip: false,
                inStrictModeStack: [void 0],
                parentStack: [void 0]
              };
            const jo = Zi.operatorToken.kind;
            if (N5(jo) || Z4(jo)) {
              if (qr(Zi)) {
                const ra = Wt(), Al = h, uf = U;
                U = false, rn(Zi, ra, ra), h = U ? _i(ra) : Al, U || (U = uf);
              } else
                rn(Zi, D, P);
              hs.skip = true;
            }
            return hs;
          }
          function Oe(Zi, hs, jo) {
            if (!hs.skip) {
              const ra = Ns(Zi);
              return jo.operatorToken.kind === 28 && pt(Zi), ra;
            }
          }
          function xt(Zi, hs, jo) {
            hs.skip || kr(Zi);
          }
          function Tr(Zi, hs, jo) {
            if (!hs.skip) {
              const ra = Ns(Zi);
              return jo.operatorToken.kind === 28 && pt(Zi), ra;
            }
          }
          function $i(Zi, hs) {
            if (!hs.skip) {
              const Al = Zi.operatorToken.kind;
              if (vh(Al) && !Ny(Zi) && (Lt(Zi.left), Al === 64 && Zi.left.kind === 213)) {
                const uf = Zi.left;
                st(uf.expression) && (h = fi(256, h, Zi));
              }
            }
            const jo = hs.inStrictModeStack[hs.stackIndex], ra = hs.parentStack[hs.stackIndex];
            jo !== void 0 && (W = jo), ra !== void 0 && (i = ra), hs.skip = false, hs.stackIndex--;
          }
          function Ns(Zi) {
            if (Zi && _n(Zi) && !p0(Zi))
              return Zi;
            kr(Zi);
          }
        }
        function ye(L) {
          Ne(L), L.expression.kind === 212 && Lt(L.expression);
        }
        function Q(L) {
          const Oe = Wt(), xt = Wt(), Tr = Wt(), $i = h, Ns = U;
          U = false, Un(L.condition, Oe, xt), h = _i(Oe), B && (L.flowNodeWhenTrue = h), kr(L.questionToken), kr(L.whenTrue), Dt(Tr, h), h = _i(xt), B && (L.flowNodeWhenFalse = h), kr(L.colonToken), kr(L.whenFalse), Dt(Tr, h), h = U ? _i(Tr) : $i, U || (U = Ns);
        }
        function dt(L) {
          const Oe = gl(L) ? void 0 : L.name;
          if (Ds(Oe))
            for (const xt of Oe.elements)
              dt(xt);
          else
            h = fi(16, h, L);
        }
        function Mt(L) {
          Ne(L), (L.initializer || Q2(L.parent.parent)) && dt(L);
        }
        function ke(L) {
          kr(L.dotDotDotToken), kr(L.propertyName), wt(L.initializer), kr(L.name);
        }
        function at(L) {
          ie(L.modifiers), kr(L.dotDotDotToken), kr(L.questionToken), kr(L.type), wt(L.initializer), kr(L.name);
        }
        function wt(L) {
          if (!L)
            return;
          const Oe = h;
          if (kr(L), Oe === se || Oe === h)
            return;
          const xt = Wt();
          Dt(xt, Oe), Dt(xt, h), h = _i(xt);
        }
        function Zr(L) {
          kr(L.tagName), L.kind !== 341 && L.fullName && (ja(L.fullName, L), X1(
            L.fullName,
            /*incremental*/
            false
          )), typeof L.comment != "string" && ie(L.comment);
        }
        function Rr(L) {
          Ne(L);
          const Oe = U1(L);
          Oe && Oe.kind !== 175 && me(
            Oe.symbol,
            Oe,
            32
            /* Class */
          );
        }
        function Pr(L) {
          kr(L.tagName), kr(L.moduleSpecifier), kr(L.attributes), typeof L.comment != "string" && ie(L.comment);
        }
        function rt(L, Oe, xt) {
          Jn(kr, L, Oe, xt), (!Tu(L) || v4(L)) && (Dt(Oe, Mn(32, h, L)), Dt(xt, Mn(64, h, L)));
        }
        function vt(L) {
          switch (L.kind) {
            case 212:
              kr(L.questionDotToken), kr(L.name);
              break;
            case 213:
              kr(L.questionDotToken), kr(L.argumentExpression);
              break;
            case 214:
              kr(L.questionDotToken), ie(L.typeArguments), ie(L.arguments);
              break;
          }
        }
        function Nt(L, Oe, xt) {
          const Tr = y4(L) ? Wt() : void 0;
          rt(L.expression, Tr || Oe, xt), Tr && (h = _i(Tr)), Jn(vt, L, Oe, xt), v4(L) && (Dt(Oe, Mn(32, h, L)), Dt(xt, Mn(64, h, L)));
        }
        function Jt(L) {
          if (qr(L)) {
            const Oe = Wt(), xt = h, Tr = U;
            Nt(L, Oe, Oe), h = U ? _i(Oe) : xt, U || (U = Tr);
          } else
            Nt(L, D, P);
        }
        function _r(L) {
          Tu(L) ? Jt(L) : Ne(L);
        }
        function nr(L) {
          Tu(L) ? Jt(L) : Ne(L);
        }
        function kt(L) {
          if (Tu(L))
            Jt(L);
          else {
            const Oe = Ra(L.expression);
            Oe.kind === 219 || Oe.kind === 220 ? (ie(L.typeArguments), ie(L.arguments), kr(L.expression)) : (Ne(L), L.expression.kind === 108 && (h = pn(h, L)));
          }
          if (L.expression.kind === 212) {
            const Oe = L.expression;
            Me(Oe.name) && st(Oe.expression) && BB(Oe.name) && (h = fi(256, h, L));
          }
        }
        function cr(L) {
          _ && (_.nextContainer = L), _ = L;
        }
        function fr(L, Oe, xt) {
          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 268:
              return Fe(L, Oe, xt);
            case 308:
              return Xt(L, Oe, xt);
            case 232:
            case 264:
              return vr(L, Oe, xt);
            case 267:
              return Te(s.symbol.exports, s.symbol, L, Oe, xt);
            case 188:
            case 323:
            case 211:
            case 265:
            case 293:
              return Te(s.symbol.members, s.symbol, L, Oe, xt);
            case 185:
            case 186:
            case 180:
            case 181:
            case 324:
            case 182:
            case 175:
            case 174:
            case 177:
            case 178:
            case 179:
            case 263:
            case 219:
            case 220:
            case 318:
            case 176:
            case 266:
            case 201:
              return s.locals && E.assertNode(s, zm), Te(
                s.locals,
                /*parent*/
                void 0,
                L,
                Oe,
                xt
              );
          }
        }
        function vr(L, Oe, xt) {
          return Bs(L) ? Te(s.symbol.exports, s.symbol, L, Oe, xt) : Te(s.symbol.members, s.symbol, L, Oe, xt);
        }
        function Xt(L, Oe, xt) {
          return ll(e) ? Fe(L, Oe, xt) : Te(
            e.locals,
            /*parent*/
            void 0,
            L,
            Oe,
            xt
          );
        }
        function oi(L) {
          const Oe = Di(L) ? L : Bn(L.body, mm);
          return !!Oe && Oe.statements.some((xt) => Mc(xt) || Fo(xt));
        }
        function Is(L) {
          L.flags & 33554432 && !oi(L) ? L.flags |= 128 : L.flags &= -129;
        }
        function Ms(L) {
          if (Is(L), Ju(L))
            if (Gn(
              L,
              32
              /* Export */
            ) && Kt(L, p.export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible), lB(L))
              ps(L);
            else {
              let Oe;
              if (L.name.kind === 11) {
                const { text: Tr } = L.name;
                Oe = Cx(Tr), Oe === void 0 && Kt(L.name, p.Pattern_0_can_have_at_most_one_Asterisk_character, Tr);
              }
              const xt = fr(
                L,
                512,
                110735
                /* ValueModuleExcludes */
              );
              e.patternAmbientModules = Er(e.patternAmbientModules, Oe && !ms(Oe) ? { pattern: Oe, symbol: xt } : void 0);
            }
          else {
            const Oe = ps(L);
            if (Oe !== 0) {
              const { symbol: xt } = L;
              xt.constEnumOnlyModule = !(xt.flags & 304) && Oe === 2 && xt.constEnumOnlyModule !== false;
            }
          }
        }
        function ps(L) {
          const Oe = Eh(L), xt = Oe !== 0;
          return fr(
            L,
            xt ? 512 : 1024,
            xt ? 110735 : 0
            /* NamespaceModuleExcludes */
          ), Oe;
        }
        function uc(L) {
          const Oe = je(131072, Z(L));
          me(
            Oe,
            L,
            131072
            /* Signature */
          );
          const xt = je(
            2048,
            "__type"
            /* Type */
          );
          me(
            xt,
            L,
            2048
            /* TypeLiteral */
          ), xt.members = js(), xt.members.set(Oe.escapedName, Oe);
        }
        function Xo(L) {
          return gs(
            L,
            4096,
            "__object"
            /* Object */
          );
        }
        function ro(L) {
          return gs(
            L,
            4096,
            "__jsxAttributes"
            /* JSXAttributes */
          );
        }
        function zi(L, Oe, xt) {
          return fr(L, Oe, xt);
        }
        function gs(L, Oe, xt) {
          const Tr = je(Oe, xt);
          return Oe & 106508 && (Tr.parent = s.symbol), me(Tr, L, Oe), Tr;
        }
        function Vc(L, Oe, xt) {
          switch (c.kind) {
            case 268:
              Fe(L, Oe, xt);
              break;
            case 308:
              if (Y_(s)) {
                Fe(L, Oe, xt);
                break;
              }
            // falls through
            default:
              E.assertNode(c, zm), c.locals || (c.locals = js(), cr(c)), Te(
                c.locals,
                /*parent*/
                void 0,
                L,
                Oe,
                xt
              );
          }
        }
        function To() {
          if (!u)
            return;
          const L = s, Oe = _, xt = c, Tr = i, $i = h;
          for (const Ns of u) {
            const Zi = Ns.parent.parent;
            s = H7(Zi) || e, c = xd(Zi) || e, h = Ym(
              2,
              /*node*/
              void 0,
              /*antecedent*/
              void 0
            ), i = Ns, kr(Ns.typeExpression);
            const hs = us(Ns);
            if ((BN(Ns) || !Ns.fullName) && hs && iN(hs.parent)) {
              const jo = pp(hs.parent);
              if (jo) {
                lf(
                  e.symbol,
                  hs.parent,
                  jo,
                  !!dr(hs, (Al) => wn(Al) && Al.name.escapedText === "prototype"),
                  /*containerIsClass*/
                  false
                );
                const ra = s;
                switch (j3(hs.parent)) {
                  case 1:
                  case 2:
                    Y_(e) ? s = e : s = void 0;
                    break;
                  case 4:
                    s = hs.parent.expression;
                    break;
                  case 3:
                    s = hs.parent.expression.name;
                    break;
                  case 5:
                    s = Xb(e, hs.parent.expression) ? e : wn(hs.parent.expression) ? hs.parent.expression.name : hs.parent.expression;
                    break;
                  case 0:
                    return E.fail("Shouldn't have detected typedef or enum on non-assignment declaration");
                }
                s && Fe(
                  Ns,
                  524288,
                  788968
                  /* TypeAliasExcludes */
                ), s = ra;
              }
            } else BN(Ns) || !Ns.fullName || Ns.fullName.kind === 80 ? (i = Ns.parent, Vc(
              Ns,
              524288,
              788968
              /* TypeAliasExcludes */
            )) : kr(Ns.fullName);
          }
          s = L, _ = Oe, c = xt, i = Tr, h = $i;
        }
        function ea() {
          if (m === void 0)
            return;
          const L = s, Oe = _, xt = c, Tr = i, $i = h;
          for (const Ns of m) {
            const Zi = Db(Ns), hs = Zi ? H7(Zi) : void 0, jo = Zi ? xd(Zi) : void 0;
            s = hs || e, c = jo || e, h = Ym(
              2,
              /*node*/
              void 0,
              /*antecedent*/
              void 0
            ), i = Ns, kr(Ns.importClause);
          }
          s = L, _ = Oe, c = xt, i = Tr, h = $i;
        }
        function xc(L) {
          if (!e.parseDiagnostics.length && !(L.flags & 33554432) && !(L.flags & 16777216) && !LK(L)) {
            const Oe = q2(L);
            if (Oe === void 0)
              return;
            W && Oe >= 119 && Oe <= 127 ? e.bindDiagnostics.push(he(L, Rf(L), so(L))) : Oe === 135 ? ll(e) && r5(L) ? e.bindDiagnostics.push(he(L, p.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module, so(L))) : L.flags & 65536 && e.bindDiagnostics.push(he(L, p.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here, so(L))) : Oe === 127 && L.flags & 16384 && e.bindDiagnostics.push(he(L, p.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here, so(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 os(L) {
          L.escapedText === "#constructor" && (e.parseDiagnostics.length || e.bindDiagnostics.push(he(L, p.constructor_is_a_reserved_word, so(L))));
        }
        function zs(L) {
          W && h_(L.left) && vh(L.operatorToken.kind) && Xa(L, L.left);
        }
        function Aa(L) {
          W && L.variableDeclaration && Xa(L, L.variableDeclaration.name);
        }
        function ya(L) {
          if (W && L.expression.kind === 80) {
            const Oe = K2(e, L.expression);
            e.bindDiagnostics.push(al(e, Oe.start, Oe.length, p.delete_cannot_be_called_on_an_identifier_in_strict_mode));
          }
        }
        function zt(L) {
          return Me(L) && (L.escapedText === "eval" || L.escapedText === "arguments");
        }
        function Xa(L, Oe) {
          if (Oe && Oe.kind === 80) {
            const xt = Oe;
            if (zt(xt)) {
              const Tr = K2(e, Oe);
              e.bindDiagnostics.push(al(e, Tr.start, Tr.length, mc(L), An(xt)));
            }
          }
        }
        function mc(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 Nc(L) {
          W && !(L.flags & 33554432) && Xa(L, L.name);
        }
        function Wl(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 co(L) {
          if (n < 2 && c.kind !== 308 && c.kind !== 268 && !DC(c)) {
            const Oe = K2(e, L);
            e.bindDiagnostics.push(al(e, Oe.start, Oe.length, Wl(L)));
          }
        }
        function ge(L) {
          W && Xa(L, L.operand);
        }
        function H(L) {
          W && (L.operator === 46 || L.operator === 47) && Xa(L, L.operand);
        }
        function tt(L) {
          W && Kt(L, p.with_statements_are_not_allowed_in_strict_mode);
        }
        function Ft(L) {
          W && pa(t) >= 2 && (AZ(L.statement) || Pc(L.statement)) && Kt(L.label, p.A_label_is_not_allowed_here);
        }
        function Kt(L, Oe, ...xt) {
          const Tr = nm(e, L.pos);
          e.bindDiagnostics.push(al(e, Tr.start, Tr.length, Oe, ...xt));
        }
        function Hr(L, Oe, xt) {
          Vn(L, Oe, Oe, xt);
        }
        function Vn(L, Oe, xt, Tr) {
          ln(L, { pos: Ey(Oe, e), end: xt.end }, Tr);
        }
        function ln(L, Oe, xt) {
          const Tr = al(e, Oe.pos, Oe.end - Oe.pos, xt);
          L ? e.bindDiagnostics.push(Tr) : e.bindSuggestionDiagnostics = Er(e.bindSuggestionDiagnostics, {
            ...Tr,
            category: 2
            /* Suggestion */
          });
        }
        function kr(L) {
          if (!L)
            return;
          ja(L, i), on && (L.tracingPath = e.path);
          const Oe = W;
          if (ta(L), L.kind > 166) {
            const xt = i;
            i = L;
            const Tr = SW(L);
            Tr === 0 ? Ee(L) : ne(L, Tr), i = xt;
          } else {
            const xt = i;
            L.kind === 1 && (i = L), Li(L), i = xt;
          }
          W = Oe;
        }
        function Li(L) {
          if (bf(L))
            if (an(L))
              for (const Oe of L.jsDoc)
                kr(Oe);
            else
              for (const Oe of L.jsDoc)
                ja(Oe, L), X1(
                  Oe,
                  /*incremental*/
                  false
                );
        }
        function Yi(L) {
          if (!W)
            for (const Oe of L) {
              if (!im(Oe))
                return;
              if (eo(Oe)) {
                W = true;
                return;
              }
            }
        }
        function eo(L) {
          const Oe = Sb(e, L.expression);
          return Oe === '"use strict"' || Oe === "'use strict'";
        }
        function ta(L) {
          switch (L.kind) {
            /* Strict mode checks */
            case 80:
              if (L.flags & 4096) {
                let Zi = L.parent;
                for (; Zi && !Op(Zi); )
                  Zi = Zi.parent;
                Vc(
                  Zi,
                  524288,
                  788968
                  /* TypeAliasExcludes */
                );
                break;
              }
            // falls through
            case 110:
              return h && (ut(L) || i.kind === 305) && (L.flowNode = h), xc(L);
            case 167:
              h && a5(L) && (L.flowNode = h);
              break;
            case 237:
            case 108:
              L.flowNode = h;
              break;
            case 81:
              return os(L);
            case 212:
            case 213:
              const Oe = L;
              h && Ve(Oe) && (Oe.flowNode = h), EK(Oe) && tl(Oe), an(Oe) && e.commonJsModuleIndicator && Ng(Oe) && !mO(c, "module") && Te(
                e.locals,
                /*parent*/
                void 0,
                Oe.expression,
                134217729,
                111550
                /* FunctionScopedVariableExcludes */
              );
              break;
            case 227:
              switch (wc(L)) {
                case 1:
                  Ot(L);
                  break;
                case 2:
                  Mr(L);
                  break;
                case 3:
                  gc(L.left, L);
                  break;
                case 6:
                  Eo(L);
                  break;
                case 4:
                  Ea(L);
                  break;
                case 5:
                  const Zi = L.left.expression;
                  if (an(L) && Me(Zi)) {
                    const hs = mO(c, Zi.escapedText);
                    if (n5(hs?.valueDeclaration)) {
                      Ea(L);
                      break;
                    }
                  }
                  Ul(L);
                  break;
                case 0:
                  break;
                default:
                  E.fail("Unknown binary expression special property assignment kind");
              }
              return zs(L);
            case 300:
              return Aa(L);
            case 221:
              return ya(L);
            case 226:
              return ge(L);
            case 225:
              return H(L);
            case 255:
              return tt(L);
            case 257:
              return Ft(L);
            case 198:
              g = true;
              return;
            case 183:
              break;
            // Binding the children will handle everything
            case 169:
              return jn(L);
            case 170:
              return et(L);
            case 261:
              return ee(L);
            case 209:
              return L.flowNode = h, ee(L);
            case 173:
            case 172:
              return xo(L);
            case 304:
            case 305:
              return Sr(
                L,
                4,
                0
                /* PropertyExcludes */
              );
            case 307:
              return Sr(
                L,
                8,
                900095
                /* EnumMemberExcludes */
              );
            case 180:
            case 181:
            case 182:
              return fr(
                L,
                131072,
                0
                /* None */
              );
            case 175:
            case 174:
              return Sr(
                L,
                8192 | (L.questionToken ? 16777216 : 0),
                Fp(L) ? 0 : 103359
                /* MethodExcludes */
              );
            case 263:
              return Ut(L);
            case 177:
              return fr(
                L,
                16384,
                /*symbolExcludes:*/
                0
                /* None */
              );
            case 178:
              return Sr(
                L,
                32768,
                46015
                /* GetAccessorExcludes */
              );
            case 179:
              return Sr(
                L,
                65536,
                78783
                /* SetAccessorExcludes */
              );
            case 185:
            case 318:
            case 324:
            case 186:
              return uc(L);
            case 188:
            case 323:
            case 201:
              return qc(L);
            case 333:
              return Rr(L);
            case 211:
              return Xo(L);
            case 219:
            case 220:
              return Gt(L);
            case 214:
              switch (wc(L)) {
                case 7:
                  return xf(L);
                case 8:
                  return Ie(L);
                case 9:
                  return rc(L);
                case 0:
                  break;
                // Nothing to do
                default:
                  return E.fail("Unknown call expression assignment declaration kind");
              }
              an(L) && Md(L);
              break;
            // Members of classes, interfaces, and modules
            case 232:
            case 264:
              return W = true, jf(L);
            case 265:
              return Vc(
                L,
                64,
                788872
                /* InterfaceExcludes */
              );
            case 266:
              return Vc(
                L,
                524288,
                788968
                /* TypeAliasExcludes */
              );
            case 267:
              return Em(L);
            case 268:
              return Ms(L);
            // Jsx-attributes
            case 293:
              return ro(L);
            case 292:
              return zi(
                L,
                4,
                0
                /* PropertyExcludes */
              );
            // Imports and exports
            case 272:
            case 275:
            case 277:
            case 282:
              return fr(
                L,
                2097152,
                2097152
                /* AliasExcludes */
              );
            case 271:
              return Ld(L);
            case 274:
              return Tf(L);
            case 279:
              return ru(L);
            case 278:
              return tc(L);
            case 308:
              return Yi(L.statements), Rc();
            case 242:
              if (!DC(L.parent))
                return;
            // falls through
            case 269:
              return Yi(L.statements);
            case 342:
              if (L.parent.kind === 324)
                return et(L);
              if (L.parent.kind !== 323)
                break;
            // falls through
            case 349:
              const $i = L, Ns = $i.isBracketed || $i.typeExpression && $i.typeExpression.type.kind === 317 ? 16777220 : 4;
              return fr(
                $i,
                Ns,
                0
                /* PropertyExcludes */
              );
            case 347:
            case 339:
            case 341:
              return (u || (u = [])).push(L);
            case 340:
              return kr(L.typeExpression);
            case 352:
              return (m || (m = [])).push(L);
          }
        }
        function xo(L) {
          const Oe = g_(L), xt = Oe ? 98304 : 4, Tr = Oe ? 13247 : 0;
          return Sr(L, xt | (L.questionToken ? 16777216 : 0), Tr);
        }
        function qc(L) {
          return gs(
            L,
            2048,
            "__type"
            /* Type */
          );
        }
        function Rc() {
          if (Is(e), ll(e))
            go();
          else if (rp(e)) {
            go();
            const L = e.symbol;
            Te(
              e.symbol.exports,
              e.symbol,
              e,
              4,
              -1
              /* All */
            ), e.symbol = L;
          }
        }
        function go() {
          gs(e, 512, `"${Uu(e.fileName)}"`);
        }
        function tc(L) {
          if (!s.symbol || !s.symbol.exports)
            gs(L, 111551, Z(L));
          else {
            const Oe = G3(L) ? 2097152 : 4, xt = Te(
              s.symbol.exports,
              s.symbol,
              L,
              Oe,
              -1
              /* All */
            );
            L.isExportEquals && B4(xt, L);
          }
        }
        function Ld(L) {
          ot(L.modifiers) && e.bindDiagnostics.push(he(L, p.Modifiers_cannot_appear_here));
          const Oe = Di(L.parent) ? ll(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;
          Oe ? e.bindDiagnostics.push(he(L, Oe)) : (e.symbol.globalExports = e.symbol.globalExports || js(), Te(
            e.symbol.globalExports,
            e.symbol,
            L,
            2097152,
            2097152
            /* AliasExcludes */
          ));
        }
        function ru(L) {
          !s.symbol || !s.symbol.exports ? gs(L, 8388608, Z(L)) : L.exportClause ? Xm(L.exportClause) && (ja(L.exportClause, L), Te(
            s.symbol.exports,
            s.symbol,
            L.exportClause,
            2097152,
            2097152
            /* AliasExcludes */
          )) : Te(
            s.symbol.exports,
            s.symbol,
            L,
            8388608,
            0
            /* None */
          );
        }
        function Tf(L) {
          L.name && fr(
            L,
            2097152,
            2097152
            /* AliasExcludes */
          );
        }
        function C_(L) {
          return e.externalModuleIndicator && e.externalModuleIndicator !== true ? false : (e.commonJsModuleIndicator || (e.commonJsModuleIndicator = L, e.externalModuleIndicator || go()), true);
        }
        function Ie(L) {
          if (!C_(L))
            return;
          const Oe = yl(
            L.arguments[0],
            /*parent*/
            void 0,
            (xt, Tr) => (Tr && me(
              Tr,
              xt,
              67110400
              /* Assignment */
            ), Tr)
          );
          Oe && Te(
            Oe.exports,
            Oe,
            L,
            1048580,
            0
            /* None */
          );
        }
        function Ot(L) {
          if (!C_(L))
            return;
          const Oe = yl(
            L.left.expression,
            /*parent*/
            void 0,
            (xt, Tr) => (Tr && me(
              Tr,
              xt,
              67110400
              /* Assignment */
            ), Tr)
          );
          if (Oe) {
            const Tr = d5(L.right) && (rS(L.left.expression) || Ng(L.left.expression)) ? 2097152 : 1048580;
            ja(L.left, L), Te(
              Oe.exports,
              Oe,
              L.left,
              Tr,
              0
              /* None */
            );
          }
        }
        function Mr(L) {
          if (!C_(L))
            return;
          const Oe = M3(L.right);
          if (oJ(Oe) || s === e && Xb(e, Oe))
            return;
          if (ua(Oe) && Ni(Oe.properties, fu)) {
            lr(Oe.properties, Gi);
            return;
          }
          const xt = G3(L) ? 2097152 : 1049092, Tr = Te(
            e.symbol.exports,
            e.symbol,
            L,
            xt | 67108864,
            0
            /* None */
          );
          B4(Tr, L);
        }
        function Gi(L) {
          Te(
            e.symbol.exports,
            e.symbol,
            L,
            69206016,
            0
            /* None */
          );
        }
        function Ea(L) {
          if (E.assert(an(L)), _n(L) && wn(L.left) && Ai(L.left.name) || wn(L) && Ai(L.name))
            return;
          const xt = zu(
            L,
            /*includeArrowFunctions*/
            false,
            /*includeClassComputedPropertyName*/
            false
          );
          switch (xt.kind) {
            case 263:
            case 219:
              let Tr = xt.symbol;
              if (_n(xt.parent) && xt.parent.operatorToken.kind === 64) {
                const Zi = xt.parent.left;
                Eb(Zi) && Fy(Zi.expression) && (Tr = E_(Zi.expression.expression, o));
              }
              Tr && Tr.valueDeclaration && (Tr.members = Tr.members || js(), hh(L) ? Da(L, Tr, Tr.members) : Te(
                Tr.members,
                Tr,
                L,
                67108868,
                0
                /* Property */
              ), me(
                Tr,
                Tr.valueDeclaration,
                32
                /* Class */
              ));
              break;
            case 177:
            case 173:
            case 175:
            case 178:
            case 179:
            case 176:
              const $i = xt.parent, Ns = Bs(xt) ? $i.symbol.exports : $i.symbol.members;
              hh(L) ? Da(L, $i.symbol, Ns) : Te(
                Ns,
                $i.symbol,
                L,
                67108868,
                0,
                /*isReplaceableByMethod*/
                true
              );
              break;
            case 308:
              if (hh(L))
                break;
              xt.commonJsModuleIndicator ? Te(
                xt.symbol.exports,
                xt.symbol,
                L,
                1048580,
                0
                /* None */
              ) : fr(
                L,
                1,
                111550
                /* FunctionScopedVariableExcludes */
              );
              break;
            // Namespaces are not allowed in javascript files, so do nothing here
            case 268:
              break;
            default:
              E.failBadSyntaxKind(xt);
          }
        }
        function Da(L, Oe, xt) {
          Te(
            xt,
            Oe,
            L,
            4,
            0,
            /*isReplaceableByMethod*/
            true,
            /*isComputedName*/
            true
          ), da(L, Oe);
        }
        function da(L, Oe) {
          Oe && (Oe.assignmentDeclarationMembers || (Oe.assignmentDeclarationMembers = /* @__PURE__ */ new Map())).set(Oa(L), L);
        }
        function tl(L) {
          L.expression.kind === 110 ? Ea(L) : Eb(L) && L.parent.parent.kind === 308 && (Fy(L.expression) ? gc(L, L.parent) : Nl(L));
        }
        function Eo(L) {
          ja(L.left, L), ja(L.right, L), eg(
            L.left.expression,
            L.left,
            /*isPrototypeProperty*/
            false,
            /*containerIsClass*/
            true
          );
        }
        function rc(L) {
          const Oe = E_(L.arguments[0].expression);
          Oe && Oe.valueDeclaration && me(
            Oe,
            Oe.valueDeclaration,
            32
            /* Class */
          ), Hu(
            L,
            Oe,
            /*isPrototypeProperty*/
            true
          );
        }
        function gc(L, Oe) {
          const xt = L.expression, Tr = xt.expression;
          ja(Tr, xt), ja(xt, L), ja(L, Oe), eg(
            Tr,
            L,
            /*isPrototypeProperty*/
            true,
            /*containerIsClass*/
            true
          );
        }
        function xf(L) {
          let Oe = E_(L.arguments[0]);
          const xt = L.parent.parent.kind === 308;
          Oe = lf(
            Oe,
            L.arguments[0],
            xt,
            /*isPrototypeProperty*/
            false,
            /*containerIsClass*/
            false
          ), Hu(
            L,
            Oe,
            /*isPrototypeProperty*/
            false
          );
        }
        function Ul(L) {
          var Oe;
          const xt = E_(L.left.expression, c) || E_(L.left.expression, s);
          if (!an(L) && !DK(xt))
            return;
          const Tr = YC(L.left);
          if (!(Me(Tr) && ((Oe = mO(s, Tr.escapedText)) == null ? void 0 : Oe.flags) & 2097152))
            if (ja(L.left, L), ja(L.right, L), Me(L.left.expression) && s === e && Xb(e, L.left.expression))
              Ot(L);
            else if (hh(L)) {
              gs(
                L,
                67108868,
                "__computed"
                /* Computed */
              );
              const $i = lf(
                xt,
                L.left.expression,
                pp(L.left),
                /*isPrototypeProperty*/
                false,
                /*containerIsClass*/
                false
              );
              da(L, $i);
            } else
              Nl(Ws(L.left, iS));
        }
        function Nl(L) {
          E.assert(!Me(L)), ja(L.expression, L), eg(
            L.expression,
            L,
            /*isPrototypeProperty*/
            false,
            /*containerIsClass*/
            false
          );
        }
        function lf(L, Oe, xt, Tr, $i) {
          return L?.flags & 2097152 || (xt && !Tr && (L = yl(Oe, L, (hs, jo, ra) => {
            if (jo)
              return me(jo, hs, 67110400), jo;
            {
              const Al = ra ? ra.exports : e.jsGlobalAugmentations || (e.jsGlobalAugmentations = js());
              return Te(Al, ra, hs, 67110400, 110735);
            }
          })), $i && L && L.valueDeclaration && me(
            L,
            L.valueDeclaration,
            32
            /* Class */
          )), L;
        }
        function Hu(L, Oe, xt) {
          if (!Oe || !Wg(Oe))
            return;
          const Tr = xt ? Oe.members || (Oe.members = js()) : Oe.exports || (Oe.exports = js());
          let $i = 0, Ns = 0;
          to(cx(L)) ? ($i = 8192, Ns = 103359) : ws(L) && nS(L) && (ot(L.arguments[2].properties, (Zi) => {
            const hs = us(Zi);
            return !!hs && Me(hs) && An(hs) === "set";
          }) && ($i |= 65540, Ns |= 78783), ot(L.arguments[2].properties, (Zi) => {
            const hs = us(Zi);
            return !!hs && Me(hs) && An(hs) === "get";
          }) && ($i |= 32772, Ns |= 46015)), $i === 0 && ($i = 4, Ns = 0), Te(
            Tr,
            Oe,
            L,
            $i | 67108864,
            Ns & -67108865
            /* Assignment */
          );
        }
        function pp(L) {
          return _n(L.parent) ? Ug(L.parent).parent.kind === 308 : L.parent.parent.kind === 308;
        }
        function eg(L, Oe, xt, Tr) {
          let $i = E_(L, c) || E_(L, s);
          const Ns = pp(Oe);
          $i = lf($i, Oe.expression, Ns, xt, Tr), Hu(Oe, $i, xt);
        }
        function Wg(L) {
          if (L.flags & 1072)
            return true;
          const Oe = L.valueDeclaration;
          if (Oe && ws(Oe))
            return !!cx(Oe);
          let xt = Oe ? ei(Oe) ? Oe.initializer : _n(Oe) ? Oe.right : wn(Oe) && _n(Oe.parent) ? Oe.parent.right : void 0 : void 0;
          if (xt = xt && M3(xt), xt) {
            const Tr = Fy(ei(Oe) ? Oe.name : _n(Oe) ? Oe.left : Oe);
            return !!W1(_n(xt) && (xt.operatorToken.kind === 57 || xt.operatorToken.kind === 61) ? xt.right : xt, Tr);
          }
          return false;
        }
        function Ug(L) {
          for (; _n(L.parent); )
            L = L.parent;
          return L.parent;
        }
        function E_(L, Oe = s) {
          if (Me(L))
            return mO(Oe, L.escapedText);
          {
            const xt = E_(L.expression);
            return xt && xt.exports && xt.exports.get(gh(L));
          }
        }
        function yl(L, Oe, xt) {
          if (Xb(e, L))
            return e.symbol;
          if (Me(L))
            return xt(L, E_(L), Oe);
          {
            const Tr = yl(L.expression, Oe, xt), $i = R3(L);
            return Ai($i) && E.fail("unexpected PrivateIdentifier"), xt($i, Tr && Tr.exports && Tr.exports.get(gh(L)), Tr);
          }
        }
        function Md(L) {
          !e.commonJsModuleIndicator && v_(
            L,
            /*requireStringLiteralLikeArgument*/
            false
          ) && C_(L);
        }
        function jf(L) {
          if (L.kind === 264)
            Vc(
              L,
              32,
              899503
              /* ClassExcludes */
            );
          else {
            const $i = L.name ? L.name.escapedText : "__class";
            gs(L, 32, $i), L.name && ae.add(L.name.escapedText);
          }
          const { symbol: Oe } = L, xt = je(4194308, "prototype"), Tr = Oe.exports.get(xt.escapedName);
          Tr && (L.name && ja(L.name, L), e.bindDiagnostics.push(he(Tr.declarations[0], p.Duplicate_identifier_0, sc(xt)))), Oe.exports.set(xt.escapedName, xt), xt.parent = Oe;
        }
        function Em(L) {
          return B1(L) ? Vc(
            L,
            128,
            899967
            /* ConstEnumExcludes */
          ) : Vc(
            L,
            256,
            899327
            /* RegularEnumExcludes */
          );
        }
        function ee(L) {
          if (W && Xa(L, L.name), !Ds(L.name)) {
            const Oe = L.kind === 261 ? L : L.parent.parent;
            an(L) && Cb(Oe) && !M1(L) && !(L1(L) & 32) ? fr(
              L,
              2097152,
              2097152
              /* AliasExcludes */
            ) : aB(L) ? Vc(
              L,
              2,
              111551
              /* BlockScopedVariableExcludes */
            ) : H1(L) ? fr(
              L,
              1,
              111551
              /* ParameterExcludes */
            ) : fr(
              L,
              1,
              111550
              /* FunctionScopedVariableExcludes */
            );
          }
        }
        function et(L) {
          if (!(L.kind === 342 && s.kind !== 324) && (W && !(L.flags & 33554432) && Xa(L, L.name), Ds(L.name) ? gs(L, 1, "__" + L.parent.parameters.indexOf(L)) : fr(
            L,
            1,
            111551
            /* ParameterExcludes */
          ), X_(L, L.parent))) {
            const Oe = L.parent.parent;
            Te(
              Oe.symbol.members,
              Oe.symbol,
              L,
              4 | (L.questionToken ? 16777216 : 0),
              0
              /* PropertyExcludes */
            );
          }
        }
        function Ut(L) {
          !e.isDeclarationFile && !(L.flags & 33554432) && q4(L) && ($ |= 4096), Nc(L), W ? (co(L), Vc(
            L,
            16,
            110991
            /* FunctionExcludes */
          )) : fr(
            L,
            16,
            110991
            /* FunctionExcludes */
          );
        }
        function Gt(L) {
          !e.isDeclarationFile && !(L.flags & 33554432) && q4(L) && ($ |= 4096), h && (L.flowNode = h), Nc(L);
          const Oe = L.name ? L.name.escapedText : "__function";
          return gs(L, 16, Oe);
        }
        function Sr(L, Oe, xt) {
          return !e.isDeclarationFile && !(L.flags & 33554432) && q4(L) && ($ |= 4096), h && Z7(L) && (L.flowNode = h), hh(L) ? gs(
            L,
            Oe,
            "__computed"
            /* Computed */
          ) : fr(L, Oe, xt);
        }
        function zr(L) {
          const Oe = dr(L, (xt) => xt.parent && zb(xt.parent) && xt.parent.extendsType === xt);
          return Oe && Oe.parent;
        }
        function jn(L) {
          if (Bp(L.parent)) {
            const Oe = p5(L.parent);
            Oe ? (E.assertNode(Oe, zm), Oe.locals ?? (Oe.locals = js()), Te(
              Oe.locals,
              /*parent*/
              void 0,
              L,
              262144,
              526824
              /* TypeParameterExcludes */
            )) : fr(
              L,
              262144,
              526824
              /* TypeParameterExcludes */
            );
          } else if (L.parent.kind === 196) {
            const Oe = zr(L.parent);
            Oe ? (E.assertNode(Oe, zm), Oe.locals ?? (Oe.locals = js()), Te(
              Oe.locals,
              /*parent*/
              void 0,
              L,
              262144,
              526824
              /* TypeParameterExcludes */
            )) : gs(L, 262144, Z(L));
          } else
            fr(
              L,
              262144,
              526824
              /* TypeParameterExcludes */
            );
        }
        function ni(L) {
          const Oe = Eh(L);
          return Oe === 1 || Oe === 2 && Oy(t);
        }
        function wi(L) {
          if (!(h.flags & 1))
            return false;
          if (h === se && // report error on all statements except empty ones
          (f3(L) && L.kind !== 243 || // report error on class declarations
          L.kind === 264 || // report errors on enums with preserved emit
          v1e(L, t) || // report error on instantiated modules
          L.kind === 268 && ni(L)) && (h = ce, !t.allowUnreachableCode)) {
            const xt = kee(t) && !(L.flags & 33554432) && (!Pc(L) || !!(ph(L.declarationList) & 7) || L.declarationList.declarations.some((Tr) => !!Tr.initializer));
            rRe(L, t, (Tr, $i) => Vn(xt, Tr, $i, p.Unreachable_code_detected));
          }
          return true;
        }
      }
      function v1e(e, t) {
        return e.kind === 267 && (!B1(e) || Oy(t));
      }
      function rRe(e, t, n) {
        if (Ti(e) && i(e) && Ps(e.parent)) {
          const { statements: o } = e.parent, c = OJ(o, e);
          ER(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
          !(Pc(o) && !(ph(o) & 7) && o.declarationList.declarations.some((c) => !c.initializer));
        }
        function s(o) {
          switch (o.kind) {
            case 265:
            case 266:
              return true;
            case 268:
              return Eh(o) !== 1;
            case 267:
              return !v1e(o, t);
            default:
              return false;
          }
        }
      }
      function Xb(e, t) {
        let n = 0;
        const i = RP();
        for (i.enqueue(t); !i.isEmpty() && n < 100; ) {
          if (n++, t = i.dequeue(), rS(t) || Ng(t))
            return true;
          if (Me(t)) {
            const s = mO(e, t.escapedText);
            if (s && s.valueDeclaration && ei(s.valueDeclaration) && s.valueDeclaration.initializer) {
              const o = s.valueDeclaration.initializer;
              i.enqueue(o), El(
                o,
                /*excludeCompoundAssignment*/
                true
              ) && (i.enqueue(o.left), i.enqueue(o.right));
            }
          }
        }
        return false;
      }
      function SW(e) {
        switch (e.kind) {
          case 232:
          case 264:
          case 267:
          case 211:
          case 188:
          case 323:
          case 293:
            return 1;
          case 265:
            return 65;
          case 268:
          case 266:
          case 201:
          case 182:
            return 33;
          case 308:
            return 37;
          case 178:
          case 179:
          case 175:
            if (Z7(e))
              return 173;
          // falls through
          case 177:
          case 263:
          case 174:
          case 180:
          case 324:
          case 318:
          case 185:
          case 181:
          case 186:
          case 176:
            return 45;
          case 352:
            return 37;
          case 219:
          case 220:
            return 61;
          case 269:
            return 4;
          case 173:
            return e.initializer ? 4 : 0;
          case 300:
          case 249:
          case 250:
          case 251:
          case 270:
            return 34;
          case 242:
            return Cs(e.parent) || Sc(e.parent) ? 0 : 34;
        }
        return 0;
      }
      function mO(e, t) {
        var n, i, s, o;
        const c = (i = (n = Bn(e, zm)) == null ? void 0 : n.locals) == null ? void 0 : i.get(t);
        if (c)
          return c.exportSymbol ?? c;
        if (Di(e) && e.jsGlobalAugmentations && e.jsGlobalAugmentations.has(t))
          return e.jsGlobalAugmentations.get(t);
        if (Td(e))
          return (o = (s = e.symbol) == null ? void 0 : s.exports) == null ? void 0 : o.get(t);
      }
      function gne(e, t, n, i, s, o, c, _, u, g) {
        return m;
        function m(h = () => true) {
          const S = [], T = [];
          return {
            walkType: (_e) => {
              try {
                return k(_e), { visitedTypes: WT(S), visitedSymbols: WT(T) };
              } finally {
                Dp(S), Dp(T);
              }
            },
            walkSymbol: (_e) => {
              try {
                return W(_e), { visitedTypes: WT(S), visitedSymbols: WT(T) };
              } finally {
                Dp(S), Dp(T);
              }
            }
          };
          function k(_e) {
            if (!(!_e || S[_e.id] || (S[_e.id] = _e, W(_e.symbol)))) {
              if (_e.flags & 524288) {
                const V = _e, ae = V.objectFlags;
                ae & 4 && D(_e), ae & 32 && R(_e), ae & 3 && U(_e), ae & 24 && $(V);
              }
              _e.flags & 262144 && P(_e), _e.flags & 3145728 && A(_e), _e.flags & 4194304 && O(_e), _e.flags & 8388608 && F(_e);
            }
          }
          function D(_e) {
            k(_e.target), lr(g(_e), k);
          }
          function P(_e) {
            k(_(_e));
          }
          function A(_e) {
            lr(_e.types, k);
          }
          function O(_e) {
            k(_e.type);
          }
          function F(_e) {
            k(_e.objectType), k(_e.indexType), k(_e.constraint);
          }
          function R(_e) {
            k(_e.typeParameter), k(_e.constraintType), k(_e.templateType), k(_e.modifiersType);
          }
          function B(_e) {
            const K = t(_e);
            K && k(K.type), lr(_e.typeParameters, k);
            for (const V of _e.parameters)
              W(V);
            k(e(_e)), k(n(_e));
          }
          function U(_e) {
            $(_e), lr(_e.typeParameters, k), lr(i(_e), k), k(_e.thisType);
          }
          function $(_e) {
            const K = s(_e);
            for (const V of K.indexInfos)
              k(V.keyType), k(V.type);
            for (const V of K.callSignatures)
              B(V);
            for (const V of K.constructSignatures)
              B(V);
            for (const V of K.properties)
              W(V);
          }
          function W(_e) {
            if (!_e)
              return false;
            const K = $s(_e);
            if (T[K])
              return false;
            if (T[K] = _e, !h(_e))
              return true;
            const V = o(_e);
            return k(V), _e.exports && _e.exports.forEach(W), lr(_e.declarations, (ae) => {
              if (ae.type && ae.type.kind === 187) {
                const se = ae.type, ce = c(u(se.exprName));
                W(ce);
              }
            }), false;
          }
        }
      }
      var Dh = {};
      Ec(Dh, {
        RelativePreference: () => b1e,
        countPathComponents: () => yO,
        forEachFileNameOfModule: () => E1e,
        getLocalModuleSpecifierBetweenFileNames: () => cRe,
        getModuleSpecifier: () => sRe,
        getModuleSpecifierPreferences: () => l8,
        getModuleSpecifiers: () => x1e,
        getModuleSpecifiersWithCacheInfo: () => k1e,
        getNodeModulesPackageName: () => aRe,
        tryGetJSExtensionForFile: () => xW,
        tryGetModuleSpecifiersFromCache: () => oRe,
        tryGetRealFileNameForNonJsDeclarationFileName: () => A1e,
        updateModuleSpecifier: () => iRe
      });
      var nRe = Kd((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;
        }
      }), b1e = /* @__PURE__ */ ((e) => (e[e.Relative = 0] = "Relative", e[e.NonRelative = 1] = "NonRelative", e[e.Shortest = 2] = "Shortest", e[e.ExternalNonRelative = 3] = "ExternalNonRelative", e))(b1e || {});
      function l8({ importModuleSpecifierPreference: e, importModuleSpecifierEnding: t, autoImportSpecifierExcludeRegexes: n }, i, s, o, c) {
        const _ = u();
        return {
          excludeRegexes: n,
          relativePreference: c !== void 0 ? xl(c) ? 0 : 1 : e === "relative" ? 0 : e === "non-relative" ? 1 : e === "project-relative" ? 3 : 2,
          getAllowedEndingsInPreferredOrder: (g) => {
            const m = kW(o, i, s), h = g !== m ? u(g) : _, S = Cu(s);
            if ((g ?? m) === 99 && 3 <= S && S <= 99)
              return P6(s, o.fileName) ? [
                3,
                2
                /* JsExtension */
              ] : [
                2
                /* JsExtension */
              ];
            if (Cu(s) === 1)
              return h === 2 ? [
                2,
                1
                /* Index */
              ] : [
                1,
                2
                /* JsExtension */
              ];
            const T = P6(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 (Og(c)) return 2;
            if (Co(c, "/index")) return 1;
          }
          return Mee(
            t,
            g ?? kW(o, i, s),
            s,
            Pg(o) ? o : void 0
          );
        }
      }
      function iRe(e, t, n, i, s, o, c = {}) {
        const _ = S1e(e, t, n, i, s, l8({}, s, e, t, o), {}, c);
        if (_ !== o)
          return _;
      }
      function sRe(e, t, n, i, s, o = {}) {
        return S1e(e, t, n, i, s, l8({}, s, e, t), {}, o);
      }
      function aRe(e, t, n, i, s, o = {}) {
        const c = hO(t.fileName, i), _ = D1e(c, n, i, s, e, o);
        return Ic(_, (u) => vne(
          u,
          c,
          t,
          i,
          e,
          s,
          /*packageNameOnly*/
          true,
          o.overrideImportMode
        ));
      }
      function S1e(e, t, n, i, s, o, c, _ = {}) {
        const u = hO(n, s), g = D1e(u, i, s, c, e, _);
        return Ic(g, (m) => vne(
          m,
          u,
          t,
          s,
          e,
          c,
          /*packageNameOnly*/
          void 0,
          _.overrideImportMode
        )) || hne(i, u, e, s, _.overrideImportMode || kW(t, s, e), o);
      }
      function oRe(e, t, n, i, s = {}) {
        const o = T1e(
          e,
          t,
          n,
          i,
          s
        );
        return o[1] && { kind: o[0], moduleSpecifiers: o[1], computedWithoutCache: false };
      }
      function T1e(e, t, n, i, s = {}) {
        var o;
        const c = m3(e);
        if (!c)
          return Ge;
        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 x1e(e, t, n, i, s, o, c = {}) {
        return k1e(
          e,
          t,
          n,
          i,
          s,
          o,
          c,
          /*forAutoImport*/
          false
        ).moduleSpecifiers;
      }
      function k1e(e, t, n, i, s, o, c = {}, _) {
        let u = false;
        const g = pRe(e, t);
        if (g)
          return {
            kind: "ambient",
            moduleSpecifiers: _ && gO(g, o.autoImportSpecifierExcludeRegexes) ? Ge : [g],
            computedWithoutCache: u
          };
        let [m, h, S, T, k] = T1e(
          e,
          i,
          s,
          o,
          c
        );
        if (h) return { kind: m, moduleSpecifiers: h, computedWithoutCache: u };
        if (!S) return { kind: void 0, moduleSpecifiers: Ge, computedWithoutCache: u };
        u = true, T || (T = w1e(hO(i.fileName, s), S.originalFileName, s, n, c));
        const D = lRe(
          T,
          n,
          i,
          s,
          o,
          c,
          _
        );
        return k?.set(i.path, S.path, o, c, D.kind, T, D.moduleSpecifiers), D;
      }
      function cRe(e, t, n, i, s, o = {}) {
        const c = hO(e.fileName, i), _ = o.overrideImportMode ?? e.impliedNodeFormat;
        return hne(
          t,
          c,
          n,
          i,
          _,
          l8(s, i, n, e)
        );
      }
      function lRe(e, t, n, i, s, o = {}, c) {
        const _ = hO(n.fileName, i), u = l8(s, i, t, n), g = Pg(n) && lr(e, (D) => lr(
          i.getFileIncludeReasons().get(io(D.path, i.getCurrentDirectory(), _.getCanonicalFileName)),
          (P) => {
            if (P.kind !== 3 || P.file !== n.path) return;
            const A = i.getModeForResolutionAtIndex(n, P.index), O = o.overrideImportMode ?? i.getDefaultResolutionModeForFile(n);
            if (A !== O && A !== void 0 && O !== void 0)
              return;
            const F = E8(n, P.index).text;
            return u.relativePreference !== 1 || !vf(F) ? F : void 0;
          }
        ));
        if (g)
          return { kind: void 0, moduleSpecifiers: [g], computedWithoutCache: true };
        const m = ot(e, (D) => D.isInNodeModules);
        let h, S, T, k;
        for (const D of e) {
          const P = D.isInNodeModules ? vne(
            D,
            _,
            n,
            i,
            t,
            s,
            /*packageNameOnly*/
            void 0,
            o.overrideImportMode
          ) : void 0;
          if (P && !(c && gO(P, u.excludeRegexes)) && (h = Er(h, P), D.isRedirect))
            return { kind: "node_modules", moduleSpecifiers: h, computedWithoutCache: true };
          const A = hne(
            D.path,
            _,
            t,
            i,
            o.overrideImportMode || n.impliedNodeFormat,
            u,
            /*pathsOnly*/
            D.isRedirect || !!P
          );
          !A || c && gO(A, u.excludeRegexes) || (D.isRedirect ? T = Er(T, A) : hj(A) ? Hy(A) ? k = Er(k, A) : S = Er(S, A) : (c || !m || D.isInNodeModules) && (k = Er(k, A)));
        }
        return S?.length ? { kind: "paths", moduleSpecifiers: S, computedWithoutCache: true } : T?.length ? { kind: "redirect", moduleSpecifiers: T, computedWithoutCache: true } : h?.length ? { kind: "node_modules", moduleSpecifiers: h, computedWithoutCache: true } : { kind: "relative", moduleSpecifiers: k ?? Ge, computedWithoutCache: true };
      }
      function gO(e, t) {
        return ot(t, (n) => {
          var i;
          return !!((i = nRe(n)) != null && i.test(e));
        });
      }
      function hO(e, t) {
        e = Qi(e, t.getCurrentDirectory());
        const n = $l(t.useCaseSensitiveFileNames ? t.useCaseSensitiveFileNames() : true), i = Hn(e);
        return {
          getCanonicalFileName: n,
          importingSourceFileName: e,
          sourceDirectory: i,
          canonicalSourceDirectory: n(i)
        };
      }
      function hne(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), P = h && gRe(h, e, S, k, D, n) || u8(W2(Ef(S, e, k)), D, n);
        if (!g && !m && !fN(n) || c === 0)
          return u ? void 0 : P;
        const A = Qi(k5(n, i) || g, i.getCurrentDirectory()), O = bne(e, A, k);
        if (!O)
          return u ? void 0 : P;
        const F = u ? void 0 : mRe(
          e,
          S,
          n,
          i,
          s,
          yRe(D)
        ), R = u || F === void 0 ? m && P1e(O, m, D, A, k, i, n) : void 0;
        if (u)
          return R;
        const B = F ?? (R === void 0 && g !== void 0 ? u8(O, D, n) : R);
        if (!B)
          return P;
        const U = gO(P, _), $ = gO(B, _);
        if (!U && $)
          return P;
        if (U && !$ || c === 1 && !vf(B))
          return B;
        if (c === 3 && !vf(B)) {
          const W = n.configFilePath ? io(Hn(n.configFilePath), i.getCurrentDirectory(), t.getCanonicalFileName) : t.getCanonicalFileName(i.getCurrentDirectory()), _e = io(e, W, k), K = Ui(T, W), V = Ui(_e, W);
          if (K && !V || !K && V)
            return B;
          const ae = yne(i, Hn(_e)), se = yne(i, S), ce = !cS(i);
          return uRe(ae, se, ce) ? P : B;
        }
        return I1e(B) || yO(P) < yO(B) ? P : B;
      }
      function uRe(e, t, n) {
        return e === t ? true : e === void 0 || t === void 0 ? false : _h(e, t, n) === 0;
      }
      function yO(e) {
        let t = 0;
        for (let n = Ui(e, "./") ? 2 : 0; n < e.length; n++)
          e.charCodeAt(n) === 47 && t++;
        return t;
      }
      function C1e(e, t) {
        return F1(t.isRedirect, e.isRedirect) || yN(e.path, t.path);
      }
      function yne(e, t) {
        return e.getNearestAncestorDirectoryWithPackageJson ? e.getNearestAncestorDirectoryWithPackageJson(t) : Qm(
          e,
          t,
          (n) => e.fileExists(On(n, "package.json")) ? n : void 0
        );
      }
      function E1e(e, t, n, i, s) {
        var o, c;
        const _ = yh(n), u = n.getCurrentDirectory(), g = n.isSourceOfProjectReferenceRedirect(t) ? (o = n.getRedirectFromSourceFile(t)) == null ? void 0 : o.outputDts : void 0, m = io(t, u, _), h = n.redirectTargetsMap.get(m) || Ge, T = [...g ? [g] : Ge, t, ...h].map((O) => Qi(O, u));
        let k = !Ni(T, mD);
        if (!i) {
          const O = lr(T, (F) => !(k && mD(F)) && s(F, g === F));
          if (O) return O;
        }
        const D = (c = n.getSymlinkCache) == null ? void 0 : c.call(n).getSymlinkedDirectoriesByRealpath(), P = Qi(t, u);
        return D && Qm(
          n,
          Hn(P),
          (O) => {
            const F = D.get(pl(io(O, u, _)));
            if (F)
              return bj(e, O, _) ? false : lr(T, (R) => {
                if (!bj(R, O, _))
                  return;
                const B = Ef(O, R, _);
                for (const U of F) {
                  const $ = my(U, B), W = s($, R === g);
                  if (k = true, W) return W;
                }
              });
          }
        ) || (i ? lr(T, (O) => k && mD(O) ? void 0 : s(O, O === g)) : void 0);
      }
      function D1e(e, t, n, i, s, o = {}) {
        var c;
        const _ = io(e.importingSourceFileName, n.getCurrentDirectory(), yh(n)), u = io(t, n.getCurrentDirectory(), yh(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 = w1e(e, t, n, s, o);
        return g && g.setModulePaths(_, u, i, o, m), m;
      }
      var _Re = ["dependencies", "peerDependencies", "optionalDependencies"];
      function fRe(e) {
        let t;
        for (const n of _Re) {
          const i = e[n];
          i && typeof i == "object" && (t = Bi(t, Zd(i)));
        }
        return t;
      }
      function w1e(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 && !Hy(e.importingSourceFileName)) {
          E.type(n);
          const h = VD(_.getPackageJsonInfoCache(), n, {}), S = qD(Hn(e.importingSourceFileName), h);
          if (S) {
            const T = fRe(S.contents.packageJsonContent);
            for (const k of T || Ge) {
              const D = PS(
                k,
                On(S.packageDirectory, "package.json"),
                i,
                n,
                _,
                /*redirectedReference*/
                void 0,
                s.overrideImportMode
              );
              u.setSymlinksFromResolution(D.resolvedModule);
            }
          }
        }
        const g = /* @__PURE__ */ new Map();
        E1e(
          e.importingSourceFileName,
          t,
          n,
          /*preferSymlinks*/
          true,
          (h, S) => {
            const T = Hy(h);
            g.set(h, { path: e.getCanonicalFileName(h), isRedirect: S, isInNodeModules: T });
          }
        );
        const m = [];
        for (let h = e.canonicalSourceDirectory; g.size !== 0; ) {
          const S = pl(h);
          let T;
          g.forEach(({ path: D, isRedirect: P, isInNodeModules: A }, O) => {
            Ui(D, S) && ((T || (T = [])).push({ path: O, isRedirect: P, isInNodeModules: A }), g.delete(O));
          }), T && (T.length > 1 && T.sort(C1e), m.push(...T));
          const k = Hn(h);
          if (k === h) break;
          h = k;
        }
        if (g.size) {
          const h = ns(
            g.entries(),
            ([S, { isRedirect: T, isInNodeModules: k }]) => ({ path: S, isRedirect: T, isInNodeModules: k })
          );
          h.length > 1 && h.sort(C1e), m.push(...h);
        }
        return m;
      }
      function pRe(e, t) {
        var n;
        const i = (n = e.declarations) == null ? void 0 : n.find(
          (c) => cB(c) && (!xb(c) || !xl(np(c.name)))
        );
        if (i)
          return i.name.text;
        const o = Fi(e.declarations, (c) => {
          var _, u, g, m;
          if (!Lc(c)) return;
          const h = D(c);
          if (!((_ = h?.parent) != null && _.parent && mm(h.parent) && Ju(h.parent.parent) && Di(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(P) {
            for (; P.flags & 8; )
              P = P.parent;
            return P;
          }
        })[0];
        if (o)
          return o.name.text;
      }
      function P1e(e, t, n, i, s, o, c) {
        for (const u in t)
          for (const g of t[u]) {
            const m = qs(g), h = bne(m, i, s) ?? m, S = h.indexOf("*"), T = n.map((k) => ({
              ending: k,
              value: u8(e, [k], c)
            }));
            if (Lg(h) && T.push({ ending: void 0, value: e }), S !== -1) {
              const k = h.substring(0, S), D = h.substring(S + 1);
              for (const { ending: P, value: A } of T)
                if (A.length >= k.length + D.length && Ui(A, k) && Co(A, D) && _({ ending: P, value: A })) {
                  const O = A.substring(k.length, A.length - D.length);
                  if (!vf(O))
                    return fS(u, O);
                }
            } else if (ot(T, (k) => k.ending !== 0 && h === k.value) || ot(T, (k) => k.ending === 0 && h === k.value && _(k)))
              return u;
          }
        function _({ ending: u, value: g }) {
          return u !== 0 || g === u8(e, [u], c, o);
        }
      }
      function vO(e, t, n, i, s, o, c, _, u, g) {
        if (typeof o == "string") {
          const m = !cS(t), h = () => t.getCommonSourceDirectory(), S = u && ZW(n, e, m, h), T = u && YW(n, e, m, h), k = Qi(
            On(i, o),
            /*currentDirectory*/
            void 0
          ), D = _S(n) ? Uu(n) + xW(n, e) : void 0, P = g && Oee(n);
          switch (_) {
            case 0:
              if (D && _h(D, k, m) === 0 || _h(n, k, m) === 0 || S && _h(S, k, m) === 0 || T && _h(T, k, m) === 0)
                return { moduleFileToTry: s };
              break;
            case 1:
              if (P && Kf(n, k, m)) {
                const R = Ef(
                  k,
                  n,
                  /*ignoreCase*/
                  false
                );
                return { moduleFileToTry: Qi(
                  On(On(s, o), R),
                  /*currentDirectory*/
                  void 0
                ) };
              }
              if (D && Kf(k, D, m)) {
                const R = Ef(
                  k,
                  D,
                  /*ignoreCase*/
                  false
                );
                return { moduleFileToTry: Qi(
                  On(On(s, o), R),
                  /*currentDirectory*/
                  void 0
                ) };
              }
              if (!P && Kf(k, n, m)) {
                const R = Ef(
                  k,
                  n,
                  /*ignoreCase*/
                  false
                );
                return { moduleFileToTry: Qi(
                  On(On(s, o), R),
                  /*currentDirectory*/
                  void 0
                ) };
              }
              if (S && Kf(k, S, m)) {
                const R = Ef(
                  k,
                  S,
                  /*ignoreCase*/
                  false
                );
                return { moduleFileToTry: On(s, R) };
              }
              if (T && Kf(k, T, m)) {
                const R = l7(Ef(
                  k,
                  T,
                  /*ignoreCase*/
                  false
                ), TW(T, e));
                return { moduleFileToTry: On(s, R) };
              }
              break;
            case 2:
              const A = k.indexOf("*"), O = k.slice(0, A), F = k.slice(A + 1);
              if (P && Ui(n, O, m) && Co(n, F, m)) {
                const R = n.slice(O.length, n.length - F.length);
                return { moduleFileToTry: fS(s, R) };
              }
              if (D && Ui(D, O, m) && Co(D, F, m)) {
                const R = D.slice(O.length, D.length - F.length);
                return { moduleFileToTry: fS(s, R) };
              }
              if (!P && Ui(n, O, m) && Co(n, F, m)) {
                const R = n.slice(O.length, n.length - F.length);
                return { moduleFileToTry: fS(s, R) };
              }
              if (S && Ui(S, O, m) && Co(S, F, m)) {
                const R = S.slice(O.length, S.length - F.length);
                return { moduleFileToTry: fS(s, R) };
              }
              if (T && Ui(T, O, m) && Co(T, F, m)) {
                const R = T.slice(O.length, T.length - F.length), B = fS(s, R), U = xW(T, e);
                return U ? { moduleFileToTry: l7(B, U) } : void 0;
              }
              break;
          }
        } else {
          if (Array.isArray(o))
            return lr(o, (m) => vO(e, t, n, i, s, m, c, _, u, g));
          if (typeof o == "object" && o !== null) {
            for (const m of Zd(o))
              if (m === "default" || c.indexOf(m) >= 0 || o8(c, m)) {
                const h = o[m], S = vO(e, t, n, i, s, h, c, _, u, g);
                if (S)
                  return S;
              }
          }
        }
      }
      function dRe(e, t, n, i, s, o, c) {
        return typeof o == "object" && o !== null && !Array.isArray(o) && pO(o) ? lr(Zd(o), (_) => {
          const u = Qi(
            On(s, _),
            /*currentDirectory*/
            void 0
          ), g = Co(_, "/") ? 1 : _.includes("*") ? 2 : 0;
          return vO(
            e,
            t,
            n,
            i,
            u,
            o[_],
            c,
            g,
            /*isImports*/
            false,
            /*preferTsExtension*/
            false
          );
        }) : vO(
          e,
          t,
          n,
          i,
          s,
          o,
          c,
          0,
          /*isImports*/
          false,
          /*preferTsExtension*/
          false
        );
      }
      function mRe(e, t, n, i, s, o) {
        var c, _, u;
        if (!i.readFile || !fN(n))
          return;
        const g = yne(i, t);
        if (!g)
          return;
        const m = On(g, "package.json"), h = (_ = (c = i.getPackageJsonInfoCache) == null ? void 0 : c.call(i)) == null ? void 0 : _.getPackageJsonInfo(m);
        if (Kre(h) || !i.fileExists(m))
          return;
        const S = h?.contents.packageJsonContent || aN(i.readFile(m)), T = S?.imports;
        if (!T)
          return;
        const k = qy(n, s);
        return (u = lr(Zd(T), (D) => {
          if (!Ui(D, "#") || D === "#" || Ui(D, "#/")) return;
          const P = Co(D, "/") ? 1 : D.includes("*") ? 2 : 0;
          return vO(
            n,
            i,
            e,
            g,
            D,
            T[D],
            k,
            P,
            /*isImports*/
            true,
            o
          );
        })) == null ? void 0 : u.moduleFileToTry;
      }
      function gRe(e, t, n, i, s, o) {
        const c = N1e(t, e, i);
        if (c === void 0)
          return;
        const _ = N1e(n, e, i), u = xa(_, (m) => hr(c, (h) => W2(Ef(m, h, i)))), g = jR(u, yN);
        if (g)
          return u8(g, s, o);
      }
      function vne({ path: e, isRedirect: t }, { getCanonicalFileName: n, canonicalSourceDirectory: i }, s, o, c, _, u, g) {
        if (!o.fileExists || !o.readFile)
          return;
        const m = aF(e);
        if (!m)
          return;
        const S = l8(_, o, c, s).getAllowedEndingsInPreferredOrder();
        let T = e, k = false;
        if (!u) {
          let R = m.packageRootIndex, B;
          for (; ; ) {
            const { moduleFileToTry: U, packageRootPath: $, blockedByExports: W, verbatimFromExports: _e } = F(R);
            if (Cu(c) !== 1) {
              if (W)
                return;
              if (_e)
                return U;
            }
            if ($) {
              T = $, k = true;
              break;
            }
            if (B || (B = U), R = e.indexOf(yo, R + 1), R === -1) {
              T = u8(B, S, c, o);
              break;
            }
          }
        }
        if (t && !k)
          return;
        const D = o.getGlobalTypingsCacheLocation && o.getGlobalTypingsCacheLocation(), P = n(T.substring(0, m.topLevelNodeModulesIndex));
        if (!(Ui(i, P) || D && Ui(n(D), P)))
          return;
        const A = T.substring(m.topLevelPackageNameIndex + 1), O = HD(A);
        return Cu(c) === 1 && O === A ? void 0 : O;
        function F(R) {
          var B, U;
          const $ = e.substring(0, R), W = On($, "package.json");
          let _e = e, K = false;
          const V = (U = (B = o.getPackageJsonInfoCache) == null ? void 0 : B.call(o)) == null ? void 0 : U.getPackageJsonInfo(W);
          if (lO(V) || V === void 0 && o.fileExists(W)) {
            const ae = V?.contents.packageJsonContent || aN(o.readFile(W)), se = g || kW(s, o, c);
            if (_N(c)) {
              const he = $.substring(m.topLevelPackageNameIndex + 1), q = HD(he), be = qy(c, se), je = ae?.exports ? dRe(
                c,
                o,
                e,
                $,
                q,
                ae.exports,
                be
              ) : void 0;
              if (je)
                return { ...je, verbatimFromExports: true };
              if (ae?.exports)
                return { moduleFileToTry: e, blockedByExports: true };
            }
            const ce = ae?.typesVersions ? oO(ae.typesVersions) : void 0;
            if (ce) {
              const he = e.slice($.length + 1), q = P1e(
                he,
                ce.paths,
                S,
                $,
                n,
                o,
                c
              );
              q === void 0 ? K = true : _e = On($, q);
            }
            const fe = ae?.typings || ae?.types || ae?.main || "index.js";
            if (ms(fe) && !(K && FJ(bN(ce.paths), fe))) {
              const he = io(fe, $, n), q = n(_e);
              if (Uu(he) === Uu(q))
                return { packageRootPath: $, moduleFileToTry: _e };
              if (ae?.type !== "module" && !bc(q, tF) && Ui(q, he) && Hn(q) === a0(he) && Uu(Xc(q)) === "index")
                return { packageRootPath: $, moduleFileToTry: _e };
            }
          } else {
            const ae = n(_e.substring(m.packageRootIndex + 1));
            if (ae === "index.d.ts" || ae === "index.js" || ae === "index.ts" || ae === "index.tsx")
              return { moduleFileToTry: _e, packageRootPath: $ };
          }
          return { moduleFileToTry: _e };
        }
      }
      function hRe(e, t) {
        if (!e.fileExists) return;
        const n = wp(cD({ allowJs: true }, [{ extension: "node", isMixedContent: false }, {
          extension: "json",
          isMixedContent: false,
          scriptKind: 6
          /* JSON */
        }]));
        for (const i of n) {
          const s = t + i;
          if (e.fileExists(s))
            return s;
        }
      }
      function N1e(e, t, n) {
        return Fi(t, (i) => {
          const s = bne(e, i, n);
          return s !== void 0 && I1e(s) ? void 0 : s;
        });
      }
      function u8(e, t, n, i) {
        if (bc(e, [
          ".json",
          ".mjs",
          ".cjs"
          /* Cjs */
        ]))
          return e;
        const s = Uu(e);
        if (e === s)
          return e;
        const o = t.indexOf(
          2
          /* JsExtension */
        ), c = t.indexOf(
          3
          /* TsExtension */
        );
        if (bc(e, [
          ".mts",
          ".cts"
          /* Cts */
        ]) && c !== -1 && c < o)
          return e;
        if (bc(e, [
          ".d.mts",
          ".mts",
          ".d.cts",
          ".cts"
          /* Cts */
        ]))
          return s + TW(e, n);
        if (!bc(e, [
          ".d.ts"
          /* Dts */
        ]) && bc(e, [
          ".ts"
          /* Ts */
        ]) && e.includes(".d."))
          return A1e(e);
        switch (t[0]) {
          case 0:
            const _ = mC(s, "/index");
            return i && _ !== s && hRe(i, _) ? s : _;
          case 1:
            return s;
          case 2:
            return s + TW(e, n);
          case 3:
            if (wl(e)) {
              const u = t.findIndex(
                (g) => g === 0 || g === 1
                /* Index */
              );
              return u !== -1 && u < o ? s : s + TW(e, n);
            }
            return e;
          default:
            return E.assertNever(t[0]);
        }
      }
      function A1e(e) {
        const t = Xc(e);
        if (!Co(
          e,
          ".ts"
          /* Ts */
        ) || !t.includes(".d.") || bc(t, [
          ".d.ts"
          /* Dts */
        ])) return;
        const n = vN(
          e,
          ".ts"
          /* Ts */
        ), i = n.substring(n.lastIndexOf("."));
        return n.substring(0, n.indexOf(".d.")) + i;
      }
      function TW(e, t) {
        return xW(e, t) ?? E.fail(`Extension ${uD(e)} is unsupported:: FileName:: ${e}`);
      }
      function xW(e, t) {
        const n = Lg(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 bne(e, t, n) {
        const i = XT(
          t,
          e,
          t,
          n,
          /*isAbsolutePathAnUrl*/
          false
        );
        return $_(i) ? void 0 : i;
      }
      function I1e(e) {
        return Ui(e, "..");
      }
      function kW(e, t, n) {
        return Pg(e) ? t.getDefaultResolutionModeForFile(e) : JO(e, n);
      }
      function yRe(e) {
        const t = e.indexOf(
          3
          /* TsExtension */
        );
        return t > -1 && t < e.indexOf(
          2
          /* JsExtension */
        );
      }
      var Sne = /^".+"$/, CW = "(anonymous)", F1e = 1, O1e = 1, L1e = 1, M1e = 1, EW = /* @__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))(EW || {}), Tne = new Map(Object.entries({
        string: 256,
        number: 512,
        bigint: 1024,
        boolean: 2048,
        symbol: 4096,
        undefined: 524288,
        object: 8192,
        function: 16384
        /* TypeofNEFunction */
      })), DW = /* @__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))(DW || {}), wW = /* @__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))(wW || {}), vRe = YI(j1e, SRe), PW = new Map(Object.entries({
        Uppercase: 0,
        Lowercase: 1,
        Capitalize: 2,
        Uncapitalize: 3,
        NoInfer: 4
        /* NoInfer */
      })), R1e = class {
      };
      function bRe() {
        this.flags = 0;
      }
      function Oa(e) {
        return e.id || (e.id = O1e, O1e++), e.id;
      }
      function $s(e) {
        return e.id || (e.id = F1e, F1e++), e.id;
      }
      function NW(e, t) {
        const n = Eh(e);
        return n === 1 || t && n === 2;
      }
      function xne(e) {
        var t = [], n = (r) => {
          t.push(r);
        }, i, s, o = Yl.getSymbolConstructor(), c = Yl.getTypeConstructor(), _ = Yl.getSignatureConstructor(), u = 0, g = 0, m = 0, h = 0, S = 0, T = 0, k, D, P = false, A = js(), O = [
          1
          /* Covariant */
        ], F = e.getCompilerOptions(), R = pa(F), B = Wu(F), U = !!F.experimentalDecorators, $ = pN(F), W = TJ(F), _e = kx(F), K = uu(F, "strictNullChecks"), V = uu(F, "strictFunctionTypes"), ae = uu(F, "strictBindCallApply"), se = uu(F, "strictPropertyInitialization"), ce = uu(F, "strictBuiltinIteratorReturn"), fe = uu(F, "noImplicitAny"), he = uu(F, "noImplicitThis"), q = uu(F, "useUnknownInCatchVariables"), be = F.exactOptionalPropertyTypes, je = !!F.noUncheckedSideEffectImports, me = ict(), Z = W_t(), pe = HL(), Te = Dse(F, pe.syntacticBuilderResolver), Fe = Kee({
          evaluateElementAccessExpression: Iut,
          evaluateEntityNameExpression: R7e
        }), Ye = js(), ne = ma(4, "undefined");
        ne.declarations = [];
        var Se = ma(
          1536,
          "globalThis",
          8
          /* Readonly */
        );
        Se.exports = Ye, Se.declarations = [], Ye.set(Se.escapedName, Se);
        var ie = ma(4, "arguments"), Ne = ma(4, "require"), Ee = F.verbatimModuleSyntax ? "verbatimModuleSyntax" : "isolatedModules", Ce = !F.verbatimModuleSyntax, Ve, St, Bt = 0, tr, Nr = 0, st = qJ({
          compilerOptions: F,
          requireSymbol: Ne,
          argumentsSymbol: ie,
          globals: Ye,
          getSymbolOfDeclaration: yn,
          error: ze,
          getRequiresScopeChangeCache: m2,
          setRequiresScopeChangeCache: pE,
          lookup: ql,
          onPropertyWithInvalidInitializer: Vw,
          onFailedToResolveSymbol: bn,
          onSuccessfullyResolvedSymbol: Xu
        }), Wt = qJ({
          compilerOptions: F,
          requireSymbol: Ne,
          argumentsSymbol: ie,
          globals: Ye,
          getSymbolOfDeclaration: yn,
          error: ze,
          getRequiresScopeChangeCache: m2,
          setRequiresScopeChangeCache: pE,
          lookup: Cat
        });
        const Jr = {
          getNodeCount: () => ju(e.getSourceFiles(), (r, a) => r + a.nodeCount, 0),
          getIdentifierCount: () => ju(e.getSourceFiles(), (r, a) => r + a.identifierCount, 0),
          getSymbolCount: () => ju(e.getSourceFiles(), (r, a) => r + a.symbolCount, g),
          getTypeCount: () => u,
          getInstantiationCount: () => m,
          getRelationCacheSizes: () => ({
            assignable: du.size,
            identity: mu.size,
            subtype: ig.size,
            strictSubtype: Oo.size
          }),
          isUndefinedSymbol: (r) => r === ne,
          isArgumentsSymbol: (r) => r === ie,
          isUnknownSymbol: (r) => r === Y,
          getMergedSymbol: Ia,
          symbolIsValue: ur,
          getDiagnostics: q7e,
          getGlobalDiagnostics: n_t,
          getRecursionIdentity: k$,
          getUnmatchedProperties: Ype,
          getTypeOfSymbolAtLocation: (r, a) => {
            const l = ys(a);
            return l ? Mit(r, l) : qe;
          },
          getTypeOfSymbol: Yr,
          getSymbolsOfParameterPropertyDeclaration: (r, a) => {
            const l = ys(r, Ii);
            return l === void 0 ? E.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node.") : (E.assert(X_(l, l.parent)), ZS(l, Zo(a)));
          },
          getDeclaredTypeOfSymbol: ho,
          getPropertiesOfType: qa,
          getPropertyOfType: (r, a) => Qs(r, Zo(a)),
          getPrivateIdentifierPropertyOfType: (r, a, l) => {
            const f = ys(l);
            if (!f)
              return;
            const d = Zo(a), y = JM(d, f);
            return y ? aX(r, y) : void 0;
          },
          getTypeOfPropertyOfType: (r, a) => rr(r, Zo(a)),
          getIndexInfoOfType: (r, a) => th(r, a === 0 ? at : wt),
          getIndexInfosOfType: hu,
          getIndexInfosOfIndexSymbol: e$,
          getSignaturesOfType: As,
          getIndexTypeOfType: (r, a) => Xv(r, a === 0 ? at : wt),
          getIndexType: (r) => Om(r),
          getBaseTypes: gd,
          getBaseTypeOfLiteralType: Yh,
          getWidenedType: hf,
          getWidenedLiteralType: rb,
          fillMissingTypeArguments: Q0,
          getTypeFromTypeNode: (r) => {
            const a = ys(r, li);
            return a ? Ci(a) : qe;
          },
          getParameterType: Xd,
          getParameterIdentifierInfoAtPosition: vot,
          getPromisedTypeOfPromise: II,
          getAwaitedType: (r) => iC(r),
          getReturnTypeOfSignature: Ba,
          isNullableType: BM,
          getNullableType: TM,
          getNonNullableType: Zh,
          getNonOptionalType: w$,
          getTypeArguments: wo,
          typeToTypeNode: pe.typeToTypeNode,
          typePredicateToTypePredicateNode: pe.typePredicateToTypePredicateNode,
          indexInfoToIndexSignatureDeclaration: pe.indexInfoToIndexSignatureDeclaration,
          signatureToSignatureDeclaration: pe.signatureToSignatureDeclaration,
          symbolToEntityName: pe.symbolToEntityName,
          symbolToExpression: pe.symbolToExpression,
          symbolToNode: pe.symbolToNode,
          symbolToTypeParameterDeclarations: pe.symbolToTypeParameterDeclarations,
          symbolToParameterDeclaration: pe.symbolToParameterDeclaration,
          typeParameterToDeclaration: pe.typeParameterToDeclaration,
          getSymbolsInScope: (r, a) => {
            const l = ys(r);
            return l ? i_t(l, a) : [];
          },
          getSymbolAtLocation: (r) => {
            const a = ys(r);
            return a ? Cp(
              a,
              /*ignoreErrors*/
              true
            ) : void 0;
          },
          getIndexInfosAtLocation: (r) => {
            const a = ys(r);
            return a ? f_t(a) : void 0;
          },
          getShorthandAssignmentValueSymbol: (r) => {
            const a = ys(r);
            return a ? p_t(a) : void 0;
          },
          getExportSpecifierLocalTargetSymbol: (r) => {
            const a = ys(r, Eu);
            return a ? d_t(a) : void 0;
          },
          getExportSymbolOfSymbol(r) {
            return Ia(r.exportSymbol || r);
          },
          getTypeAtLocation: (r) => {
            const a = ys(r);
            return a ? aC(a) : qe;
          },
          getTypeOfAssignmentPattern: (r) => {
            const a = ys(r, C4);
            return a && MX(a) || qe;
          },
          getPropertySymbolOfDestructuringAssignment: (r) => {
            const a = ys(r, Me);
            return a ? m_t(a) : void 0;
          },
          signatureToString: (r, a, l, f) => m1(r, ys(a), l, f),
          typeToString: (r, a, l) => Wr(r, ys(a), l),
          symbolToString: (r, a, l, f) => Wi(r, ys(a), l, f),
          typePredicateToString: (r, a, l) => og(r, ys(a), l),
          writeSignature: (r, a, l, f, d, y, x, I) => m1(r, ys(a), l, f, d, y, x, I),
          writeType: (r, a, l, f, d, y, x) => Wr(r, ys(a), l, f, d, y, x),
          writeSymbol: (r, a, l, f, d) => Wi(r, ys(a), l, f, d),
          writeTypePredicate: (r, a, l, f) => og(r, ys(a), l, f),
          getAugmentedPropertiesOfType: Jme,
          getRootSymbols: K7e,
          getSymbolOfExpando: fX,
          getContextualType: (r, a) => {
            const l = ys(r, ut);
            if (l)
              return a & 4 ? Mn(l, () => f_(l, a)) : f_(l, a);
          },
          getContextualTypeForObjectLiteralElement: (r) => {
            const a = ys(r, dh);
            return a ? Dde(
              a,
              /*contextFlags*/
              void 0
            ) : void 0;
          },
          getContextualTypeForArgumentAtIndex: (r, a) => {
            const l = ys(r, vb);
            return l && kde(l, a);
          },
          getContextualTypeForJsxAttribute: (r) => {
            const a = ys(r, N7);
            return a && dAe(
              a,
              /*contextFlags*/
              void 0
            );
          },
          isContextSensitive: Hf,
          getTypeOfPropertyOfContextualType: ib,
          getFullyQualifiedName: J0,
          getResolvedSignature: (r, a, l) => ai(
            r,
            a,
            l,
            0
            /* Normal */
          ),
          getCandidateSignaturesForStringLiteralCompletions: Ji,
          getResolvedSignatureForSignatureHelp: (r, a, l) => Dt(r, () => ai(
            r,
            a,
            l,
            16
            /* IsForSignatureHelp */
          )),
          getExpandedParameters: YPe,
          hasEffectiveRestParameter: mg,
          containsArgumentsReference: Ufe,
          getConstantValue: (r) => {
            const a = ys(r, s5e);
            return a ? BX(a) : void 0;
          },
          isValidPropertyAccess: (r, a) => {
            const l = ys(r, kZ);
            return !!l && wat(l, Zo(a));
          },
          isValidPropertyAccessForCompletions: (r, a, l) => {
            const f = ys(r, wn);
            return !!f && qAe(f, a, l);
          },
          getSignatureFromDeclaration: (r) => {
            const a = ys(r, Cs);
            return a ? qf(a) : void 0;
          },
          isImplementationOfOverload: (r) => {
            const a = ys(r, Cs);
            return a ? n5e(a) : void 0;
          },
          getImmediateAliasedSymbol: K$,
          getAliasedSymbol: Fl,
          getEmitResolver: Uw,
          requiresAddingImplicitUndefined: fR,
          getExportsOfModule: Lk,
          getExportsAndPropertiesOfModule: yE,
          forEachExportAndPropertyOfModule: Mk,
          getSymbolWalker: gne(
            ett,
            bp,
            Ba,
            gd,
            Vd,
            Yr,
            Ou,
            __,
            e_,
            wo
          ),
          getAmbientModules: Nft,
          getJsxIntrinsicTagNamesAt: cat,
          isOptionalParameter: (r) => {
            const a = ys(r, Ii);
            return a ? QA(a) : false;
          },
          tryGetMemberInModuleExports: (r, a) => oT(Zo(r), a),
          tryGetMemberInModuleExportsAndProperties: (r, a) => Rk(Zo(r), a),
          tryFindAmbientModule: (r) => h3e(
            r,
            /*withAugmentations*/
            true
          ),
          getApparentType: Qu,
          getUnionType: Xn,
          isTypeAssignableTo: Ls,
          createAnonymousType: Uo,
          createSignature: Im,
          createSymbol: ma,
          createIndexInfo: rh,
          getAnyType: () => Le,
          getStringType: () => at,
          getStringLiteralType: W_,
          getNumberType: () => wt,
          getNumberLiteralType: qd,
          getBigIntType: () => Zr,
          getBigIntLiteralType: uM,
          getUnknownType: () => yt,
          createPromiseType: XM,
          createArrayType: yu,
          getElementTypeOfArrayType: SM,
          getBooleanType: () => Nt,
          getFalseType: (r) => r ? Rr : Pr,
          getTrueType: (r) => r ? rt : vt,
          getVoidType: () => _r,
          getUndefinedType: () => ue,
          getNullType: () => Mt,
          getESSymbolType: () => Jt,
          getNeverType: () => nr,
          getNonPrimitiveType: () => vr,
          getOptionalType: () => dt,
          getPromiseType: () => iM(
            /*reportErrors*/
            false
          ),
          getPromiseLikeType: () => z3e(
            /*reportErrors*/
            false
          ),
          getAnyAsyncIterableType: () => {
            const r = sM(
              /*reportErrors*/
              false
            );
            if (r !== zt)
              return qh(r, [Le, Le, Le]);
          },
          isSymbolAccessible: d1,
          isArrayType: Tp,
          isTupleType: ba,
          isArrayLikeType: K0,
          isEmptyAnonymousObjectType: dg,
          isTypeInvalidDueToUnionDiscriminant: Let,
          getExactOptionalProperties: unt,
          getAllPossiblePropertiesOfTypes: Met,
          getSuggestedSymbolForNonexistentProperty: Jde,
          getSuggestedSymbolForNonexistentJSXAttribute: zAe,
          getSuggestedSymbolForNonexistentSymbol: (r, a, l) => UAe(r, Zo(a), l),
          getSuggestedSymbolForNonexistentModule: zde,
          getSuggestedSymbolForNonexistentClassMember: JAe,
          getBaseConstraintOfType: nu,
          getDefaultFromTypeParameter: (r) => r && r.flags & 262144 ? C2(r) : void 0,
          resolveName(r, a, l, f) {
            return st(
              a,
              Zo(r),
              l,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              false,
              f
            );
          },
          getJsxNamespace: (r) => Si(ld(r)),
          getJsxFragmentFactory: (r) => {
            const a = qme(r);
            return a && Si(e_(a).escapedText);
          },
          getAccessibleSymbolChain: U0,
          getTypePredicateOfSignature: bp,
          resolveExternalModuleName: (r) => {
            const a = ys(r, ut);
            return a && Iu(
              a,
              a,
              /*ignoreErrors*/
              true
            );
          },
          resolveExternalModuleSymbol: z_,
          tryGetThisTypeAt: (r, a, l) => {
            const f = ys(r);
            return f && bde(f, a, l);
          },
          getTypeArgumentConstraint: (r) => {
            const a = ys(r, li);
            return a && Jct(a);
          },
          getSuggestionDiagnostics: (r, a) => {
            const l = ys(r, Di) || E.fail("Could not determine parsed source file.");
            if (t6(l, F, e))
              return Ge;
            let f;
            try {
              return i = a, jme(l), E.assert(!!(xn(l).flags & 1)), f = In(f, XS.getDiagnostics(l.fileName)), l7e(V7e(l), (d, y, x) => {
                !sx(d) && !U7e(y, !!(d.flags & 33554432)) && (f || (f = [])).push({
                  ...x,
                  category: 2
                  /* Suggestion */
                });
              }), f || Ge;
            } finally {
              i = void 0;
            }
          },
          runWithCancellationToken: (r, a) => {
            try {
              return i = r, a(Jr);
            } finally {
              i = void 0;
            }
          },
          getLocalTypeParametersOfClassOrInterfaceOrTypeAlias: na,
          isDeclarationVisible: cg,
          isPropertyAccessible: Ude,
          getTypeOnlyAliasDeclaration: Jd,
          getMemberOverrideModifierStatus: Sut,
          isTypeParameterPossiblyReferenced: pM,
          typeHasCallOrConstructSignatures: RX,
          getSymbolFlags: N_,
          getTypeArgumentsForResolvedSignature: ui,
          isLibType: SE
        };
        function ui(r) {
          if (r.mapper !== void 0)
            return Xh((r.target || r).typeParameters, r.mapper);
        }
        function Ji(r, a) {
          const l = /* @__PURE__ */ new Set(), f = [];
          Mn(a, () => ai(
            r,
            f,
            /*argumentCount*/
            void 0,
            0
            /* Normal */
          ));
          for (const d of f)
            l.add(d);
          f.length = 0, Dt(a, () => ai(
            r,
            f,
            /*argumentCount*/
            void 0,
            0
            /* Normal */
          ));
          for (const d of f)
            l.add(d);
          return ns(l);
        }
        function Dt(r, a) {
          if (r = dr(r, qj), r) {
            const l = [], f = [];
            for (; r; ) {
              const y = xn(r);
              if (l.push([y, y.resolvedSignature]), y.resolvedSignature = void 0, My(r)) {
                const x = Pn(yn(r)), I = x.type;
                f.push([x, I]), x.type = void 0;
              }
              r = dr(r.parent, qj);
            }
            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 Mn(r, a) {
          const l = dr(r, vb);
          if (l) {
            let d = r;
            do
              xn(d).skipDirectInference = true, d = d.parent;
            while (d && d !== l);
          }
          P = true;
          const f = Dt(r, a);
          if (P = false, l) {
            let d = r;
            do
              xn(d).skipDirectInference = void 0, d = d.parent;
            while (d && d !== l);
          }
          return f;
        }
        function ai(r, a, l, f) {
          const d = ys(r, vb);
          Ve = l;
          const y = d ? JE(d, a, f) : void 0;
          return Ve = void 0, y;
        }
        var fi = /* @__PURE__ */ new Map(), pn = /* @__PURE__ */ new Map(), _i = /* @__PURE__ */ new Map(), Je = /* @__PURE__ */ new Map(), ft = /* @__PURE__ */ new Map(), er = /* @__PURE__ */ new Map(), qr = /* @__PURE__ */ new Map(), Jn = /* @__PURE__ */ new Map(), Un = /* @__PURE__ */ new Map(), ki = /* @__PURE__ */ new Map(), Es = /* @__PURE__ */ new Map(), Zs = /* @__PURE__ */ new Map(), yr = /* @__PURE__ */ new Map(), vs = /* @__PURE__ */ new Map(), Xe = /* @__PURE__ */ new Map(), Et = [], re = /* @__PURE__ */ new Map(), it = /* @__PURE__ */ new Set(), Y = ma(4, "unknown"), Ae = ma(
          0,
          "__resolving__"
          /* Resolving */
        ), $e = /* @__PURE__ */ new Map(), Ke = /* @__PURE__ */ new Map(), Tt = /* @__PURE__ */ new Set(), Le = mi(1, "any"), mt = mi(1, "any", 262144, "auto"), pt = mi(
          1,
          "any",
          /*objectFlags*/
          void 0,
          "wildcard"
        ), Ct = mi(
          1,
          "any",
          /*objectFlags*/
          void 0,
          "blocked string"
        ), qe = mi(1, "error"), Lt = mi(1, "unresolved"), rn = mi(1, "any", 65536, "non-inferrable"), Pe = mi(1, "intrinsic"), yt = mi(2, "unknown"), ue = mi(32768, "undefined"), M = K ? ue : mi(32768, "undefined", 65536, "widening"), ye = mi(
          32768,
          "undefined",
          /*objectFlags*/
          void 0,
          "missing"
        ), Q = be ? ye : ue, dt = mi(
          32768,
          "undefined",
          /*objectFlags*/
          void 0,
          "optional"
        ), Mt = mi(65536, "null"), ke = K ? Mt : mi(65536, "null", 65536, "widening"), at = mi(4, "string"), wt = mi(8, "number"), Zr = mi(64, "bigint"), Rr = mi(
          512,
          "false",
          /*objectFlags*/
          void 0,
          "fresh"
        ), Pr = mi(512, "false"), rt = mi(
          512,
          "true",
          /*objectFlags*/
          void 0,
          "fresh"
        ), vt = mi(512, "true");
        rt.regularType = vt, rt.freshType = rt, vt.regularType = vt, vt.freshType = rt, Rr.regularType = Pr, Rr.freshType = Rr, Pr.regularType = Pr, Pr.freshType = Rr;
        var Nt = Xn([Pr, vt]), Jt = mi(4096, "symbol"), _r = mi(16384, "void"), nr = mi(131072, "never"), kt = mi(131072, "never", 262144, "silent"), cr = mi(
          131072,
          "never",
          /*objectFlags*/
          void 0,
          "implicit"
        ), fr = mi(
          131072,
          "never",
          /*objectFlags*/
          void 0,
          "unreachable"
        ), vr = mi(67108864, "object"), Xt = Xn([at, wt]), oi = Xn([at, wt, Jt]), Is = Xn([wt, Zr]), Ms = Xn([at, wt, Nt, Zr, Mt, ue]), ps = ST(["", ""], [wt]), uc = fM((r) => r.flags & 262144 ? Mrt(r) : r, () => "(restrictive mapper)"), Xo = fM((r) => r.flags & 262144 ? pt : r, () => "(permissive mapper)"), ro = mi(
          131072,
          "never",
          /*objectFlags*/
          void 0,
          "unique literal"
        ), zi = fM((r) => r.flags & 262144 ? ro : r, () => "(unique literal mapper)"), gs, Vc = fM((r) => (gs && (r === co || r === ge || r === H) && gs(
          /*onlyUnreliable*/
          true
        ), r), () => "(unmeasurable reporter)"), To = fM((r) => (gs && (r === co || r === ge || r === H) && gs(
          /*onlyUnreliable*/
          false
        ), r), () => "(unreliable reporter)"), ea = Uo(
          /*symbol*/
          void 0,
          A,
          Ge,
          Ge,
          Ge
        ), xc = Uo(
          /*symbol*/
          void 0,
          A,
          Ge,
          Ge,
          Ge
        );
        xc.objectFlags |= 2048;
        var Rf = Uo(
          /*symbol*/
          void 0,
          A,
          Ge,
          Ge,
          Ge
        );
        Rf.objectFlags |= 141440;
        var os = ma(
          2048,
          "__type"
          /* Type */
        );
        os.members = js();
        var zs = Uo(os, A, Ge, Ge, Ge), Aa = Uo(
          /*symbol*/
          void 0,
          A,
          Ge,
          Ge,
          Ge
        ), ya = K ? Xn([ue, Mt, Aa]) : yt, zt = Uo(
          /*symbol*/
          void 0,
          A,
          Ge,
          Ge,
          Ge
        );
        zt.instantiations = /* @__PURE__ */ new Map();
        var Xa = Uo(
          /*symbol*/
          void 0,
          A,
          Ge,
          Ge,
          Ge
        );
        Xa.objectFlags |= 262144;
        var mc = Uo(
          /*symbol*/
          void 0,
          A,
          Ge,
          Ge,
          Ge
        ), Nc = Uo(
          /*symbol*/
          void 0,
          A,
          Ge,
          Ge,
          Ge
        ), Wl = Uo(
          /*symbol*/
          void 0,
          A,
          Ge,
          Ge,
          Ge
        ), co = l_(), ge = l_();
        ge.constraint = co;
        var H = l_(), tt = l_(), Ft = l_();
        Ft.constraint = tt;
        var Kt = YA(1, "<<unresolved>>", 0, Le), Hr = Im(
          /*declaration*/
          void 0,
          /*typeParameters*/
          void 0,
          /*thisParameter*/
          void 0,
          Ge,
          Le,
          /*resolvedTypePredicate*/
          void 0,
          0,
          0
          /* None */
        ), Vn = Im(
          /*declaration*/
          void 0,
          /*typeParameters*/
          void 0,
          /*thisParameter*/
          void 0,
          Ge,
          qe,
          /*resolvedTypePredicate*/
          void 0,
          0,
          0
          /* None */
        ), ln = Im(
          /*declaration*/
          void 0,
          /*typeParameters*/
          void 0,
          /*thisParameter*/
          void 0,
          Ge,
          Le,
          /*resolvedTypePredicate*/
          void 0,
          0,
          0
          /* None */
        ), kr = Im(
          /*declaration*/
          void 0,
          /*typeParameters*/
          void 0,
          /*thisParameter*/
          void 0,
          Ge,
          kt,
          /*resolvedTypePredicate*/
          void 0,
          0,
          0
          /* None */
        ), Li = rh(
          wt,
          at,
          /*isReadonly*/
          true
        ), Yi = rh(
          at,
          Le,
          /*isReadonly*/
          false
        ), eo = /* @__PURE__ */ new Map(), ta = {
          get yieldType() {
            return E.fail("Not supported");
          },
          get returnType() {
            return E.fail("Not supported");
          },
          get nextType() {
            return E.fail("Not supported");
          }
        }, xo = D1(Le, Le, Le), qc = D1(kt, kt, kt), Rc = {
          iterableCacheKey: "iterationTypesOfAsyncIterable",
          iteratorCacheKey: "iterationTypesOfAsyncIterator",
          iteratorSymbolName: "asyncIterator",
          getGlobalIteratorType: mtt,
          getGlobalIterableType: sM,
          getGlobalIterableIteratorType: W3e,
          getGlobalIteratorObjectType: htt,
          getGlobalGeneratorType: ytt,
          getGlobalBuiltinIteratorTypes: gtt,
          resolveIterationType: (r, a) => iC(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
        }, go = {
          iterableCacheKey: "iterationTypesOfIterable",
          iteratorCacheKey: "iterationTypesOfIterator",
          iteratorSymbolName: "iterator",
          getGlobalIteratorType: vtt,
          getGlobalIterableType: c$,
          getGlobalIterableIteratorType: U3e,
          getGlobalIteratorObjectType: Stt,
          getGlobalGeneratorType: Ttt,
          getGlobalBuiltinIteratorTypes: btt,
          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
        }, tc, Ld = /* @__PURE__ */ new Map(), ru = /* @__PURE__ */ new Map(), Tf, C_, Ie, Ot, Mr, Gi, Ea, Da, da, tl, Eo, rc, gc, xf, Ul, Nl, lf, Hu, pp, eg, Wg, Ug, E_, yl, Md, jf, Em, ee, et, Ut, Gt, Sr, zr, jn, ni, wi, L, Oe, xt, Tr, $i, Ns, Zi, hs, jo, ra, Al, uf, Bf, dp, Fh, A0, o_, tg, Rd, Vp, e1, Be, nt, Rt, pr, Or = /* @__PURE__ */ new Map(), dn = 0, Ir = 0, Vr = 0, hi = false, ts = 0, Zn, rs, Pi, Bo = [], D_ = [], qp = [], Vl = 0, Hp = [], _f = [], xv = [], Dm = 0, rg = [], kv = [], ng = 0, cE = W_(""), zw = qd(0), lE = uM({ negative: false, base10Value: "0" }), Vg = [], Cv = [], VS = [], I0 = 0, qS = false, bk = 0, Ww = 10, HS = [], Sk = [], Ev = [], uE = [], GS = [], Tk = [], u2 = [], t1 = [], xk = [], kk = [], _2 = [], r1 = [], F0 = [], Oh = [], Lh = [], Mh = [], n1 = [], Dv = [], $S = [], wv = 0, Pa = X4(), XS = X4(), _E = gu(), Rh, jh, ig = /* @__PURE__ */ new Map(), Oo = /* @__PURE__ */ new Map(), du = /* @__PURE__ */ new Map(), w_ = /* @__PURE__ */ new Map(), mu = /* @__PURE__ */ new Map(), Pv = /* @__PURE__ */ new Map(), Gu = [
          [".mts", ".mjs"],
          [".ts", ".js"],
          [".cts", ".cjs"],
          [".mjs", ".mjs"],
          [".js", ".js"],
          [".cjs", ".cjs"],
          [".tsx", F.jsx === 1 ? ".jsx" : ".js"],
          [".jsx", ".jsx"],
          [".json", ".json"]
        ];
        return U_t(), Jr;
        function sg(r) {
          return !wn(r) || !Me(r.name) || !wn(r.expression) && !Me(r.expression) ? false : Me(r.expression) ? An(r.expression) === "Symbol" && Ou(r.expression) === (AE(
            "Symbol",
            1160127,
            /*diagnostic*/
            void 0
          ) || Y) : Me(r.expression.expression) ? An(r.expression.name) === "Symbol" && An(r.expression.expression) === "globalThis" && Ou(r.expression.expression) === Se : false;
        }
        function c_(r) {
          return r ? Xe.get(r) : void 0;
        }
        function Gp(r, a) {
          return r && Xe.set(r, a), a;
        }
        function ld(r) {
          if (r) {
            const a = xr(r);
            if (a)
              if (ad(r)) {
                if (a.localJsxFragmentNamespace)
                  return a.localJsxFragmentNamespace;
                const l = a.pragmas.get("jsxfrag");
                if (l) {
                  const d = ss(l) ? l[0] : l;
                  if (a.localJsxFragmentFactory = $x(d.arguments.factory, R), Qe(a.localJsxFragmentFactory, Av, Zu), a.localJsxFragmentFactory)
                    return a.localJsxFragmentNamespace = e_(a.localJsxFragmentFactory).escapedText;
                }
                const f = qme(r);
                if (f)
                  return a.localJsxFragmentFactory = f, a.localJsxFragmentNamespace = e_(f).escapedText;
              } else {
                const l = Nv(a);
                if (l)
                  return a.localJsxNamespace = l;
              }
          }
          return Rh || (Rh = "React", F.jsxFactory ? (jh = $x(F.jsxFactory, R), Qe(jh, Av), jh && (Rh = e_(jh).escapedText)) : F.reactNamespace && (Rh = Zo(F.reactNamespace))), jh || (jh = N.createQualifiedName(N.createIdentifier(Si(Rh)), "createElement")), Rh;
        }
        function Nv(r) {
          if (r.localJsxNamespace)
            return r.localJsxNamespace;
          const a = r.pragmas.get("jsx");
          if (a) {
            const l = ss(a) ? a[0] : a;
            if (r.localJsxFactory = $x(l.arguments.factory, R), Qe(r.localJsxFactory, Av, Zu), r.localJsxFactory)
              return r.localJsxNamespace = e_(r.localJsxFactory).escapedText;
          }
        }
        function Av(r) {
          return Dd(r, -1, -1), br(
            r,
            Av,
            /*context*/
            void 0
          );
        }
        function Uw(r, a, l) {
          return l || q7e(r, a), Z;
        }
        function fE(r, a, ...l) {
          const f = r ? sn(r, a, ...l) : $o(a, ...l), d = Pa.lookup(f);
          return d || (Pa.add(f), f);
        }
        function O0(r, a, l, ...f) {
          const d = ze(a, l, ...f);
          return d.skippedOn = r, d;
        }
        function f2(r, a, ...l) {
          return r ? sn(r, a, ...l) : $o(a, ...l);
        }
        function ze(r, a, ...l) {
          const f = f2(r, a, ...l);
          return Pa.add(f), f;
        }
        function QS(r) {
          const l = xr(r).fileName;
          return bc(l, [
            ".cts",
            ".cjs"
            /* Cjs */
          ]) ? p.ECMAScript_imports_and_exports_cannot_be_written_in_a_CommonJS_file_under_verbatimModuleSyntax : p.ECMAScript_imports_and_exports_cannot_be_written_in_a_CommonJS_file_under_verbatimModuleSyntax_Adjust_the_type_field_in_the_nearest_package_json_to_make_this_file_an_ECMAScript_module_or_adjust_your_verbatimModuleSyntax_module_and_moduleResolution_settings_in_TypeScript;
        }
        function qg(r, a) {
          r ? Pa.add(a) : XS.add({
            ...a,
            category: 2
            /* Suggestion */
          });
        }
        function ud(r, a, l, ...f) {
          if (a.pos < 0 || a.end < 0) {
            if (!r)
              return;
            const d = xr(a);
            qg(r, "message" in l ? al(d, 0, 0, l, ...f) : gB(d, l));
            return;
          }
          qg(r, "message" in l ? sn(a, l, ...f) : wg(xr(a), a, l));
        }
        function L0(r, a, l, ...f) {
          const d = ze(r, l, ...f);
          if (a) {
            const y = sn(r, p.Did_you_forget_to_use_await);
            Js(d, y);
          }
          return d;
        }
        function i1(r, a) {
          const l = Array.isArray(r) ? lr(r, Ij) : Ij(r);
          return l && Js(
            a,
            sn(l, p.The_declaration_was_marked_as_deprecated_here)
          ), XS.add(a), a;
        }
        function $u(r) {
          const a = vl(r);
          return a && wr(r.declarations) > 1 ? a.flags & 64 ? ot(r.declarations, jd) : Ni(r.declarations, jd) : !!r.valueDeclaration && jd(r.valueDeclaration) || wr(r.declarations) && Ni(r.declarations, jd);
        }
        function jd(r) {
          return !!(R2(r) & 536870912);
        }
        function $p(r, a, l) {
          const f = sn(r, p._0_is_deprecated, l);
          return i1(a, f);
        }
        function Iv(r, a, l, f) {
          const d = l ? sn(r, p.The_signature_0_of_1_is_deprecated, f, l) : sn(r, p._0_is_deprecated, f);
          return i1(a, d);
        }
        function ma(r, a, l) {
          g++;
          const f = new o(r | 33554432, a);
          return f.links = new R1e(), f.links.checkFlags = l || 0, f;
        }
        function Jf(r, a) {
          const l = ma(1, r);
          return l.links.type = a, l;
        }
        function M0(r, a) {
          const l = ma(4, r);
          return l.links.type = a, l;
        }
        function YS(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 Bh(r, a) {
          a.mergeId || (a.mergeId = L1e, L1e++), HS[a.mergeId] = r;
        }
        function p2(r) {
          const a = ma(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 = true), r.members && (a.members = new Map(r.members)), r.exports && (a.exports = new Map(r.exports)), Bh(a, r), a;
        }
        function mp(r, a, l = false) {
          if (!(r.flags & YS(a.flags)) || (a.flags | r.flags) & 67108864) {
            if (a === r)
              return r;
            if (!(r.flags & 33554432)) {
              const y = jc(r);
              if (y === Y)
                return a;
              if (!(y.flags & YS(a.flags)) || (a.flags | y.flags) & 67108864)
                r = p2(y);
              else
                return f(r, a), a;
            }
            a.flags & 512 && r.flags & 512 && r.constEnumOnlyModule && !a.constEnumOnlyModule && (r.constEnumOnlyModule = false), r.flags |= a.flags, a.valueDeclaration && B4(r, a.valueDeclaration), In(r.declarations, a.declarations), a.members && (r.members || (r.members = js()), wm(r.members, a.members, l)), a.exports && (r.exports || (r.exports = js()), wm(r.exports, a.exports, l, r)), l || Bh(r, a);
          } else r.flags & 1024 ? r !== Se && ze(
            a.declarations && us(a.declarations[0]),
            p.Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity,
            Wi(r)
          ) : f(r, a);
          return r;
          function f(y, x) {
            const I = !!(y.flags & 384 || x.flags & 384), J = !!(y.flags & 2 || x.flags & 2), z = I ? p.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations : J ? p.Cannot_redeclare_block_scoped_variable_0 : p.Duplicate_identifier_0, G = x.declarations && xr(x.declarations[0]), ve = y.declarations && xr(y.declarations[0]), de = w4(G, F.checkJs), We = w4(ve, F.checkJs), lt = Wi(x);
            if (G && ve && tc && !I && G !== ve) {
              const gt = _h(G.path, ve.path) === -1 ? G : ve, jt = gt === G ? ve : G, ar = YE(tc, `${gt.path}|${jt.path}`, () => ({ firstFile: gt, secondFile: jt, conflictingSymbols: /* @__PURE__ */ new Map() })), jr = YE(ar.conflictingSymbols, lt, () => ({ isBlockScoped: J, firstFileLocations: [], secondFileLocations: [] }));
              de || d(jr.firstFileLocations, x), We || d(jr.secondFileLocations, y);
            } else
              de || Hg(x, z, lt, y), We || Hg(y, z, lt, x);
          }
          function d(y, x) {
            if (x.declarations)
              for (const I of x.declarations)
                Yf(y, I);
          }
        }
        function Hg(r, a, l, f) {
          lr(r.declarations, (d) => {
            Fv(d, a, l, f.declarations);
          });
        }
        function Fv(r, a, l, f) {
          const d = (W1(
            r,
            /*isPrototypeAssignment*/
            false
          ) ? kB(r) : us(r)) || r, y = fE(d, a, l);
          for (const x of f || Ge) {
            const I = (W1(
              x,
              /*isPrototypeAssignment*/
              false
            ) ? kB(x) : us(x)) || x;
            if (I === d) continue;
            y.relatedInformation = y.relatedInformation || [];
            const J = sn(I, p._0_was_also_declared_here, l), z = sn(I, p.and_here);
            wr(y.relatedInformation) >= 5 || ot(
              y.relatedInformation,
              (G) => sD(G, z) === 0 || sD(G, J) === 0
              /* EqualTo */
            ) || Js(y, wr(y.relatedInformation) ? z : J);
          }
        }
        function R0(r, a) {
          if (!r?.size) return a;
          if (!a?.size) return r;
          const l = js();
          return wm(l, r), wm(l, a), l;
        }
        function wm(r, a, l = false, f) {
          a.forEach((d, y) => {
            const x = r.get(y), I = x ? mp(x, d, l) : Ia(d);
            f && x && (I.parent = f), r.set(y, I);
          });
        }
        function d2(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 (Vm(d))
            wm(Ye, 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 = J_(
              r,
              r,
              y,
              /*ignoreErrors*/
              false,
              /*isForAugmentation*/
              true
            );
            if (!x)
              return;
            if (x = z_(x), x.flags & 1920)
              if (ot(C_, (I) => x === I.symbol)) {
                const I = mp(
                  d.symbol,
                  x,
                  /*unidirectional*/
                  true
                );
                Ie || (Ie = /* @__PURE__ */ new Map()), Ie.set(r.text, I);
              } else {
                if ((l = x.exports) != null && l.get(
                  "__export"
                  /* ExportStar */
                ) && ((f = d.symbol.exports) != null && f.size)) {
                  const I = wfe(
                    x,
                    "resolvedExports"
                    /* resolvedExports */
                  );
                  for (const [J, z] of ns(d.symbol.exports.entries()))
                    I.has(J) && !x.exports.has(J) && mp(I.get(J), z);
                }
                mp(x, d.symbol);
              }
            else
              ze(r, p.Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity, r.text);
          }
        }
        function Ov() {
          const r = ne.escapedName, a = Ye.get(r);
          a ? lr(a.declarations, (l) => {
            Ex(l) || Pa.add(sn(l, p.Declaration_name_conflicts_with_built_in_global_identifier_0, Si(r)));
          }) : Ye.set(r, ne);
        }
        function Pn(r) {
          if (r.flags & 33554432) return r.links;
          const a = $s(r);
          return Sk[a] ?? (Sk[a] = new R1e());
        }
        function xn(r) {
          const a = Oa(r);
          return Ev[a] || (Ev[a] = new bRe());
        }
        function ql(r, a, l) {
          if (l) {
            const f = Ia(r.get(a));
            if (f && (f.flags & l || f.flags & 2097152 && N_(f) & l))
              return f;
          }
        }
        function ZS(r, a) {
          const l = r.parent, f = r.parent.parent, d = ql(
            l.locals,
            a,
            111551
            /* Value */
          ), y = ql(
            ug(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 Jh(r, a) {
          const l = xr(r), f = xr(a), d = xd(r);
          if (l !== f) {
            if (B && (l.externalModuleIndicator || f.externalModuleIndicator) || !F.outFile || mx(a) || r.flags & 33554432 || x(a, r))
              return true;
            const z = e.getSourceFiles();
            return z.indexOf(l) <= z.indexOf(f);
          }
          if (a.flags & 16777216 || mx(a) || ide(a))
            return true;
          if (r.pos <= a.pos && !(as(r) && w3(a.parent) && !r.initializer && !r.exclamationToken)) {
            if (r.kind === 209) {
              const z = q1(
                a,
                209
                /* BindingElement */
              );
              return z ? dr(z, ha) !== dr(r, ha) || r.pos < z.pos : Jh(q1(
                r,
                261
                /* VariableDeclaration */
              ), a);
            } else {
              if (r.kind === 261)
                return !y(r, a);
              if ($n(r)) {
                const z = dr(a, (G) => G === r ? "quit" : Hs(G) ? G.parent.parent === r : !U && ol(G) && (G.parent === r || Ko(G.parent) && G.parent.parent === r || n3(G.parent) && G.parent.parent === r || as(G.parent) && G.parent.parent === r || Ii(G.parent) && G.parent.parent.parent === r));
                return z ? !U && ol(z) ? !!dr(a, (G) => G === z ? "quit" : Cs(G) && !J1(G)) : false : true;
              } else {
                if (as(r))
                  return !J(
                    r,
                    a,
                    /*stopAtAnyPropertyDeclaration*/
                    false
                  );
                if (X_(r, r.parent))
                  return !(W && jl(r) === jl(a) && x(a, r));
              }
            }
            return true;
          }
          if (a.parent.kind === 282 || a.parent.kind === 278 && a.parent.isExportEquals || a.kind === 278 && a.isExportEquals)
            return true;
          if (x(a, r))
            return W && jl(r) && (as(r) || X_(r, r.parent)) ? !J(
              r,
              a,
              /*stopAtAnyPropertyDeclaration*/
              true
            ) : true;
          return false;
          function y(z, G) {
            switch (z.parent.parent.kind) {
              case 244:
              case 249:
              case 251:
                if (_d2(G, z, d))
                  return true;
                break;
            }
            const ve = z.parent.parent;
            return Q2(ve) && _d2(G, ve.expression, d);
          }
          function x(z, G) {
            return I(z, G);
          }
          function I(z, G) {
            return !!dr(z, (ve) => {
              if (ve === d)
                return "quit";
              if (Cs(ve))
                return !J1(ve);
              if (Sc(ve))
                return G.pos < z.pos;
              const de = Bn(ve.parent, as);
              if (de && de.initializer === ve) {
                if (Bs(ve.parent)) {
                  if (G.kind === 175)
                    return true;
                  if (as(G) && jl(z) === jl(G)) {
                    const gt = G.name;
                    if (Me(gt) || Ai(gt)) {
                      const jt = Yr(yn(G)), ar = kn(G.parent.members, Sc);
                      if (Dut(gt, jt, ar, G.parent.pos, ve.pos))
                        return true;
                    }
                  }
                } else if (!(G.kind === 173 && !Bs(G)) || jl(z) !== jl(G))
                  return true;
              }
              const We = Bn(ve.parent, ol);
              if (We && We.expression === ve) {
                if (Ii(We.parent))
                  return I(We.parent.parent.parent, G) ? true : "quit";
                if (Ko(We.parent))
                  return I(We.parent.parent, G) ? true : "quit";
              }
              return false;
            });
          }
          function J(z, G, ve) {
            return G.end > z.end ? false : dr(G, (We) => {
              if (We === z)
                return "quit";
              switch (We.kind) {
                case 220:
                  return true;
                case 173:
                  return ve && (as(z) && We.parent === z.parent || X_(z, z.parent) && We.parent === z.parent.parent) ? "quit" : true;
                case 242:
                  switch (We.parent.kind) {
                    case 178:
                    case 175:
                    case 179:
                      return true;
                    default:
                      return false;
                  }
                default:
                  return false;
              }
            }) === void 0;
          }
        }
        function m2(r) {
          return xn(r).declarationRequiresScopeChange;
        }
        function pE(r, a) {
          xn(r).declarationRequiresScopeChange = a;
        }
        function Vw(r, a, l, f) {
          return W ? false : (r && !f && KS(r, a, a) || ze(
            r,
            r && l.type && QP(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,
            so(l.name),
            B_(a)
          ), true);
        }
        function bn(r, a, l, f) {
          const d = ms(a) ? a : a.escapedText;
          n(() => {
            if (!r || r.parent.kind !== 325 && !KS(r, d, a) && !s1(r) && !dE(r, d, l) && !ag(r, d) && !o1(r, d, l) && !Bd(r, d, l) && !Ck(r, d, l)) {
              let y, x;
              if (a && (x = xat(a), x && ze(r, f, B_(a), x)), !x && bk < Ww && (y = UAe(r, d, l), y?.valueDeclaration && Ju(y.valueDeclaration) && Vm(y.valueDeclaration) && (y = void 0), y)) {
                const J = Wi(y), z = jde(
                  r,
                  y,
                  /*excludeClasses*/
                  false
                ), G = l === 1920 || a && typeof a != "string" && ao(a) ? p.Cannot_find_namespace_0_Did_you_mean_1 : z ? p.Could_not_find_name_0_Did_you_mean_1 : p.Cannot_find_name_0_Did_you_mean_1, ve = f2(r, G, B_(a), J);
                ve.canonicalHead = oK(f, B_(a)), qg(!z, ve), y.valueDeclaration && Js(
                  ve,
                  sn(y.valueDeclaration, p._0_is_declared_here, J)
                );
              }
              !y && !x && a && ze(r, f, B_(a)), bk++;
            }
          });
        }
        function Xu(r, a, l, f, d, y) {
          n(() => {
            var x;
            const I = a.escapedName, J = f && Di(f) && Y_(f);
            if (r && (l & 2 || (l & 32 || l & 384) && (l & 111551) === 111551)) {
              const z = _t(a);
              (z.flags & 2 || z.flags & 32 || z.flags & 384) && zf(z, r);
            }
            if (J && (l & 111551) === 111551 && !(r.flags & 16777216)) {
              const z = Ia(a);
              wr(z.declarations) && Ni(z.declarations, (G) => jN(G) || Di(G) && !!G.symbol.globalExports) && ud(!F.allowUmdGlobalAccess, r, p._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, Si(I));
            }
            if (d && !y && (l & 111551) === 111551) {
              const z = Ia(GG(a)), G = om(d);
              z === yn(d) ? ze(r, p.Parameter_0_cannot_reference_itself, so(d.name)) : z.valueDeclaration && z.valueDeclaration.pos > d.pos && G.parent.locals && ql(G.parent.locals, z.escapedName, l) === z && ze(r, p.Parameter_0_cannot_reference_identifier_1_declared_after_it, so(d.name), so(r));
            }
            if (r && l & 111551 && a.flags & 2097152 && !(a.flags & 111551) && !$1(r)) {
              const z = Jd(
                a,
                111551
                /* Value */
              );
              if (z) {
                const G = z.kind === 282 || z.kind === 279 || z.kind === 281 ? 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, ve = Si(I);
                _s(
                  ze(r, G, ve),
                  z,
                  ve
                );
              }
            }
            if (F.isolatedModules && a && J && (l & 111551) === 111551) {
              const G = ql(Ye, I, l) === a && Di(f) && f.locals && ql(
                f.locals,
                I,
                -111552
                /* Value */
              );
              if (G) {
                const ve = (x = G.declarations) == null ? void 0 : x.find(
                  (de) => de.kind === 277 || de.kind === 274 || de.kind === 275 || de.kind === 272
                  /* ImportEqualsDeclaration */
                );
                ve && !CC(ve) && ze(ve, p.Import_0_conflicts_with_global_value_used_in_this_file_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled, Si(I));
              }
            }
          });
        }
        function _s(r, a, l) {
          return a ? Js(
            r,
            sn(
              a,
              a.kind === 282 || a.kind === 279 || a.kind === 281 ? p._0_was_exported_here : p._0_was_imported_here,
              l
            )
          ) : r;
        }
        function B_(r) {
          return ms(r) ? Si(r) : so(r);
        }
        function KS(r, a, l) {
          if (!Me(r) || r.escapedText !== a || H7e(r) || mx(r))
            return false;
          const f = zu(
            r,
            /*includeArrowFunctions*/
            false,
            /*includeClassComputedPropertyName*/
            false
          );
          let d = f;
          for (; d; ) {
            if ($n(d.parent)) {
              const y = yn(d.parent);
              if (!y)
                break;
              const x = Yr(y);
              if (Qs(x, a))
                return ze(r, p.Cannot_find_name_0_Did_you_mean_the_static_member_1_0, B_(l), Wi(y)), true;
              if (d === f && !Bs(d)) {
                const I = ho(y).thisType;
                if (Qs(I, a))
                  return ze(r, p.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0, B_(l)), true;
              }
            }
            d = d.parent;
          }
          return false;
        }
        function s1(r) {
          const a = fn(r);
          return a && _c2(
            a,
            64,
            /*ignoreErrors*/
            true
          ) ? (ze(r, p.Cannot_extend_an_interface_0_Did_you_mean_implements, Go(a)), true) : false;
        }
        function fn(r) {
          switch (r.kind) {
            case 80:
            case 212:
              return r.parent ? fn(r.parent) : void 0;
            case 234:
              if (Za(r.expression))
                return r.expression;
            // falls through
            default:
              return;
          }
        }
        function dE(r, a, l) {
          const f = 1920 | (an(r) ? 111551 : 0);
          if (l === f) {
            const d = jc(st(
              r,
              a,
              788968 & ~f,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              false
            )), y = r.parent;
            if (d) {
              if (t_(y)) {
                E.assert(y.left === r, "Should only be resolving left side of qualified name as a namespace");
                const x = y.right.escapedText;
                if (Qs(ho(d), x))
                  return ze(
                    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,
                    Si(a),
                    Si(x)
                  ), true;
              }
              return ze(r, p._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here, Si(a)), true;
            }
          }
          return false;
        }
        function Ck(r, a, l) {
          if (l & 788584) {
            const f = jc(st(
              r,
              a,
              111127,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              false
            ));
            if (f && !(f.flags & 1920))
              return ze(r, p._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0, Si(a)), true;
          }
          return false;
        }
        function Au(r) {
          return r === "any" || r === "string" || r === "number" || r === "boolean" || r === "never" || r === "unknown";
        }
        function ag(r, a) {
          return Au(a) && r.parent.kind === 282 ? (ze(r, p.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, a), true) : false;
        }
        function Bd(r, a, l) {
          if (l & 111551) {
            if (Au(a)) {
              const y = r.parent.parent;
              if (y && y.parent && nf(y)) {
                const x = y.token;
                y.parent.kind === 265 && x === 96 ? ze(r, p.An_interface_cannot_extend_a_primitive_type_like_0_It_can_only_extend_other_named_object_types, Si(a)) : $n(y.parent) && x === 96 ? ze(r, p.A_class_cannot_extend_a_primitive_type_like_0_Classes_can_only_extend_constructable_values, Si(a)) : $n(y.parent) && x === 119 && ze(r, p.A_class_cannot_implement_a_primitive_type_like_0_It_can_only_implement_other_named_object_types, Si(a));
              } else
                ze(r, p._0_only_refers_to_a_type_but_is_being_used_as_a_value_here, Si(a));
              return true;
            }
            const f = jc(st(
              r,
              a,
              788544,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              false
            )), d = f && N_(f);
            if (f && d !== void 0 && !(d & 111551)) {
              const y = Si(a);
              return eT(a) ? ze(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) : a1(r, f) ? ze(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") : ze(r, p._0_only_refers_to_a_type_but_is_being_used_as_a_value_here, y), true;
            }
          }
          return false;
        }
        function a1(r, a) {
          const l = dr(r.parent, (f) => Hs(f) || Vu(f) ? false : r_(f) || "quit");
          if (l && l.members.length === 1) {
            const f = ho(a);
            return !!(f.flags & 1048576) && wI(
              f,
              384,
              /*strict*/
              true
            );
          }
          return false;
        }
        function eT(r) {
          switch (r) {
            case "Promise":
            case "Symbol":
            case "Map":
            case "WeakMap":
            case "Set":
            case "WeakSet":
              return true;
          }
          return false;
        }
        function o1(r, a, l) {
          if (l & 111127) {
            if (jc(st(
              r,
              a,
              1024,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              false
            )))
              return ze(
                r,
                p.Cannot_use_namespace_0_as_a_value,
                Si(a)
              ), true;
          } else if (l & 788544 && jc(st(
            r,
            a,
            1536,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            false
          )))
            return ze(r, p.Cannot_use_namespace_0_as_a_type, Si(a)), true;
          return false;
        }
        function zf(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) => aB(d) || $n(d) || d.kind === 267
            /* EnumDeclaration */
          );
          if (f === void 0) return E.fail("checkResolvedBlockScopedVariable could not find block-scoped declaration");
          if (!(f.flags & 33554432) && !Jh(f, a)) {
            let d;
            const y = so(us(f));
            r.flags & 2 ? d = ze(a, p.Block_scoped_variable_0_used_before_its_declaration, y) : r.flags & 32 ? d = ze(a, p.Class_0_used_before_its_declaration, y) : r.flags & 256 ? d = ze(a, p.Enum_0_used_before_its_declaration, y) : (E.assert(!!(r.flags & 128)), Rp(F) && (d = ze(a, p.Enum_0_used_before_its_declaration, y))), d && Js(d, sn(f, p._0_is_declared_here, y));
          }
        }
        function _d2(r, a, l) {
          return !!a && !!dr(r, (f) => f === a || (f === l || Cs(f) && (!J1(f) || Fc(f) & 3) ? "quit" : false));
        }
        function gp(r) {
          switch (r.kind) {
            case 272:
              return r;
            case 274:
              return r.parent;
            case 275:
              return r.parent.parent;
            case 277:
              return r.parent.parent.parent;
            default:
              return;
          }
        }
        function P_(r) {
          return r.declarations && ub(r.declarations, j0);
        }
        function j0(r) {
          return r.kind === 272 || r.kind === 271 || r.kind === 274 && !!r.name || r.kind === 275 || r.kind === 281 || r.kind === 277 || r.kind === 282 || r.kind === 278 && G3(r) || _n(r) && wc(r) === 2 && G3(r) || vo(r) && _n(r.parent) && r.parent.left === r && r.parent.operatorToken.kind === 64 && Lv(r.parent.right) || r.kind === 305 || r.kind === 304 && Lv(r.initializer) || r.kind === 261 && Cb(r) || r.kind === 209 && Cb(r.parent.parent);
        }
        function Lv(r) {
          return d5(r) || mo(r) && Rm(r);
        }
        function Ek(r, a) {
          const l = Pk(r);
          if (l) {
            const d = YC(l.expression).arguments[0];
            return Me(l.name) ? jc(Qs(y3e(d), l.name.escapedText)) : void 0;
          }
          if (ei(r) || r.moduleReference.kind === 284) {
            const d = Iu(
              r,
              xB(r) || L4(r)
            ), y = z_(d);
            if (y && 102 <= B && B <= 199) {
              const x = g2(y, "module.exports", r, a);
              if (x)
                return x;
            }
            return hp(
              r,
              d,
              y,
              /*overwriteEmpty*/
              false
            ), y;
          }
          const f = f1(r.moduleReference, a);
          return Mv(r, f), f;
        }
        function Mv(r, a) {
          if (hp(
            r,
            /*immediateTarget*/
            void 0,
            a,
            /*overwriteEmpty*/
            false
          ) && !r.isTypeOnly) {
            const l = Jd(yn(r)), f = l.kind === 282 || l.kind === 279, 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 === 279 ? "*" : Dy(l.name);
            Js(ze(r.moduleReference, d), sn(l, y, x));
          }
        }
        function c1(r, a, l, f) {
          const d = r.exports.get(
            "export="
            /* ExportEquals */
          ), y = d ? Qs(
            Yr(d),
            a,
            /*skipObjectFunctionPropertyAugment*/
            true
          ) : r.exports.get(a), x = jc(y, f);
          return hp(
            l,
            y,
            x,
            /*overwriteEmpty*/
            false
          ), x;
        }
        function Dk(r) {
          return Fo(r) && !r.isExportEquals || Gn(
            r,
            2048
            /* Default */
          ) || Eu(r) || Xm(r);
        }
        function zh(r) {
          return Ma(r) ? e.getEmitSyntaxForUsageLocation(xr(r), r) : void 0;
        }
        function Pm(r, a) {
          return r === 99 && a === 1;
        }
        function l1(r, a) {
          if (100 <= B && B <= 199 && zh(r) === 99) {
            a ?? (a = Iu(
              r,
              r,
              /*ignoreErrors*/
              true
            ));
            const f = a && m3(a);
            return f && (rp(f) || VF(f.fileName) === ".d.json.ts");
          }
          return false;
        }
        function Rv(r, a, l, f) {
          const d = r && zh(f);
          if (r && d !== void 0) {
            const y = e.getImpliedNodeFormatForEmit(r);
            if (d === 99 && y === 1 && 100 <= B && B <= 199)
              return true;
            if (d === 99 && y === 99)
              return false;
          }
          if (!_e)
            return false;
          if (!r || r.isDeclarationFile) {
            const y = c1(
              a,
              "default",
              /*sourceNode*/
              void 0,
              /*dontResolveAlias*/
              true
            );
            return !(y && ot(y.declarations, Dk) || c1(
              a,
              Zo("__esModule"),
              /*sourceNode*/
              void 0,
              l
            ));
          }
          return Ku(r) ? typeof r.externalModuleIndicator != "object" && !c1(
            a,
            Zo("__esModule"),
            /*sourceNode*/
            void 0,
            l
          ) : pd(a);
        }
        function B0(r, a) {
          const l = Iu(r, r.parent.moduleSpecifier);
          if (l)
            return u1(l, r, a);
        }
        function u1(r, a, l) {
          var f;
          const d = (f = r.declarations) == null ? void 0 : f.find(Di), y = fd(a);
          let x, I;
          if (y3(r))
            x = r;
          else if (d && y && 102 <= B && B <= 199 && zh(y) === 1 && e.getImpliedNodeFormatForEmit(d) === 99 && (I = c1(r, "module.exports", a, l))) {
            if (!_m(F)) {
              ze(a.name, p.Module_0_can_only_be_default_imported_using_the_1_flag, Wi(r), "esModuleInterop");
              return;
            }
            return hp(
              a,
              I,
              /*finalTarget*/
              void 0,
              /*overwriteEmpty*/
              false
            ), I;
          } else
            x = c1(r, "default", a, l);
          if (!y)
            return x;
          const J = l1(y, r), z = Rv(d, r, l, y);
          if (!x && !z && !J)
            if (pd(r) && !_e) {
              const G = B >= 5 ? "allowSyntheticDefaultImports" : "esModuleInterop", de = r.exports.get(
                "export="
                /* ExportEquals */
              ).valueDeclaration, We = ze(a.name, p.Module_0_can_only_be_default_imported_using_the_1_flag, Wi(r), G);
              de && Js(
                We,
                sn(
                  de,
                  p.This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag,
                  G
                )
              );
            } else sd(a) ? Wh(r, a) : tT(r, r, a, by(a) && a.propertyName || a.name);
          else if (z || J) {
            const G = z_(r, l) || jc(r, l);
            return hp(
              a,
              r,
              G,
              /*overwriteEmpty*/
              false
            ), G;
          }
          return hp(
            a,
            x,
            /*finalTarget*/
            void 0,
            /*overwriteEmpty*/
            false
          ), x;
        }
        function fd(r) {
          switch (r.kind) {
            case 274:
              return r.parent.moduleSpecifier;
            case 272:
              return xh(r.moduleReference) ? r.moduleReference.expression : void 0;
            case 275:
              return r.parent.parent.moduleSpecifier;
            case 277:
              return r.parent.parent.parent.moduleSpecifier;
            case 282:
              return r.parent.parent.moduleSpecifier;
            default:
              return E.assertNever(r);
          }
        }
        function Wh(r, a) {
          var l, f, d;
          if ((l = r.exports) != null && l.has(a.symbol.escapedName))
            ze(
              a.name,
              p.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead,
              Wi(r),
              Wi(a.symbol)
            );
          else {
            const y = ze(a.name, p.Module_0_has_no_default_export, Wi(r)), x = (f = r.exports) == null ? void 0 : f.get(
              "__export"
              /* ExportStar */
            );
            if (x) {
              const I = (d = x.declarations) == null ? void 0 : d.find(
                (J) => {
                  var z, G;
                  return !!(Mc(J) && J.moduleSpecifier && ((G = (z = Iu(J, J.moduleSpecifier)) == null ? void 0 : z.exports) != null && G.has(
                    "default"
                    /* Default */
                  )));
                }
              );
              I && Js(y, sn(I, p.export_Asterisk_does_not_re_export_a_default));
            }
          }
        }
        function Gg(r, a) {
          const l = r.parent.parent.moduleSpecifier, f = Iu(r, l), d = Qg(
            f,
            l,
            a,
            /*suppressInteropError*/
            false
          );
          return hp(
            r,
            f,
            d,
            /*overwriteEmpty*/
            false
          ), d;
        }
        function _1(r, a) {
          const l = r.parent.moduleSpecifier, f = l && Iu(r, l), d = l && Qg(
            f,
            l,
            a,
            /*suppressInteropError*/
            false
          );
          return hp(
            r,
            f,
            d,
            /*overwriteEmpty*/
            false
          ), d;
        }
        function Il(r, a) {
          if (r === Y && a === Y)
            return Y;
          if (r.flags & 790504)
            return r;
          const l = ma(r.flags | a.flags, r.escapedName);
          return E.assert(r.declarations || a.declarations), l.declarations = _b(Bi(r.declarations, a.declarations), _y), 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 g2(r, a, l, f) {
          var d;
          if (r.flags & 1536) {
            const y = ff(r).get(a), x = jc(y, f), I = (d = Pn(r).typeOnlyExportStarMap) == null ? void 0 : d.get(a);
            return hp(
              l,
              y,
              x,
              /*overwriteEmpty*/
              false,
              I,
              a
            ), x;
          }
        }
        function $g(r, a) {
          if (r.flags & 3) {
            const l = r.valueDeclaration.type;
            if (l)
              return jc(Qs(Ci(l), a));
          }
        }
        function jv(r, a, l = false) {
          var f;
          const d = xB(r) || r.moduleSpecifier, y = Iu(r, d), x = !wn(a) && a.propertyName || a.name;
          if (!Me(x) && x.kind !== 11)
            return;
          const I = Tb(x), z = Qg(
            y,
            d,
            /*dontResolveAlias*/
            false,
            I === "default" && _e
          );
          if (z && (I || x.kind === 11)) {
            if (y3(y))
              return y;
            let G;
            y && y.exports && y.exports.get(
              "export="
              /* ExportEquals */
            ) ? G = Qs(
              Yr(z),
              I,
              /*skipObjectFunctionPropertyAugment*/
              true
            ) : G = $g(z, I), G = jc(G, l);
            let ve = g2(z, I, a, l);
            if (ve === void 0 && I === "default") {
              const We = (f = y.declarations) == null ? void 0 : f.find(Di);
              (l1(d, y) || Rv(We, y, l, d)) && (ve = z_(y, l) || jc(y, l));
            }
            const de = ve && G && ve !== G ? Il(G, ve) : ve || G;
            return by(a) && l1(d, y) && I !== "default" ? ze(x, p.Named_imports_from_a_JSON_file_into_an_ECMAScript_module_are_not_allowed_when_module_is_set_to_0, hC[B]) : de || tT(y, z, r, x), de;
          }
        }
        function tT(r, a, l, f) {
          var d;
          const y = J0(r, l), x = so(f), I = Me(f) ? zde(f, a) : void 0;
          if (I !== void 0) {
            const J = Wi(I), z = ze(f, p._0_has_no_exported_member_named_1_Did_you_mean_2, y, x, J);
            I.valueDeclaration && Js(z, sn(I.valueDeclaration, p._0_is_declared_here, J));
          } else
            (d = r.exports) != null && d.has(
              "default"
              /* Default */
            ) ? ze(
              f,
              p.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead,
              y,
              x
            ) : Xg(l, f, x, r, y);
        }
        function Xg(r, a, l, f, d) {
          var y, x;
          const I = (x = (y = Bn(f.valueDeclaration, zm)) == null ? void 0 : y.locals) == null ? void 0 : x.get(Tb(a)), J = f.exports;
          if (I) {
            const z = J?.get(
              "export="
              /* ExportEquals */
            );
            if (z)
              le(z, I) ? mE(r, a, l, d) : ze(a, p.Module_0_has_no_exported_member_1, d, l);
            else {
              const G = J ? Nn(Wfe(J), (de) => !!le(de, I)) : void 0, ve = G ? ze(a, p.Module_0_declares_1_locally_but_it_is_exported_as_2, d, l, Wi(G)) : ze(a, p.Module_0_declares_1_locally_but_it_is_not_exported, d, l);
              I.declarations && Js(ve, ...hr(I.declarations, (de, We) => sn(de, We === 0 ? p._0_is_declared_here : p.and_here, l)));
            }
          } else
            ze(a, p.Module_0_has_no_exported_member_1, d, l);
        }
        function mE(r, a, l, f) {
          if (B >= 5) {
            const d = _m(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;
            ze(a, d, l);
          } else if (an(r)) {
            const d = _m(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;
            ze(a, d, l);
          } else {
            const d = _m(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;
            ze(a, d, l, l, f);
          }
        }
        function wk(r, a) {
          if (qu(r) && Um(r.propertyName || r.name)) {
            const x = fd(r), I = x && Iu(r, x);
            if (I)
              return u1(I, r, a);
          }
          const l = ha(r) ? om(r) : r.parent.parent.parent, f = Pk(l), d = jv(l, f || r, a), y = r.propertyName || r.name;
          return f && d && Me(y) ? jc(Qs(Yr(d), y.escapedText), a) : (hp(
            r,
            /*immediateTarget*/
            void 0,
            d,
            /*overwriteEmpty*/
            false
          ), d);
        }
        function Pk(r) {
          if (ei(r) && r.initializer && wn(r.initializer))
            return r.initializer;
        }
        function qw(r, a) {
          if (Td(r.parent)) {
            const l = z_(r.parent.symbol, a);
            return hp(
              r,
              /*immediateTarget*/
              void 0,
              l,
              /*overwriteEmpty*/
              false
            ), l;
          }
        }
        function Nk(r, a, l) {
          const f = r.propertyName || r.name;
          if (Um(f)) {
            const y = fd(r), x = y && Iu(r, y);
            if (x)
              return u1(x, r, !!l);
          }
          const d = r.parent.parent.moduleSpecifier ? jv(r.parent.parent, r, l) : f.kind === 11 ? void 0 : (
            // Skip for invalid syntax like this: export { "x" }
            _c2(
              f,
              a,
              /*ignoreErrors*/
              false,
              l
            )
          );
          return hp(
            r,
            /*immediateTarget*/
            void 0,
            d,
            /*overwriteEmpty*/
            false
          ), d;
        }
        function Bv(r, a) {
          const l = Fo(r) ? r.expression : r.right, f = Uh(l, a);
          return hp(
            r,
            /*immediateTarget*/
            void 0,
            f,
            /*overwriteEmpty*/
            false
          ), f;
        }
        function Uh(r, a) {
          if (Oc(r))
            return fc(r).symbol;
          if (!Zu(r) && !Za(r))
            return;
          const l = _c2(
            r,
            901119,
            /*ignoreErrors*/
            true,
            a
          );
          return l || (fc(r), xn(r).resolvedSymbol);
        }
        function gE(r, a) {
          if (_n(r.parent) && r.parent.left === r && r.parent.operatorToken.kind === 64)
            return Uh(r.parent.right, a);
        }
        function Jv(r, a = false) {
          switch (r.kind) {
            case 272:
            case 261:
              return Ek(r, a);
            case 274:
              return B0(r, a);
            case 275:
              return Gg(r, a);
            case 281:
              return _1(r, a);
            case 277:
            case 209:
              return wk(r, a);
            case 282:
              return Nk(r, 901119, a);
            case 278:
            case 227:
              return Bv(r, a);
            case 271:
              return qw(r, a);
            case 305:
              return _c2(
                r.name,
                901119,
                /*ignoreErrors*/
                true,
                a
              );
            case 304:
              return Uh(r.initializer, a);
            case 213:
            case 212:
              return gE(r, a);
            default:
              return E.fail();
          }
        }
        function rT(r, a = 901119) {
          return r ? (r.flags & (2097152 | a)) === 2097152 || !!(r.flags & 2097152 && r.flags & 67108864) : false;
        }
        function jc(r, a) {
          return !a && rT(r) ? Fl(r) : r;
        }
        function Fl(r) {
          E.assert((r.flags & 2097152) !== 0, "Should only get Alias here.");
          const a = Pn(r);
          if (a.aliasTarget)
            a.aliasTarget === Ae && (a.aliasTarget = Y);
          else {
            a.aliasTarget = Ae;
            const l = P_(r);
            if (!l) return E.fail();
            const f = Jv(l);
            a.aliasTarget === Ae ? a.aliasTarget = f || Y : ze(l, p.Circular_definition_of_import_alias_0, Wi(r));
          }
          return a.aliasTarget;
        }
        function Ak(r) {
          if (Pn(r).aliasTarget !== Ae)
            return Fl(r);
        }
        function N_(r, a, l) {
          const f = a && Jd(r), d = f && Mc(f), y = f && (d ? Iu(
            f.moduleSpecifier,
            f.moduleSpecifier,
            /*ignoreErrors*/
            true
          ) : Fl(f.symbol)), x = d && y ? Nm(y) : void 0;
          let I = l ? 0 : r.flags, J;
          for (; r.flags & 2097152; ) {
            const z = _t(Fl(r));
            if (!d && z === y || x?.get(z.escapedName) === z)
              break;
            if (z === Y)
              return -1;
            if (z === r || J?.has(z))
              break;
            z.flags & 2097152 && (J ? J.add(z) : J = /* @__PURE__ */ new Set([r, z])), I |= z.flags, r = z;
          }
          return I;
        }
        function hp(r, a, l, f, d, y) {
          if (!r || wn(r)) return false;
          const x = yn(r);
          if (c0(r)) {
            const J = Pn(x);
            return J.typeOnlyDeclaration = r, true;
          }
          if (d) {
            const J = Pn(x);
            return J.typeOnlyDeclaration = d, x.escapedName !== y && (J.typeOnlyExportStarName = y), true;
          }
          const I = Pn(x);
          return h2(I, a, f) || h2(I, l, f);
        }
        function h2(r, a, l) {
          var f;
          if (a && (r.typeOnlyDeclaration === void 0 || l && r.typeOnlyDeclaration === false)) {
            const d = ((f = a.exports) == null ? void 0 : f.get(
              "export="
              /* ExportEquals */
            )) ?? a, y = d.declarations && Nn(d.declarations, c0);
            r.typeOnlyDeclaration = y ?? Pn(d).typeOnlyDeclaration ?? false;
          }
          return !!r.typeOnlyDeclaration;
        }
        function Jd(r, a) {
          var l;
          if (!(r.flags & 2097152))
            return;
          const f = Pn(r);
          if (f.typeOnlyDeclaration === void 0) {
            f.typeOnlyDeclaration = false;
            const d = jc(r);
            hp(
              (l = r.declarations) == null ? void 0 : l[0],
              P_(r) && K$(r),
              d,
              /*overwriteEmpty*/
              true
            );
          }
          if (a === void 0)
            return f.typeOnlyDeclaration || void 0;
          if (f.typeOnlyDeclaration) {
            const d = f.typeOnlyDeclaration.kind === 279 ? jc(Nm(f.typeOnlyDeclaration.symbol.parent).get(f.typeOnlyExportStarName || r.escapedName)) : Fl(f.typeOnlyDeclaration.symbol);
            return N_(d) & a ? f.typeOnlyDeclaration : void 0;
          }
        }
        function f1(r, a) {
          return r.kind === 80 && K4(r) && (r = r.parent), r.kind === 80 || r.parent.kind === 167 ? _c2(
            r,
            1920,
            /*ignoreErrors*/
            false,
            a
          ) : (E.assert(
            r.parent.kind === 272
            /* ImportEqualsDeclaration */
          ), _c2(
            r,
            901119,
            /*ignoreErrors*/
            false,
            a
          ));
        }
        function J0(r, a) {
          return r.parent ? J0(r.parent, a) + "." + Wi(r) : Wi(
            r,
            a,
            /*meaning*/
            void 0,
            36
            /* AllowAnyNodeKind */
          );
        }
        function Ik(r) {
          for (; t_(r.parent); )
            r = r.parent;
          return r;
        }
        function Hw(r) {
          let a = e_(r), l = st(
            a,
            a,
            111551,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            true
          );
          if (l) {
            for (; t_(a.parent); ) {
              const f = Yr(l);
              if (l = Qs(f, a.parent.right.escapedText), !l)
                return;
              a = a.parent;
            }
            return l;
          }
        }
        function _c2(r, a, l, f, d) {
          if (ac(r))
            return;
          const y = 1920 | (an(r) ? a & 111551 : 0);
          let x;
          if (r.kind === 80) {
            const I = a === y || ao(r) ? p.Cannot_find_namespace_0 : y8e(e_(r)), J = an(r) && !ao(r) ? hE(r, a) : void 0;
            if (x = Ia(st(
              d || r,
              r,
              a,
              l || J ? void 0 : I,
              /*isUse*/
              true,
              /*excludeGlobals*/
              false
            )), !x)
              return Ia(J);
          } else if (r.kind === 167 || r.kind === 212) {
            const I = r.kind === 167 ? r.left : r.expression, J = r.kind === 167 ? r.right : r.name;
            let z = _c2(
              I,
              y,
              l,
              /*dontResolveAlias*/
              false,
              d
            );
            if (!z || ac(J))
              return;
            if (z === Y)
              return z;
            if (z.valueDeclaration && an(z.valueDeclaration) && Cu(F) !== 100 && ei(z.valueDeclaration) && z.valueDeclaration.initializer && dIe(z.valueDeclaration.initializer)) {
              const G = z.valueDeclaration.initializer.arguments[0], ve = Iu(G, G);
              if (ve) {
                const de = z_(ve);
                de && (z = de);
              }
            }
            if (x = Ia(ql(ff(z), J.escapedText, a)), !x && z.flags & 2097152 && (x = Ia(ql(ff(Fl(z)), J.escapedText, a))), !x) {
              if (!l) {
                const G = J0(z), ve = so(J), de = zde(J, z);
                if (de) {
                  ze(J, p._0_has_no_exported_member_named_1_Did_you_mean_2, G, ve, Wi(de));
                  return;
                }
                const We = t_(r) && Ik(r);
                if (Ot && a & 788968 && We && !c6(We.parent) && Hw(We)) {
                  ze(
                    We,
                    p._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,
                    Q_(We)
                  );
                  return;
                }
                if (a & 1920 && t_(r.parent)) {
                  const gt = Ia(ql(
                    ff(z),
                    J.escapedText,
                    788968
                    /* Type */
                  ));
                  if (gt) {
                    ze(
                      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,
                      Wi(gt),
                      Si(r.parent.right.escapedText)
                    );
                    return;
                  }
                }
                ze(J, p.Namespace_0_has_no_exported_member_1, G, ve);
              }
              return;
            }
          } else
            E.assertNever(r, "Unknown entity name kind.");
          return !ao(r) && Zu(r) && (x.flags & 2097152 || r.parent.kind === 278) && hp(
            FB(r),
            x,
            /*finalTarget*/
            void 0,
            /*overwriteEmpty*/
            true
          ), x.flags & a || f ? x : Fl(x);
        }
        function hE(r, a) {
          if (s$(r.parent)) {
            const l = nT(r.parent);
            if (l)
              return st(
                l,
                r,
                a,
                /*nameNotFoundMessage*/
                void 0,
                /*isUse*/
                true
              );
          }
        }
        function nT(r) {
          if (dr(r, (d) => wC(d) || d.flags & 16777216 ? Op(d) : "quit"))
            return;
          const l = Db(r);
          if (l && Dl(l) && B3(l.expression)) {
            const d = yn(l.expression.left);
            if (d)
              return y2(d);
          }
          if (l && mo(l) && B3(l.parent) && Dl(l.parent.parent)) {
            const d = yn(l.parent.left);
            if (d)
              return y2(d);
          }
          if (l && (Fp(l) || Kc(l)) && _n(l.parent.parent) && wc(l.parent.parent) === 6) {
            const d = yn(l.parent.parent.left);
            if (d)
              return y2(d);
          }
          const f = V1(r);
          if (f && Cs(f)) {
            const d = yn(f);
            return d && d.valueDeclaration;
          }
        }
        function y2(r) {
          const a = r.parent.valueDeclaration;
          return a ? (R4(a) ? cx(a) : Y2(a) ? j4(a) : void 0) || a : void 0;
        }
        function Fk(r) {
          const a = r.valueDeclaration;
          if (!a || !an(a) || r.flags & 524288 || W1(
            a,
            /*isPrototypeAssignment*/
            false
          ))
            return;
          const l = ei(a) ? j4(a) : cx(a);
          if (l) {
            const f = Wf(l);
            if (f)
              return Yde(f, r);
          }
        }
        function Iu(r, a, l) {
          const d = Cu(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 J_(r, a, l ? void 0 : d, l);
        }
        function J_(r, a, l, f = false, d = false) {
          return Ma(a) ? iT(r, a.text, l, f ? void 0 : a, d) : void 0;
        }
        function iT(r, a, l, f, d = false) {
          var y, x, I, J, z, G, ve, de, We, lt, gt, jt;
          if (f && Ui(a, "@types/")) {
            const bi = p.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1, xs = e4(a, "@types/");
            ze(f, bi, xs, a);
          }
          const ar = h3e(
            a,
            /*withAugmentations*/
            true
          );
          if (ar)
            return ar;
          const jr = xr(r), Kr = Ma(r) ? r : ((y = Lc(r) ? r : r.parent && Lc(r.parent) && r.parent.name === r ? r.parent : void 0) == null ? void 0 : y.name) || ((x = mh(r) ? r : void 0) == null ? void 0 : x.argument.literal) || (ei(r) && r.initializer && v_(
            r.initializer,
            /*requireStringLiteralLikeArgument*/
            true
          ) ? r.initializer.arguments[0] : void 0) || ((I = dr(r, y_)) == null ? void 0 : I.arguments[0]) || ((J = dr(r, H_(Wo, vm, Mc))) == null ? void 0 : J.moduleSpecifier) || ((z = dr(r, z1)) == null ? void 0 : z.moduleReference.expression), or = Kr && Ma(Kr) ? e.getModeForUsageLocation(jr, Kr) : e.getDefaultResolutionModeForFile(jr), ir = Cu(F), nn = (G = e.getResolvedModule(jr, a, or)) == null ? void 0 : G.resolvedModule, Qn = f && nn && bU(F, nn, jr), Ri = nn && (!Qn || Qn === p.Module_0_was_resolved_to_1_but_jsx_is_not_set) && e.getSourceFile(nn.resolvedFileName);
          if (Ri) {
            if (Qn && ze(f, Qn, a, nn.resolvedFileName), nn.resolvedUsingTsExtension && wl(a)) {
              const bi = ((ve = dr(r, Wo)) == null ? void 0 : ve.importClause) || dr(r, H_(cl, Mc));
              (f && bi && !bi.isTypeOnly || dr(r, y_)) && ze(
                f,
                p.A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead,
                zn(E.checkDefined(F5(a)))
              );
            } else if (nn.resolvedUsingTsExtension && !P6(F, jr.fileName)) {
              const bi = ((de = dr(r, Wo)) == null ? void 0 : de.importClause) || dr(r, H_(cl, Mc));
              if (f && !(bi?.isTypeOnly || dr(r, dm))) {
                const xs = E.checkDefined(F5(a));
                ze(f, p.An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled, xs);
              }
            } else if (F.rewriteRelativeImportExtensions && !(r.flags & 33554432) && !wl(a) && !mh(r) && !vZ(r)) {
              const bi = z3(a, F);
              if (!nn.resolvedUsingTsExtension && bi)
                ze(
                  f,
                  p.This_relative_import_path_is_unsafe_to_rewrite_because_it_looks_like_a_file_name_but_actually_resolves_to_0,
                  vC(Qi(jr.fileName, e.getCurrentDirectory()), nn.resolvedFileName, yh(e))
                );
              else if (nn.resolvedUsingTsExtension && !bi && Nb(Ri, e))
                ze(
                  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,
                  GT(a)
                );
              else if (nn.resolvedUsingTsExtension && bi) {
                const xs = (We = e.getRedirectFromSourceFile(Ri.path)) == null ? void 0 : We.resolvedRef;
                if (xs) {
                  const Ja = !e.useCaseSensitiveFileNames(), Vi = e.getCommonSourceDirectory(), Lo = FS(xs.commandLine, Ja), yc = Ef(Vi, Lo, Ja), Lu = Ef(F.outDir || Vi, xs.commandLine.options.outDir || Lo, Ja);
                  yc !== Lu && ze(
                    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 (Ri.symbol) {
              if (f && nn.isExternalLibraryImport && !lD(nn.extension) && zv(
                /*isError*/
                false,
                f,
                jr,
                or,
                nn,
                a
              ), f && (B === 100 || B === 101)) {
                const bi = jr.impliedNodeFormat === 1 && !dr(r, y_) || !!dr(r, cl), xs = dr(r, (Ja) => dm(Ja) || Mc(Ja) || Wo(Ja) || vm(Ja));
                if (bi && Ri.impliedNodeFormat === 99 && !Yee(xs))
                  if (dr(r, cl))
                    ze(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 Ja;
                    const Vi = Lg(jr.fileName);
                    (Vi === ".ts" || Vi === ".js" || Vi === ".tsx" || Vi === ".jsx") && (Ja = eB(jr));
                    const Lo = xs?.kind === 273 && ((lt = xs.importClause) != null && lt.isTypeOnly) ? p.Type_only_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute : xs?.kind === 206 ? 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;
                    Pa.add(wg(
                      xr(f),
                      f,
                      Ss(Ja, Lo, a)
                    ));
                  }
              }
              return Ia(Ri.symbol);
            }
            f && l && !HJ(f) && ze(f, p.File_0_is_not_a_module, Ri.fileName);
            return;
          }
          if (C_) {
            const bi = WR(C_, (xs) => xs.pattern, a);
            if (bi) {
              const xs = Ie && Ie.get(a);
              return Ia(xs || bi.symbol);
            }
          }
          if (!f)
            return;
          if (nn && !lD(nn.extension) && Qn === void 0 || Qn === p.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type) {
            if (d) {
              const bi = p.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented;
              ze(f, bi, a, nn.resolvedFileName);
            } else
              zv(
                /*isError*/
                fe && !!l,
                f,
                jr,
                or,
                nn,
                a
              );
            return;
          }
          if (l) {
            if (nn) {
              const bi = e.getRedirectFromSourceFile(nn.resolvedFileName);
              if (bi?.outputDts) {
                ze(f, p.Output_file_0_has_not_been_built_from_source_file_1, bi.outputDts, nn.resolvedFileName);
                return;
              }
            }
            if (Qn)
              ze(f, Qn, a, nn.resolvedFileName);
            else {
              const bi = vf(a) && !yC(a), xs = ir === 3 || ir === 99;
              if (!Lb(F) && Ho(
                a,
                ".json"
                /* Json */
              ) && ir !== 1 && U5(F))
                ze(f, p.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension, a);
              else if (or === 99 && xs && bi) {
                const Ja = Qi(a, Hn(jr.path)), Vi = (gt = Gu.find(([Lo, yc]) => e.fileExists(Ja + Lo))) == null ? void 0 : gt[1];
                Vi ? ze(f, p.Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0, a + Vi) : ze(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 ((jt = e.getResolvedModule(jr, a, or)) != null && jt.alternateResult) {
                const Ja = B7(jr, e, a, or, a);
                ud(
                  /*isError*/
                  true,
                  f,
                  Ss(Ja, l, a)
                );
              } else
                ze(f, l, a);
            }
          }
          return;
          function zn(bi) {
            const xs = vN(a, bi);
            if (dN(B) || or === 99) {
              const Ja = wl(a) && P6(F);
              return xs + (bi === ".mts" || bi === ".d.mts" ? Ja ? ".mts" : ".mjs" : bi === ".cts" || bi === ".d.mts" ? Ja ? ".cts" : ".cjs" : Ja ? ".ts" : ".js");
            }
            return xs;
          }
        }
        function zv(r, a, l, f, { packageId: d, resolvedFileName: y }, x) {
          if (HJ(a))
            return;
          let I;
          !xl(x) && d && (I = B7(l, e, x, f, d.name)), ud(
            r,
            a,
            Ss(
              I,
              p.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,
              x,
              y
            )
          );
        }
        function z_(r, a) {
          if (r?.exports) {
            const l = jc(r.exports.get(
              "export="
              /* ExportEquals */
            ), a), f = sT(Ia(l), Ia(r));
            return Ia(f) || r;
          }
        }
        function sT(r, a) {
          if (!r || r === Y || r === a || a.exports.size === 1 || r.flags & 2097152)
            return r;
          const l = Pn(r);
          if (l.cjsExportMerged)
            return l.cjsExportMerged;
          const f = r.flags & 33554432 ? r : p2(r);
          return f.flags = f.flags | 512, f.exports === void 0 && (f.exports = js()), a.exports.forEach((d, y) => {
            y !== "export=" && f.exports.set(y, f.exports.has(y) ? mp(f.exports.get(y), d) : d);
          }), f === r && (Pn(f).resolvedExports = void 0, Pn(f).resolvedMembers = void 0), Pn(f).cjsExportMerged = f, l.cjsExportMerged = f;
        }
        function Qg(r, a, l, f) {
          var d;
          const y = z_(r, l);
          if (!l && y) {
            if (!f && !(y.flags & 1539) && !Ao(
              y,
              308
              /* SourceFile */
            )) {
              const J = B >= 5 ? "allowSyntheticDefaultImports" : "esModuleInterop";
              return ze(a, p.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export, J), y;
            }
            const x = a.parent, I = Wo(x) && JC(x);
            if (I || y_(x)) {
              const J = y_(x) ? x.arguments[0] : x.moduleSpecifier, z = Yr(y), G = fIe(z, y, r, J);
              if (G)
                return aT(y, G, x);
              const ve = (d = r?.declarations) == null ? void 0 : d.find(Di), de = zh(J);
              let We;
              if (I && ve && 102 <= B && B <= 199 && de === 1 && e.getImpliedNodeFormatForEmit(ve) === 99 && (We = c1(y, "module.exports", I, l)))
                return !f && !(y.flags & 1539) && ze(a, p.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export, "esModuleInterop"), _m(F) && Ok(z) ? aT(We, z, x) : We;
              const lt = ve && Pm(de, e.getImpliedNodeFormatForEmit(ve));
              if ((_m(F) || lt) && (Ok(z) || Qs(
                z,
                "default",
                /*skipObjectFunctionPropertyAugment*/
                true
              ) || lt)) {
                const gt = z.flags & 3670016 ? pIe(z, y, r, J) : Zde(y, y.parent);
                return aT(y, gt, x);
              }
            }
          }
          return y;
        }
        function Ok(r) {
          return ot(tM(
            r,
            0
            /* Call */
          )) || ot(tM(
            r,
            1
            /* Construct */
          ));
        }
        function aT(r, a, l) {
          const f = ma(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 = true), r.members && (f.members = new Map(r.members)), r.exports && (f.exports = new Map(r.exports));
          const d = Vd(a);
          return f.links.type = Uo(f, d.members, Ge, Ge, d.indexInfos), f;
        }
        function pd(r) {
          return r.exports.get(
            "export="
            /* ExportEquals */
          ) !== void 0;
        }
        function Lk(r) {
          return Wfe(Nm(r));
        }
        function yE(r) {
          const a = Lk(r), l = z_(r);
          if (l !== r) {
            const f = Yr(l);
            z0(f) && In(a, qa(f));
          }
          return a;
        }
        function Mk(r, a) {
          Nm(r).forEach((d, y) => {
            Vv(y) || a(d, y);
          });
          const f = z_(r);
          if (f !== r) {
            const d = Yr(f);
            z0(d) && Oet(d, (y, x) => {
              a(y, x);
            });
          }
        }
        function oT(r, a) {
          const l = Nm(a);
          if (l)
            return l.get(r);
        }
        function Rk(r, a) {
          const l = oT(r, a);
          if (l)
            return l;
          const f = z_(a);
          if (f === a)
            return;
          const d = Yr(f);
          return z0(d) ? Qs(d, r) : void 0;
        }
        function z0(r) {
          return !(r.flags & 402784252 || Dn(r) & 1 || // `isArrayOrTupleLikeType` is too expensive to use in this auto-imports hot path
          Tp(r) || ba(r));
        }
        function ff(r) {
          return r.flags & 6256 ? wfe(
            r,
            "resolvedExports"
            /* resolvedExports */
          ) : r.flags & 1536 ? Nm(r) : r.exports || A;
        }
        function Nm(r) {
          const a = Pn(r);
          if (!a.resolvedExports) {
            const { exports: l, typeOnlyExportStarMap: f } = lT(r);
            a.resolvedExports = l, a.typeOnlyExportStarMap = f;
          }
          return a.resolvedExports;
        }
        function cT(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 && jc(x) !== jc(d)) {
              const I = l.get(y);
              I.exportsWithDuplicate ? I.exportsWithDuplicate.push(f) : I.exportsWithDuplicate = [f];
            }
          });
        }
        function lT(r) {
          const a = [];
          let l;
          const f = /* @__PURE__ */ new Set();
          r = z_(r);
          const d = y(r) || A;
          return l && f.forEach((x) => l.delete(x)), {
            exports: d,
            typeOnlyExportStarMap: l
          };
          function y(x, I, J) {
            if (!J && x?.exports && x.exports.forEach((ve, de) => f.add(de)), !(x && x.exports && Yf(a, x)))
              return;
            const z = new Map(x.exports), G = x.exports.get(
              "__export"
              /* ExportStar */
            );
            if (G) {
              const ve = js(), de = /* @__PURE__ */ new Map();
              if (G.declarations)
                for (const We of G.declarations) {
                  const lt = Iu(We, We.moduleSpecifier), gt = y(lt, We, J || We.isTypeOnly);
                  cT(
                    ve,
                    gt,
                    de,
                    We
                  );
                }
              de.forEach(({ exportsWithDuplicate: We }, lt) => {
                if (!(lt === "export=" || !(We && We.length) || z.has(lt)))
                  for (const gt of We)
                    Pa.add(sn(
                      gt,
                      p.Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity,
                      de.get(lt).specifierText,
                      Si(lt)
                    ));
              }), cT(z, ve);
            }
            return I?.isTypeOnly && (l ?? (l = /* @__PURE__ */ new Map()), z.forEach(
              (ve, de) => l.set(
                de,
                I
              )
            )), z;
          }
        }
        function Ia(r) {
          let a;
          return r && r.mergeId && (a = HS[r.mergeId]) ? a : r;
        }
        function yn(r) {
          return Ia(r.symbol && GG(r.symbol));
        }
        function Wf(r) {
          return Td(r) ? yn(r) : void 0;
        }
        function vl(r) {
          return Ia(r.parent && GG(r.parent));
        }
        function Wv(r) {
          var a, l;
          return (((a = r.valueDeclaration) == null ? void 0 : a.kind) === 220 || ((l = r.valueDeclaration) == null ? void 0 : l.kind) === 219) && Wf(r.valueDeclaration.parent) || r;
        }
        function uT(r, a) {
          const l = xr(a), f = Oa(l), d = Pn(r);
          let y;
          if (d.extendedContainersByFile && (y = d.extendedContainersByFile.get(f)))
            return y;
          if (l && l.imports) {
            for (const I of l.imports) {
              if (ao(I)) continue;
              const J = Iu(
                a,
                I,
                /*ignoreErrors*/
                true
              );
              !J || !C(J, r) || (y = Er(y, J));
            }
            if (wr(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 (!ll(I)) continue;
            const J = yn(I);
            C(J, r) && (y = Er(y, J));
          }
          return d.extendedContainers = y || Ge;
        }
        function v2(r, a, l) {
          const f = vl(r);
          if (f && !(r.flags & 262144))
            return J(f);
          const d = Fi(r.declarations, (G) => {
            if (!Ju(G) && G.parent) {
              if (S2(G.parent))
                return yn(G.parent);
              if (mm(G.parent) && G.parent.parent && z_(yn(G.parent.parent)) === r)
                return yn(G.parent.parent);
            }
            if (Oc(G) && _n(G.parent) && G.parent.operatorToken.kind === 64 && vo(G.parent.left) && Za(G.parent.left.expression))
              return Ng(G.parent.left) || rS(G.parent.left.expression) ? yn(xr(G)) : (fc(G.parent.left.expression), xn(G.parent.left.expression).resolvedSymbol);
          });
          if (!wr(d))
            return;
          const y = Fi(d, (G) => C(G, r) ? G : void 0);
          let x = [], I = [];
          for (const G of y) {
            const [ve, ...de] = J(G);
            x = Er(x, ve), I = In(I, de);
          }
          return Bi(x, I);
          function J(G) {
            const ve = Fi(G.declarations, z), de = a && uT(r, a), We = Uv(G, l);
            if (a && G.flags & dd(l) && U0(
              G,
              a,
              1920,
              /*useOnlyExternalAliasing*/
              false
            ))
              return Er(Bi(Bi([G], ve), de), We);
            const lt = !(G.flags & dd(l)) && G.flags & 788968 && ho(G).flags & 524288 && l === 111551 ? W0(a, (jt) => dl(jt, (ar) => {
              if (ar.flags & dd(l) && Yr(ar) === ho(G))
                return ar;
            })) : void 0;
            let gt = lt ? [lt, ...ve, G] : [...ve, G];
            return gt = Er(gt, We), gt = In(gt, de), gt;
          }
          function z(G) {
            return f && _T(G, f);
          }
        }
        function Uv(r, a) {
          const l = !!wr(r.declarations) && ka(r.declarations);
          if (a & 111551 && l && l.parent && ei(l.parent) && (ua(l) && l === l.parent.initializer || r_(l) && l === l.parent.type))
            return yn(l.parent);
        }
        function _T(r, a) {
          const l = pT(r), f = l && l.exports && l.exports.get(
            "export="
            /* ExportEquals */
          );
          return f && le(f, a) ? l : void 0;
        }
        function C(r, a) {
          if (r === vl(a))
            return a;
          const l = r.exports && r.exports.get(
            "export="
            /* ExportEquals */
          );
          if (l && le(l, a))
            return r;
          const f = ff(r), d = f.get(a.escapedName);
          return d && le(d, a) ? d : dl(f, (y) => {
            if (le(y, a))
              return y;
          });
        }
        function le(r, a) {
          if (Ia(jc(Ia(r))) === Ia(jc(Ia(a))))
            return r;
        }
        function _t(r) {
          return Ia(r && (r.flags & 1048576) !== 0 && r.exportSymbol || r);
        }
        function ur(r, a) {
          return !!(r.flags & 111551 || r.flags & 2097152 && N_(r, !a) & 111551);
        }
        function ti(r) {
          var a;
          const l = new c(Jr, r);
          return u++, l.id = u, (a = on) == null || a.recordType(l), l;
        }
        function gi(r, a) {
          const l = ti(r);
          return l.symbol = a, l;
        }
        function Ki(r) {
          return new c(Jr, r);
        }
        function mi(r, a, l = 0, f) {
          va(a, f);
          const d = ti(r);
          return d.intrinsicName = a, d.debugIntrinsicName = f, d.objectFlags = l | 524288 | 2097152 | 33554432 | 16777216, d;
        }
        function va(r, a) {
          const l = `${r},${a ?? ""}`;
          Tt.has(l) && E.fail(`Duplicate intrinsic type name ${r}${a ? ` (${a})` : ""}; you may need to pass a name to createIntrinsicType.`), Tt.add(l);
        }
        function Bc(r, a) {
          const l = gi(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 gu() {
          return Xn(ns(Tne.keys(), W_));
        }
        function l_(r) {
          return gi(262144, r);
        }
        function Vv(r) {
          return r.charCodeAt(0) === 95 && r.charCodeAt(1) === 95 && r.charCodeAt(2) !== 95 && r.charCodeAt(2) !== 64 && r.charCodeAt(2) !== 35;
        }
        function u_(r) {
          let a;
          return r.forEach((l, f) => {
            p1(l, f) && (a || (a = [])).push(l);
          }), a || Ge;
        }
        function p1(r, a) {
          return !Vv(a) && ur(r);
        }
        function jk(r) {
          const a = u_(r), l = KG(r);
          return l ? Bi(a, [l]) : a;
        }
        function Xp(r, a, l, f, d) {
          const y = r;
          return y.members = a, y.properties = Ge, y.callSignatures = l, y.constructSignatures = f, y.indexInfos = d, a !== A && (y.properties = u_(a)), y;
        }
        function Uo(r, a, l, f, d) {
          return Xp(Bc(16, r), a, l, f, d);
        }
        function fT(r) {
          if (r.constructSignatures.length === 0) return r;
          if (r.objectTypeWithoutAbstractConstructSignatures) return r.objectTypeWithoutAbstractConstructSignatures;
          const a = kn(r.constructSignatures, (f) => !(f.flags & 4));
          if (r.constructSignatures === a) return r;
          const l = Uo(
            r.symbol,
            r.members,
            r.callSignatures,
            ot(a) ? a : Ge,
            r.indexInfos
          );
          return r.objectTypeWithoutAbstractConstructSignatures = l, l.objectTypeWithoutAbstractConstructSignatures = l, l;
        }
        function W0(r, a) {
          let l;
          for (let f = r; f; f = f.parent) {
            if (zm(f) && f.locals && !u0(f) && (l = a(
              f.locals,
              /*ignoreQualification*/
              void 0,
              /*isLocalNameLookup*/
              true,
              f
            )))
              return l;
            switch (f.kind) {
              case 308:
                if (!Y_(f))
                  break;
              // falls through
              case 268:
                const d = yn(f);
                if (l = a(
                  d?.exports || A,
                  /*ignoreQualification*/
                  void 0,
                  /*isLocalNameLookup*/
                  true,
                  f
                ))
                  return l;
                break;
              case 264:
              case 232:
              case 265:
                let y;
                if ((yn(f).members || A).forEach((x, I) => {
                  x.flags & 788968 && (y || (y = js())).set(I, x);
                }), y && (l = a(
                  y,
                  /*ignoreQualification*/
                  void 0,
                  /*isLocalNameLookup*/
                  false,
                  f
                )))
                  return l;
                break;
            }
          }
          return a(
            Ye,
            /*ignoreQualification*/
            void 0,
            /*isLocalNameLookup*/
            true
          );
        }
        function dd(r) {
          return r === 111551 ? 111551 : 1920;
        }
        function U0(r, a, l, f, d = /* @__PURE__ */ new Map()) {
          if (!(r && !VL(r)))
            return;
          const y = Pn(r), x = y.accessibleChainCache || (y.accessibleChainCache = /* @__PURE__ */ new Map()), I = W0(a, (ar, jr, Kr, or) => or), J = `${f ? 0 : 1}|${I ? Oa(I) : 0}|${l}`;
          if (x.has(J))
            return x.get(J);
          const z = $s(r);
          let G = d.get(z);
          G || d.set(z, G = []);
          const ve = W0(a, de);
          return x.set(J, ve), ve;
          function de(ar, jr, Kr) {
            if (!Yf(G, ar))
              return;
            const or = gt(ar, jr, Kr);
            return G.pop(), or;
          }
          function We(ar, jr) {
            return !b2(ar, a, jr) || // If symbol needs qualification, make sure that parent is accessible, if it is then this symbol is accessible too
            !!U0(ar.parent, a, dd(jr), f, d);
          }
          function lt(ar, jr, Kr) {
            return (r === (jr || ar) || Ia(r) === Ia(jr || ar)) && // 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
            !ot(ar.declarations, S2) && (Kr || We(Ia(ar), l));
          }
          function gt(ar, jr, Kr) {
            return lt(
              ar.get(r.escapedName),
              /*resolvedAliasSymbol*/
              void 0,
              jr
            ) ? [r] : dl(ar, (ir) => {
              if (ir.flags & 2097152 && ir.escapedName !== "export=" && ir.escapedName !== "default" && !(R5(ir) && a && ll(xr(a))) && (!f || ot(ir.declarations, z1)) && (!Kr || !ot(ir.declarations, TK)) && (jr || !Ao(
                ir,
                282
                /* ExportSpecifier */
              ))) {
                const nn = Fl(ir), Qn = jt(ir, nn, jr);
                if (Qn)
                  return Qn;
              }
              if (ir.escapedName === r.escapedName && ir.exportSymbol && lt(
                Ia(ir.exportSymbol),
                /*resolvedAliasSymbol*/
                void 0,
                jr
              ))
                return [r];
            }) || (ar === Ye ? jt(Se, Se, jr) : void 0);
          }
          function jt(ar, jr, Kr) {
            if (lt(ar, jr, Kr))
              return [ar];
            const or = ff(jr), ir = or && de(
              or,
              /*ignoreQualification*/
              true
            );
            if (ir && We(ar, dd(l)))
              return [ar].concat(ir);
          }
        }
        function b2(r, a, l) {
          let f = false;
          return W0(a, (d) => {
            let y = Ia(d.get(r.escapedName));
            if (!y)
              return false;
            if (y === r)
              return true;
            const x = y.flags & 2097152 && !Ao(
              y,
              282
              /* ExportSpecifier */
            );
            return y = x ? Fl(y) : y, (x ? N_(y) : y.flags) & l ? (f = true, true) : false;
          }), f;
        }
        function VL(r) {
          if (r.declarations && r.declarations.length) {
            for (const a of r.declarations)
              switch (a.kind) {
                case 173:
                case 175:
                case 178:
                case 179:
                  continue;
                default:
                  return false;
              }
            return true;
          }
          return false;
        }
        function Gw(r, a) {
          return Jk(
            r,
            a,
            788968,
            /*shouldComputeAliasesToMakeVisible*/
            false,
            /*allowModules*/
            true
          ).accessibility === 0;
        }
        function Bk(r, a) {
          return Jk(
            r,
            a,
            111551,
            /*shouldComputeAliasesToMakeVisible*/
            false,
            /*allowModules*/
            true
          ).accessibility === 0;
        }
        function $w(r, a, l) {
          return Jk(
            r,
            a,
            l,
            /*shouldComputeAliasesToMakeVisible*/
            false,
            /*allowModules*/
            false
          ).accessibility === 0;
        }
        function JA(r, a, l, f, d, y) {
          if (!wr(r)) return;
          let x, I = false;
          for (const J of r) {
            const z = U0(
              J,
              a,
              f,
              /*useOnlyExternalAliasing*/
              false
            );
            if (z) {
              x = J;
              const de = dT(z[0], d);
              if (de)
                return de;
            }
            if (y && ot(J.declarations, S2)) {
              if (d) {
                I = true;
                continue;
              }
              return {
                accessibility: 0
                /* Accessible */
              };
            }
            const G = v2(J, a, f), ve = JA(G, a, l, l === J ? dd(f) : f, d, y);
            if (ve)
              return ve;
          }
          if (I)
            return {
              accessibility: 0
              /* Accessible */
            };
          if (x)
            return {
              accessibility: 1,
              errorSymbolName: Wi(l, a, f),
              errorModuleName: x !== l ? Wi(
                x,
                a,
                1920
                /* Namespace */
              ) : void 0
            };
        }
        function d1(r, a, l, f) {
          return Jk(
            r,
            a,
            l,
            f,
            /*allowModules*/
            true
          );
        }
        function Jk(r, a, l, f, d) {
          if (r && a) {
            const y = JA([r], a, r, l, f, d);
            if (y)
              return y;
            const x = lr(r.declarations, pT);
            if (x) {
              const I = pT(a);
              if (x !== I)
                return {
                  accessibility: 2,
                  errorSymbolName: Wi(r, a, l),
                  errorModuleName: Wi(x),
                  errorNode: an(a) ? a : void 0
                };
            }
            return {
              accessibility: 1,
              errorSymbolName: Wi(r, a, l)
            };
          }
          return {
            accessibility: 0
            /* Accessible */
          };
        }
        function pT(r) {
          const a = dr(r, qL);
          return a && yn(a);
        }
        function qL(r) {
          return Ju(r) || r.kind === 308 && Y_(r);
        }
        function S2(r) {
          return V7(r) || r.kind === 308 && Y_(r);
        }
        function dT(r, a) {
          let l;
          if (!Ni(kn(
            r.declarations,
            (y) => y.kind !== 80
            /* Identifier */
          ), f))
            return;
          return { accessibility: 0, aliasesToMakeVisible: l };
          function f(y) {
            var x, I;
            if (!cg(y)) {
              const J = gp(y);
              if (J && !Gn(
                J,
                32
                /* Export */
              ) && // import clause without export
              cg(J.parent))
                return d(y, J);
              if (ei(y) && Pc(y.parent.parent) && !Gn(
                y.parent.parent,
                32
                /* Export */
              ) && // unexported variable statement
              cg(y.parent.parent.parent))
                return d(y, y.parent.parent);
              if (q7(y) && !Gn(
                y,
                32
                /* Export */
              ) && cg(y.parent))
                return d(y, y);
              if (ha(y)) {
                if (r.flags & 2097152 && an(y) && ((x = y.parent) != null && x.parent) && ei(y.parent.parent) && ((I = y.parent.parent.parent) != null && I.parent) && Pc(y.parent.parent.parent.parent) && !Gn(
                  y.parent.parent.parent.parent,
                  32
                  /* Export */
                ) && y.parent.parent.parent.parent.parent && cg(y.parent.parent.parent.parent.parent))
                  return d(y, y.parent.parent.parent.parent);
                if (r.flags & 2) {
                  const z = V2(y);
                  if (z.kind === 170)
                    return false;
                  const G = z.parent.parent;
                  return G.kind !== 244 ? false : Gn(
                    G,
                    32
                    /* Export */
                  ) ? true : cg(G.parent) ? d(y, G) : false;
                }
              }
              return false;
            }
            return true;
          }
          function d(y, x) {
            return a && (xn(y).isVisible = true, l = lh(l, x)), true;
          }
        }
        function Xw(r) {
          let a;
          return r.parent.kind === 187 || r.parent.kind === 234 && !sm(r.parent) || r.parent.kind === 168 || r.parent.kind === 183 && r.parent.parameterName === r ? a = 1160127 : r.kind === 167 || r.kind === 212 || r.parent.kind === 272 || r.parent.kind === 167 && r.parent.left === r || r.parent.kind === 212 && r.parent.expression === r || r.parent.kind === 213 && r.parent.expression === r ? a = 1920 : a = 788968, a;
        }
        function zk(r, a, l = true) {
          const f = Xw(r), d = e_(r), y = st(
            a,
            d.escapedText,
            f,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            false
          );
          return y && y.flags & 262144 && f & 788968 ? {
            accessibility: 0
            /* Accessible */
          } : !y && Iy(d) && d1(
            yn(zu(
              d,
              /*includeArrowFunctions*/
              false,
              /*includeClassComputedPropertyName*/
              false
            )),
            d,
            f,
            /*shouldComputeAliasesToMakeVisible*/
            false
          ).accessibility === 0 ? {
            accessibility: 0
            /* Accessible */
          } : y ? dT(y, l) || {
            accessibility: 1,
            errorSymbolName: Go(d),
            errorNode: d
          } : {
            accessibility: 3,
            errorSymbolName: Go(d),
            errorNode: d
          };
        }
        function Wi(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 ? pe.symbolToNode : pe.symbolToEntityName;
          return d ? J(d).getText() : NC(J);
          function J(z) {
            const G = I(r, l, a, y, x), ve = a?.kind === 308 ? yie() : Zb(), de = a && xr(a);
            return ve.writeNode(
              4,
              G,
              /*sourceFile*/
              de,
              z
            ), z;
          }
        }
        function m1(r, a, l = 0, f, d, y, x, I) {
          return d ? J(d).getText() : NC(J);
          function J(z) {
            let G;
            l & 262144 ? G = f === 1 ? 186 : 185 : G = f === 1 ? 181 : 180;
            const ve = pe.signatureToSignatureDeclaration(
              r,
              G,
              a,
              T2(l) | 70221824 | 512,
              /*internalFlags*/
              void 0,
              /*tracker*/
              void 0,
              y,
              x,
              I
            ), de = nU(), We = a && xr(a);
            return de.writeNode(
              4,
              ve,
              /*sourceFile*/
              We,
              HB(z)
            ), z;
          }
        }
        function Wr(r, a, l = 1064960, f = eN(""), d, y, x) {
          const I = !d && F.noErrorTruncation || l & 1, J = pe.typeToTypeNode(
            r,
            a,
            T2(l) | 70221824 | (I ? 1 : 0),
            /*internalFlags*/
            void 0,
            /*tracker*/
            void 0,
            d,
            y,
            x
          );
          if (J === void 0) return E.fail("should always get typenode");
          const z = r !== Lt ? Zb() : hie(), G = a && xr(a);
          z.writeNode(
            4,
            J,
            /*sourceFile*/
            G,
            f
          );
          const ve = f.getText(), de = d || (I ? Zj * 2 : D4 * 2);
          return de && ve && ve.length >= de ? ve.substr(0, de - 3) + "..." : ve;
        }
        function Qw(r, a) {
          let l = bE(r.symbol) ? Wr(r, r.symbol.valueDeclaration) : Wr(r), f = bE(a.symbol) ? Wr(a, a.symbol.valueDeclaration) : Wr(a);
          return l === f && (l = vE(r), f = vE(a)), [l, f];
        }
        function vE(r) {
          return Wr(
            r,
            /*enclosingDeclaration*/
            void 0,
            64
            /* UseFullyQualifiedType */
          );
        }
        function bE(r) {
          return r && !!r.valueDeclaration && ut(r.valueDeclaration) && !Hf(r.valueDeclaration);
        }
        function T2(r = 0) {
          return r & 848330095;
        }
        function zA(r) {
          return !!r.symbol && !!(r.symbol.flags & 32) && (r === vp(r.symbol) || !!(r.flags & 524288) && !!(Dn(r) & 16777216));
        }
        function mT(r) {
          return Ci(r);
        }
        function HL() {
          return {
            syntacticBuilderResolver: {
              evaluateEntityNameExpression: R7e,
              isExpandoFunctionDeclaration: i5e,
              hasLateBindableName: kE,
              shouldRemoveDeclaration(we, te) {
                return !(we.internalFlags & 8 && Za(te.name.expression) && yd(te.name).flags & 1);
              },
              createRecoveryBoundary(we) {
                return bi(we);
              },
              isDefinitelyReferenceToGlobalSymbolObject: sg,
              getAllAccessorDeclarations: Ume,
              requiresAddingImplicitUndefined(we, te, Ht) {
                var Zt;
                switch (we.kind) {
                  case 173:
                  case 172:
                  case 349:
                    te ?? (te = yn(we));
                    const xe = Yr(te);
                    return !!(te.flags & 4 && te.flags & 16777216 && Dx(we) && ((Zt = te.links) != null && Zt.mappedType) && ant(xe));
                  case 170:
                  case 342:
                    return fR(we, Ht);
                  default:
                    E.assertNever(we);
                }
              },
              isOptionalParameter: QA,
              isUndefinedIdentifierExpression(we) {
                return Cp(we) === ne;
              },
              isEntityNameVisible(we, te, Ht) {
                return zk(te, we.enclosingDeclaration, Ht);
              },
              serializeExistingTypeNode(we, te, Ht) {
                return I_(we, te, !!Ht);
              },
              serializeReturnTypeForSignature(we, te, Ht) {
                const Zt = we, xe = qf(te);
                Ht ?? (Ht = yn(te));
                const Re = Zt.enclosingSymbolTypes.get($s(Ht)) ?? Mi(Ba(xe), Zt.mapper);
                return la(Zt, xe, Re);
              },
              serializeTypeOfExpression(we, te) {
                const Ht = we, Zt = Mi(hf(Q7e(te)), Ht.mapper);
                return jt(Zt, Ht);
              },
              serializeTypeOfDeclaration(we, te, Ht) {
                var Zt;
                const xe = we;
                Ht ?? (Ht = yn(te));
                let Re = (Zt = xe.enclosingSymbolTypes) == null ? void 0 : Zt.get($s(Ht));
                return Re === void 0 && (Re = Ht.flags & 98304 && te.kind === 179 ? Mi(G0(Ht), xe.mapper) : Ht && !(Ht.flags & 133120) ? Mi(rb(Yr(Ht)), xe.mapper) : qe), te && (Ii(te) || Af(te)) && fR(te, xe.enclosingDeclaration) && (Re = k1(Re)), Qr(Ht, xe, Re);
              },
              serializeNameOfParameter(we, te) {
                return xi(yn(te), te, we);
              },
              serializeEntityName(we, te) {
                const Ht = we, Zt = Cp(
                  te,
                  /*ignoreErrors*/
                  true
                );
                if (Zt && Bk(Zt, Ht.enclosingDeclaration))
                  return Ep(
                    Zt,
                    Ht,
                    1160127
                    /* ExportValue */
                  );
              },
              serializeTypeName(we, te, Ht, Zt) {
                return Sl(we, te, Ht, Zt);
              },
              getJsDocPropertyOverride(we, te, Ht) {
                const Zt = we, xe = Me(Ht.name) ? Ht.name : Ht.name.right, Re = rr(a(Zt, te), xe.escapedText);
                return Re && Ht.typeExpression && a(Zt, Ht.typeExpression.type) !== Re ? jt(Re, Zt) : void 0;
              },
              enterNewScope(we, te) {
                if (Cs(te) || x0(te)) {
                  const Ht = qf(te);
                  return xs(we, te, Ht.parameters, Ht.typeParameters);
                } else {
                  const Ht = zb(te) ? gpe(te) : [Gv(yn(te.typeParameter))];
                  return xs(
                    we,
                    te,
                    /*expandedParams*/
                    void 0,
                    Ht
                  );
                }
              },
              markNodeReuse(we, te, Ht) {
                return l(we, te, Ht);
              },
              trackExistingEntityName(we, te) {
                return _o(te, we);
              },
              trackComputedName(we, te) {
                en(te, we.enclosingDeclaration, we);
              },
              getModuleSpecifierOverride(we, te, Ht) {
                const Zt = we;
                if (Zt.bundled || Zt.enclosingFile !== xr(Ht)) {
                  let xe = Ht.text;
                  const Re = xe, Ze = xn(te).resolvedSymbol, Pt = te.isTypeOf ? 111551 : 788968, $t = Ze && d1(
                    Ze,
                    Zt.enclosingDeclaration,
                    Pt,
                    /*shouldComputeAliasesToMakeVisible*/
                    false
                  ).accessibility === 0 && ls(
                    Ze,
                    Zt,
                    Pt,
                    /*yieldModuleSymbol*/
                    true
                  )[0];
                  if ($t && rx($t))
                    xe = Ac($t, Zt);
                  else {
                    const At = Hme(te);
                    At && (xe = Ac(At.symbol, Zt));
                  }
                  if (xe.includes("/node_modules/") && (Zt.encounteredError = true, Zt.tracker.reportLikelyUnsafeImportRequiredError && Zt.tracker.reportLikelyUnsafeImportRequiredError(xe)), xe !== Re)
                    return xe;
                }
              },
              canReuseTypeNode(we, te) {
                return Mu(we, te);
              },
              canReuseTypeNodeAnnotation(we, te, Ht, Zt, xe) {
                var Re;
                const Ze = we;
                if (Ze.enclosingDeclaration === void 0) return false;
                Zt ?? (Zt = yn(te));
                let Pt = (Re = Ze.enclosingSymbolTypes) == null ? void 0 : Re.get($s(Zt));
                Pt === void 0 && (Zt.flags & 98304 ? Pt = te.kind === 179 ? G0(Zt) : tP(Zt) : aS(te) ? Pt = Ba(qf(te)) : Pt = Yr(Zt));
                let $t = mT(Ht);
                return Gr($t) ? true : (xe && $t && ($t = Fu($t, !Ii(te))), !!$t && Kn(te, Pt, $t) && gr(Ht, Pt));
              }
            },
            typeToTypeNode: (we, te, Ht, Zt, xe, Re, Ze, Pt) => z(te, Ht, Zt, xe, Re, Ze, ($t) => jt(we, $t), Pt),
            typePredicateToTypePredicateNode: (we, te, Ht, Zt, xe) => z(
              te,
              Ht,
              Zt,
              xe,
              /*maximumLength*/
              void 0,
              /*verbosityLevel*/
              void 0,
              (Re) => Lu(we, Re)
            ),
            serializeTypeForDeclaration: (we, te, Ht, Zt, xe, Re) => z(
              Ht,
              Zt,
              xe,
              Re,
              /*maximumLength*/
              void 0,
              /*verbosityLevel*/
              void 0,
              (Ze) => Te.serializeTypeOfDeclaration(we, te, Ze)
            ),
            serializeReturnTypeForSignature: (we, te, Ht, Zt, xe) => z(
              te,
              Ht,
              Zt,
              xe,
              /*maximumLength*/
              void 0,
              /*verbosityLevel*/
              void 0,
              (Re) => Te.serializeReturnTypeForSignature(we, yn(we), Re)
            ),
            serializeTypeForExpression: (we, te, Ht, Zt, xe) => z(
              te,
              Ht,
              Zt,
              xe,
              /*maximumLength*/
              void 0,
              /*verbosityLevel*/
              void 0,
              (Re) => Te.serializeTypeOfExpression(we, Re)
            ),
            indexInfoToIndexSignatureDeclaration: (we, te, Ht, Zt, xe) => z(
              te,
              Ht,
              Zt,
              xe,
              /*maximumLength*/
              void 0,
              /*verbosityLevel*/
              void 0,
              (Re) => Ri(
                we,
                Re,
                /*typeNode*/
                void 0
              )
            ),
            signatureToSignatureDeclaration: (we, te, Ht, Zt, xe, Re, Ze, Pt, $t) => z(Ht, Zt, xe, Re, Ze, Pt, (At) => zn(we, te, At), $t),
            symbolToEntityName: (we, te, Ht, Zt, xe, Re) => z(
              Ht,
              Zt,
              xe,
              Re,
              /*maximumLength*/
              void 0,
              /*verbosityLevel*/
              void 0,
              (Ze) => Cc(
                we,
                Ze,
                te,
                /*expectsIdentifier*/
                false
              )
            ),
            symbolToExpression: (we, te, Ht, Zt, xe, Re) => z(
              Ht,
              Zt,
              xe,
              Re,
              /*maximumLength*/
              void 0,
              /*verbosityLevel*/
              void 0,
              (Ze) => Ep(we, Ze, te)
            ),
            symbolToTypeParameterDeclarations: (we, te, Ht, Zt, xe) => z(
              te,
              Ht,
              Zt,
              xe,
              /*maximumLength*/
              void 0,
              /*verbosityLevel*/
              void 0,
              (Re) => Po(we, Re)
            ),
            symbolToParameterDeclaration: (we, te, Ht, Zt, xe) => z(
              te,
              Ht,
              Zt,
              xe,
              /*maximumLength*/
              void 0,
              /*verbosityLevel*/
              void 0,
              (Re) => Br(we, Re)
            ),
            typeParameterToDeclaration: (we, te, Ht, Zt, xe, Re, Ze, Pt) => z(te, Ht, Zt, xe, Re, Ze, ($t) => yc(we, $t), Pt),
            symbolTableToDeclarationStatements: (we, te, Ht, Zt, xe) => z(
              te,
              Ht,
              Zt,
              xe,
              /*maximumLength*/
              void 0,
              /*verbosityLevel*/
              void 0,
              (Re) => ob(we, Re)
            ),
            symbolToNode: (we, te, Ht, Zt, xe, Re) => z(
              Ht,
              Zt,
              xe,
              Re,
              /*maximumLength*/
              void 0,
              /*verbosityLevel*/
              void 0,
              (Ze) => f(we, Ze, te)
            ),
            symbolToDeclarations: d
          };
          function a(we, te, Ht) {
            const Zt = mT(te);
            if (!we.mapper) return Zt;
            const xe = Mi(Zt, we.mapper);
            return Ht && xe !== Zt ? void 0 : xe;
          }
          function l(we, te, Ht) {
            if ((!ao(te) || !(te.flags & 16) || !we.enclosingFile || we.enclosingFile !== xr(zo(te))) && (te = N.cloneNode(te)), te === Ht || !Ht)
              return te;
            let Zt = te.original;
            for (; Zt && Zt !== Ht; )
              Zt = Zt.original;
            return Zt || Cn(te, Ht), we.enclosingFile && we.enclosingFile === xr(zo(Ht)) ? ct(te, Ht) : te;
          }
          function f(we, te, Ht) {
            if (te.internalFlags & 1) {
              if (we.valueDeclaration) {
                const xe = us(we.valueDeclaration);
                if (xe && Hs(xe)) return xe;
              }
              const Zt = Pn(we).nameType;
              if (Zt && Zt.flags & 9216)
                return te.enclosingDeclaration = Zt.symbol.valueDeclaration, N.createComputedPropertyName(Ep(Zt.symbol, te, Ht));
            }
            return Ep(we, te, Ht);
          }
          function d(we, te, Ht, Zt, xe, Re) {
            const Ze = z(
              /*enclosingDeclaration*/
              void 0,
              Ht,
              /*internalFlags*/
              void 0,
              /*tracker*/
              void 0,
              Zt,
              xe,
              (Pt) => J(we, Pt),
              Re
            );
            return Fi(Ze, (Pt) => {
              switch (Pt.kind) {
                case 264:
                  return y(Pt, we);
                case 267:
                  return x(Pt, rv, we);
                case 265:
                  return I(Pt, we, te);
                case 268:
                  return x(Pt, Lc, we);
                default:
                  return;
              }
            });
          }
          function y(we, te) {
            const Ht = kn(te.declarations, $n), Zt = Ht && Ht.length > 0 ? Ht[0] : we, xe = lu(Zt) & -161;
            return Oc(Zt) && (we = N.updateClassDeclaration(
              we,
              we.modifiers,
              /*name*/
              void 0,
              we.typeParameters,
              we.heritageClauses,
              we.members
            )), N.replaceModifiers(we, xe);
          }
          function x(we, te, Ht) {
            const Zt = kn(Ht.declarations, te), xe = Zt && Zt.length > 0 ? Zt[0] : we, Re = lu(xe) & -161;
            return N.replaceModifiers(we, Re);
          }
          function I(we, te, Ht) {
            if (Ht & 64)
              return x(we, Jl, te);
          }
          function J(we, te) {
            const Ht = ho(we);
            te.typeStack.push(Ht.id), te.typeStack.push(-1);
            const Zt = js([we]), xe = ob(Zt, te);
            return te.typeStack.pop(), te.typeStack.pop(), xe;
          }
          function z(we, te, Ht, Zt, xe, Re, Ze, Pt) {
            const $t = Zt?.trackSymbol ? Zt.moduleResolverHost : (Ht || 0) & 4 ? TRe(e) : void 0;
            te = te || 0;
            const At = xe || (te & 1 ? Zj : D4), Yt = {
              enclosingDeclaration: we,
              enclosingFile: we && xr(we),
              flags: te,
              internalFlags: Ht || 0,
              tracker: void 0,
              maxTruncationLength: At,
              maxExpansionDepth: Re ?? -1,
              encounteredError: false,
              suppressReportInferenceFallback: false,
              reportedDiagnostic: false,
              visitedTypes: void 0,
              symbolDepth: void 0,
              inferTypeParameters: void 0,
              approximateLength: 0,
              trackedSymbols: void 0,
              bundled: !!F.outFile && !!we && Y_(xr(we)),
              truncating: false,
              usedSymbolNames: void 0,
              remappedSymbolNames: void 0,
              remappedSymbolReferences: void 0,
              reverseMappedStack: void 0,
              mustCreateTypeParameterSymbolList: true,
              typeParameterSymbolList: void 0,
              mustCreateTypeParametersNamesLookups: true,
              typeParameterNames: void 0,
              typeParameterNamesByText: void 0,
              typeParameterNamesByTextNextNameCount: void 0,
              enclosingSymbolTypes: /* @__PURE__ */ new Map(),
              mapper: void 0,
              depth: 0,
              typeStack: [],
              out: {
                canIncreaseExpansionDepth: false,
                truncated: false
              }
            };
            Yt.tracker = new kne(Yt, Zt, $t);
            const Lr = Ze(Yt);
            return Yt.truncating && Yt.flags & 1 && Yt.tracker.reportTruncationError(), Pt && (Pt.canIncreaseExpansionDepth = Yt.out.canIncreaseExpansionDepth, Pt.truncated = Yt.out.truncated), Yt.encounteredError ? void 0 : Lr;
          }
          function G(we, te, Ht) {
            const Zt = $s(te), xe = we.enclosingSymbolTypes.get(Zt);
            return we.enclosingSymbolTypes.set(Zt, Ht), Re;
            function Re() {
              xe ? we.enclosingSymbolTypes.set(Zt, xe) : we.enclosingSymbolTypes.delete(Zt);
            }
          }
          function ve(we) {
            const te = we.flags, Ht = we.internalFlags, Zt = we.depth;
            return xe;
            function xe() {
              we.flags = te, we.internalFlags = Ht, we.depth = Zt;
            }
          }
          function de(we) {
            return we.maxExpansionDepth >= 0 && We(we);
          }
          function We(we) {
            return we.truncating ? we.truncating : we.truncating = we.approximateLength > we.maxTruncationLength;
          }
          function lt(we, te) {
            for (let Ht = 0; Ht < te.typeStack.length - 1; Ht++)
              if (te.typeStack[Ht] === we.id)
                return false;
            return te.depth < te.maxExpansionDepth || te.depth === te.maxExpansionDepth && !te.out.canIncreaseExpansionDepth;
          }
          function gt(we, te, Ht = false) {
            if (!Ht && SE(we))
              return false;
            for (let xe = 0; xe < te.typeStack.length - 1; xe++)
              if (te.typeStack[xe] === we.id)
                return false;
            const Zt = te.depth < te.maxExpansionDepth;
            return Zt || (te.out.canIncreaseExpansionDepth = true), Zt;
          }
          function jt(we, te) {
            const Ht = ve(te);
            we && te.typeStack.push(we.id);
            const Zt = ar(we, te);
            return we && te.typeStack.pop(), Ht(), Zt;
          }
          function ar(we, te) {
            var Ht, Zt;
            i && i.throwIfCancellationRequested && i.throwIfCancellationRequested();
            const xe = te.flags & 8388608;
            te.flags &= -8388609;
            let Re = false;
            if (!we) {
              if (!(te.flags & 262144)) {
                te.encounteredError = true;
                return;
              }
              return te.approximateLength += 3, N.createKeywordTypeNode(
                133
                /* AnyKeyword */
              );
            }
            if (te.flags & 536870912 || (we = Yp(we)), we.flags & 1)
              return we.aliasSymbol ? N.createTypeReferenceNode(Jc(we.aliasSymbol), nn(we.aliasTypeArguments, te)) : we === Lt ? jy(N.createKeywordTypeNode(
                133
                /* AnyKeyword */
              ), 3, "unresolved") : (te.approximateLength += 3, N.createKeywordTypeNode(
                we === Pe ? 141 : 133
                /* AnyKeyword */
              ));
            if (we.flags & 2)
              return N.createKeywordTypeNode(
                159
                /* UnknownKeyword */
              );
            if (we.flags & 4)
              return te.approximateLength += 6, N.createKeywordTypeNode(
                154
                /* StringKeyword */
              );
            if (we.flags & 8)
              return te.approximateLength += 6, N.createKeywordTypeNode(
                150
                /* NumberKeyword */
              );
            if (we.flags & 64)
              return te.approximateLength += 6, N.createKeywordTypeNode(
                163
                /* BigIntKeyword */
              );
            if (we.flags & 16 && !we.aliasSymbol)
              return te.approximateLength += 7, N.createKeywordTypeNode(
                136
                /* BooleanKeyword */
              );
            if (we.flags & 1056) {
              if (we.symbol.flags & 8) {
                const sr = vl(we.symbol), Fn = Ha(
                  sr,
                  te,
                  788968
                  /* Type */
                );
                if (ho(sr) === we)
                  return Fn;
                const fs = sc(we.symbol);
                return F_(
                  fs,
                  1
                  /* ES5 */
                ) ? Ur(
                  Fn,
                  N.createTypeReferenceNode(
                    fs,
                    /*typeArguments*/
                    void 0
                  )
                ) : dm(Fn) ? (Fn.isTypeOf = true, N.createIndexedAccessTypeNode(Fn, N.createLiteralTypeNode(N.createStringLiteral(fs)))) : rf(Fn) ? N.createIndexedAccessTypeNode(N.createTypeQueryNode(Fn.typeName), N.createLiteralTypeNode(N.createStringLiteral(fs))) : E.fail("Unhandled type node kind returned from `symbolToTypeNode`.");
              }
              if (gt(we, te))
                Re = true;
              else
                return Ha(
                  we.symbol,
                  te,
                  788968
                  /* Type */
                );
            }
            if (we.flags & 128)
              return te.approximateLength += we.value.length + 2, N.createLiteralTypeNode(un(
                N.createStringLiteral(we.value, !!(te.flags & 268435456)),
                16777216
                /* NoAsciiEscaping */
              ));
            if (we.flags & 256) {
              const sr = we.value;
              return te.approximateLength += ("" + sr).length, N.createLiteralTypeNode(sr < 0 ? N.createPrefixUnaryExpression(41, N.createNumericLiteral(-sr)) : N.createNumericLiteral(sr));
            }
            if (we.flags & 2048)
              return te.approximateLength += Rb(we.value).length + 1, N.createLiteralTypeNode(N.createBigIntLiteral(we.value));
            if (we.flags & 512)
              return te.approximateLength += we.intrinsicName.length, N.createLiteralTypeNode(we.intrinsicName === "true" ? N.createTrue() : N.createFalse());
            if (we.flags & 8192) {
              if (!(te.flags & 1048576)) {
                if (Bk(we.symbol, te.enclosingDeclaration))
                  return te.approximateLength += 6, Ha(
                    we.symbol,
                    te,
                    111551
                    /* Value */
                  );
                te.tracker.reportInaccessibleUniqueSymbolError && te.tracker.reportInaccessibleUniqueSymbolError();
              }
              return te.approximateLength += 13, N.createTypeOperatorNode(158, N.createKeywordTypeNode(
                155
                /* SymbolKeyword */
              ));
            }
            if (we.flags & 16384)
              return te.approximateLength += 4, N.createKeywordTypeNode(
                116
                /* VoidKeyword */
              );
            if (we.flags & 32768)
              return te.approximateLength += 9, N.createKeywordTypeNode(
                157
                /* UndefinedKeyword */
              );
            if (we.flags & 65536)
              return te.approximateLength += 4, N.createLiteralTypeNode(N.createNull());
            if (we.flags & 131072)
              return te.approximateLength += 5, N.createKeywordTypeNode(
                146
                /* NeverKeyword */
              );
            if (we.flags & 4096)
              return te.approximateLength += 6, N.createKeywordTypeNode(
                155
                /* SymbolKeyword */
              );
            if (we.flags & 67108864)
              return te.approximateLength += 6, N.createKeywordTypeNode(
                151
                /* ObjectKeyword */
              );
            if (hD(we))
              return te.flags & 4194304 && (!te.encounteredError && !(te.flags & 32768) && (te.encounteredError = true), (Zt = (Ht = te.tracker).reportInaccessibleThisError) == null || Zt.call(Ht)), te.approximateLength += 4, N.createThisTypeNode();
            if (!xe && we.aliasSymbol && (te.flags & 16384 || Gw(we.aliasSymbol, te.enclosingDeclaration))) {
              if (!gt(
                we,
                te,
                /*isAlias*/
                true
              )) {
                const sr = nn(we.aliasTypeArguments, te);
                return Vv(we.aliasSymbol.escapedName) && !(we.aliasSymbol.flags & 32) ? N.createTypeReferenceNode(N.createIdentifier(""), sr) : wr(sr) === 1 && we.aliasSymbol === Da.symbol ? N.createArrayTypeNode(sr[0]) : Ha(we.aliasSymbol, te, 788968, sr);
              }
              te.depth += 1;
            }
            const Ze = Dn(we);
            if (Ze & 4)
              return E.assert(!!(we.flags & 524288)), gt(we, te) ? (te.depth += 1, $r(
                we,
                /*forceClassExpansion*/
                true,
                /*forceExpansion*/
                true
              )) : we.node ? Sn(we, Yn) : Yn(we);
            if (we.flags & 262144 || Ze & 3) {
              if (we.flags & 262144 && ds(te.inferTypeParameters, we)) {
                te.approximateLength += sc(we.symbol).length + 6;
                let Fn;
                const fs = __(we);
                if (fs) {
                  const Xi = x3e(
                    we,
                    /*omitTypeReferences*/
                    true
                  );
                  Xi && ih(fs, Xi) || (te.approximateLength += 9, Fn = fs && jt(fs, te));
                }
                return N.createInferTypeNode(Vi(we, te, Fn));
              }
              if (te.flags & 4 && we.flags & 262144) {
                const Fn = qo(we, te);
                return te.approximateLength += An(Fn).length, N.createTypeReferenceNode(
                  N.createIdentifier(An(Fn)),
                  /*typeArguments*/
                  void 0
                );
              }
              if (Ze & 3 && gt(we, te))
                return te.depth += 1, $r(
                  we,
                  /*forceClassExpansion*/
                  true,
                  /*forceExpansion*/
                  true
                );
              if (we.symbol)
                return Ha(
                  we.symbol,
                  te,
                  788968
                  /* Type */
                );
              const sr = (we === tt || we === Ft) && D && D.symbol ? (we === Ft ? "sub-" : "super-") + sc(D.symbol) : "?";
              return N.createTypeReferenceNode(
                N.createIdentifier(sr),
                /*typeArguments*/
                void 0
              );
            }
            if (we.flags & 1048576 && we.origin && (we = we.origin), we.flags & 3145728) {
              const sr = we.flags & 1048576 ? WA(we.types, Re) : we.types;
              if (wr(sr) === 1)
                return jt(sr[0], te);
              const Fn = nn(
                sr,
                te,
                /*isBareList*/
                true
              );
              if (Fn && Fn.length > 0)
                return we.flags & 1048576 ? N.createUnionTypeNode(Fn) : N.createIntersectionTypeNode(Fn);
              !te.encounteredError && !(te.flags & 262144) && (te.encounteredError = true);
              return;
            }
            if (Ze & 48)
              return E.assert(!!(we.flags & 524288)), $r(we);
            if (we.flags & 4194304) {
              const sr = we.type;
              te.approximateLength += 6;
              const Fn = jt(sr, te);
              return N.createTypeOperatorNode(143, Fn);
            }
            if (we.flags & 134217728) {
              const sr = we.texts, Fn = we.types, fs = N.createTemplateHead(sr[0]), Xi = N.createNodeArray(
                hr(Fn, (Ta, za) => N.createTemplateLiteralTypeSpan(
                  jt(Ta, te),
                  (za < Fn.length - 1 ? N.createTemplateMiddle : N.createTemplateTail)(sr[za + 1])
                ))
              );
              return te.approximateLength += 2, N.createTemplateLiteralType(fs, Xi);
            }
            if (we.flags & 268435456) {
              const sr = jt(we.type, te);
              return Ha(we.symbol, te, 788968, [sr]);
            }
            if (we.flags & 8388608) {
              const sr = jt(we.objectType, te), Fn = jt(we.indexType, te);
              return te.approximateLength += 2, N.createIndexedAccessTypeNode(sr, Fn);
            }
            if (we.flags & 16777216)
              return Sn(we, (sr) => Pt(sr));
            if (we.flags & 33554432) {
              const sr = jt(we.baseType, te), Fn = NE(we) && Yfe(
                "NoInfer",
                /*reportErrors*/
                false
              );
              return Fn ? Ha(Fn, te, 788968, [sr]) : sr;
            }
            return E.fail("Should be unreachable.");
            function Pt(sr) {
              const Fn = jt(sr.checkType, te);
              if (te.approximateLength += 15, te.flags & 4 && sr.root.isDistributive && !(sr.checkType.flags & 262144)) {
                const is = l_(ma(262144, "T")), rl = qo(is, te), nl = N.createTypeReferenceNode(rl);
                te.approximateLength += 37;
                const au = CT(sr.root.checkType, is, sr.mapper), Ru = te.inferTypeParameters;
                te.inferTypeParameters = sr.root.inferTypeParameters;
                const p_ = jt(Mi(sr.root.extendsType, au), te);
                te.inferTypeParameters = Ru;
                const n0 = $t(Mi(a(te, sr.root.node.trueType), au)), lb = $t(Mi(a(te, sr.root.node.falseType), au));
                return N.createConditionalTypeNode(
                  Fn,
                  N.createInferTypeNode(N.createTypeParameterDeclaration(
                    /*modifiers*/
                    void 0,
                    N.cloneNode(nl.typeName)
                  )),
                  N.createConditionalTypeNode(
                    N.createTypeReferenceNode(N.cloneNode(rl)),
                    jt(sr.checkType, te),
                    N.createConditionalTypeNode(nl, p_, n0, lb),
                    N.createKeywordTypeNode(
                      146
                      /* NeverKeyword */
                    )
                  ),
                  N.createKeywordTypeNode(
                    146
                    /* NeverKeyword */
                  )
                );
              }
              const fs = te.inferTypeParameters;
              te.inferTypeParameters = sr.root.inferTypeParameters;
              const Xi = jt(sr.extendsType, te);
              te.inferTypeParameters = fs;
              const Ta = $t(S1(sr)), za = $t(T1(sr));
              return N.createConditionalTypeNode(Fn, Xi, Ta, za);
            }
            function $t(sr) {
              var Fn, fs, Xi;
              return sr.flags & 1048576 ? (Fn = te.visitedTypes) != null && Fn.has(Ol(sr)) ? (te.flags & 131072 || (te.encounteredError = true, (Xi = (fs = te.tracker) == null ? void 0 : fs.reportCyclicStructureError) == null || Xi.call(fs)), jr(te)) : Sn(sr, (Ta) => jt(Ta, te)) : jt(sr, te);
            }
            function At(sr) {
              return !!iI(sr);
            }
            function Yt(sr) {
              return !!sr.target && At(sr.target) && !At(sr);
            }
            function Lr(sr) {
              var Fn;
              E.assert(!!(sr.flags & 524288));
              const fs = sr.declaration.readonlyToken ? N.createToken(sr.declaration.readonlyToken.kind) : void 0, Xi = sr.declaration.questionToken ? N.createToken(sr.declaration.questionToken.kind) : void 0;
              let Ta, za, is = eh(sr);
              const rl = hd(sr), nl = !EE(sr) && !($v(sr).flags & 2) && te.flags & 4 && !(Vf(sr).flags & 262144 && ((Fn = __(Vf(sr))) == null ? void 0 : Fn.flags) & 4194304);
              if (EE(sr)) {
                if (Yt(sr) && te.flags & 4) {
                  const P1 = l_(ma(262144, "T")), lC = qo(P1, te), AP = sr.target;
                  za = N.createTypeReferenceNode(lC), is = Mi(
                    eh(AP),
                    DNe([hd(AP), $v(AP)], [rl, P1])
                  );
                }
                Ta = N.createTypeOperatorNode(143, za || jt($v(sr), te));
              } else if (nl) {
                const P1 = l_(ma(262144, "T")), lC = qo(P1, te);
                za = N.createTypeReferenceNode(lC), Ta = za;
              } else
                Ta = jt(Vf(sr), te);
              const au = Vi(rl, te, Ta), Ru = xs(
                te,
                sr.declaration,
                /*expandedParams*/
                void 0,
                [Gv(yn(sr.declaration.typeParameter))]
              ), p_ = sr.declaration.nameType ? jt($0(sr), te) : void 0, n0 = jt(Kh(is, !!(_g(sr) & 4)), te);
              Ru();
              const lb = N.createMappedTypeNode(
                fs,
                au,
                p_,
                Xi,
                n0,
                /*members*/
                void 0
              );
              te.approximateLength += 10;
              const j2 = un(
                lb,
                1
                /* SingleLine */
              );
              if (Yt(sr) && te.flags & 4) {
                const P1 = Mi(__(a(te, sr.declaration.typeParameter.constraint.type)) || yt, sr.mapper);
                return N.createConditionalTypeNode(
                  jt($v(sr), te),
                  N.createInferTypeNode(N.createTypeParameterDeclaration(
                    /*modifiers*/
                    void 0,
                    N.cloneNode(za.typeName),
                    P1.flags & 2 ? void 0 : jt(P1, te)
                  )),
                  j2,
                  N.createKeywordTypeNode(
                    146
                    /* NeverKeyword */
                  )
                );
              } else if (nl)
                return N.createConditionalTypeNode(
                  jt(Vf(sr), te),
                  N.createInferTypeNode(N.createTypeParameterDeclaration(
                    /*modifiers*/
                    void 0,
                    N.cloneNode(za.typeName),
                    N.createTypeOperatorNode(143, jt($v(sr), te))
                  )),
                  j2,
                  N.createKeywordTypeNode(
                    146
                    /* NeverKeyword */
                  )
                );
              return j2;
            }
            function $r(sr, Fn = false, fs = false) {
              var Xi, Ta;
              const za = sr.id, is = sr.symbol;
              if (is) {
                if (!!(Dn(sr) & 8388608)) {
                  const p_ = sr.node;
                  if (Jb(p_) && a(te, p_) === sr) {
                    const n0 = Te.tryReuseExistingTypeNode(te, p_);
                    if (n0)
                      return n0;
                  }
                  return (Xi = te.visitedTypes) != null && Xi.has(za) ? jr(te) : Sn(sr, qn);
                }
                const au = zA(sr) ? 788968 : 111551;
                if (Rm(is.valueDeclaration))
                  return Ha(is, te, au);
                if (!fs && (is.flags & 32 && !Fn && !qA(is) && !(is.valueDeclaration && $n(is.valueDeclaration) && te.flags & 2048 && (!Zc(is.valueDeclaration) || d1(
                  is,
                  te.enclosingDeclaration,
                  au,
                  /*shouldComputeAliasesToMakeVisible*/
                  false
                ).accessibility !== 0)) || is.flags & 896 || rl()))
                  if (gt(sr, te))
                    te.depth += 1;
                  else
                    return Ha(is, te, au);
                if ((Ta = te.visitedTypes) != null && Ta.has(za)) {
                  const Ru = GL(sr);
                  return Ru ? Ha(
                    Ru,
                    te,
                    788968
                    /* Type */
                  ) : jr(te);
                } else
                  return Sn(sr, qn);
              } else
                return qn(sr);
              function rl() {
                var nl;
                const au = !!(is.flags & 8192) && // typeof static method
                ot(is.declarations, (p_) => Bs(p_) && !VPe(us(p_))), Ru = !!(is.flags & 16) && (is.parent || // is exported function symbol
                lr(
                  is.declarations,
                  (p_) => p_.parent.kind === 308 || p_.parent.kind === 269
                  /* ModuleBlock */
                ));
                if (au || Ru)
                  return (!!(te.flags & 4096) || ((nl = te.visitedTypes) == null ? void 0 : nl.has(za))) && // it is type of the symbol uses itself recursively
                  (!(te.flags & 8) || Bk(is, te.enclosingDeclaration));
              }
            }
            function Sn(sr, Fn) {
              var fs, Xi, Ta;
              const za = sr.id, is = Dn(sr) & 16 && sr.symbol && sr.symbol.flags & 32, rl = Dn(sr) & 4 && sr.node ? "N" + Oa(sr.node) : sr.flags & 16777216 ? "N" + Oa(sr.root.node) : sr.symbol ? (is ? "+" : "") + $s(sr.symbol) : void 0;
              te.visitedTypes || (te.visitedTypes = /* @__PURE__ */ new Set()), rl && !te.symbolDepth && (te.symbolDepth = /* @__PURE__ */ new Map());
              const nl = te.maxExpansionDepth >= 0 ? void 0 : te.enclosingDeclaration && xn(te.enclosingDeclaration), au = `${Ol(sr)}|${te.flags}|${te.internalFlags}`;
              nl && (nl.serializedTypes || (nl.serializedTypes = /* @__PURE__ */ new Map()));
              const Ru = (fs = nl?.serializedTypes) == null ? void 0 : fs.get(au);
              if (Ru)
                return (Xi = Ru.trackedSymbols) == null || Xi.forEach(
                  ([gg, VE, mR]) => te.tracker.trackSymbol(
                    gg,
                    VE,
                    mR
                  )
                ), Ru.truncating && (te.truncating = true), te.approximateLength += Ru.addedLength, lC(Ru.node);
              let p_;
              if (rl) {
                if (p_ = te.symbolDepth.get(rl) || 0, p_ > 10)
                  return jr(te);
                te.symbolDepth.set(rl, p_ + 1);
              }
              te.visitedTypes.add(za);
              const n0 = te.trackedSymbols;
              te.trackedSymbols = void 0;
              const lb = te.approximateLength, j2 = Fn(sr), P1 = te.approximateLength - lb;
              return !te.reportedDiagnostic && !te.encounteredError && ((Ta = nl?.serializedTypes) == null || Ta.set(au, {
                node: j2,
                truncating: te.truncating,
                addedLength: P1,
                trackedSymbols: te.trackedSymbols
              })), te.visitedTypes.delete(za), rl && te.symbolDepth.set(rl, p_), te.trackedSymbols = n0, j2;
              function lC(gg) {
                return !ao(gg) && ys(gg) === gg ? gg : l(te, N.cloneNode(br(
                  gg,
                  lC,
                  /*context*/
                  void 0,
                  AP,
                  lC
                )), gg);
              }
              function AP(gg, VE, mR, Zme, Kme) {
                return gg && gg.length === 0 ? ct(N.createNodeArray(
                  /*elements*/
                  void 0,
                  gg.hasTrailingComma
                ), gg) : Ar(gg, VE, mR, Zme, Kme);
              }
            }
            function qn(sr) {
              if (A_(sr) || sr.containsError)
                return Lr(sr);
              const Fn = Vd(sr);
              if (!Fn.properties.length && !Fn.indexInfos.length) {
                if (!Fn.callSignatures.length && !Fn.constructSignatures.length)
                  return te.approximateLength += 2, un(
                    N.createTypeLiteralNode(
                      /*members*/
                      void 0
                    ),
                    1
                    /* SingleLine */
                  );
                if (Fn.callSignatures.length === 1 && !Fn.constructSignatures.length) {
                  const is = Fn.callSignatures[0];
                  return zn(is, 185, te);
                }
                if (Fn.constructSignatures.length === 1 && !Fn.callSignatures.length) {
                  const is = Fn.constructSignatures[0];
                  return zn(is, 186, te);
                }
              }
              const fs = kn(Fn.constructSignatures, (is) => !!(is.flags & 4));
              if (ot(fs)) {
                const is = hr(fs, vT);
                return Fn.callSignatures.length + (Fn.constructSignatures.length - fs.length) + Fn.indexInfos.length + // exclude `prototype` when writing a class expression as a type literal, as per
                // the logic in `createTypeNodesFromResolvedType`.
                (te.flags & 2048 ? i0(Fn.properties, (nl) => !(nl.flags & 4194304)) : wr(Fn.properties)) && is.push(fT(Fn)), jt(ia(is), te);
              }
              const Xi = ve(te);
              te.flags |= 4194304;
              const Ta = wa(Fn);
              Xi();
              const za = N.createTypeLiteralNode(Ta);
              return te.approximateLength += 2, un(
                za,
                te.flags & 1024 ? 0 : 1
                /* SingleLine */
              ), za;
            }
            function Yn(sr) {
              let Fn = wo(sr);
              if (sr.target === Da || sr.target === da) {
                if (te.flags & 2) {
                  const Ta = jt(Fn[0], te);
                  return N.createTypeReferenceNode(sr.target === Da ? "Array" : "ReadonlyArray", [Ta]);
                }
                const fs = jt(Fn[0], te), Xi = N.createArrayTypeNode(fs);
                return sr.target === Da ? Xi : N.createTypeOperatorNode(148, Xi);
              } else if (sr.target.objectFlags & 8) {
                if (Fn = Gc(Fn, (fs, Xi) => Kh(fs, !!(sr.target.elementFlags[Xi] & 2))), Fn.length > 0) {
                  const fs = Y0(sr), Xi = nn(Fn.slice(0, fs), te);
                  if (Xi) {
                    const { labeledElementDeclarations: Ta } = sr.target;
                    for (let is = 0; is < Xi.length; is++) {
                      const rl = sr.target.elementFlags[is], nl = Ta?.[is];
                      nl ? Xi[is] = N.createNamedTupleMember(
                        rl & 12 ? N.createToken(
                          26
                          /* DotDotDotToken */
                        ) : void 0,
                        N.createIdentifier(Si(nme(nl))),
                        rl & 2 ? N.createToken(
                          58
                          /* QuestionToken */
                        ) : void 0,
                        rl & 4 ? N.createArrayTypeNode(Xi[is]) : Xi[is]
                      ) : Xi[is] = rl & 12 ? N.createRestTypeNode(rl & 4 ? N.createArrayTypeNode(Xi[is]) : Xi[is]) : rl & 2 ? N.createOptionalTypeNode(Xi[is]) : Xi[is];
                    }
                    const za = un(
                      N.createTupleTypeNode(Xi),
                      1
                      /* SingleLine */
                    );
                    return sr.target.readonly ? N.createTypeOperatorNode(148, za) : za;
                  }
                }
                if (te.encounteredError || te.flags & 524288) {
                  const fs = un(
                    N.createTupleTypeNode([]),
                    1
                    /* SingleLine */
                  );
                  return sr.target.readonly ? N.createTypeOperatorNode(148, fs) : fs;
                }
                te.encounteredError = true;
                return;
              } else {
                if (te.flags & 2048 && sr.symbol.valueDeclaration && $n(sr.symbol.valueDeclaration) && !Bk(sr.symbol, te.enclosingDeclaration))
                  return $r(sr);
                {
                  const fs = sr.target.outerTypeParameters;
                  let Xi = 0, Ta;
                  if (fs) {
                    const nl = fs.length;
                    for (; Xi < nl; ) {
                      const au = Xi, Ru = k3e(fs[Xi]);
                      do
                        Xi++;
                      while (Xi < nl && k3e(fs[Xi]) === Ru);
                      if (!PR(fs, Fn, au, Xi)) {
                        const p_ = nn(Fn.slice(au, Xi), te), n0 = ve(te);
                        te.flags |= 16;
                        const lb = Ha(Ru, te, 788968, p_);
                        n0(), Ta = Ta ? Ur(Ta, lb) : lb;
                      }
                    }
                  }
                  let za;
                  if (Fn.length > 0) {
                    let nl = 0;
                    if (sr.target.typeParameters && (nl = Math.min(sr.target.typeParameters.length, Fn.length), (pf(sr, c$(
                      /*reportErrors*/
                      false
                    )) || pf(sr, U3e(
                      /*reportErrors*/
                      false
                    )) || pf(sr, sM(
                      /*reportErrors*/
                      false
                    )) || pf(sr, W3e(
                      /*reportErrors*/
                      false
                    ))) && (!sr.node || !rf(sr.node) || !sr.node.typeArguments || sr.node.typeArguments.length < nl)))
                      for (; nl > 0; ) {
                        const au = Fn[nl - 1], Ru = sr.target.typeParameters[nl - 1], p_ = C2(Ru);
                        if (!p_ || !ih(au, p_))
                          break;
                        nl--;
                      }
                    za = nn(Fn.slice(Xi, nl), te);
                  }
                  const is = ve(te);
                  te.flags |= 16;
                  const rl = Ha(sr.symbol, te, 788968, za);
                  return is(), Ta ? Ur(Ta, rl) : rl;
                }
              }
            }
            function Ur(sr, Fn) {
              if (dm(sr)) {
                let fs = sr.typeArguments, Xi = sr.qualifier;
                Xi && (Me(Xi) ? fs !== dS(Xi) && (Xi = v0(N.cloneNode(Xi), fs)) : fs !== dS(Xi.right) && (Xi = N.updateQualifiedName(Xi, Xi.left, v0(N.cloneNode(Xi.right), fs)))), fs = Fn.typeArguments;
                const Ta = ci(Fn);
                for (const za of Ta)
                  Xi = Xi ? N.createQualifiedName(Xi, za) : za;
                return N.updateImportTypeNode(
                  sr,
                  sr.argument,
                  sr.attributes,
                  Xi,
                  fs,
                  sr.isTypeOf
                );
              } else {
                let fs = sr.typeArguments, Xi = sr.typeName;
                Me(Xi) ? fs !== dS(Xi) && (Xi = v0(N.cloneNode(Xi), fs)) : fs !== dS(Xi.right) && (Xi = N.updateQualifiedName(Xi, Xi.left, v0(N.cloneNode(Xi.right), fs))), fs = Fn.typeArguments;
                const Ta = ci(Fn);
                for (const za of Ta)
                  Xi = N.createQualifiedName(Xi, za);
                return N.updateTypeReferenceNode(
                  sr,
                  Xi,
                  fs
                );
              }
            }
            function ci(sr) {
              let Fn = sr.typeName;
              const fs = [];
              for (; !Me(Fn); )
                fs.unshift(Fn.right), Fn = Fn.left;
              return fs.unshift(Fn), fs;
            }
            function qi(sr, Fn, fs) {
              if (sr.components && Ni(sr.components, (Ta) => {
                var za;
                return !!(Ta.name && Hs(Ta.name) && Za(Ta.name.expression) && Fn.enclosingDeclaration && ((za = zk(
                  Ta.name.expression,
                  Fn.enclosingDeclaration,
                  /*shouldComputeAliasToMakeVisible*/
                  false
                )) == null ? void 0 : za.accessibility) === 0);
              })) {
                const Ta = kn(sr.components, (za) => !kE(za));
                return hr(Ta, (za) => (en(za.name.expression, Fn.enclosingDeclaration, Fn), l(
                  Fn,
                  N.createPropertySignature(
                    sr.isReadonly ? [N.createModifier(
                      148
                      /* ReadonlyKeyword */
                    )] : void 0,
                    za.name,
                    (Vu(za) || as(za) || id(za) || Ko(za) || kg(za) || rm(za)) && za.questionToken ? N.createToken(
                      58
                      /* QuestionToken */
                    ) : void 0,
                    fs || jt(Yr(za.symbol), Fn)
                  ),
                  za
                )));
              }
              return [Ri(sr, Fn, fs)];
            }
            function wa(sr) {
              if (We(te))
                return te.out.truncated = true, te.flags & 1 ? [TD(N.createNotEmittedTypeElement(), 3, "elided")] : [N.createPropertySignature(
                  /*modifiers*/
                  void 0,
                  "...",
                  /*questionToken*/
                  void 0,
                  /*type*/
                  void 0
                )];
              te.typeStack.push(-1);
              const Fn = [];
              for (const Ta of sr.callSignatures)
                Fn.push(zn(Ta, 180, te));
              for (const Ta of sr.constructSignatures)
                Ta.flags & 4 || Fn.push(zn(Ta, 181, te));
              for (const Ta of sr.indexInfos)
                Fn.push(...qi(Ta, te, sr.objectFlags & 1024 ? jr(te) : void 0));
              const fs = sr.properties;
              if (!fs)
                return te.typeStack.pop(), Fn;
              let Xi = 0;
              for (const Ta of fs)
                if (!(cb(te) && Ta.flags & 4194304)) {
                  if (Xi++, te.flags & 2048) {
                    if (Ta.flags & 4194304)
                      continue;
                    ap(Ta) & 6 && te.tracker.reportPrivateInBaseOfClassExpression && te.tracker.reportPrivateInBaseOfClassExpression(Si(Ta.escapedName));
                  }
                  if (We(te) && Xi + 2 < fs.length - 1) {
                    if (te.out.truncated = true, te.flags & 1) {
                      const za = Fn.pop();
                      Fn.push(TD(za, 3, `... ${fs.length - Xi} more elided ...`));
                    } else
                      Fn.push(N.createPropertySignature(
                        /*modifiers*/
                        void 0,
                        `... ${fs.length - Xi} more ...`,
                        /*questionToken*/
                        void 0,
                        /*type*/
                        void 0
                      ));
                    or(fs[fs.length - 1], te, Fn);
                    break;
                  }
                  or(Ta, te, Fn);
                }
              return te.typeStack.pop(), Fn.length ? Fn : void 0;
            }
          }
          function jr(we) {
            return we.approximateLength += 3, we.flags & 1 ? jy(N.createKeywordTypeNode(
              133
              /* AnyKeyword */
            ), 3, "elided") : N.createTypeReferenceNode(
              N.createIdentifier("..."),
              /*typeArguments*/
              void 0
            );
          }
          function Kr(we, te) {
            var Ht;
            return !!(oc(we) & 8192) && (ds(te.reverseMappedStack, we) || ((Ht = te.reverseMappedStack) == null ? void 0 : Ht[0]) && !(Dn(fa(te.reverseMappedStack).links.propertyType) & 16) || xe());
            function xe() {
              var Re;
              if ((((Re = te.reverseMappedStack) == null ? void 0 : Re.length) ?? 0) < 3)
                return false;
              for (let Ze = 0; Ze < 3; Ze++)
                if (te.reverseMappedStack[te.reverseMappedStack.length - 1 - Ze].links.mappedType.symbol !== we.links.mappedType.symbol)
                  return false;
              return true;
            }
          }
          function or(we, te, Ht) {
            var Zt;
            const xe = !!(oc(we) & 8192), Re = Kr(we, te) ? Le : Wd(we), Ze = te.enclosingDeclaration;
            if (te.enclosingDeclaration = void 0, te.tracker.canTrackSymbol && HA(we.escapedName))
              if (we.declarations) {
                const Sn = ka(we.declarations);
                if (kE(Sn))
                  if (_n(Sn)) {
                    const qn = us(Sn);
                    qn && oo(qn) && iN(qn.argumentExpression) && en(qn.argumentExpression, Ze, te);
                  } else
                    en(Sn.name.expression, Ze, te);
              } else
                te.tracker.reportNonSerializableProperty(Wi(we));
            te.enclosingDeclaration = we.valueDeclaration || ((Zt = we.declarations) == null ? void 0 : Zt[0]) || Ze;
            const Pt = NP(we, te);
            if (te.enclosingDeclaration = Ze, te.approximateLength += sc(we).length + 1, we.flags & 98304) {
              const Sn = G0(we);
              if (!Gr(Re) && !Gr(Sn)) {
                const qn = Pn(we).mapper, Yn = Ao(
                  we,
                  173
                  /* PropertyDeclaration */
                );
                if (Re !== Sn || we.parent.flags & 32 && !Yn) {
                  const Ur = Ao(
                    we,
                    178
                    /* GetAccessor */
                  );
                  if (Ur) {
                    const qi = qf(Ur);
                    Ht.push(
                      ir(
                        te,
                        zn(qn ? ET(qi, qn) : qi, 178, te, { name: Pt }),
                        Ur
                      )
                    );
                  }
                  const ci = Ao(
                    we,
                    179
                    /* SetAccessor */
                  );
                  if (ci) {
                    const qi = qf(ci);
                    Ht.push(
                      ir(
                        te,
                        zn(qn ? ET(qi, qn) : qi, 179, te, { name: Pt }),
                        ci
                      )
                    );
                  }
                  return;
                }
                if (we.parent.flags & 32 && Yn && Nn(Yn.modifiers, fz)) {
                  const Ur = Im(
                    /*declaration*/
                    void 0,
                    /*typeParameters*/
                    void 0,
                    /*thisParameter*/
                    void 0,
                    Ge,
                    Re,
                    /*resolvedTypePredicate*/
                    void 0,
                    0,
                    0
                    /* None */
                  );
                  Ht.push(
                    ir(
                      te,
                      zn(Ur, 178, te, { name: Pt }),
                      Yn
                    )
                  );
                  const ci = ma(1, "arg");
                  ci.links.type = Sn;
                  const qi = Im(
                    /*declaration*/
                    void 0,
                    /*typeParameters*/
                    void 0,
                    /*thisParameter*/
                    void 0,
                    [ci],
                    _r,
                    /*resolvedTypePredicate*/
                    void 0,
                    0,
                    0
                    /* None */
                  );
                  Ht.push(
                    zn(qi, 179, te, { name: Pt })
                  );
                  return;
                }
              }
            }
            const $t = we.flags & 16777216 ? N.createToken(
              58
              /* QuestionToken */
            ) : void 0;
            if (we.flags & 8208 && !X0(Re).length && !Yd(we)) {
              const Sn = As(
                Hc(Re, (qn) => !(qn.flags & 32768)),
                0
                /* Call */
              );
              for (const qn of Sn) {
                const Yn = zn(qn, 174, te, { name: Pt, questionToken: $t });
                Ht.push($r(Yn, qn.declaration || we.valueDeclaration));
              }
              if (Sn.length || !$t)
                return;
            }
            let At;
            Kr(we, te) ? At = jr(te) : (xe && (te.reverseMappedStack || (te.reverseMappedStack = []), te.reverseMappedStack.push(we)), At = Re ? Tn(
              te,
              /*declaration*/
              void 0,
              Re,
              we
            ) : N.createKeywordTypeNode(
              133
              /* AnyKeyword */
            ), xe && te.reverseMappedStack.pop());
            const Yt = Yd(we) ? [N.createToken(
              148
              /* ReadonlyKeyword */
            )] : void 0;
            Yt && (te.approximateLength += 9);
            const Lr = N.createPropertySignature(
              Yt,
              Pt,
              $t,
              At
            );
            Ht.push($r(Lr, we.valueDeclaration));
            function $r(Sn, qn) {
              var Yn;
              const Ur = (Yn = we.declarations) == null ? void 0 : Yn.find(
                (ci) => ci.kind === 349
                /* JSDocPropertyTag */
              );
              if (Ur) {
                const ci = r3(Ur.comment);
                ci && Q1(Sn, [{ kind: 3, text: `*
 * ` + ci.replace(/\n/g, `
 * `) + `
 `, pos: -1, end: -1, hasTrailingNewLine: true }]);
              } else qn && ir(te, Sn, qn);
              return Sn;
            }
          }
          function ir(we, te, Ht) {
            return we.enclosingFile && we.enclosingFile === xr(Ht) ? Yc(te, Ht) : te;
          }
          function nn(we, te, Ht) {
            if (ot(we)) {
              if (We(te))
                if (te.out.truncated = true, Ht) {
                  if (we.length > 2)
                    return [
                      jt(we[0], te),
                      te.flags & 1 ? jy(N.createKeywordTypeNode(
                        133
                        /* AnyKeyword */
                      ), 3, `... ${we.length - 2} more elided ...`) : N.createTypeReferenceNode(
                        `... ${we.length - 2} more ...`,
                        /*typeArguments*/
                        void 0
                      ),
                      jt(we[we.length - 1], te)
                    ];
                } else return [
                  te.flags & 1 ? jy(N.createKeywordTypeNode(
                    133
                    /* AnyKeyword */
                  ), 3, "elided") : N.createTypeReferenceNode(
                    "...",
                    /*typeArguments*/
                    void 0
                  )
                ];
              const xe = !(te.flags & 64) ? Pp() : void 0, Re = [];
              let Ze = 0;
              for (const Pt of we) {
                if (Ze++, We(te) && Ze + 2 < we.length - 1) {
                  te.out.truncated = true, Re.push(
                    te.flags & 1 ? jy(N.createKeywordTypeNode(
                      133
                      /* AnyKeyword */
                    ), 3, `... ${we.length - Ze} more elided ...`) : N.createTypeReferenceNode(
                      `... ${we.length - Ze} more ...`,
                      /*typeArguments*/
                      void 0
                    )
                  );
                  const At = jt(we[we.length - 1], te);
                  At && Re.push(At);
                  break;
                }
                te.approximateLength += 2;
                const $t = jt(Pt, te);
                $t && (Re.push($t), xe && Wee($t) && xe.add($t.typeName.escapedText, [Pt, Re.length - 1]));
              }
              if (xe) {
                const Pt = ve(te);
                te.flags |= 64, xe.forEach(($t) => {
                  if (!Uee($t, ([At], [Yt]) => Qn(At, Yt)))
                    for (const [At, Yt] of $t)
                      Re[Yt] = jt(At, te);
                }), Pt();
              }
              return Re;
            }
          }
          function Qn(we, te) {
            return we === te || !!we.symbol && we.symbol === te.symbol || !!we.aliasSymbol && we.aliasSymbol === te.aliasSymbol;
          }
          function Ri(we, te, Ht) {
            const Zt = nK(we) || "x", xe = jt(we.keyType, te), Re = N.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              Zt,
              /*questionToken*/
              void 0,
              xe,
              /*initializer*/
              void 0
            );
            return Ht || (Ht = jt(we.type || Le, te)), !we.type && !(te.flags & 2097152) && (te.encounteredError = true), te.approximateLength += Zt.length + 4, N.createIndexSignature(
              we.isReadonly ? [N.createToken(
                148
                /* ReadonlyKeyword */
              )] : void 0,
              [Re],
              Ht
            );
          }
          function zn(we, te, Ht, Zt) {
            var xe;
            let Re, Ze;
            const Pt = YPe(
              we,
              /*skipUnionExpanding*/
              true
            )[0], $t = xs(Ht, we.declaration, Pt, we.typeParameters, we.parameters, we.mapper);
            Ht.approximateLength += 3, Ht.flags & 32 && we.target && we.mapper && we.target.typeParameters ? Ze = we.target.typeParameters.map((Yn) => jt(Mi(Yn, we.mapper), Ht)) : Re = we.typeParameters && we.typeParameters.map((Yn) => yc(Yn, Ht));
            const At = ve(Ht);
            Ht.flags &= -257;
            const Yt = (ot(Pt, (Yn) => Yn !== Pt[Pt.length - 1] && !!(oc(Yn) & 32768)) ? we.parameters : Pt).map((Yn) => Br(
              Yn,
              Ht,
              te === 177
              /* Constructor */
            )), Lr = Ht.flags & 33554432 ? void 0 : Ja(we, Ht);
            Lr && Yt.unshift(Lr), At();
            const $r = sa(Ht, we);
            let Sn = Zt?.modifiers;
            if (te === 186 && we.flags & 4) {
              const Yn = lm(Sn);
              Sn = N.createModifiersFromModifierFlags(
                Yn | 64
                /* Abstract */
              );
            }
            const qn = te === 180 ? N.createCallSignature(Re, Yt, $r) : te === 181 ? N.createConstructSignature(Re, Yt, $r) : te === 174 ? N.createMethodSignature(Sn, Zt?.name ?? N.createIdentifier(""), Zt?.questionToken, Re, Yt, $r) : te === 175 ? N.createMethodDeclaration(
              Sn,
              /*asteriskToken*/
              void 0,
              Zt?.name ?? N.createIdentifier(""),
              /*questionToken*/
              void 0,
              Re,
              Yt,
              $r,
              /*body*/
              void 0
            ) : te === 177 ? N.createConstructorDeclaration(
              Sn,
              Yt,
              /*body*/
              void 0
            ) : te === 178 ? N.createGetAccessorDeclaration(
              Sn,
              Zt?.name ?? N.createIdentifier(""),
              Yt,
              $r,
              /*body*/
              void 0
            ) : te === 179 ? N.createSetAccessorDeclaration(
              Sn,
              Zt?.name ?? N.createIdentifier(""),
              Yt,
              /*body*/
              void 0
            ) : te === 182 ? N.createIndexSignature(Sn, Yt, $r) : te === 318 ? N.createJSDocFunctionType(Yt, $r) : te === 185 ? N.createFunctionTypeNode(Re, Yt, $r ?? N.createTypeReferenceNode(N.createIdentifier(""))) : te === 186 ? N.createConstructorTypeNode(Sn, Re, Yt, $r ?? N.createTypeReferenceNode(N.createIdentifier(""))) : te === 263 ? N.createFunctionDeclaration(
              Sn,
              /*asteriskToken*/
              void 0,
              Zt?.name ? Ws(Zt.name, Me) : N.createIdentifier(""),
              Re,
              Yt,
              $r,
              /*body*/
              void 0
            ) : te === 219 ? N.createFunctionExpression(
              Sn,
              /*asteriskToken*/
              void 0,
              Zt?.name ? Ws(Zt.name, Me) : N.createIdentifier(""),
              Re,
              Yt,
              $r,
              N.createBlock([])
            ) : te === 220 ? N.createArrowFunction(
              Sn,
              Re,
              Yt,
              $r,
              /*equalsGreaterThanToken*/
              void 0,
              N.createBlock([])
            ) : E.assertNever(te);
            if (Ze && (qn.typeArguments = N.createNodeArray(Ze)), ((xe = we.declaration) == null ? void 0 : xe.kind) === 324 && we.declaration.parent.kind === 340) {
              const Yn = Go(
                we.declaration.parent.parent,
                /*includeTrivia*/
                true
              ).slice(2, -2).split(/\r\n|\n|\r/).map((Ur) => Ur.replace(/^\s+/, " ")).join(`
`);
              jy(
                qn,
                3,
                Yn,
                /*hasTrailingNewLine*/
                true
              );
            }
            return $t?.(), qn;
          }
          function bi(we) {
            i && i.throwIfCancellationRequested && i.throwIfCancellationRequested();
            let te, Ht, Zt = false;
            const xe = we.tracker, Re = we.trackedSymbols;
            we.trackedSymbols = void 0;
            const Ze = we.encounteredError;
            return we.tracker = new kne(we, {
              ...xe.inner,
              reportCyclicStructureError() {
                Pt(() => xe.reportCyclicStructureError());
              },
              reportInaccessibleThisError() {
                Pt(() => xe.reportInaccessibleThisError());
              },
              reportInaccessibleUniqueSymbolError() {
                Pt(() => xe.reportInaccessibleUniqueSymbolError());
              },
              reportLikelyUnsafeImportRequiredError(Yt) {
                Pt(() => xe.reportLikelyUnsafeImportRequiredError(Yt));
              },
              reportNonSerializableProperty(Yt) {
                Pt(() => xe.reportNonSerializableProperty(Yt));
              },
              reportPrivateInBaseOfClassExpression(Yt) {
                Pt(() => xe.reportPrivateInBaseOfClassExpression(Yt));
              },
              trackSymbol(Yt, Lr, $r) {
                return (te ?? (te = [])).push([Yt, Lr, $r]), false;
              },
              moduleResolverHost: we.tracker.moduleResolverHost
            }, we.tracker.moduleResolverHost), {
              startRecoveryScope: $t,
              finalizeBoundary: At,
              markError: Pt,
              hadError: () => Zt
            };
            function Pt(Yt) {
              Zt = true, Yt && (Ht ?? (Ht = [])).push(Yt);
            }
            function $t() {
              const Yt = te?.length ?? 0, Lr = Ht?.length ?? 0;
              return () => {
                Zt = false, te && (te.length = Yt), Ht && (Ht.length = Lr);
              };
            }
            function At() {
              return we.tracker = xe, we.trackedSymbols = Re, we.encounteredError = Ze, Ht?.forEach((Yt) => Yt()), Zt ? false : (te?.forEach(
                ([Yt, Lr, $r]) => we.tracker.trackSymbol(
                  Yt,
                  Lr,
                  $r
                )
              ), true);
            }
          }
          function xs(we, te, Ht, Zt, xe, Re) {
            const Ze = WI(we);
            let Pt, $t;
            const At = we.enclosingDeclaration, Yt = we.mapper;
            if (Re && (we.mapper = Re), we.enclosingDeclaration && te) {
              let Lr = function($r, Sn) {
                E.assert(we.enclosingDeclaration);
                let qn;
                xn(we.enclosingDeclaration).fakeScopeForSignatureDeclaration === $r ? qn = we.enclosingDeclaration : we.enclosingDeclaration.parent && xn(we.enclosingDeclaration.parent).fakeScopeForSignatureDeclaration === $r && (qn = we.enclosingDeclaration.parent), E.assertOptionalNode(qn, Ps);
                const Yn = qn?.locals ?? js();
                let Ur, ci;
                if (Sn((qi, wa) => {
                  if (qn) {
                    const sr = Yn.get(qi);
                    sr ? ci = Er(ci, { name: qi, oldSymbol: sr }) : Ur = Er(Ur, qi);
                  }
                  Yn.set(qi, wa);
                }), qn)
                  return function() {
                    lr(Ur, (wa) => Yn.delete(wa)), lr(ci, (wa) => Yn.set(wa.name, wa.oldSymbol));
                  };
                {
                  const qi = N.createBlock(Ge);
                  xn(qi).fakeScopeForSignatureDeclaration = $r, qi.locals = Yn, ja(qi, we.enclosingDeclaration), we.enclosingDeclaration = qi;
                }
              };
              Pt = ot(Ht) ? Lr(
                "params",
                ($r) => {
                  if (Ht)
                    for (let Sn = 0; Sn < Ht.length; Sn++) {
                      const qn = Ht[Sn], Yn = xe?.[Sn];
                      xe && Yn !== qn ? ($r(qn.escapedName, Y), Yn && $r(Yn.escapedName, Y)) : lr(qn.declarations, (Ur) => {
                        if (Ii(Ur) && Ds(Ur.name))
                          return ci(Ur.name), true;
                        return;
                        function ci(wa) {
                          lr(wa.elements, (sr) => {
                            switch (sr.kind) {
                              case 233:
                                return;
                              case 209:
                                return qi(sr);
                              default:
                                return E.assertNever(sr);
                            }
                          });
                        }
                        function qi(wa) {
                          if (Ds(wa.name))
                            return ci(wa.name);
                          const sr = yn(wa);
                          $r(sr.escapedName, sr);
                        }
                      }) || $r(qn.escapedName, qn);
                    }
                }
              ) : void 0, we.flags & 4 && ot(Zt) && ($t = Lr(
                "typeParams",
                ($r) => {
                  for (const Sn of Zt ?? Ge) {
                    const qn = qo(Sn, we).escapedText;
                    $r(qn, Sn.symbol);
                  }
                }
              ));
            }
            return () => {
              Pt?.(), $t?.(), Ze(), we.enclosingDeclaration = At, we.mapper = Yt;
            };
          }
          function Ja(we, te) {
            if (we.thisParameter)
              return Br(we.thisParameter, te);
            if (we.declaration && an(we.declaration)) {
              const Ht = y7(we.declaration);
              if (Ht && Ht.typeExpression)
                return N.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  "this",
                  /*questionToken*/
                  void 0,
                  jt(a(te, Ht.typeExpression), te)
                );
            }
          }
          function Vi(we, te, Ht) {
            const Zt = ve(te);
            te.flags &= -513;
            const xe = N.createModifiersFromModifierFlags(Mpe(we)), Re = qo(we, te), Ze = C2(we), Pt = Ze && jt(Ze, te);
            return Zt(), N.createTypeParameterDeclaration(xe, Re, Ht, Pt);
          }
          function Lo(we, te, Ht) {
            return !lt(we, Ht) && te && a(Ht, te) === we && Te.tryReuseExistingTypeNode(Ht, te) || jt(we, Ht);
          }
          function yc(we, te, Ht = __(we)) {
            const Zt = Ht && Lo(Ht, r$(we), te);
            return Vi(we, te, Zt);
          }
          function Lu(we, te) {
            const Ht = we.kind === 2 || we.kind === 3 ? N.createToken(
              131
              /* AssertsKeyword */
            ) : void 0, Zt = we.kind === 1 || we.kind === 3 ? un(
              N.createIdentifier(we.parameterName),
              16777216
              /* NoAsciiEscaping */
            ) : N.createThisTypeNode(), xe = we.type && jt(we.type, te);
            return N.createTypePredicateNode(Ht, Zt, xe);
          }
          function Dr(we) {
            const te = Ao(
              we,
              170
              /* Parameter */
            );
            if (te)
              return te;
            if (!Cg(we))
              return Ao(
                we,
                342
                /* JSDocParameterTag */
              );
          }
          function Br(we, te, Ht) {
            const Zt = Dr(we), xe = Yr(we), Re = Tn(te, Zt, xe, we), Ze = !(te.flags & 8192) && Ht && Zt && Jp(Zt) ? hr(gb(Zt), N.cloneNode) : void 0, $t = Zt && Wm(Zt) || oc(we) & 32768 ? N.createToken(
              26
              /* DotDotDotToken */
            ) : void 0, At = xi(we, Zt, te), Lr = Zt && QA(Zt) || oc(we) & 16384 ? N.createToken(
              58
              /* QuestionToken */
            ) : void 0, $r = N.createParameterDeclaration(
              Ze,
              $t,
              At,
              Lr,
              Re,
              /*initializer*/
              void 0
            );
            return te.approximateLength += sc(we).length + 3, $r;
          }
          function xi(we, te, Ht) {
            return te && te.name ? te.name.kind === 80 ? un(
              N.cloneNode(te.name),
              16777216
              /* NoAsciiEscaping */
            ) : te.name.kind === 167 ? un(
              N.cloneNode(te.name.right),
              16777216
              /* NoAsciiEscaping */
            ) : Zt(te.name) : sc(we);
            function Zt(xe) {
              return Re(xe);
              function Re(Ze) {
                Ht.tracker.canTrackSymbol && Hs(Ze) && Dfe(Ze) && en(Ze.expression, Ht.enclosingDeclaration, Ht);
                let Pt = br(
                  Ze,
                  Re,
                  /*context*/
                  void 0,
                  /*nodesVisitor*/
                  void 0,
                  Re
                );
                return ha(Pt) && (Pt = N.updateBindingElement(
                  Pt,
                  Pt.dotDotDotToken,
                  Pt.propertyName,
                  Pt.name,
                  /*initializer*/
                  void 0
                )), ao(Pt) || (Pt = N.cloneNode(Pt)), un(
                  Pt,
                  16777217
                  /* NoAsciiEscaping */
                );
              }
            }
          }
          function en(we, te, Ht) {
            if (!Ht.tracker.canTrackSymbol) return;
            const Zt = e_(we), xe = st(
              te,
              Zt.escapedText,
              1160127,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              true
            );
            if (xe)
              Ht.tracker.trackSymbol(
                xe,
                te,
                111551
                /* Value */
              );
            else {
              const Re = st(
                Zt,
                Zt.escapedText,
                1160127,
                /*nameNotFoundMessage*/
                void 0,
                /*isUse*/
                true
              );
              Re && Ht.tracker.trackSymbol(
                Re,
                te,
                111551
                /* Value */
              );
            }
          }
          function ls(we, te, Ht, Zt) {
            return te.tracker.trackSymbol(we, te.enclosingDeclaration, Ht), Va(we, te, Ht, Zt);
          }
          function Va(we, te, Ht, Zt) {
            let xe;
            return !(we.flags & 262144) && (te.enclosingDeclaration || te.flags & 64) && !(te.internalFlags & 4) ? (xe = E.checkDefined(Ze(
              we,
              Ht,
              /*endOfChain*/
              true
            )), E.assert(xe && xe.length > 0)) : xe = [we], xe;
            function Ze(Pt, $t, At) {
              let Yt = U0(Pt, te.enclosingDeclaration, $t, !!(te.flags & 128)), Lr;
              if (!Yt || b2(Yt[0], te.enclosingDeclaration, Yt.length === 1 ? $t : dd($t))) {
                const Sn = v2(Yt ? Yt[0] : Pt, te.enclosingDeclaration, $t);
                if (wr(Sn)) {
                  Lr = Sn.map(
                    (Ur) => ot(Ur.declarations, S2) ? Ac(Ur, te) : void 0
                  );
                  const qn = Sn.map((Ur, ci) => ci);
                  qn.sort($r);
                  const Yn = qn.map((Ur) => Sn[Ur]);
                  for (const Ur of Yn) {
                    const ci = Ze(
                      Ur,
                      dd($t),
                      /*endOfChain*/
                      false
                    );
                    if (ci) {
                      if (Ur.exports && Ur.exports.get(
                        "export="
                        /* ExportEquals */
                      ) && le(Ur.exports.get(
                        "export="
                        /* ExportEquals */
                      ), Pt)) {
                        Yt = ci;
                        break;
                      }
                      Yt = ci.concat(Yt || [C(Ur, Pt) || Pt]);
                      break;
                    }
                  }
                }
              }
              if (Yt)
                return Yt;
              if (
                // If this is the last part of outputting the symbol, always output. The cases apply only to parent symbols.
                At || // If a parent symbol is an anonymous type, don't write it.
                !(Pt.flags & 6144)
              )
                return !At && !Zt && lr(Pt.declarations, S2) ? void 0 : [Pt];
              function $r(Sn, qn) {
                const Yn = Lr[Sn], Ur = Lr[qn];
                if (Yn && Ur) {
                  const ci = vf(Ur);
                  return vf(Yn) === ci ? yO(Yn) - yO(Ur) : ci ? -1 : 1;
                }
                return 0;
              }
            }
          }
          function Po(we, te) {
            let Ht;
            return UE(we).flags & 524384 && (Ht = N.createNodeArray(hr(na(we), (xe) => yc(xe, te)))), Ht;
          }
          function Ml(we, te, Ht) {
            var Zt;
            E.assert(we && 0 <= te && te < we.length);
            const xe = we[te], Re = $s(xe);
            if ((Zt = Ht.typeParameterSymbolList) != null && Zt.has(Re))
              return;
            Ht.mustCreateTypeParameterSymbolList && (Ht.mustCreateTypeParameterSymbolList = false, Ht.typeParameterSymbolList = new Set(Ht.typeParameterSymbolList)), Ht.typeParameterSymbolList.add(Re);
            let Ze;
            if (Ht.flags & 512 && te < we.length - 1) {
              const Pt = xe, $t = we[te + 1];
              if (oc($t) & 1) {
                const At = uo(
                  Pt.flags & 2097152 ? Fl(Pt) : Pt
                );
                Ze = nn(hr(At, (Yt) => Z0(Yt, $t.links.mapper)), Ht);
              } else
                Ze = Po(xe, Ht);
            }
            return Ze;
          }
          function Sa(we) {
            return Wb(we.objectType) ? Sa(we.objectType) : we;
          }
          function Ac(we, te, Ht) {
            let Zt = Ao(
              we,
              308
              /* SourceFile */
            );
            if (!Zt) {
              const Lr = Ic(we.declarations, ($r) => _T($r, we));
              Lr && (Zt = Ao(
                Lr,
                308
                /* SourceFile */
              ));
            }
            if (Zt && Zt.moduleName !== void 0)
              return Zt.moduleName;
            if (!Zt && Sne.test(we.escapedName))
              return we.escapedName.substring(1, we.escapedName.length - 1);
            if (!te.enclosingFile || !te.tracker.moduleResolverHost)
              return Sne.test(we.escapedName) ? we.escapedName.substring(1, we.escapedName.length - 1) : xr(uB(we)).fileName;
            const xe = zo(te.enclosingDeclaration), Re = wK(xe) ? lx(xe) : void 0, Ze = te.enclosingFile, Pt = Ht || Re && e.getModeForUsageLocation(Ze, Re) || Ze && e.getDefaultResolutionModeForFile(Ze), $t = UD(Ze.path, Pt), At = Pn(we);
            let Yt = At.specifierCache && At.specifierCache.get($t);
            if (!Yt) {
              const Lr = !!F.outFile, { moduleResolverHost: $r } = te.tracker, Sn = Lr ? { ...F, baseUrl: $r.getCommonSourceDirectory() } : F;
              Yt = ka(x1e(
                we,
                Jr,
                Sn,
                Ze,
                $r,
                {
                  importModuleSpecifierPreference: Lr ? "non-relative" : "project-relative",
                  importModuleSpecifierEnding: Lr ? "minimal" : Pt === 99 ? "js" : void 0
                },
                { overrideImportMode: Ht }
              )), At.specifierCache ?? (At.specifierCache = /* @__PURE__ */ new Map()), At.specifierCache.set($t, Yt);
            }
            return Yt;
          }
          function Jc(we) {
            const te = N.createIdentifier(Si(we.escapedName));
            return we.parent ? N.createQualifiedName(Jc(we.parent), te) : te;
          }
          function Ha(we, te, Ht, Zt) {
            const xe = ls(we, te, Ht, !(te.flags & 16384)), Re = Ht === 111551;
            if (ot(xe[0].declarations, S2)) {
              const $t = xe.length > 1 ? Pt(xe, xe.length - 1, 1) : void 0, At = Zt || Ml(xe, 0, te), Yt = xr(zo(te.enclosingDeclaration)), Lr = m3(xe[0]);
              let $r, Sn;
              if ((Cu(F) === 3 || Cu(F) === 99) && Lr?.impliedNodeFormat === 99 && Lr.impliedNodeFormat !== Yt?.impliedNodeFormat && ($r = Ac(
                xe[0],
                te,
                99
                /* ESNext */
              ), Sn = N.createImportAttributes(
                N.createNodeArray([
                  N.createImportAttribute(
                    N.createStringLiteral("resolution-mode"),
                    N.createStringLiteral("import")
                  )
                ])
              )), $r || ($r = Ac(xe[0], te)), !(te.flags & 67108864) && Cu(F) !== 1 && $r.includes("/node_modules/")) {
                const Yn = $r;
                if (Cu(F) === 3 || Cu(F) === 99) {
                  const Ur = Yt?.impliedNodeFormat === 99 ? 1 : 99;
                  $r = Ac(xe[0], te, Ur), $r.includes("/node_modules/") ? $r = Yn : Sn = N.createImportAttributes(
                    N.createNodeArray([
                      N.createImportAttribute(
                        N.createStringLiteral("resolution-mode"),
                        N.createStringLiteral(Ur === 99 ? "import" : "require")
                      )
                    ])
                  );
                }
                Sn || (te.encounteredError = true, te.tracker.reportLikelyUnsafeImportRequiredError && te.tracker.reportLikelyUnsafeImportRequiredError(Yn));
              }
              const qn = N.createLiteralTypeNode(N.createStringLiteral($r));
              if (te.approximateLength += $r.length + 10, !$t || Zu($t)) {
                if ($t) {
                  const Yn = Me($t) ? $t : $t.right;
                  v0(
                    Yn,
                    /*typeArguments*/
                    void 0
                  );
                }
                return N.createImportTypeNode(qn, Sn, $t, At, Re);
              } else {
                const Yn = Sa($t), Ur = Yn.objectType.typeName;
                return N.createIndexedAccessTypeNode(N.createImportTypeNode(qn, Sn, Ur, At, Re), Yn.indexType);
              }
            }
            const Ze = Pt(xe, xe.length - 1, 0);
            if (Wb(Ze))
              return Ze;
            if (Re)
              return N.createTypeQueryNode(Ze);
            {
              const $t = Me(Ze) ? Ze : Ze.right, At = dS($t);
              return v0(
                $t,
                /*typeArguments*/
                void 0
              ), N.createTypeReferenceNode(Ze, At);
            }
            function Pt($t, At, Yt) {
              const Lr = At === $t.length - 1 ? Zt : Ml($t, At, te), $r = $t[At], Sn = $t[At - 1];
              let qn;
              if (At === 0)
                te.flags |= 16777216, qn = Hv($r, te), te.approximateLength += (qn ? qn.length : 0) + 1, te.flags ^= 16777216;
              else if (Sn && ff(Sn)) {
                const Ur = ff(Sn);
                dl(Ur, (ci, qi) => {
                  if (le(ci, $r) && !HA(qi) && qi !== "export=")
                    return qn = Si(qi), true;
                });
              }
              if (qn === void 0) {
                const Ur = Ic($r.declarations, us);
                if (Ur && Hs(Ur) && Zu(Ur.expression)) {
                  const ci = Pt($t, At - 1, Yt);
                  return Zu(ci) ? N.createIndexedAccessTypeNode(N.createParenthesizedType(N.createTypeQueryNode(ci)), N.createTypeQueryNode(Ur.expression)) : ci;
                }
                qn = Hv($r, te);
              }
              if (te.approximateLength += qn.length + 1, !(te.flags & 16) && Sn && ug(Sn) && ug(Sn).get($r.escapedName) && le(ug(Sn).get($r.escapedName), $r)) {
                const Ur = Pt($t, At - 1, Yt);
                return Wb(Ur) ? N.createIndexedAccessTypeNode(Ur, N.createLiteralTypeNode(N.createStringLiteral(qn))) : N.createIndexedAccessTypeNode(N.createTypeReferenceNode(Ur, Lr), N.createLiteralTypeNode(N.createStringLiteral(qn)));
              }
              const Yn = un(
                N.createIdentifier(qn),
                16777216
                /* NoAsciiEscaping */
              );
              if (Lr && v0(Yn, N.createNodeArray(Lr)), Yn.symbol = $r, At > Yt) {
                const Ur = Pt($t, At - 1, Yt);
                return Zu(Ur) ? N.createQualifiedName(Ur, Yn) : E.fail("Impossible construct - an export of an indexed access cannot be reachable");
              }
              return Yn;
            }
          }
          function Gf(we, te, Ht) {
            const Zt = st(
              te.enclosingDeclaration,
              we,
              788968,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              false
            );
            return Zt && Zt.flags & 262144 ? Zt !== Ht.symbol : false;
          }
          function qo(we, te) {
            var Ht, Zt, xe, Re;
            if (te.flags & 4 && te.typeParameterNames) {
              const $t = te.typeParameterNames.get(Ol(we));
              if ($t)
                return $t;
            }
            let Ze = Cc(
              we.symbol,
              te,
              788968,
              /*expectsIdentifier*/
              true
            );
            if (!(Ze.kind & 80))
              return N.createIdentifier("(Missing type parameter)");
            const Pt = (Zt = (Ht = we.symbol) == null ? void 0 : Ht.declarations) == null ? void 0 : Zt[0];
            if (Pt && Io(Pt) && (Ze = l(te, Ze, Pt.name)), te.flags & 4) {
              const $t = Ze.escapedText;
              let At = ((xe = te.typeParameterNamesByTextNextNameCount) == null ? void 0 : xe.get($t)) || 0, Yt = $t;
              for (; (Re = te.typeParameterNamesByText) != null && Re.has(Yt) || Gf(Yt, te, we); )
                At++, Yt = `${$t}_${At}`;
              if (Yt !== $t) {
                const Lr = dS(Ze);
                Ze = N.createIdentifier(Yt), v0(Ze, Lr);
              }
              te.mustCreateTypeParametersNamesLookups && (te.mustCreateTypeParametersNamesLookups = false, te.typeParameterNames = new Map(te.typeParameterNames), te.typeParameterNamesByTextNextNameCount = new Map(te.typeParameterNamesByTextNextNameCount), te.typeParameterNamesByText = new Set(te.typeParameterNamesByText)), te.typeParameterNamesByTextNextNameCount.set($t, At), te.typeParameterNames.set(Ol(we), Ze), te.typeParameterNamesByText.add(Yt);
            }
            return Ze;
          }
          function Cc(we, te, Ht, Zt) {
            const xe = ls(we, te, Ht);
            return Zt && xe.length !== 1 && !te.encounteredError && !(te.flags & 65536) && (te.encounteredError = true), Re(xe, xe.length - 1);
            function Re(Ze, Pt) {
              const $t = Ml(Ze, Pt, te), At = Ze[Pt];
              Pt === 0 && (te.flags |= 16777216);
              const Yt = Hv(At, te);
              Pt === 0 && (te.flags ^= 16777216);
              const Lr = un(
                N.createIdentifier(Yt),
                16777216
                /* NoAsciiEscaping */
              );
              return $t && v0(Lr, N.createNodeArray($t)), Lr.symbol = At, Pt > 0 ? N.createQualifiedName(Re(Ze, Pt - 1), Lr) : Lr;
            }
          }
          function Ep(we, te, Ht) {
            const Zt = ls(we, te, Ht);
            return xe(Zt, Zt.length - 1);
            function xe(Re, Ze) {
              const Pt = Ml(Re, Ze, te), $t = Re[Ze];
              Ze === 0 && (te.flags |= 16777216);
              let At = Hv($t, te);
              Ze === 0 && (te.flags ^= 16777216);
              let Yt = At.charCodeAt(0);
              if (O3(Yt) && ot($t.declarations, S2)) {
                const Lr = Ac($t, te);
                return te.approximateLength += 2 + Lr.length, N.createStringLiteral(Lr);
              }
              if (Ze === 0 || JJ(At, R)) {
                const Lr = un(
                  N.createIdentifier(At),
                  16777216
                  /* NoAsciiEscaping */
                );
                return Pt && v0(Lr, N.createNodeArray(Pt)), Lr.symbol = $t, te.approximateLength += 1 + At.length, Ze > 0 ? N.createPropertyAccessExpression(xe(Re, Ze - 1), Lr) : Lr;
              } else {
                Yt === 91 && (At = At.substring(1, At.length - 1), Yt = At.charCodeAt(0));
                let Lr;
                if (O3(Yt) && !($t.flags & 8)) {
                  const $r = Lp(At).replace(/\\./g, (Sn) => Sn.substring(1));
                  te.approximateLength += $r.length + 2, Lr = N.createStringLiteral(
                    $r,
                    Yt === 39
                    /* singleQuote */
                  );
                } else "" + +At === At && (te.approximateLength += At.length, Lr = N.createNumericLiteral(+At));
                if (!Lr) {
                  const $r = un(
                    N.createIdentifier(At),
                    16777216
                    /* NoAsciiEscaping */
                  );
                  Pt && v0($r, N.createNodeArray(Pt)), $r.symbol = $t, te.approximateLength += At.length, Lr = $r;
                }
                return te.approximateLength += 2, N.createElementAccessExpression(xe(Re, Ze - 1), Lr);
              }
            }
          }
          function PP(we) {
            const te = us(we);
            return te ? Hs(te) ? !!(Hi(te.expression).flags & 402653316) : oo(te) ? !!(Hi(te.argumentExpression).flags & 402653316) : oa(te) : false;
          }
          function zI(we) {
            const te = us(we);
            return !!(te && oa(te) && (te.singleQuote || !ao(te) && Ui(Go(
              te,
              /*includeTrivia*/
              false
            ), "'")));
          }
          function NP(we, te) {
            const Ht = qX(we);
            if (Ht)
              if (!!te.tracker.reportPrivateInBaseOfClassExpression && te.flags & 2048) {
                let At = Si(we.escapedName);
                return At = At.replace(/__#\d+@#/g, "__#private@#"), SN(
                  At,
                  pa(F),
                  /*singleQuote*/
                  false,
                  /*stringNamed*/
                  true,
                  !!(we.flags & 8192)
                );
              } else
                return Ht;
            const Zt = !!wr(we.declarations) && Ni(we.declarations, PP), xe = !!wr(we.declarations) && Ni(we.declarations, zI), Re = !!(we.flags & 8192), Ze = Cf(we, te, xe, Zt, Re);
            if (Ze)
              return Ze;
            const Pt = Si(we.escapedName);
            return SN(Pt, pa(F), xe, Zt, Re);
          }
          function Cf(we, te, Ht, Zt, xe) {
            const Re = Pn(we).nameType;
            if (Re) {
              if (Re.flags & 384) {
                const Ze = "" + Re.value;
                return !F_(Ze, pa(F)) && (Zt || !Mg(Ze)) ? N.createStringLiteral(Ze, !!Ht) : Mg(Ze) && Ui(Ze, "-") ? N.createComputedPropertyName(N.createPrefixUnaryExpression(41, N.createNumericLiteral(-Ze))) : SN(Ze, pa(F), Ht, Zt, xe);
              }
              if (Re.flags & 8192)
                return N.createComputedPropertyName(Ep(
                  Re.symbol,
                  te,
                  111551
                  /* Value */
                ));
            }
          }
          function WI(we) {
            const te = we.mustCreateTypeParameterSymbolList, Ht = we.mustCreateTypeParametersNamesLookups;
            we.mustCreateTypeParameterSymbolList = true, we.mustCreateTypeParametersNamesLookups = true;
            const Zt = we.typeParameterNames, xe = we.typeParameterNamesByText, Re = we.typeParameterNamesByTextNextNameCount, Ze = we.typeParameterSymbolList;
            return () => {
              we.typeParameterNames = Zt, we.typeParameterNamesByText = xe, we.typeParameterNamesByTextNextNameCount = Re, we.typeParameterSymbolList = Ze, we.mustCreateTypeParameterSymbolList = te, we.mustCreateTypeParametersNamesLookups = Ht;
            };
          }
          function It(we, te) {
            return we.declarations && Nn(we.declarations, (Ht) => !!a5e(Ht) && (!te || !!dr(Ht, (Zt) => Zt === te)));
          }
          function gr(we, te) {
            if (!(Dn(te) & 4) || !rf(we)) return true;
            a$(we);
            const Ht = xn(we).resolvedSymbol, Zt = Ht && ho(Ht);
            return !Zt || Zt !== te.target ? true : wr(we.typeArguments) >= fg(te.target.typeParameters);
          }
          function Fr(we) {
            for (; xn(we).fakeScopeForSignatureDeclaration; )
              we = we.parent;
            return we;
          }
          function Qr(we, te, Ht) {
            return Ht.flags & 8192 && Ht.symbol === we && (!te.enclosingDeclaration || ot(we.declarations, (xe) => xr(xe) === te.enclosingFile)) && (te.flags |= 1048576), jt(Ht, te);
          }
          function Tn(we, te, Ht, Zt) {
            var xe;
            let Re;
            const Ze = te && (Ii(te) || Af(te)) && fR(te, we.enclosingDeclaration), Pt = te ?? Zt.valueDeclaration ?? It(Zt) ?? ((xe = Zt.declarations) == null ? void 0 : xe[0]);
            if (!lt(Ht, we) && Pt) {
              const $t = G(we, Zt, Ht);
              Ty(Pt) ? Re = Te.serializeTypeOfAccessor(Pt, Zt, we) : _F(Pt) && !ao(Pt) && !(Dn(Ht) & 196608) && (Re = Te.serializeTypeOfDeclaration(Pt, Zt, we)), $t();
            }
            return Re || (Ze && (Ht = k1(Ht)), Re = Qr(Zt, we, Ht)), Re ?? N.createKeywordTypeNode(
              133
              /* AnyKeyword */
            );
          }
          function Kn(we, te, Ht) {
            return Ht === te ? true : we && ((Vu(we) || as(we)) && we.questionToken || Ii(we) && XG(we)) ? xp(
              te,
              524288
              /* NEUndefined */
            ) === Ht : false;
          }
          function sa(we, te) {
            const Ht = we.flags & 256, Zt = ve(we);
            Ht && (we.flags &= -257);
            let xe;
            const Re = Ba(te);
            if (!(Ht && gn(Re))) {
              if (te.declaration && !ao(te.declaration) && !lt(Re, we)) {
                const Ze = yn(te.declaration), Pt = G(we, Ze, Re);
                xe = Te.serializeReturnTypeForSignature(te.declaration, Ze, we), Pt();
              }
              xe || (xe = la(we, te, Re));
            }
            return !xe && !Ht && (xe = N.createKeywordTypeNode(
              133
              /* AnyKeyword */
            )), Zt(), xe;
          }
          function la(we, te, Ht) {
            const Zt = we.suppressReportInferenceFallback;
            we.suppressReportInferenceFallback = true;
            const xe = bp(te), Re = xe ? Lu(we.mapper ? NNe(xe, we.mapper) : xe, we) : jt(Ht, we);
            return we.suppressReportInferenceFallback = Zt, Re;
          }
          function _o(we, te, Ht = te.enclosingDeclaration) {
            let Zt = false;
            const xe = e_(we);
            if (an(we) && (rS(xe) || Ng(xe.parent) || t_(xe.parent) && CB(xe.parent.left) && rS(xe.parent.right)))
              return Zt = true, { introducesError: Zt, node: we };
            const Re = Xw(we);
            let Ze;
            if (Iy(xe))
              return Ze = yn(zu(
                xe,
                /*includeArrowFunctions*/
                false,
                /*includeClassComputedPropertyName*/
                false
              )), d1(
                Ze,
                xe,
                Re,
                /*shouldComputeAliasesToMakeVisible*/
                false
              ).accessibility !== 0 && (Zt = true, te.tracker.reportInaccessibleThisError()), { introducesError: Zt, node: Pt(we) };
            if (Ze = _c2(
              xe,
              Re,
              /*ignoreErrors*/
              true,
              /*dontResolveAlias*/
              true
            ), te.enclosingDeclaration && !(Ze && Ze.flags & 262144)) {
              Ze = _t(Ze);
              const $t = _c2(
                xe,
                Re,
                /*ignoreErrors*/
                true,
                /*dontResolveAlias*/
                true,
                te.enclosingDeclaration
              );
              if (
                // Check for unusable parameters symbols
                $t === Y || // 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
                $t === void 0 && Ze !== void 0 || // If the symbol is found both in declaration scope and in current scope then it should point to the same reference
                $t && Ze && !le(_t($t), Ze)
              )
                return $t !== Y && te.tracker.reportInferenceFallback(we), Zt = true, { introducesError: Zt, node: we, sym: Ze };
              Ze = $t;
            }
            if (Ze)
              return Ze.flags & 1 && Ze.valueDeclaration && (H1(Ze.valueDeclaration) || Af(Ze.valueDeclaration)) ? { introducesError: Zt, node: Pt(we) } : (!(Ze.flags & 262144) && // Type parameters are visible in the current context if they are are resolvable
              !Hm(we) && d1(
                Ze,
                Ht,
                Re,
                /*shouldComputeAliasesToMakeVisible*/
                false
              ).accessibility !== 0 ? (te.tracker.reportInferenceFallback(we), Zt = true) : te.tracker.trackSymbol(Ze, Ht, Re), { introducesError: Zt, node: Pt(we) });
            return { introducesError: Zt, node: we };
            function Pt($t) {
              if ($t === xe) {
                const Yt = ho(Ze), Lr = Ze.flags & 262144 ? qo(Yt, te) : N.cloneNode($t);
                return Lr.symbol = Ze, l(te, un(
                  Lr,
                  16777216
                  /* NoAsciiEscaping */
                ), $t);
              }
              const At = br(
                $t,
                (Yt) => Pt(Yt),
                /*context*/
                void 0
              );
              return l(te, At, $t);
            }
          }
          function Sl(we, te, Ht, Zt) {
            const xe = Ht ? 111551 : 788968, Re = _c2(
              te,
              xe,
              /*ignoreErrors*/
              true
            );
            if (!Re) return;
            const Ze = Re.flags & 2097152 ? Fl(Re) : Re;
            if (d1(
              Re,
              we.enclosingDeclaration,
              xe,
              /*shouldComputeAliasesToMakeVisible*/
              false
            ).accessibility === 0)
              return Ha(Ze, we, xe, Zt);
          }
          function Mu(we, te) {
            const Ht = a(
              we,
              te,
              /*noMappedTypes*/
              true
            );
            if (!Ht)
              return false;
            if (an(te) && mh(te)) {
              SNe(te);
              const Zt = xn(te).resolvedSymbol;
              return !Zt || !// The import type resolved using jsdoc fallback logic
              (!te.isTypeOf && !(Zt.flags & 788968) || // The import type had type arguments autofilled by js fallback logic
              !(wr(te.typeArguments) >= fg(na(Zt))));
            }
            if (rf(te)) {
              if (Kp(te)) return false;
              const Zt = xn(te).resolvedSymbol;
              if (!Zt) return false;
              if (Zt.flags & 262144) {
                const xe = ho(Zt);
                return !(we.mapper && Z0(xe, we.mapper) !== xe);
              }
              if (M4(te))
                return gr(te, Ht) && !I3e(te) && !!(Zt.flags & 788968);
            }
            if (Y1(te) && te.operator === 158 && te.type.kind === 155) {
              const Zt = we.enclosingDeclaration && Fr(we.enclosingDeclaration);
              return !!dr(te, (xe) => xe === Zt);
            }
            return true;
          }
          function I_(we, te, Ht) {
            const Zt = a(we, te);
            if (Ht && !kp(Zt, (xe) => !!(xe.flags & 32768)) && Mu(we, te)) {
              const xe = Te.tryReuseExistingTypeNode(we, te);
              if (xe)
                return N.createUnionTypeNode([xe, N.createKeywordTypeNode(
                  157
                  /* UndefinedKeyword */
                )]);
            }
            return jt(Zt, we);
          }
          function ob(we, te) {
            var Ht;
            const Zt = T5e(
              N.createPropertyDeclaration,
              175,
              /*useAccessors*/
              true
            ), xe = T5e(
              (ht, Xr, ri, si) => N.createPropertySignature(ht, Xr, ri, si),
              174,
              /*useAccessors*/
              false
            ), Re = te.enclosingDeclaration;
            let Ze = [];
            const Pt = /* @__PURE__ */ new Set(), $t = [], At = te;
            te = {
              ...At,
              usedSymbolNames: new Set(At.usedSymbolNames),
              remappedSymbolNames: /* @__PURE__ */ new Map(),
              remappedSymbolReferences: new Map((Ht = At.remappedSymbolReferences) == null ? void 0 : Ht.entries()),
              tracker: void 0
            };
            const Yt = {
              ...At.tracker.inner,
              trackSymbol: (ht, Xr, ri) => {
                var si, mn;
                if ((si = te.remappedSymbolNames) != null && si.has($s(ht))) return false;
                if (d1(
                  ht,
                  Xr,
                  ri,
                  /*shouldComputeAliasesToMakeVisible*/
                  false
                ).accessibility === 0) {
                  const _a = Va(ht, te, ri);
                  if (!(ht.flags & 4)) {
                    const ks = _a[0], di = xr(At.enclosingDeclaration);
                    ot(ks.declarations, (Gs) => xr(Gs) === di) && Ta(ks);
                  }
                } else if ((mn = At.tracker.inner) != null && mn.trackSymbol)
                  return At.tracker.inner.trackSymbol(ht, Xr, ri);
                return false;
              }
            };
            te.tracker = new kne(te, Yt, At.tracker.moduleResolverHost), dl(we, (ht, Xr) => {
              const ri = Si(Xr);
              hg(ht, ri);
            });
            let Lr = !te.bundled;
            const $r = we.get(
              "export="
              /* ExportEquals */
            );
            return $r && we.size > 1 && $r.flags & 2098688 && (we = js(), we.set("export=", $r)), Fn(we), qi(Ze);
            function Sn(ht) {
              return !!ht && ht.kind === 80;
            }
            function qn(ht) {
              return Pc(ht) ? kn(hr(ht.declarationList.declarations, us), Sn) : kn([us(ht)], Sn);
            }
            function Yn(ht) {
              const Xr = Nn(ht, Fo), ri = ic(ht, Lc);
              let si = ri !== -1 ? ht[ri] : void 0;
              if (si && Xr && Xr.isExportEquals && Me(Xr.expression) && Me(si.name) && An(si.name) === An(Xr.expression) && si.body && mm(si.body)) {
                const mn = kn(ht, (ks) => !!(lu(ks) & 32)), Ks = si.name;
                let _a = si.body;
                if (wr(mn) && (si = N.updateModuleDeclaration(
                  si,
                  si.modifiers,
                  si.name,
                  _a = N.updateModuleBlock(
                    _a,
                    N.createNodeArray([
                      ...si.body.statements,
                      N.createExportDeclaration(
                        /*modifiers*/
                        void 0,
                        /*isTypeOnly*/
                        false,
                        N.createNamedExports(hr(xa(mn, (ks) => qn(ks)), (ks) => N.createExportSpecifier(
                          /*isTypeOnly*/
                          false,
                          /*propertyName*/
                          void 0,
                          ks
                        ))),
                        /*moduleSpecifier*/
                        void 0
                      )
                    ])
                  )
                ), ht = [...ht.slice(0, ri), si, ...ht.slice(ri + 1)]), !Nn(ht, (ks) => ks !== si && e3(ks, Ks))) {
                  Ze = [];
                  const ks = !ot(_a.statements, (di) => Gn(
                    di,
                    32
                    /* Export */
                  ) || Fo(di) || Mc(di));
                  lr(_a.statements, (di) => {
                    is(
                      di,
                      ks ? 32 : 0
                      /* None */
                    );
                  }), ht = [...kn(ht, (di) => di !== si && di !== Xr), ...Ze];
                }
              }
              return ht;
            }
            function Ur(ht) {
              const Xr = kn(ht, (si) => Mc(si) && !si.moduleSpecifier && !!si.exportClause && _p(si.exportClause));
              wr(Xr) > 1 && (ht = [
                ...kn(ht, (mn) => !Mc(mn) || !!mn.moduleSpecifier || !mn.exportClause),
                N.createExportDeclaration(
                  /*modifiers*/
                  void 0,
                  /*isTypeOnly*/
                  false,
                  N.createNamedExports(xa(Xr, (mn) => Ws(mn.exportClause, _p).elements)),
                  /*moduleSpecifier*/
                  void 0
                )
              ]);
              const ri = kn(ht, (si) => Mc(si) && !!si.moduleSpecifier && !!si.exportClause && _p(si.exportClause));
              if (wr(ri) > 1) {
                const si = pC(ri, (mn) => oa(mn.moduleSpecifier) ? ">" + mn.moduleSpecifier.text : ">");
                if (si.length !== ri.length)
                  for (const mn of si)
                    mn.length > 1 && (ht = [
                      ...kn(ht, (Ks) => !mn.includes(Ks)),
                      N.createExportDeclaration(
                        /*modifiers*/
                        void 0,
                        /*isTypeOnly*/
                        false,
                        N.createNamedExports(xa(mn, (Ks) => Ws(Ks.exportClause, _p).elements)),
                        mn[0].moduleSpecifier
                      )
                    ]);
              }
              return ht;
            }
            function ci(ht) {
              const Xr = ic(ht, (ri) => Mc(ri) && !ri.moduleSpecifier && !ri.attributes && !!ri.exportClause && _p(ri.exportClause));
              if (Xr >= 0) {
                const ri = ht[Xr], si = Fi(ri.exportClause.elements, (mn) => {
                  if (!mn.propertyName && mn.name.kind !== 11) {
                    const Ks = mn.name, _a = GI(ht), ks = kn(_a, (di) => e3(ht[di], Ks));
                    if (wr(ks) && Ni(ks, (di) => TN(ht[di]))) {
                      for (const di of ks)
                        ht[di] = wa(ht[di]);
                      return;
                    }
                  }
                  return mn;
                });
                wr(si) ? ht[Xr] = N.updateExportDeclaration(
                  ri,
                  ri.modifiers,
                  ri.isTypeOnly,
                  N.updateNamedExports(
                    ri.exportClause,
                    si
                  ),
                  ri.moduleSpecifier,
                  ri.attributes
                ) : py(ht, Xr);
              }
              return ht;
            }
            function qi(ht) {
              return ht = Yn(ht), ht = Ur(ht), ht = ci(ht), Re && (Di(Re) && Y_(Re) || Lc(Re)) && (!ot(ht, u3) || !DZ(ht) && ot(ht, w7)) && ht.push(JN(N)), ht;
            }
            function wa(ht) {
              const Xr = (lu(ht) | 32) & -129;
              return N.replaceModifiers(ht, Xr);
            }
            function sr(ht) {
              const Xr = lu(ht) & -33;
              return N.replaceModifiers(ht, Xr);
            }
            function Fn(ht, Xr, ri) {
              Xr || $t.push(/* @__PURE__ */ new Map());
              let si = 0;
              const mn = Array.from(ht.values());
              for (const Ks of mn) {
                if (si++, de(te) && si + 2 < ht.size - 1) {
                  te.out.truncated = true, Ze.push(lC(`... (${ht.size - si} more ...)`)), fs(
                    mn[mn.length - 1],
                    /*isPrivate*/
                    false,
                    !!ri
                  );
                  break;
                }
                fs(
                  Ks,
                  /*isPrivate*/
                  false,
                  !!ri
                );
              }
              Xr || ($t[$t.length - 1].forEach((Ks) => {
                fs(
                  Ks,
                  /*isPrivate*/
                  true,
                  !!ri
                );
              }), $t.pop());
            }
            function fs(ht, Xr, ri) {
              qa(Yr(ht));
              const si = Ia(ht);
              if (Pt.has($s(si)))
                return;
              if (Pt.add($s(si)), !Xr || wr(ht.declarations) && ot(ht.declarations, (Ks) => !!dr(Ks, (_a) => _a === Re))) {
                const Ks = WI(te);
                te.tracker.pushErrorFallbackNode(Nn(ht.declarations, (_a) => xr(_a) === te.enclosingFile)), Xi(ht, Xr, ri), te.tracker.popErrorFallbackNode(), Ks();
              }
            }
            function Xi(ht, Xr, ri, si = ht.escapedName) {
              var mn, Ks, _a, ks, di, Gs, il;
              const Jo = Si(si), bu = si === "default";
              if (Xr && !(te.flags & 131072) && dx(Jo) && !bu) {
                te.encounteredError = true;
                return;
              }
              let vc = bu && !!(ht.flags & -113 || ht.flags & 16 && wr(qa(Yr(ht)))) && !(ht.flags & 2097152), No = !vc && !Xr && dx(Jo) && !bu;
              (vc || No) && (Xr = true);
              const nc = (Xr ? 0 : 32) | (bu && !vc ? 2048 : 0), pc = ht.flags & 1536 && ht.flags & 7 && si !== "export=", $f = pc && ege(Yr(ht), ht);
              if ((ht.flags & 8208 || $f) && P1(Yr(ht), ht, hg(ht, Jo), nc), ht.flags & 524288 && rl(ht, Jo, nc), ht.flags & 98311 && si !== "export=" && !(ht.flags & 4194304) && !(ht.flags & 32) && !(ht.flags & 8192) && !$f)
                if (ri)
                  gR(ht) && (No = false, vc = false);
                else {
                  const zc = Yr(ht), d_ = hg(ht, Jo);
                  if (zc.symbol && zc.symbol !== ht && zc.symbol.flags & 16 && ot(zc.symbol.declarations, My) && ((mn = zc.symbol.members) != null && mn.size || (Ks = zc.symbol.exports) != null && Ks.size))
                    te.remappedSymbolReferences || (te.remappedSymbolReferences = /* @__PURE__ */ new Map()), te.remappedSymbolReferences.set($s(zc.symbol), ht), Xi(zc.symbol, Xr, ri, si), te.remappedSymbolReferences.delete($s(zc.symbol));
                  else if (!(ht.flags & 16) && ege(zc, ht))
                    P1(zc, ht, d_, nc);
                  else {
                    const ny = ht.flags & 2 ? eC(ht) ? 2 : 1 : (_a = ht.parent) != null && _a.valueDeclaration && Di((ks = ht.parent) == null ? void 0 : ks.valueDeclaration) ? 2 : void 0, Xf = vc || !(ht.flags & 4) ? d_ : yR(d_, ht);
                    let ch = ht.declarations && Nn(ht.declarations, (A1) => ei(A1));
                    ch && Bl(ch.parent) && ch.parent.declarations.length === 1 && (ch = ch.parent.parent);
                    const N1 = (di = ht.declarations) == null ? void 0 : di.find(wn);
                    if (N1 && _n(N1.parent) && Me(N1.parent.right) && ((Gs = zc.symbol) != null && Gs.valueDeclaration) && Di(zc.symbol.valueDeclaration)) {
                      const A1 = d_ === N1.parent.right.escapedText ? void 0 : N1.parent.right;
                      te.approximateLength += 12 + (((il = A1?.escapedText) == null ? void 0 : il.length) ?? 0), is(
                        N.createExportDeclaration(
                          /*modifiers*/
                          void 0,
                          /*isTypeOnly*/
                          false,
                          N.createNamedExports([N.createExportSpecifier(
                            /*isTypeOnly*/
                            false,
                            A1,
                            d_
                          )])
                        ),
                        0
                        /* None */
                      ), te.tracker.trackSymbol(
                        zc.symbol,
                        te.enclosingDeclaration,
                        111551
                        /* Value */
                      );
                    } else {
                      const A1 = l(
                        te,
                        N.createVariableStatement(
                          /*modifiers*/
                          void 0,
                          N.createVariableDeclarationList([
                            N.createVariableDeclaration(
                              Xf,
                              /*exclamationToken*/
                              void 0,
                              Tn(
                                te,
                                /*declaration*/
                                void 0,
                                zc,
                                ht
                              )
                            )
                          ], ny)
                        ),
                        ch
                      );
                      te.approximateLength += 7 + Xf.length, is(A1, Xf !== d_ ? nc & -33 : nc), Xf !== d_ && !Xr && (te.approximateLength += 16 + Xf.length + d_.length, is(
                        N.createExportDeclaration(
                          /*modifiers*/
                          void 0,
                          /*isTypeOnly*/
                          false,
                          N.createNamedExports([N.createExportSpecifier(
                            /*isTypeOnly*/
                            false,
                            Xf,
                            d_
                          )])
                        ),
                        0
                        /* None */
                      ), No = false, vc = false);
                    }
                  }
                }
              if (ht.flags & 384 && j2(ht, Jo, nc), ht.flags & 32 && (ht.flags & 4 && ht.valueDeclaration && _n(ht.valueDeclaration.parent) && Oc(ht.valueDeclaration.parent.right) ? S5e(ht, hg(ht, Jo), nc) : Zme(ht, hg(ht, Jo), nc)), (ht.flags & 1536 && (!pc || n0(ht)) || $f) && lb(ht, Jo, nc), ht.flags & 64 && !(ht.flags & 32) && nl(ht, Jo, nc), ht.flags & 2097152 && S5e(ht, hg(ht, Jo), nc), ht.flags & 4 && ht.escapedName === "export=" && gR(ht), ht.flags & 8388608 && ht.declarations)
                for (const zc of ht.declarations) {
                  const d_ = Iu(zc, zc.moduleSpecifier);
                  if (!d_) continue;
                  const ny = zc.isTypeOnly, Xf = Ac(d_, te);
                  te.approximateLength += 17 + Xf.length, is(
                    N.createExportDeclaration(
                      /*modifiers*/
                      void 0,
                      ny,
                      /*exportClause*/
                      void 0,
                      N.createStringLiteral(Xf)
                    ),
                    0
                    /* None */
                  );
                }
              if (vc) {
                const zc = hg(ht, Jo);
                te.approximateLength += 16 + zc.length, is(
                  N.createExportAssignment(
                    /*modifiers*/
                    void 0,
                    /*isExportEquals*/
                    false,
                    N.createIdentifier(zc)
                  ),
                  0
                  /* None */
                );
              } else if (No) {
                const zc = hg(ht, Jo);
                te.approximateLength += 22 + Jo.length + zc.length, is(
                  N.createExportDeclaration(
                    /*modifiers*/
                    void 0,
                    /*isTypeOnly*/
                    false,
                    N.createNamedExports([N.createExportSpecifier(
                      /*isTypeOnly*/
                      false,
                      zc,
                      Jo
                    )])
                  ),
                  0
                  /* None */
                );
              }
            }
            function Ta(ht) {
              if (ot(ht.declarations, H1)) return;
              E.assertIsDefined($t[$t.length - 1]), yR(Si(ht.escapedName), ht);
              const Xr = !!(ht.flags & 2097152) && !ot(ht.declarations, (ri) => !!dr(ri, Mc) || Xm(ri) || cl(ri) && !xh(ri.moduleReference));
              $t[Xr ? 0 : $t.length - 1].set($s(ht), ht);
            }
            function za(ht) {
              return Di(ht) && (Y_(ht) || rp(ht)) || Ju(ht) && !Vm(ht);
            }
            function is(ht, Xr) {
              if (Jp(ht)) {
                const ri = lu(ht);
                let si = 0;
                const mn = te.enclosingDeclaration && (Op(te.enclosingDeclaration) ? xr(te.enclosingDeclaration) : te.enclosingDeclaration);
                Xr & 32 && mn && (za(mn) || Lc(mn)) && TN(ht) && (si |= 32), Lr && !(si & 32) && (!mn || !(mn.flags & 33554432)) && (rv(ht) || Pc(ht) || Tc(ht) || Zc(ht) || Lc(ht)) && (si |= 128), Xr & 2048 && (Zc(ht) || Jl(ht) || Tc(ht)) && (si |= 2048), si && (ht = N.replaceModifiers(ht, si | ri)), te.approximateLength += hR(si | ri);
              }
              Ze.push(ht);
            }
            function rl(ht, Xr, ri) {
              var si;
              const mn = LPe(ht), Ks = Pn(ht).typeParameters, _a = hr(Ks, (vc) => yc(vc, te)), ks = (si = ht.declarations) == null ? void 0 : si.find(Op), di = r3(ks ? ks.comment || ks.parent.comment : void 0), Gs = ve(te);
              te.flags |= 8388608;
              const il = te.enclosingDeclaration;
              te.enclosingDeclaration = ks;
              const Jo = ks && ks.typeExpression && iv(ks.typeExpression) && Te.tryReuseExistingTypeNode(te, ks.typeExpression.type) || jt(mn, te), bu = hg(ht, Xr);
              te.approximateLength += 8 + (di?.length ?? 0) + bu.length, is(
                Q1(
                  N.createTypeAliasDeclaration(
                    /*modifiers*/
                    void 0,
                    bu,
                    _a,
                    Jo
                  ),
                  di ? [{ kind: 3, text: `*
 * ` + di.replace(/\n/g, `
 * `) + `
 `, pos: -1, end: -1, hasTrailingNewLine: true }] : []
                ),
                ri
              ), Gs(), te.enclosingDeclaration = il;
            }
            function nl(ht, Xr, ri) {
              const si = hg(ht, Xr);
              te.approximateLength += 14 + si.length;
              const mn = vp(ht), Ks = na(ht), _a = hr(Ks, (No) => yc(No, te)), ks = gd(mn), di = wr(ks) ? ia(ks) : void 0, Gs = au(
                qa(mn),
                /*isClass*/
                false,
                di
              ), il = tge(
                0,
                mn,
                di,
                180
                /* CallSignature */
              ), Jo = tge(
                1,
                mn,
                di,
                181
                /* ConstructSignature */
              ), bu = k5e(mn, di), vc = wr(ks) ? [N.createHeritageClause(96, Fi(ks, (No) => rge(
                No,
                111551
                /* Value */
              )))] : void 0;
              is(
                N.createInterfaceDeclaration(
                  /*modifiers*/
                  void 0,
                  si,
                  _a,
                  vc,
                  [...bu, ...Jo, ...il, ...Gs]
                ),
                ri
              );
            }
            function au(ht, Xr, ri, si) {
              const mn = [];
              let Ks = 0;
              for (const _a of ht) {
                if (Ks++, de(te) && Ks + 2 < ht.length - 1) {
                  te.out.truncated = true;
                  const di = Ru(`... ${ht.length - Ks} more ... `, Xr);
                  mn.push(di);
                  const Gs = Xr ? Zt(ht[ht.length - 1], si, ri) : x5e(ht[ht.length - 1], ri);
                  ss(Gs) ? mn.push(...Gs) : mn.push(Gs);
                  break;
                }
                te.approximateLength += 1;
                const ks = Xr ? Zt(_a, si, ri) : x5e(_a, ri);
                ss(ks) ? mn.push(...ks) : mn.push(ks);
              }
              return mn;
            }
            function Ru(ht, Xr) {
              return te.flags & 1 ? jy(N.createNotEmittedTypeElement(), 3, ht) : Xr ? N.createPropertyDeclaration(
                /*modifiers*/
                void 0,
                ht,
                /*questionOrExclamationToken*/
                void 0,
                /*type*/
                void 0,
                /*initializer*/
                void 0
              ) : N.createPropertySignature(
                /*modifiers*/
                void 0,
                ht,
                /*questionToken*/
                void 0,
                /*type*/
                void 0
              );
            }
            function p_(ht) {
              let Xr = ns(ff(ht).values());
              const ri = Ia(ht);
              if (ri !== ht) {
                const si = new Set(Xr);
                for (const mn of ff(ri).values())
                  N_(jc(mn)) & 111551 || si.add(mn);
                Xr = ns(si);
              }
              return kn(Xr, (si) => VE(si) && F_(
                si.escapedName,
                99
                /* ESNext */
              ));
            }
            function n0(ht) {
              return Ni(p_(ht), (Xr) => !(N_(jc(Xr)) & 111551));
            }
            function lb(ht, Xr, ri) {
              const si = p_(ht), mn = cb(te), Ks = MP(si, (di) => di.parent && di.parent === ht || mn ? "real" : "merged"), _a = Ks.get("real") || Ge, ks = Ks.get("merged") || Ge;
              if (wr(_a) || mn) {
                let di;
                if (mn) {
                  const Gs = te.flags;
                  te.flags |= 514, di = f(
                    ht,
                    te,
                    /*meaning*/
                    -1
                    /* All */
                  ), te.flags = Gs;
                } else {
                  const Gs = hg(ht, Xr);
                  di = N.createIdentifier(Gs), te.approximateLength += Gs.length;
                }
                gg(_a, di, ri, !!(ht.flags & 67108880));
              }
              if (wr(ks)) {
                const di = xr(te.enclosingDeclaration), Gs = hg(ht, Xr), il = N.createModuleBlock([N.createExportDeclaration(
                  /*modifiers*/
                  void 0,
                  /*isTypeOnly*/
                  false,
                  N.createNamedExports(Fi(kn(
                    ks,
                    (Jo) => Jo.escapedName !== "export="
                    /* ExportEquals */
                  ), (Jo) => {
                    var bu, vc;
                    const No = Si(Jo.escapedName), nc = hg(Jo, No), pc = Jo.declarations && P_(Jo);
                    if (di && (pc ? di !== xr(pc) : !ot(Jo.declarations, (d_) => xr(d_) === di))) {
                      (vc = (bu = te.tracker) == null ? void 0 : bu.reportNonlocalAugmentation) == null || vc.call(bu, di, ht, Jo);
                      return;
                    }
                    const $f = pc && Jv(
                      pc,
                      /*dontRecursivelyResolve*/
                      true
                    );
                    Ta($f || Jo);
                    const zc = $f ? hg($f, Si($f.escapedName)) : nc;
                    return N.createExportSpecifier(
                      /*isTypeOnly*/
                      false,
                      No === zc ? void 0 : zc,
                      No
                    );
                  }))
                )]);
                is(
                  N.createModuleDeclaration(
                    /*modifiers*/
                    void 0,
                    N.createIdentifier(Gs),
                    il,
                    32
                    /* Namespace */
                  ),
                  0
                  /* None */
                );
              }
            }
            function j2(ht, Xr, ri) {
              const si = hg(ht, Xr);
              te.approximateLength += 9 + si.length;
              const mn = [], Ks = kn(qa(Yr(ht)), (ks) => !!(ks.flags & 8));
              let _a = 0;
              for (const ks of Ks) {
                if (_a++, de(te) && _a + 2 < Ks.length - 1) {
                  te.out.truncated = true, mn.push(N.createEnumMember(` ... ${Ks.length - _a} more ... `));
                  const vc = Ks[Ks.length - 1], No = vc.declarations && vc.declarations[0] && kh(vc.declarations[0]) ? BX(vc.declarations[0]) : void 0, nc = No === void 0 ? void 0 : typeof No == "string" ? N.createStringLiteral(No) : N.createNumericLiteral(No), pc = Si(vc.escapedName), $f = N.createEnumMember(
                    pc,
                    nc
                  );
                  mn.push($f);
                  break;
                }
                const di = ks.declarations && ks.declarations[0] && kh(ks.declarations[0]) ? ks.declarations[0] : void 0;
                let Gs, il;
                if (cb(te) && di && di.initializer)
                  Gs = Wa(di.initializer), il = di.initializer.end - di.initializer.pos;
                else {
                  const vc = di && BX(di);
                  Gs = vc === void 0 ? void 0 : typeof vc == "string" ? N.createStringLiteral(vc) : N.createNumericLiteral(vc), il = Gs?.text.length ?? 0;
                }
                const Jo = Si(ks.escapedName);
                te.approximateLength += 4 + Jo.length + il;
                const bu = N.createEnumMember(
                  Jo,
                  Gs
                );
                mn.push(bu);
              }
              is(
                N.createEnumDeclaration(
                  N.createModifiersFromModifierFlags(_me(ht) ? 4096 : 0),
                  si,
                  mn
                ),
                ri
              );
            }
            function P1(ht, Xr, ri, si) {
              const mn = As(
                ht,
                0
                /* Call */
              );
              for (const Ks of mn) {
                te.approximateLength += 1;
                const _a = zn(Ks, 263, te, { name: N.createIdentifier(ri) });
                is(l(te, _a, AP(Ks)), si);
              }
              if (!(Xr.flags & 1536 && Xr.exports && Xr.exports.size)) {
                const Ks = kn(qa(ht), VE);
                te.approximateLength += ri.length, gg(
                  Ks,
                  N.createIdentifier(ri),
                  si,
                  /*suppressNewPrivateContext*/
                  true
                );
              }
            }
            function lC(ht) {
              return te.flags & 1 ? jy(N.createEmptyStatement(), 3, ht) : N.createExpressionStatement(N.createIdentifier(ht));
            }
            function AP(ht) {
              if (ht.declaration && ht.declaration.parent) {
                if (_n(ht.declaration.parent) && wc(ht.declaration.parent) === 5)
                  return ht.declaration.parent;
                if (ei(ht.declaration.parent) && ht.declaration.parent.parent)
                  return ht.declaration.parent.parent;
              }
              return ht.declaration;
            }
            function gg(ht, Xr, ri, si) {
              const mn = Me(Xr) ? 32 : 0, Ks = cb(te);
              if (wr(ht)) {
                te.approximateLength += 14;
                const ks = MP(ht, (pc) => !wr(pc.declarations) || ot(pc.declarations, ($f) => xr($f) === xr(te.enclosingDeclaration)) || Ks ? "local" : "remote").get("local") || Ge;
                let di = ov.createModuleDeclaration(
                  /*modifiers*/
                  void 0,
                  Xr,
                  N.createModuleBlock([]),
                  mn
                );
                ja(di, Re), di.locals = js(ht), di.symbol = ht[0].parent;
                const Gs = Ze;
                Ze = [];
                const il = Lr;
                Lr = false;
                const Jo = { ...te, enclosingDeclaration: di }, bu = te;
                te = Jo, Fn(
                  js(ks),
                  si,
                  /*propertyAsAlias*/
                  true
                ), te = bu, Lr = il;
                const vc = Ze;
                Ze = Gs;
                const No = hr(vc, (pc) => Fo(pc) && !pc.isExportEquals && Me(pc.expression) ? N.createExportDeclaration(
                  /*modifiers*/
                  void 0,
                  /*isTypeOnly*/
                  false,
                  N.createNamedExports([N.createExportSpecifier(
                    /*isTypeOnly*/
                    false,
                    pc.expression,
                    N.createIdentifier(
                      "default"
                      /* Default */
                    )
                  )])
                ) : pc), nc = Ni(No, (pc) => Gn(
                  pc,
                  32
                  /* Export */
                )) ? hr(No, sr) : No;
                di = N.updateModuleDeclaration(
                  di,
                  di.modifiers,
                  di.name,
                  N.createModuleBlock(nc)
                ), is(di, ri);
              } else Ks && (te.approximateLength += 14, is(
                N.createModuleDeclaration(
                  /*modifiers*/
                  void 0,
                  Xr,
                  N.createModuleBlock([]),
                  mn
                ),
                ri
              ));
            }
            function VE(ht) {
              return !!(ht.flags & 2887656) || !(ht.flags & 4194304 || ht.escapedName === "prototype" || ht.valueDeclaration && Bs(ht.valueDeclaration) && $n(ht.valueDeclaration.parent));
            }
            function mR(ht) {
              const Xr = Fi(ht, (ri) => {
                const si = te.enclosingDeclaration;
                te.enclosingDeclaration = ri;
                let mn = ri.expression;
                if (Za(mn)) {
                  if (Me(mn) && An(mn) === "")
                    return Ks(
                      /*result*/
                      void 0
                    );
                  let _a;
                  if ({ introducesError: _a, node: mn } = _o(mn, te), _a)
                    return Ks(
                      /*result*/
                      void 0
                    );
                }
                return Ks(N.createExpressionWithTypeArguments(
                  mn,
                  hr(ri.typeArguments, (_a) => Te.tryReuseExistingTypeNode(te, _a) || jt(a(te, _a), te))
                ));
                function Ks(_a) {
                  return te.enclosingDeclaration = si, _a;
                }
              });
              if (Xr.length === ht.length)
                return Xr;
            }
            function Zme(ht, Xr, ri) {
              var si, mn;
              te.approximateLength += 9 + Xr.length;
              const Ks = (si = ht.declarations) == null ? void 0 : si.find($n), _a = te.enclosingDeclaration;
              te.enclosingDeclaration = Ks || _a;
              const ks = na(ht), di = hr(ks, (iy) => yc(iy, te));
              lr(ks, (iy) => te.approximateLength += sc(iy.symbol).length);
              const Gs = df(vp(ht)), il = gd(Gs), Jo = Ks && UC(Ks), bu = Jo && mR(Jo) || Fi(xE(Gs), zft), vc = Yr(ht), No = !!((mn = vc.symbol) != null && mn.valueDeclaration) && $n(vc.symbol.valueDeclaration), nc = No ? Vh(vc) : Le;
              te.approximateLength += (wr(il) ? 8 : 0) + (wr(bu) ? 11 : 0);
              const pc = [
                ...wr(il) ? [N.createHeritageClause(96, hr(il, (iy) => Jft(iy, nc, Xr)))] : [],
                ...wr(bu) ? [N.createHeritageClause(119, bu)] : []
              ], $f = kut(Gs, il, qa(Gs)), zc = kn($f, (iy) => !dR(iy)), d_ = ot($f, dR), ny = d_ ? cb(te) ? au(
                kn($f, dR),
                /*isClass*/
                true,
                il[0],
                /*isStatic*/
                false
              ) : [N.createPropertyDeclaration(
                /*modifiers*/
                void 0,
                N.createPrivateIdentifier("#private"),
                /*questionOrExclamationToken*/
                void 0,
                /*type*/
                void 0,
                /*initializer*/
                void 0
              )] : Ge;
              d_ && !cb(te) && (te.approximateLength += 9);
              const Xf = au(
                zc,
                /*isClass*/
                true,
                il[0],
                /*isStatic*/
                false
              ), ch = au(
                kn(qa(vc), (iy) => !(iy.flags & 4194304) && iy.escapedName !== "prototype" && !VE(iy)),
                /*isClass*/
                true,
                nc,
                /*isStatic*/
                true
              ), N1 = !No && !!ht.valueDeclaration && an(ht.valueDeclaration) && !ot(As(
                vc,
                1
                /* Construct */
              ));
              N1 && (te.approximateLength += 21);
              const A1 = N1 ? [N.createConstructorDeclaration(
                N.createModifiersFromModifierFlags(
                  2
                  /* Private */
                ),
                [],
                /*body*/
                void 0
              )] : tge(
                1,
                vc,
                nc,
                177
                /* Constructor */
              ), Wft = k5e(Gs, il[0]);
              te.enclosingDeclaration = _a, is(
                l(
                  te,
                  N.createClassDeclaration(
                    /*modifiers*/
                    void 0,
                    Xr,
                    di,
                    pc,
                    [...Wft, ...ch, ...A1, ...Xf, ...ny]
                  ),
                  ht.declarations && kn(ht.declarations, (iy) => Zc(iy) || Oc(iy))[0]
                ),
                ri
              );
            }
            function Kme(ht) {
              return Ic(ht, (Xr) => {
                if (qu(Xr) || Eu(Xr))
                  return Dy(Xr.propertyName || Xr.name);
                if (_n(Xr) || Fo(Xr)) {
                  const ri = Fo(Xr) ? Xr.expression : Xr.right;
                  if (wn(ri))
                    return An(ri.name);
                }
                if (j0(Xr)) {
                  const ri = us(Xr);
                  if (ri && Me(ri))
                    return An(ri);
                }
              });
            }
            function S5e(ht, Xr, ri) {
              var si, mn, Ks, _a, ks;
              const di = P_(ht);
              if (!di) return E.fail();
              const Gs = Ia(Jv(
                di,
                /*dontRecursivelyResolve*/
                true
              ));
              if (!Gs)
                return;
              let il = y3(Gs) && Kme(ht.declarations) || Si(Gs.escapedName);
              il === "export=" && _e && (il = "default");
              const Jo = hg(Gs, il);
              switch (Ta(Gs), di.kind) {
                case 209:
                  if (((mn = (si = di.parent) == null ? void 0 : si.parent) == null ? void 0 : mn.kind) === 261) {
                    const No = Ac(Gs.parent || Gs, te), { propertyName: nc } = di, pc = nc && Me(nc) ? An(nc) : void 0;
                    te.approximateLength += 24 + Xr.length + No.length + (pc?.length ?? 0), is(
                      N.createImportDeclaration(
                        /*modifiers*/
                        void 0,
                        N.createImportClause(
                          /*phaseModifier*/
                          void 0,
                          /*name*/
                          void 0,
                          N.createNamedImports([N.createImportSpecifier(
                            /*isTypeOnly*/
                            false,
                            pc ? N.createIdentifier(pc) : void 0,
                            N.createIdentifier(Xr)
                          )])
                        ),
                        N.createStringLiteral(No),
                        /*attributes*/
                        void 0
                      ),
                      0
                      /* None */
                    );
                    break;
                  }
                  E.failBadSyntaxKind(((Ks = di.parent) == null ? void 0 : Ks.parent) || di, "Unhandled binding element grandparent kind in declaration serialization");
                  break;
                case 305:
                  ((ks = (_a = di.parent) == null ? void 0 : _a.parent) == null ? void 0 : ks.kind) === 227 && IP(
                    Si(ht.escapedName),
                    Jo
                  );
                  break;
                case 261:
                  if (wn(di.initializer)) {
                    const No = di.initializer, nc = N.createUniqueName(Xr), pc = Ac(Gs.parent || Gs, te);
                    te.approximateLength += 22 + pc.length + An(nc).length, is(
                      N.createImportEqualsDeclaration(
                        /*modifiers*/
                        void 0,
                        /*isTypeOnly*/
                        false,
                        nc,
                        N.createExternalModuleReference(N.createStringLiteral(pc))
                      ),
                      0
                      /* None */
                    ), te.approximateLength += 12 + Xr.length + An(nc).length + An(No.name).length, is(
                      N.createImportEqualsDeclaration(
                        /*modifiers*/
                        void 0,
                        /*isTypeOnly*/
                        false,
                        N.createIdentifier(Xr),
                        N.createQualifiedName(nc, No.name)
                      ),
                      ri
                    );
                    break;
                  }
                // else fall through and treat commonjs require just like import=
                case 272:
                  if (Gs.escapedName === "export=" && ot(Gs.declarations, (No) => Di(No) && rp(No))) {
                    gR(ht);
                    break;
                  }
                  const bu = !(Gs.flags & 512) && !ei(di);
                  te.approximateLength += 11 + Xr.length + Si(Gs.escapedName).length, is(
                    N.createImportEqualsDeclaration(
                      /*modifiers*/
                      void 0,
                      /*isTypeOnly*/
                      false,
                      N.createIdentifier(Xr),
                      bu ? Cc(
                        Gs,
                        te,
                        -1,
                        /*expectsIdentifier*/
                        false
                      ) : N.createExternalModuleReference(N.createStringLiteral(Ac(Gs, te)))
                    ),
                    bu ? ri : 0
                    /* None */
                  );
                  break;
                case 271:
                  is(
                    N.createNamespaceExportDeclaration(An(di.name)),
                    0
                    /* None */
                  );
                  break;
                case 274: {
                  const No = Ac(Gs.parent || Gs, te), nc = te.bundled ? N.createStringLiteral(No) : di.parent.moduleSpecifier, pc = Wo(di.parent) ? di.parent.attributes : void 0, $f = vm(di.parent);
                  te.approximateLength += 14 + Xr.length + 3 + ($f ? 4 : 0), is(
                    N.createImportDeclaration(
                      /*modifiers*/
                      void 0,
                      N.createImportClause(
                        /* phaseModifier */
                        $f ? 156 : void 0,
                        N.createIdentifier(Xr),
                        /*namedBindings*/
                        void 0
                      ),
                      nc,
                      pc
                    ),
                    0
                    /* None */
                  );
                  break;
                }
                case 275: {
                  const No = Ac(Gs.parent || Gs, te), nc = te.bundled ? N.createStringLiteral(No) : di.parent.parent.moduleSpecifier, pc = vm(di.parent.parent);
                  te.approximateLength += 19 + Xr.length + 3 + (pc ? 4 : 0), is(
                    N.createImportDeclaration(
                      /*modifiers*/
                      void 0,
                      N.createImportClause(
                        /* phaseModifier */
                        pc ? 156 : void 0,
                        /*name*/
                        void 0,
                        N.createNamespaceImport(N.createIdentifier(Xr))
                      ),
                      nc,
                      di.parent.attributes
                    ),
                    0
                    /* None */
                  );
                  break;
                }
                case 281:
                  te.approximateLength += 19 + Xr.length + 3, is(
                    N.createExportDeclaration(
                      /*modifiers*/
                      void 0,
                      /*isTypeOnly*/
                      false,
                      N.createNamespaceExport(N.createIdentifier(Xr)),
                      N.createStringLiteral(Ac(Gs, te))
                    ),
                    0
                    /* None */
                  );
                  break;
                case 277: {
                  const No = Ac(Gs.parent || Gs, te), nc = te.bundled ? N.createStringLiteral(No) : di.parent.parent.parent.moduleSpecifier, pc = vm(di.parent.parent.parent);
                  te.approximateLength += 19 + Xr.length + 3 + (pc ? 4 : 0), is(
                    N.createImportDeclaration(
                      /*modifiers*/
                      void 0,
                      N.createImportClause(
                        /* phaseModifier */
                        pc ? 156 : void 0,
                        /*name*/
                        void 0,
                        N.createNamedImports([
                          N.createImportSpecifier(
                            /*isTypeOnly*/
                            false,
                            Xr !== il ? N.createIdentifier(il) : void 0,
                            N.createIdentifier(Xr)
                          )
                        ])
                      ),
                      nc,
                      di.parent.parent.parent.attributes
                    ),
                    0
                    /* None */
                  );
                  break;
                }
                case 282:
                  const vc = di.parent.parent.moduleSpecifier;
                  if (vc) {
                    const No = di.propertyName;
                    No && Um(No) && (il = "default");
                  }
                  IP(
                    Si(ht.escapedName),
                    vc ? il : Jo,
                    vc && Ma(vc) ? N.createStringLiteral(vc.text) : void 0
                  );
                  break;
                case 278:
                  gR(ht);
                  break;
                case 227:
                case 212:
                case 213:
                  ht.escapedName === "default" || ht.escapedName === "export=" ? gR(ht) : IP(Xr, Jo);
                  break;
                default:
                  return E.failBadSyntaxKind(di, "Unhandled alias declaration kind in symbol serializer!");
              }
            }
            function IP(ht, Xr, ri) {
              te.approximateLength += 16 + ht.length + (ht !== Xr ? Xr.length : 0), is(
                N.createExportDeclaration(
                  /*modifiers*/
                  void 0,
                  /*isTypeOnly*/
                  false,
                  N.createNamedExports([N.createExportSpecifier(
                    /*isTypeOnly*/
                    false,
                    ht !== Xr ? Xr : void 0,
                    ht
                  )]),
                  ri
                ),
                0
                /* None */
              );
            }
            function gR(ht) {
              var Xr;
              if (ht.flags & 4194304)
                return false;
              const ri = Si(ht.escapedName), si = ri === "export=", Ks = si || ri === "default", _a = ht.declarations && P_(ht), ks = _a && Jv(
                _a,
                /*dontRecursivelyResolve*/
                true
              );
              if (ks && wr(ks.declarations) && ot(ks.declarations, (di) => xr(di) === xr(Re))) {
                const di = _a && (Fo(_a) || _n(_a) ? OB(_a) : MK(_a)), Gs = di && Za(di) ? But(di) : void 0, il = Gs && _c2(
                  Gs,
                  -1,
                  /*ignoreErrors*/
                  true,
                  /*dontResolveAlias*/
                  true,
                  Re
                );
                (il || ks) && Ta(il || ks);
                const Jo = te.tracker.disableTrackSymbol;
                if (te.tracker.disableTrackSymbol = true, Ks)
                  te.approximateLength += 10, Ze.push(N.createExportAssignment(
                    /*modifiers*/
                    void 0,
                    si,
                    Ep(
                      ks,
                      te,
                      -1
                      /* All */
                    )
                  ));
                else if (Gs === di && Gs)
                  IP(ri, An(Gs));
                else if (di && Oc(di))
                  IP(ri, hg(ks, sc(ks)));
                else {
                  const bu = yR(ri, ht);
                  te.approximateLength += bu.length + 10, is(
                    N.createImportEqualsDeclaration(
                      /*modifiers*/
                      void 0,
                      /*isTypeOnly*/
                      false,
                      N.createIdentifier(bu),
                      Cc(
                        ks,
                        te,
                        -1,
                        /*expectsIdentifier*/
                        false
                      )
                    ),
                    0
                    /* None */
                  ), IP(ri, bu);
                }
                return te.tracker.disableTrackSymbol = Jo, true;
              } else {
                const di = yR(ri, ht), Gs = hf(Yr(Ia(ht)));
                if (ege(Gs, ht))
                  P1(
                    Gs,
                    ht,
                    di,
                    Ks ? 0 : 32
                    /* Export */
                  );
                else {
                  const il = ((Xr = te.enclosingDeclaration) == null ? void 0 : Xr.kind) === 268 && (!(ht.flags & 98304) || ht.flags & 65536) ? 1 : 2;
                  te.approximateLength += di.length + 5;
                  const Jo = N.createVariableStatement(
                    /*modifiers*/
                    void 0,
                    N.createVariableDeclarationList([
                      N.createVariableDeclaration(
                        di,
                        /*exclamationToken*/
                        void 0,
                        Tn(
                          te,
                          /*declaration*/
                          void 0,
                          Gs,
                          ht
                        )
                      )
                    ], il)
                  );
                  is(
                    Jo,
                    ks && ks.flags & 4 && ks.escapedName === "export=" ? 128 : ri === di ? 32 : 0
                    /* None */
                  );
                }
                return Ks ? (te.approximateLength += di.length + 10, Ze.push(N.createExportAssignment(
                  /*modifiers*/
                  void 0,
                  si,
                  N.createIdentifier(di)
                )), true) : ri !== di ? (IP(ri, di), true) : false;
              }
            }
            function ege(ht, Xr) {
              var ri;
              const si = xr(te.enclosingDeclaration);
              return Dn(ht) & 48 && !ot((ri = ht.symbol) == null ? void 0 : ri.declarations, li) && // If the type comes straight from a type node, we shouldn't try to break it up
              !wr(hu(ht)) && !zA(ht) && // While a class instance is potentially representable as a NS, prefer printing a reference to the instance type and serializing the class
              !!(wr(kn(qa(ht), VE)) || wr(As(
                ht,
                0
                /* Call */
              ))) && !wr(As(
                ht,
                1
                /* Construct */
              )) && // TODO: could probably serialize as function + ns + class, now that that's OK
              !It(Xr, Re) && !(ht.symbol && ot(ht.symbol.declarations, (mn) => xr(mn) !== si)) && !ot(qa(ht), (mn) => HA(mn.escapedName)) && !ot(qa(ht), (mn) => ot(mn.declarations, (Ks) => xr(Ks) !== si)) && Ni(qa(ht), (mn) => F_(sc(mn), R) ? mn.flags & 98304 ? Wd(mn) === G0(mn) : true : false);
            }
            function T5e(ht, Xr, ri) {
              return function(mn, Ks, _a) {
                var ks, di, Gs, il, Jo, bu;
                const vc = ap(mn), No = !!(vc & 2) && !cb(te);
                if (Ks && mn.flags & 2887656)
                  return [];
                if (mn.flags & 4194304 || mn.escapedName === "constructor" || _a && Qs(_a, mn.escapedName) && Yd(Qs(_a, mn.escapedName)) === Yd(mn) && (mn.flags & 16777216) === (Qs(_a, mn.escapedName).flags & 16777216) && ih(Yr(mn), rr(_a, mn.escapedName)))
                  return [];
                const nc = vc & -1025 | (Ks ? 256 : 0), pc = NP(mn, te), $f = (ks = mn.declarations) == null ? void 0 : ks.find(H_(as, Ty, ei, Vu, _n, wn));
                if (mn.flags & 98304 && ri) {
                  const zc = [];
                  if (mn.flags & 65536) {
                    const d_ = mn.declarations && lr(mn.declarations, (ch) => {
                      if (ch.kind === 179)
                        return ch;
                      if (ws(ch) && nS(ch))
                        return lr(ch.arguments[2].properties, (N1) => {
                          const A1 = us(N1);
                          if (A1 && Me(A1) && An(A1) === "set")
                            return N1;
                        });
                    });
                    E.assert(!!d_);
                    const ny = to(d_) ? qf(d_).parameters[0] : void 0, Xf = (di = mn.declarations) == null ? void 0 : di.find(rm);
                    te.approximateLength += hR(nc) + 7 + (ny ? sc(ny).length : 5) + (No ? 0 : 2), zc.push(l(
                      te,
                      N.createSetAccessorDeclaration(
                        N.createModifiersFromModifierFlags(nc),
                        pc,
                        [N.createParameterDeclaration(
                          /*modifiers*/
                          void 0,
                          /*dotDotDotToken*/
                          void 0,
                          ny ? xi(ny, Dr(ny), te) : "value",
                          /*questionToken*/
                          void 0,
                          No ? void 0 : Tn(te, Xf, G0(mn), mn)
                        )],
                        /*body*/
                        void 0
                      ),
                      Xf ?? $f
                    ));
                  }
                  if (mn.flags & 32768) {
                    const d_ = (Gs = mn.declarations) == null ? void 0 : Gs.find(kg);
                    te.approximateLength += hR(nc) + 8 + (No ? 0 : 2), zc.push(l(
                      te,
                      N.createGetAccessorDeclaration(
                        N.createModifiersFromModifierFlags(nc),
                        pc,
                        [],
                        No ? void 0 : Tn(te, d_, Yr(mn), mn),
                        /*body*/
                        void 0
                      ),
                      d_ ?? $f
                    ));
                  }
                  return zc;
                } else if (mn.flags & 98311) {
                  const zc = (Yd(mn) ? 8 : 0) | nc;
                  return te.approximateLength += 2 + (No ? 0 : 2) + hR(zc), l(
                    te,
                    ht(
                      N.createModifiersFromModifierFlags(zc),
                      pc,
                      mn.flags & 16777216 ? N.createToken(
                        58
                        /* QuestionToken */
                      ) : void 0,
                      No ? void 0 : Tn(te, (il = mn.declarations) == null ? void 0 : il.find(R_), G0(mn), mn),
                      // TODO: https://github.com/microsoft/TypeScript/pull/32372#discussion_r328386357
                      // interface members can't have initializers, however class members _can_
                      /*initializer*/
                      void 0
                    ),
                    ((Jo = mn.declarations) == null ? void 0 : Jo.find(H_(as, ei))) || $f
                  );
                }
                if (mn.flags & 8208) {
                  const zc = Yr(mn), d_ = As(
                    zc,
                    0
                    /* Call */
                  );
                  if (No) {
                    const Xf = (Yd(mn) ? 8 : 0) | nc;
                    return te.approximateLength += 1 + hR(Xf), l(
                      te,
                      ht(
                        N.createModifiersFromModifierFlags(Xf),
                        pc,
                        mn.flags & 16777216 ? N.createToken(
                          58
                          /* QuestionToken */
                        ) : void 0,
                        /*type*/
                        void 0,
                        /*initializer*/
                        void 0
                      ),
                      ((bu = mn.declarations) == null ? void 0 : bu.find(to)) || d_[0] && d_[0].declaration || mn.declarations && mn.declarations[0]
                    );
                  }
                  const ny = [];
                  for (const Xf of d_) {
                    te.approximateLength += 1;
                    const ch = zn(
                      Xf,
                      Xr,
                      te,
                      {
                        name: pc,
                        questionToken: mn.flags & 16777216 ? N.createToken(
                          58
                          /* QuestionToken */
                        ) : void 0,
                        modifiers: nc ? N.createModifiersFromModifierFlags(nc) : void 0
                      }
                    ), N1 = Xf.declaration && B3(Xf.declaration.parent) ? Xf.declaration.parent : Xf.declaration;
                    ny.push(l(te, ch, N1));
                  }
                  return ny;
                }
                return E.fail(`Unhandled class member kind! ${mn.__debugFlags || mn.flags}`);
              };
            }
            function hR(ht) {
              let Xr = 0;
              return ht & 32 && (Xr += 7), ht & 128 && (Xr += 8), ht & 2048 && (Xr += 8), ht & 4096 && (Xr += 6), ht & 1 && (Xr += 7), ht & 2 && (Xr += 8), ht & 4 && (Xr += 10), ht & 64 && (Xr += 9), ht & 256 && (Xr += 7), ht & 16 && (Xr += 9), ht & 8 && (Xr += 9), ht & 512 && (Xr += 9), ht & 1024 && (Xr += 6), ht & 8192 && (Xr += 3), ht & 16384 && (Xr += 4), Xr;
            }
            function x5e(ht, Xr) {
              return xe(
                ht,
                /*isStatic*/
                false,
                Xr
              );
            }
            function tge(ht, Xr, ri, si) {
              const mn = As(Xr, ht);
              if (ht === 1) {
                if (!ri && Ni(mn, (ks) => wr(ks.parameters) === 0))
                  return [];
                if (ri) {
                  const ks = As(
                    ri,
                    1
                    /* Construct */
                  );
                  if (!wr(ks) && Ni(mn, (di) => wr(di.parameters) === 0))
                    return [];
                  if (ks.length === mn.length) {
                    let di = false;
                    for (let Gs = 0; Gs < ks.length; Gs++)
                      if (!vM(
                        mn[Gs],
                        ks[Gs],
                        /*partialMatch*/
                        false,
                        /*ignoreThisTypes*/
                        false,
                        /*ignoreReturnTypes*/
                        true,
                        aI
                      )) {
                        di = true;
                        break;
                      }
                    if (!di)
                      return [];
                  }
                }
                let _a = 0;
                for (const ks of mn)
                  ks.declaration && (_a |= gx(
                    ks.declaration,
                    6
                    /* Protected */
                  ));
                if (_a)
                  return [l(
                    te,
                    N.createConstructorDeclaration(
                      N.createModifiersFromModifierFlags(_a),
                      /*parameters*/
                      [],
                      /*body*/
                      void 0
                    ),
                    mn[0].declaration
                  )];
              }
              const Ks = [];
              for (const _a of mn) {
                te.approximateLength += 1;
                const ks = zn(_a, si, te);
                Ks.push(l(te, ks, _a.declaration));
              }
              return Ks;
            }
            function k5e(ht, Xr) {
              const ri = [];
              for (const si of hu(ht)) {
                if (Xr) {
                  const mn = th(Xr, si.keyType);
                  if (mn && ih(si.type, mn.type))
                    continue;
                }
                ri.push(Ri(
                  si,
                  te,
                  /*typeNode*/
                  void 0
                ));
              }
              return ri;
            }
            function Jft(ht, Xr, ri) {
              const si = rge(
                ht,
                111551
                /* Value */
              );
              if (si)
                return si;
              const mn = yR(`${ri}_base`), Ks = N.createVariableStatement(
                /*modifiers*/
                void 0,
                N.createVariableDeclarationList(
                  [
                    N.createVariableDeclaration(
                      mn,
                      /*exclamationToken*/
                      void 0,
                      jt(Xr, te)
                    )
                  ],
                  2
                  /* Const */
                )
              );
              return is(
                Ks,
                0
                /* None */
              ), N.createExpressionWithTypeArguments(
                N.createIdentifier(mn),
                /*typeArguments*/
                void 0
              );
            }
            function rge(ht, Xr) {
              let ri, si;
              if (ht.target && $w(ht.target.symbol, Re, Xr) ? (ri = hr(wo(ht), (mn) => jt(mn, te)), si = Ep(
                ht.target.symbol,
                te,
                788968
                /* Type */
              )) : ht.symbol && $w(ht.symbol, Re, Xr) && (si = Ep(
                ht.symbol,
                te,
                788968
                /* Type */
              )), si)
                return N.createExpressionWithTypeArguments(si, ri);
            }
            function zft(ht) {
              const Xr = rge(
                ht,
                788968
                /* Type */
              );
              if (Xr)
                return Xr;
              if (ht.symbol)
                return N.createExpressionWithTypeArguments(
                  Ep(
                    ht.symbol,
                    te,
                    788968
                    /* Type */
                  ),
                  /*typeArguments*/
                  void 0
                );
            }
            function yR(ht, Xr) {
              var ri, si;
              const mn = Xr ? $s(Xr) : void 0;
              if (mn && te.remappedSymbolNames.has(mn))
                return te.remappedSymbolNames.get(mn);
              Xr && (ht = C5e(Xr, ht));
              let Ks = 0;
              const _a = ht;
              for (; (ri = te.usedSymbolNames) != null && ri.has(ht); )
                Ks++, ht = `${_a}_${Ks}`;
              return (si = te.usedSymbolNames) == null || si.add(ht), mn && te.remappedSymbolNames.set(mn, ht), ht;
            }
            function C5e(ht, Xr) {
              if (Xr === "default" || Xr === "__class" || Xr === "__function") {
                const ri = ve(te);
                te.flags |= 16777216;
                const si = Hv(ht, te);
                ri(), Xr = si.length > 0 && O3(si.charCodeAt(0)) ? Lp(si) : si;
              }
              return Xr === "default" ? Xr = "_default" : Xr === "export=" && (Xr = "_exports"), Xr = F_(Xr, R) && !dx(Xr) ? Xr : "_" + Xr.replace(/[^a-z0-9]/gi, "_"), Xr;
            }
            function hg(ht, Xr) {
              const ri = $s(ht);
              return te.remappedSymbolNames.has(ri) ? te.remappedSymbolNames.get(ri) : (Xr = C5e(ht, Xr), te.remappedSymbolNames.set(ri, Xr), Xr);
            }
          }
          function cb(we) {
            return we.maxExpansionDepth !== -1;
          }
          function dR(we) {
            return !!we.valueDeclaration && kl(we.valueDeclaration) && Ai(we.valueDeclaration.name);
          }
          function qX(we) {
            if (we.valueDeclaration && kl(we.valueDeclaration) && Ai(we.valueDeclaration.name))
              return N.cloneNode(we.valueDeclaration.name);
          }
        }
        function SE(r) {
          var a;
          const l = (Dn(r) & 4) !== 0 ? r.target.symbol : r.symbol;
          return ba(r) || !!((a = l?.declarations) != null && a.some((f) => e.isSourceFileDefaultLibrary(xr(f))));
        }
        function og(r, a, l = 16384, f) {
          return f ? d(f).getText() : NC(d);
          function d(y) {
            const x = T2(l) | 70221824 | 512, I = pe.typePredicateToTypePredicateNode(r, a, x), J = Zb(), z = a && xr(a);
            return J.writeNode(
              4,
              I,
              /*sourceFile*/
              z,
              y
            ), y;
          }
        }
        function WA(r, a) {
          const l = [];
          let f = 0;
          for (let d = 0; d < r.length; d++) {
            const y = r[d];
            if (f |= y.flags, !(y.flags & 98304)) {
              if (y.flags & 512 || !a && y.flags | 1056) {
                const x = y.flags & 512 ? Nt : HG(y);
                if (x.flags & 1048576) {
                  const I = x.types.length;
                  if (d + I <= r.length && Yu(r[d + I - 1]) === Yu(x.types[I - 1])) {
                    l.push(x), d += I - 1;
                    continue;
                  }
                }
              }
              l.push(y);
            }
          }
          return f & 65536 && l.push(Mt), f & 32768 && l.push(ue), l || r;
        }
        function qv(r) {
          return r === 2 ? "private" : r === 4 ? "protected" : "public";
        }
        function GL(r) {
          if (r.symbol && r.symbol.flags & 2048 && r.symbol.declarations) {
            const a = q3(r.symbol.declarations[0].parent);
            if (jp(a))
              return yn(a);
          }
        }
        function Yw(r) {
          return r && r.parent && r.parent.kind === 269 && xb(r.parent.parent);
        }
        function UA(r) {
          return r.kind === 308 || Ju(r);
        }
        function Zw(r, a) {
          const l = Pn(r).nameType;
          if (l) {
            if (l.flags & 384) {
              const f = "" + l.value;
              return !F_(f, pa(F)) && !Mg(f) ? `"${Gm(
                f,
                34
                /* doubleQuote */
              )}"` : Mg(f) && Ui(f, "-") ? `[${f}]` : f;
            }
            if (l.flags & 8192)
              return `[${Hv(l.symbol, a)}]`;
          }
        }
        function Hv(r, a) {
          var l;
          if ((l = a?.remappedSymbolReferences) != null && l.has($s(r)) && (r = a.remappedSymbolReferences.get($s(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 && dr(r.declarations[0], UA) !== dr(a.enclosingDeclaration, UA)))
            return "default";
          if (r.declarations && r.declarations.length) {
            let d = Ic(r.declarations, (x) => us(x) ? x : void 0);
            const y = d && us(d);
            if (d && y) {
              if (ws(d) && nS(d))
                return sc(r);
              if (Hs(y) && !(oc(r) & 4096)) {
                const x = Pn(r).nameType;
                if (x && x.flags & 384) {
                  const I = Zw(r, a);
                  if (I !== void 0)
                    return I;
                }
              }
              return so(y);
            }
            if (d || (d = r.declarations[0]), d.parent && d.parent.kind === 261)
              return so(d.parent.name);
            switch (d.kind) {
              case 232:
              case 219:
              case 220:
                return a && !a.encounteredError && !(a.flags & 131072) && (a.encounteredError = true), d.kind === 232 ? "(Anonymous class)" : "(Anonymous function)";
            }
          }
          const f = Zw(r, a);
          return f !== void 0 ? f : sc(r);
        }
        function cg(r) {
          if (r) {
            const l = xn(r);
            return l.isVisible === void 0 && (l.isVisible = !!a()), l.isVisible;
          }
          return false;
          function a() {
            switch (r.kind) {
              case 339:
              case 347:
              case 341:
                return !!(r.parent && r.parent.parent && r.parent.parent.parent && Di(r.parent.parent.parent));
              case 209:
                return cg(r.parent.parent);
              case 261:
                if (Ds(r.name) && !r.name.elements.length)
                  return false;
              // falls through
              case 268:
              case 264:
              case 265:
              case 266:
              case 263:
              case 267:
              case 272:
                if (xb(r))
                  return true;
                const l = bt(r);
                return !(VX(r) & 32) && !(r.kind !== 272 && l.kind !== 308 && l.flags & 33554432) ? u0(l) : cg(l);
              case 173:
              case 172:
              case 178:
              case 179:
              case 175:
              case 174:
                if (ef(
                  r,
                  6
                  /* Protected */
                ))
                  return false;
              // Public properties/methods are visible if its parents are visible, so:
              // falls through
              case 177:
              case 181:
              case 180:
              case 182:
              case 170:
              case 269:
              case 185:
              case 186:
              case 188:
              case 184:
              case 189:
              case 190:
              case 193:
              case 194:
              case 197:
              case 203:
                return cg(r.parent);
              // Default binding, import specifier and namespace import is visible
              // only on demand so by default it is not visible
              case 274:
              case 275:
              case 277:
                return false;
              // Type parameters are always visible
              case 169:
              // Source file and namespace export are always visible
              // falls through
              case 308:
              case 271:
                return true;
              // Export assignments do not create name bindings outside the module
              case 278:
                return false;
              default:
                return false;
            }
          }
        }
        function TE(r, a) {
          let l;
          r.kind !== 11 && r.parent && r.parent.kind === 278 ? l = st(
            r,
            r,
            2998271,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            false
          ) : r.parent.kind === 282 && (l = Nk(
            r.parent,
            2998271
            /* Alias */
          ));
          let f, d;
          return l && (d = /* @__PURE__ */ new Set(), d.add($s(l)), y(l.declarations)), f;
          function y(x) {
            lr(x, (I) => {
              const J = gp(I) || I;
              if (a ? xn(I).isVisible = true : (f = f || [], Yf(f, J)), tS(I)) {
                const z = I.moduleReference, G = e_(z), ve = st(
                  I,
                  G.escapedText,
                  901119,
                  /*nameNotFoundMessage*/
                  void 0,
                  /*isUse*/
                  false
                );
                ve && d && s0(d, $s(ve)) && y(ve.declarations);
              }
            });
          }
        }
        function Am(r, a) {
          const l = X(r, a);
          if (l >= 0) {
            const { length: f } = Vg;
            for (let d = l; d < f; d++)
              Cv[d] = false;
            return false;
          }
          return Vg.push(r), Cv.push(
            /*items*/
            true
          ), VS.push(a), true;
        }
        function X(r, a) {
          for (let l = Vg.length - 1; l >= I0; l--) {
            if (De(Vg[l], VS[l]))
              return -1;
            if (Vg[l] === r && VS[l] === a)
              return l;
          }
          return -1;
        }
        function De(r, a) {
          switch (a) {
            case 0:
              return !!Pn(r).type;
            case 2:
              return !!Pn(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 !!Pn(r).writeType;
            case 8:
              return xn(r).parameterInitializerContainsUndefined !== void 0;
          }
          return E.assertNever(a);
        }
        function He() {
          return Vg.pop(), VS.pop(), Cv.pop();
        }
        function bt(r) {
          return dr(om(r), (a) => {
            switch (a.kind) {
              case 261:
              case 262:
              case 277:
              case 276:
              case 275:
              case 274:
                return false;
              default:
                return true;
            }
          }).parent;
        }
        function Vt(r) {
          const a = ho(vl(r));
          return a.typeParameters ? qh(a, hr(a.typeParameters, (l) => Le)) : a;
        }
        function rr(r, a) {
          const l = Qs(r, a);
          return l ? Yr(l) : void 0;
        }
        function Rn(r, a) {
          var l;
          let f;
          return rr(r, a) || (f = (l = Gk(r, a)) == null ? void 0 : l.type) && Fu(
            f,
            /*isProperty*/
            true,
            /*isOptional*/
            true
          );
        }
        function gn(r) {
          return r && (r.flags & 1) !== 0;
        }
        function Gr(r) {
          return r === qe || !!(r.flags & 1 && r.aliasSymbol);
        }
        function ii(r, a) {
          if (a !== 0)
            return Wk(
              r,
              /*includeOptionality*/
              false,
              a
            );
          const l = yn(r);
          return l && Pn(l).type || Wk(
            r,
            /*includeOptionality*/
            false,
            a
          );
        }
        function ji(r, a, l) {
          if (r = Hc(r, (J) => !(J.flags & 98304)), r.flags & 131072)
            return ea;
          if (r.flags & 1048576)
            return Vo(r, (J) => ji(J, a, l));
          let f = Xn(hr(a, Hh));
          const d = [], y = [];
          for (const J of qa(r)) {
            const z = $k(
              J,
              8576
              /* StringOrNumberLiteralOrUnique */
            );
            !Ls(z, f) && !(ap(J) & 6) && f$(J) ? d.push(J) : y.push(z);
          }
          if (xT(r) || kT(f)) {
            if (y.length && (f = Xn([f, ...y])), f.flags & 131072)
              return r;
            const J = Dtt();
            return J ? PE(J, [r, f]) : qe;
          }
          const x = js();
          for (const J of d)
            x.set(J.escapedName, vpe(
              J,
              /*readonly*/
              false
            ));
          const I = Uo(l, x, Ge, Ge, hu(r));
          return I.objectFlags |= 4194304, I;
        }
        function lo(r) {
          return !!(r.flags & 465829888) && kc(
            nu(r) || yt,
            32768
            /* Undefined */
          );
        }
        function Qa(r) {
          const a = kp(r, lo) ? Vo(r, (l) => l.flags & 465829888 ? Fm(l) : l) : r;
          return xp(
            a,
            524288
            /* NEUndefined */
          );
        }
        function Fa(r, a) {
          const l = yp(r);
          return l ? e0(l, a) : a;
        }
        function yp(r) {
          const a = Uf(r);
          if (a && zC(a) && a.flowNode) {
            const l = V0(r);
            if (l) {
              const f = ct(ov.createStringLiteral(l), r), d = h_(a) ? a : ov.createParenthesizedExpression(a), y = ct(ov.createElementAccessExpression(d, f), r);
              return ja(f, y), ja(y, r), d !== a && ja(d, y), y.flowNode = a.flowNode, y;
            }
          }
        }
        function Uf(r) {
          const a = r.parent.parent;
          switch (a.kind) {
            case 209:
            case 304:
              return yp(a);
            case 210:
              return yp(r.parent);
            case 261:
              return a.initializer;
            case 227:
              return a.right;
          }
        }
        function V0(r) {
          const a = r.parent;
          return r.kind === 209 && a.kind === 207 ? q0(r.propertyName || r.name) : r.kind === 304 || r.kind === 305 ? q0(r.name) : "" + a.elements.indexOf(r);
        }
        function q0(r) {
          const a = Hh(r);
          return a.flags & 384 ? "" + a.value : void 0;
        }
        function Yg(r) {
          const a = r.dotDotDotToken ? 32 : 0, l = ii(r.parent.parent, a);
          return l && g1(
            r,
            l,
            /*noTupleBoundsCheck*/
            false
          );
        }
        function g1(r, a, l) {
          if (gn(a))
            return a;
          const f = r.parent;
          K && r.flags & 33554432 && H1(r) ? a = Zh(a) : K && f.parent.initializer && !Gd2(
            P8e(f.parent.initializer),
            65536
            /* EQUndefined */
          ) && (a = xp(
            a,
            524288
            /* NEUndefined */
          ));
          const d = 32 | (l || rC(r) ? 16 : 0);
          let y;
          if (f.kind === 207)
            if (r.dotDotDotToken) {
              if (a = Yp(a), a.flags & 2 || !MM(a))
                return ze(r, p.Rest_types_may_only_be_created_from_object_types), qe;
              const x = [];
              for (const I of f.elements)
                I.dotDotDotToken || x.push(I.propertyName || I.name);
              y = ji(a, x, r.symbol);
            } else {
              const x = r.propertyName || r.name, I = Hh(x), J = mf(a, I, d, x);
              y = Fa(r, J);
            }
          else {
            const x = ty(65 | (r.dotDotDotToken ? 0 : 128), a, ue, f), I = f.elements.indexOf(r);
            if (r.dotDotDotToken) {
              const J = Vo(a, (z) => z.flags & 58982400 ? Fm(z) : z);
              y = U_(J, ba) ? Vo(J, (z) => _P(z, I)) : yu(x);
            } else if (K0(a)) {
              const J = qd(I), z = b1(a, J, d, r.name) || qe;
              y = Fa(r, z);
            } else
              y = x;
          }
          return r.initializer ? Qc(V2(r)) ? K && !Gd2(
            SP(
              r,
              0
              /* Normal */
            ),
            16777216
            /* IsUndefined */
          ) ? Qa(y) : y : dme(r, Xn(
            [Qa(y), SP(
              r,
              0
              /* Normal */
            )],
            2
            /* Subtype */
          )) : y;
        }
        function La(r) {
          const a = o0(r);
          if (a)
            return Ci(a);
        }
        function _l(r) {
          const a = Ra(
            r,
            /*excludeJSDocTypeAssertions*/
            true
          );
          return a.kind === 106 || a.kind === 80 && Ou(a) === ne;
        }
        function H0(r) {
          const a = Ra(
            r,
            /*excludeJSDocTypeAssertions*/
            true
          );
          return a.kind === 210 && a.elements.length === 0;
        }
        function Fu(r, a = false, l = true) {
          return K && l ? k1(r, a) : r;
        }
        function Wk(r, a, l) {
          if (ei(r) && r.parent.parent.kind === 250) {
            const x = Om(Lde(Hi(
              r.parent.parent.expression,
              /*checkMode*/
              l
            )));
            return x.flags & 4456448 ? lNe(x) : at;
          }
          if (ei(r) && r.parent.parent.kind === 251) {
            const x = r.parent.parent;
            return oR(x) || Le;
          }
          if (Ds(r.parent))
            return Yg(r);
          const f = as(r) && !cm(r) || Vu(r) || Xte(r), d = a && Dx(r), y = y1(r);
          if (oB(r))
            return y ? gn(y) || y === yt ? y : qe : q ? yt : Le;
          if (y)
            return Fu(y, f, d);
          if ((fe || an(r)) && ei(r) && !Ds(r.name) && !(VX(r) & 32) && !(r.flags & 33554432)) {
            if (!(R2(r) & 6) && (!r.initializer || _l(r.initializer)))
              return mt;
            if (r.initializer && H0(r.initializer))
              return Nl;
          }
          if (Ii(r)) {
            if (!r.symbol)
              return;
            const x = r.parent;
            if (x.kind === 179 && CE(x)) {
              const z = Ao(
                yn(r.parent),
                178
                /* GetAccessor */
              );
              if (z) {
                const G = qf(z), ve = Xme(x);
                return ve && r === ve ? (E.assert(!ve.type), Yr(G.thisParameter)) : Ba(G);
              }
            }
            const I = Yet(x, r);
            if (I) return I;
            const J = r.symbol.escapedName === "this" ? Sde(x) : aAe(r);
            if (J)
              return Fu(
                J,
                /*isProperty*/
                false,
                d
              );
          }
          if (Y2(r) && r.initializer) {
            if (an(r) && !Ii(r)) {
              const I = qt(r, yn(r), j4(r));
              if (I)
                return I;
            }
            const x = dme(r, SP(r, l));
            return Fu(x, f, d);
          }
          if (as(r) && (fe || an(r)))
            if (sl(r)) {
              const x = kn(r.parent.members, Sc), I = x.length ? w(r.symbol, x) : lu(r) & 128 ? x$(r.symbol) : void 0;
              return I && Fu(
                I,
                /*isProperty*/
                true,
                d
              );
            } else {
              const x = CN(r.parent), I = x ? j(r.symbol, x) : lu(r) & 128 ? x$(r.symbol) : void 0;
              return I && Fu(
                I,
                /*isProperty*/
                true,
                d
              );
            }
          if (ym(r))
            return rt;
          if (Ds(r.name))
            return Kw(
              r.name,
              /*includePatternInType*/
              false,
              /*reportErrors*/
              true
            );
        }
        function Zg(r) {
          if (r.valueDeclaration && _n(r.valueDeclaration)) {
            const a = Pn(r);
            return a.isConstructorDeclaredProperty === void 0 && (a.isConstructorDeclaredProperty = false, a.isConstructorDeclaredProperty = !!tn(r) && Ni(r.declarations, (l) => _n(l) && $$(l) && (l.left.kind !== 213 || wf(l.left.argumentExpression)) && !hn(
              /*declaredType*/
              void 0,
              l,
              r,
              l
            ))), a.isConstructorDeclaredProperty;
          }
          return false;
        }
        function lg(r) {
          const a = r.valueDeclaration;
          return a && as(a) && !Qc(a) && !a.initializer && (fe || an(a));
        }
        function tn(r) {
          if (r.declarations)
            for (const a of r.declarations) {
              const l = zu(
                a,
                /*includeArrowFunctions*/
                false,
                /*includeClassComputedPropertyName*/
                false
              );
              if (l && (l.kind === 177 || Rm(l)))
                return l;
            }
        }
        function v(r) {
          const a = xr(r.declarations[0]), l = Si(r.escapedName), f = r.declarations.every((y) => an(y) && vo(y) && Ng(y.expression)), d = f ? N.createPropertyAccessExpression(N.createPropertyAccessExpression(N.createIdentifier("module"), N.createIdentifier("exports")), l) : N.createPropertyAccessExpression(N.createIdentifier("exports"), l);
          return f && ja(d.expression.expression, d.expression), ja(d.expression, d), ja(d, a), d.flowNode = a.endFlowNode, e0(d, mt, ue);
        }
        function w(r, a) {
          const l = Ui(r.escapedName, "__#") ? N.createPrivateIdentifier(r.escapedName.split("@")[1]) : Si(r.escapedName);
          for (const f of a) {
            const d = N.createPropertyAccessExpression(N.createThis(), l);
            ja(d.expression, d), ja(d, f), d.flowNode = f.returnFlowNode;
            const y = oe(d, r);
            if (fe && (y === mt || y === Nl) && ze(r.valueDeclaration, p.Member_0_implicitly_has_an_1_type, Wi(r), Wr(y)), !U_(y, BM))
              return MI(y);
          }
        }
        function j(r, a) {
          const l = Ui(r.escapedName, "__#") ? N.createPrivateIdentifier(r.escapedName.split("@")[1]) : Si(r.escapedName), f = N.createPropertyAccessExpression(N.createThis(), l);
          ja(f.expression, f), ja(f, a), f.flowNode = a.returnFlowNode;
          const d = oe(f, r);
          return fe && (d === mt || d === Nl) && ze(r.valueDeclaration, p.Member_0_implicitly_has_an_1_type, Wi(r), Wr(d)), U_(d, BM) ? void 0 : MI(d);
        }
        function oe(r, a) {
          const l = a?.valueDeclaration && (!lg(a) || lu(a.valueDeclaration) & 128) && x$(a) || ue;
          return e0(r, mt, l);
        }
        function Ue(r, a) {
          const l = cx(r.valueDeclaration);
          if (l) {
            const I = an(l) ? M1(l) : void 0;
            return I && I.typeExpression ? Ci(I.typeExpression) : r.valueDeclaration && qt(r.valueDeclaration, r, l) || rb(fc(l));
          }
          let f, d = false, y = false;
          if (Zg(r) && (f = j(r, tn(r))), !f) {
            let I;
            if (r.declarations) {
              let J;
              for (const z of r.declarations) {
                const G = _n(z) || ws(z) ? z : vo(z) ? _n(z.parent) ? z.parent : z : void 0;
                if (!G)
                  continue;
                const ve = vo(G) ? j3(G) : wc(G);
                (ve === 4 || _n(G) && $$(G, ve)) && (kf(G) ? d = true : y = true), ws(G) || (J = hn(J, G, r, z)), J || (I || (I = [])).push(_n(G) || ws(G) ? cs(r, a, G, ve) : nr);
              }
              f = J;
            }
            if (!f) {
              if (!wr(I))
                return qe;
              let J = d && r.declarations ? h1(I, r.declarations) : void 0;
              if (y) {
                const G = x$(r);
                G && ((J || (J = [])).push(G), d = true);
              }
              const z = ot(J, (G) => !!(G.flags & -98305)) ? J : I;
              f = Xn(z);
            }
          }
          const x = hf(Fu(
            f,
            /*isProperty*/
            false,
            y && !d
          ));
          return r.valueDeclaration && an(r.valueDeclaration) && Hc(x, (I) => !!(I.flags & -98305)) === nr ? (nb(r.valueDeclaration, Le), Le) : x;
        }
        function qt(r, a, l) {
          var f, d;
          if (!an(r) || !l || !ua(l) || l.properties.length)
            return;
          const y = js();
          for (; _n(r) || wn(r); ) {
            const J = Wf(r);
            (f = J?.exports) != null && f.size && wm(y, J.exports), r = _n(r) ? r.parent : r.parent.parent;
          }
          const x = Wf(r);
          (d = x?.exports) != null && d.size && wm(y, x.exports);
          const I = Uo(a, y, Ge, Ge, Ge);
          return I.objectFlags |= 4096, I;
        }
        function hn(r, a, l, f) {
          var d;
          const y = Qc(a.parent);
          if (y) {
            const x = hf(Ci(y));
            if (r)
              !Gr(r) && !Gr(x) && !ih(r, x) && d7e(
                /*firstDeclaration*/
                void 0,
                r,
                f,
                x
              );
            else return x;
          }
          if ((d = l.parent) != null && d.valueDeclaration) {
            const x = Wv(l.parent);
            if (x.valueDeclaration) {
              const I = Qc(x.valueDeclaration);
              if (I) {
                const J = Qs(Ci(I), l.escapedName);
                if (J)
                  return Wd(J);
              }
            }
          }
          return r;
        }
        function cs(r, a, l, f) {
          if (ws(l)) {
            if (a)
              return Yr(a);
            const x = fc(l.arguments[2]), I = rr(x, "value");
            if (I)
              return I;
            const J = rr(x, "get");
            if (J) {
              const G = MT(J);
              if (G)
                return Ba(G);
            }
            const z = rr(x, "set");
            if (z) {
              const G = MT(z);
              if (G)
                return ime(G);
            }
            return Le;
          }
          if (Do(l.left, l.right))
            return Le;
          const d = f === 1 && (wn(l.left) || oo(l.left)) && (Ng(l.left.expression) || Me(l.left.expression) && rS(l.left.expression)), y = a ? Yr(a) : d ? Yu(fc(l.right)) : rb(fc(l.right));
          if (y.flags & 524288 && f === 2 && r.escapedName === "export=") {
            const x = Vd(y), I = js();
            R7(x.members, I);
            const J = I.size;
            a && !a.exports && (a.exports = js()), (a || r).exports.forEach((G, ve) => {
              var de;
              const We = I.get(ve);
              if (We && We !== G && !(G.flags & 2097152))
                if (G.flags & 111551 && We.flags & 111551) {
                  if (G.valueDeclaration && We.valueDeclaration && xr(G.valueDeclaration) !== xr(We.valueDeclaration)) {
                    const gt = Si(G.escapedName), jt = ((de = Bn(We.valueDeclaration, kl)) == null ? void 0 : de.name) || We.valueDeclaration;
                    Js(
                      ze(G.valueDeclaration, p.Duplicate_identifier_0, gt),
                      sn(jt, p._0_was_also_declared_here, gt)
                    ), Js(
                      ze(jt, p.Duplicate_identifier_0, gt),
                      sn(G.valueDeclaration, p._0_was_also_declared_here, gt)
                    );
                  }
                  const lt = ma(G.flags | We.flags, ve);
                  lt.links.type = Xn([Yr(G), Yr(We)]), lt.valueDeclaration = We.valueDeclaration, lt.declarations = Bi(We.declarations, G.declarations), I.set(ve, lt);
                } else
                  I.set(ve, mp(G, We));
              else
                I.set(ve, G);
            });
            const z = Uo(
              J !== 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 (J === I.size && (y.aliasSymbol && (z.aliasSymbol = y.aliasSymbol, z.aliasTypeArguments = y.aliasTypeArguments), Dn(y) & 4)) {
              z.aliasSymbol = y.symbol;
              const G = wo(y);
              z.aliasTypeArguments = wr(G) ? G : void 0;
            }
            return z.objectFlags |= rM([y]) | Dn(y) & 20608, z.symbol && z.symbol.flags & 32 && y === vp(z.symbol) && (z.objectFlags |= 16777216), z;
          }
          return C$(y) ? (nb(l, Ul), Ul) : y;
        }
        function Do(r, a) {
          return wn(r) && r.expression.kind === 110 && Hx(a, (l) => Gl(r, l));
        }
        function kf(r) {
          const a = zu(
            r,
            /*includeArrowFunctions*/
            false,
            /*includeClassComputedPropertyName*/
            false
          );
          return a.kind === 177 || a.kind === 263 || a.kind === 219 && !B3(a.parent);
        }
        function h1(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 && kf(y);
          });
        }
        function zd(r, a, l) {
          if (r.initializer) {
            const f = Ds(r.name) ? Kw(
              r.name,
              /*includePatternInType*/
              true,
              /*reportErrors*/
              false
            ) : yt;
            return Fu(JIe(r, SP(r, 0, f)));
          }
          return Ds(r.name) ? Kw(r.name, a, l) : (l && !BG(r) && nb(r, Le), a ? rn : Le);
        }
        function Uk(r, a, l) {
          const f = js();
          let d, y = 131200;
          lr(r.elements, (I) => {
            const J = I.propertyName || I.name;
            if (I.dotDotDotToken) {
              d = rh(
                at,
                Le,
                /*isReadonly*/
                false
              );
              return;
            }
            const z = Hh(J);
            if (!op(z)) {
              y |= 512;
              return;
            }
            const G = cp(z), ve = 4 | (I.initializer ? 16777216 : 0), de = ma(ve, G);
            de.links.type = zd(I, a, l), f.set(de.escapedName, de);
          });
          const x = Uo(
            /*symbol*/
            void 0,
            f,
            Ge,
            Ge,
            d ? [d] : Ge
          );
          return x.objectFlags |= y, a && (x.pattern = r, x.objectFlags |= 131072), x;
        }
        function gfe(r, a, l) {
          const f = r.elements, d = ko(f), y = d && d.kind === 209 && d.dotDotDotToken ? d : void 0;
          if (f.length === 0 || f.length === 1 && y)
            return R >= 2 ? G3e(Le) : Ul;
          const x = hr(f, (G) => gl(G) ? Le : zd(G, a, l)), I = HI(f, (G) => !(G === y || gl(G) || rC(G)), f.length - 1) + 1, J = hr(
            f,
            (G, ve) => G === y ? 4 : ve >= I ? 2 : 1
            /* Required */
          );
          let z = pg(x, J);
          return a && (z = C3e(z), z.pattern = r, z.objectFlags |= 131072), z;
        }
        function Kw(r, a = false, l = false) {
          a && Hp.push(r);
          const f = r.kind === 207 ? Uk(r, a, l) : gfe(r, a, l);
          return a && Hp.pop(), f;
        }
        function Vk(r, a) {
          return VA(Wk(
            r,
            /*includeOptionality*/
            true,
            0
            /* Normal */
          ), r, a);
        }
        function hfe(r) {
          const a = xn(r);
          if (!a.resolvedType) {
            const l = ma(
              4096,
              "__importAttributes"
              /* ImportAttributes */
            ), f = js();
            lr(r.elements, (y) => {
              const x = ma(4, lF(y));
              x.parent = l, x.links.type = Jut(y), x.links.target = x, f.set(x.escapedName, x);
            });
            const d = Uo(l, f, Ge, Ge, Ge);
            d.objectFlags |= 262272, a.resolvedType = d;
          }
          return a.resolvedType;
        }
        function yfe(r) {
          const a = Wf(r), l = ptt(
            /*reportErrors*/
            false
          );
          return l && a && a === l;
        }
        function VA(r, a, l) {
          return r ? (r.flags & 4096 && yfe(a.parent) && (r = bpe(a)), l && F$(a, r), r.flags & 8192 && (ha(a) || !y1(a)) && r.symbol !== yn(a) && (r = Jt), hf(r)) : (r = Ii(a) && a.dotDotDotToken ? Ul : Le, l && (BG(a) || nb(a, r)), r);
        }
        function BG(r) {
          const a = om(r), l = a.kind === 170 ? a.parent : a;
          return tR(l);
        }
        function y1(r) {
          const a = Qc(r);
          if (a)
            return Ci(a);
        }
        function vfe(r) {
          let a = r.valueDeclaration;
          return a ? (ha(a) && (a = V2(a)), Ii(a) ? g$(a.parent) : false) : false;
        }
        function bfe(r) {
          const a = Pn(r);
          if (!a.type) {
            const l = Sfe(r);
            return !a.type && !vfe(r) && (a.type = l), l;
          }
          return a.type;
        }
        function Sfe(r) {
          if (r.flags & 4194304)
            return Vt(r);
          if (r === Ne)
            return Le;
          if (r.flags & 134217728 && r.valueDeclaration) {
            const f = yn(xr(r.valueDeclaration)), d = ma(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 = js();
            return y.set("exports", d), Uo(r, y, Ge, Ge, Ge);
          }
          E.assertIsDefined(r.valueDeclaration);
          const a = r.valueDeclaration;
          if (Di(a) && rp(a))
            return a.statements.length ? hf(rb(Hi(a.statements[0].expression))) : ea;
          if (Ty(a))
            return tP(r);
          if (!Am(
            r,
            0
            /* Type */
          ))
            return r.flags & 512 && !(r.flags & 67108864) ? rP(r) : gT(r);
          let l;
          if (a.kind === 278)
            l = VA(y1(a) || fc(a.expression), a);
          else if (_n(a) || an(a) && (ws(a) || (wn(a) || _5(a)) && _n(a.parent)))
            l = Ue(r);
          else if (wn(a) || oo(a) || Me(a) || Ma(a) || T_(a) || Zc(a) || Tc(a) || Ko(a) && !Fp(a) || id(a) || Di(a)) {
            if (r.flags & 9136)
              return rP(r);
            l = _n(a.parent) ? Ue(r) : y1(a) || Le;
          } else if (Kc(a))
            l = y1(a) || zIe(a);
          else if (ym(a))
            l = y1(a) || SAe(a);
          else if (fu(a))
            l = y1(a) || xP(
              a.name,
              0
              /* Normal */
            );
          else if (Fp(a))
            l = y1(a) || WIe(
              a,
              0
              /* Normal */
            );
          else if (Ii(a) || as(a) || Vu(a) || ei(a) || ha(a) || S4(a))
            l = Vk(
              a,
              /*reportErrors*/
              true
            );
          else if (rv(a))
            l = rP(r);
          else if (kh(a))
            l = UG(r);
          else
            return E.fail("Unhandled declaration kind! " + E.formatSyntaxKind(a.kind) + " for " + E.formatSymbol(r));
          return He() ? l : r.flags & 512 && !(r.flags & 67108864) ? rP(r) : gT(r);
        }
        function x2(r) {
          if (r)
            switch (r.kind) {
              case 178:
                return K_(r);
              case 179:
                return KB(r);
              case 173:
                return E.assert(cm(r)), Qc(r);
            }
        }
        function eP(r) {
          const a = x2(r);
          return a && Ci(a);
        }
        function qk(r) {
          const a = Xme(r);
          return a && a.symbol;
        }
        function JG(r) {
          return Qv(qf(r));
        }
        function tP(r) {
          const a = Pn(r);
          if (!a.type) {
            if (!Am(
              r,
              0
              /* Type */
            ))
              return qe;
            const l = Ao(
              r,
              178
              /* GetAccessor */
            ), f = Ao(
              r,
              179
              /* SetAccessor */
            ), d = Bn(Ao(
              r,
              173
              /* PropertyDeclaration */
            ), g_);
            let y = l && an(l) && La(l) || eP(l) || eP(f) || eP(d) || l && l.body && dX(l) || d && Vk(
              d,
              /*reportErrors*/
              true
            );
            y || (f && !tR(f) ? ud(fe, f, p.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation, Wi(r)) : l && !tR(l) ? ud(fe, l, p.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation, Wi(r)) : d && !tR(d) && ud(fe, d, p.Member_0_implicitly_has_an_1_type, Wi(r), "any"), y = Le), He() || (x2(l) ? ze(l, p._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, Wi(r)) : x2(f) || x2(d) ? ze(f, p._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, Wi(r)) : l && fe && ze(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, Wi(r)), y = Le), a.type ?? (a.type = y);
          }
          return a.type;
        }
        function zG(r) {
          const a = Pn(r);
          if (!a.writeType) {
            if (!Am(
              r,
              7
              /* WriteType */
            ))
              return qe;
            const l = Ao(
              r,
              179
              /* SetAccessor */
            ) ?? Bn(Ao(
              r,
              173
              /* PropertyDeclaration */
            ), g_);
            let f = eP(l);
            He() || (x2(l) && ze(l, p._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, Wi(r)), f = Le), a.writeType ?? (a.writeType = f || tP(r));
          }
          return a.writeType;
        }
        function qA(r) {
          const a = Vh(vp(r));
          return a.flags & 8650752 ? a : a.flags & 2097152 ? Nn(a.types, (l) => !!(l.flags & 8650752)) : void 0;
        }
        function rP(r) {
          let a = Pn(r);
          const l = a;
          if (!a.type) {
            const f = r.valueDeclaration && fX(
              r.valueDeclaration,
              /*allowDeclaration*/
              false
            );
            if (f) {
              const d = Yde(r, f);
              d && (r = d, a = d.links);
            }
            l.type = a.type = WG(r);
          }
          return a.type;
        }
        function WG(r) {
          const a = r.valueDeclaration;
          if (r.flags & 1536 && y3(r))
            return Le;
          if (a && (a.kind === 227 || vo(a) && a.parent.kind === 227))
            return Ue(r);
          if (r.flags & 512 && a && Di(a) && a.commonJsModuleIndicator) {
            const f = z_(r);
            if (f !== r) {
              if (!Am(
                r,
                0
                /* Type */
              ))
                return qe;
              const d = Ia(r.exports.get(
                "export="
                /* ExportEquals */
              )), y = Ue(d, d === f ? void 0 : f);
              return He() ? y : gT(r);
            }
          }
          const l = Bc(16, r);
          if (r.flags & 32) {
            const f = qA(r);
            return f ? ia([l, f]) : l;
          } else
            return K && r.flags & 16777216 ? k1(
              l,
              /*isProperty*/
              true
            ) : l;
        }
        function UG(r) {
          const a = Pn(r);
          return a.type || (a.type = jPe(r));
        }
        function Tfe(r) {
          const a = Pn(r);
          if (!a.type) {
            if (!Am(
              r,
              0
              /* Type */
            ))
              return qe;
            const l = Fl(r), f = r.declarations && Jv(
              P_(r),
              /*dontRecursivelyResolve*/
              true
            ), d = Ic(f?.declarations, (y) => Fo(y) ? y1(y) : void 0);
            if (a.type ?? (a.type = f?.declarations && OX(f.declarations) && r.declarations.length ? v(f) : OX(r.declarations) ? mt : d || (N_(l) & 111551 ? Yr(l) : qe)), !He())
              return gT(f ?? r), a.type ?? (a.type = qe);
          }
          return a.type;
        }
        function xfe(r) {
          const a = Pn(r);
          return a.type || (a.type = Mi(Yr(a.target), a.mapper));
        }
        function kfe(r) {
          const a = Pn(r);
          return a.writeType || (a.writeType = Mi(G0(a.target), a.mapper));
        }
        function gT(r) {
          const a = r.valueDeclaration;
          if (a) {
            if (Qc(a))
              return ze(r.valueDeclaration, p._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, Wi(r)), qe;
            fe && (a.kind !== 170 || a.initializer) && ze(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, Wi(r));
          } else if (r.flags & 2097152) {
            const l = P_(r);
            l && ze(l, p.Circular_definition_of_import_alias_0, Wi(r));
          }
          return Le;
        }
        function VG(r) {
          const a = Pn(r);
          return a.type || (E.assertIsDefined(a.deferralParent), E.assertIsDefined(a.deferralConstituents), a.type = a.deferralParent.flags & 1048576 ? Xn(a.deferralConstituents) : ia(a.deferralConstituents)), a.type;
        }
        function Cfe(r) {
          const a = Pn(r);
          return !a.writeType && a.deferralWriteConstituents && (E.assertIsDefined(a.deferralParent), E.assertIsDefined(a.deferralConstituents), a.writeType = a.deferralParent.flags & 1048576 ? Xn(a.deferralWriteConstituents) : ia(a.deferralWriteConstituents)), a.writeType;
        }
        function G0(r) {
          const a = oc(r);
          return a & 2 ? a & 65536 ? Cfe(r) || VG(r) : (
            // NOTE: cast to TransientSymbol should be safe because only TransientSymbols can have CheckFlags.SyntheticProperty
            r.links.writeType || r.links.type
          ) : r.flags & 4 ? Kh(Yr(r), !!(r.flags & 16777216)) : r.flags & 98304 ? a & 1 ? kfe(r) : zG(r) : Yr(r);
        }
        function Yr(r) {
          const a = oc(r);
          return a & 65536 ? VG(r) : a & 1 ? xfe(r) : a & 262144 ? Iet(r) : a & 8192 ? Xnt(r) : r.flags & 7 ? bfe(r) : r.flags & 9136 ? rP(r) : r.flags & 8 ? UG(r) : r.flags & 98304 ? tP(r) : r.flags & 2097152 ? Tfe(r) : qe;
        }
        function Wd(r) {
          return Kh(Yr(r), !!(r.flags & 16777216));
        }
        function qG(r, a) {
          if (r === void 0 || (Dn(r) & 4) === 0)
            return false;
          for (const l of a)
            if (r.target === l)
              return true;
          return false;
        }
        function pf(r, a) {
          return r !== void 0 && a !== void 0 && (Dn(r) & 4) !== 0 && r.target === a;
        }
        function Cr(r) {
          return Dn(r) & 4 ? r.target : r;
        }
        function En(r, a) {
          return l(r);
          function l(f) {
            if (Dn(f) & 7) {
              const d = Cr(f);
              return d === a || ot(gd(d), l);
            } else if (f.flags & 2097152)
              return ot(f.types, l);
            return false;
          }
        }
        function Ln(r, a) {
          for (const l of a)
            r = lh(r, Gv(yn(l)));
          return r;
        }
        function pi(r, a) {
          for (; ; ) {
            if (r = r.parent, r && _n(r)) {
              const f = wc(r);
              if (f === 6 || f === 3) {
                const d = yn(r.left);
                d && d.parent && !dr(d.parent.valueDeclaration, (y) => r === y) && (r = d.parent.valueDeclaration);
              }
            }
            if (!r)
              return;
            const l = r.kind;
            switch (l) {
              case 264:
              case 232:
              case 265:
              case 180:
              case 181:
              case 174:
              case 185:
              case 186:
              case 318:
              case 263:
              case 175:
              case 219:
              case 220:
              case 266:
              case 346:
              case 347:
              case 341:
              case 339:
              case 201:
              case 195: {
                const d = pi(r, a);
                if ((l === 219 || l === 220 || Fp(r)) && Hf(r)) {
                  const I = $c(As(
                    Yr(yn(r)),
                    0
                    /* Call */
                  ));
                  if (I && I.typeParameters)
                    return [...d || Ge, ...I.typeParameters];
                }
                if (l === 201)
                  return Er(d, Gv(yn(r.typeParameter)));
                if (l === 195)
                  return Bi(d, gpe(r));
                const y = Ln(d, yy(r)), x = a && (l === 264 || l === 232 || l === 265 || Rm(r)) && vp(yn(r)).thisType;
                return x ? Er(y, x) : y;
              }
              case 342:
                const f = V3(r);
                f && (r = f.valueDeclaration);
                break;
              case 321: {
                const d = pi(r, a);
                return r.tags ? Ln(d, xa(r.tags, (y) => Bp(y) ? y.typeParameters : void 0)) : d;
              }
            }
          }
        }
        function yi(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 === 265)
              return true;
            if (f.kind !== 261)
              return false;
            const d = f.initializer;
            return !!d && (d.kind === 219 || d.kind === 220);
          });
          return E.assert(!!l, "Class was missing valueDeclaration -OR- non-class had no interface declarations"), pi(l);
        }
        function na(r) {
          if (!r.declarations)
            return;
          let a;
          for (const l of r.declarations)
            (l.kind === 265 || l.kind === 264 || l.kind === 232 || Rm(l) || W3(l)) && (a = Ln(a, yy(l)));
          return a;
        }
        function uo(r) {
          return Bi(yi(r), na(r));
        }
        function Hl(r) {
          const a = As(
            r,
            1
            /* Construct */
          );
          if (a.length === 1) {
            const l = a[0];
            if (!l.typeParameters && l.parameters.length === 1 && wu(l)) {
              const f = HM(l.parameters[0]);
              return gn(f) || SM(f) === Le;
            }
          }
          return false;
        }
        function Ud(r) {
          if (As(
            r,
            1
            /* Construct */
          ).length > 0)
            return true;
          if (r.flags & 8650752) {
            const a = nu(r);
            return !!a && Hl(a);
          }
          return false;
        }
        function Qp(r) {
          const a = Sh(r.symbol);
          return a && kd(a);
        }
        function md(r, a, l) {
          const f = wr(a), d = an(l);
          return kn(As(
            r,
            1
            /* Construct */
          ), (y) => (d || f >= fg(y.typeParameters)) && f <= wr(y.typeParameters));
        }
        function Kg(r, a, l) {
          const f = md(r, a, l), d = hr(a, Ci);
          return Gc(f, (y) => ot(y.typeParameters) ? ZA(y, d, an(l)) : y);
        }
        function Vh(r) {
          if (!r.resolvedBaseConstructorType) {
            const a = Sh(r.symbol), l = a && kd(a), f = Qp(r);
            if (!f)
              return r.resolvedBaseConstructorType = ue;
            if (!Am(
              r,
              1
              /* ResolvedBaseConstructorType */
            ))
              return qe;
            const d = Hi(f.expression);
            if (l && f !== l && (E.assert(!l.typeArguments), Hi(l.expression)), d.flags & 2621440 && Vd(d), !He())
              return ze(r.symbol.valueDeclaration, p._0_is_referenced_directly_or_indirectly_in_its_own_base_expression, Wi(r.symbol)), r.resolvedBaseConstructorType ?? (r.resolvedBaseConstructorType = qe);
            if (!(d.flags & 1) && d !== ke && !Ud(d)) {
              const y = ze(f.expression, p.Type_0_is_not_a_constructor_function_type, Wr(d));
              if (d.flags & 262144) {
                const x = cP(d);
                let I = yt;
                if (x) {
                  const J = As(
                    x,
                    1
                    /* Construct */
                  );
                  J[0] && (I = Ba(J[0]));
                }
                d.symbol.declarations && Js(y, sn(d.symbol.declarations[0], p.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1, Wi(d.symbol), Wr(I)));
              }
              return r.resolvedBaseConstructorType ?? (r.resolvedBaseConstructorType = qe);
            }
            r.resolvedBaseConstructorType ?? (r.resolvedBaseConstructorType = d);
          }
          return r.resolvedBaseConstructorType;
        }
        function xE(r) {
          let a = Ge;
          if (r.symbol.declarations)
            for (const l of r.symbol.declarations) {
              const f = UC(l);
              if (f)
                for (const d of f) {
                  const y = Ci(d);
                  Gr(y) || (a === Ge ? a = [y] : a.push(y));
                }
            }
          return a;
        }
        function nP(r, a) {
          ze(r, p.Type_0_recursively_references_itself_as_a_base_type, Wr(
            a,
            /*enclosingDeclaration*/
            void 0,
            2
            /* WriteArrayAsGenericType */
          ));
        }
        function gd(r) {
          if (!r.baseTypesResolved) {
            if (Am(
              r,
              6
              /* ResolvedBaseTypes */
            ) && (r.objectFlags & 8 ? r.resolvedBaseTypes = [tet(r)] : r.symbol.flags & 96 ? (r.symbol.flags & 32 && ret(r), r.symbol.flags & 64 && iet(r)) : E.fail("type must be class or interface"), !He() && r.symbol.declarations))
              for (const a of r.symbol.declarations)
                (a.kind === 264 || a.kind === 265) && nP(a, r);
            r.baseTypesResolved = true;
          }
          return r.resolvedBaseTypes;
        }
        function tet(r) {
          const a = Gc(r.typeParameters, (l, f) => r.elementFlags[f] & 8 ? mf(l, wt) : l);
          return yu(Xn(a || Ge), r.readonly);
        }
        function ret(r) {
          r.resolvedBaseTypes = Yj;
          const a = Qu(Vh(r));
          if (!(a.flags & 2621441))
            return r.resolvedBaseTypes = Ge;
          const l = Qp(r);
          let f;
          const d = a.symbol ? ho(a.symbol) : void 0;
          if (a.symbol && a.symbol.flags & 32 && net(d))
            f = E3e(l, a.symbol);
          else if (a.flags & 1)
            f = a;
          else {
            const x = Kg(a, l.typeArguments, l);
            if (!x.length)
              return ze(l.expression, p.No_base_constructor_has_the_specified_number_of_type_arguments), r.resolvedBaseTypes = Ge;
            f = Ba(x[0]);
          }
          if (Gr(f))
            return r.resolvedBaseTypes = Ge;
          const y = Yp(f);
          if (!$L(y)) {
            const x = jfe(
              /*errorInfo*/
              void 0,
              f
            ), I = Ss(x, p.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members, Wr(y));
            return Pa.add(wg(xr(l.expression), l.expression, I)), r.resolvedBaseTypes = Ge;
          }
          return r === y || En(y, r) ? (ze(r.symbol.valueDeclaration, p.Type_0_recursively_references_itself_as_a_base_type, Wr(
            r,
            /*enclosingDeclaration*/
            void 0,
            2
            /* WriteArrayAsGenericType */
          )), r.resolvedBaseTypes = Ge) : (r.resolvedBaseTypes === Yj && (r.members = void 0), r.resolvedBaseTypes = [y]);
        }
        function net(r) {
          const a = r.outerTypeParameters;
          if (a) {
            const l = a.length - 1, f = wo(r);
            return a[l].symbol !== f[l].symbol;
          }
          return true;
        }
        function $L(r) {
          if (r.flags & 262144) {
            const a = nu(r);
            if (a)
              return $L(a);
          }
          return !!(r.flags & 67633153 && !A_(r) || r.flags & 2097152 && Ni(r.types, $L));
        }
        function iet(r) {
          if (r.resolvedBaseTypes = r.resolvedBaseTypes || Ge, r.symbol.declarations) {
            for (const a of r.symbol.declarations)
              if (a.kind === 265 && V4(a))
                for (const l of V4(a)) {
                  const f = Yp(Ci(l));
                  Gr(f) || ($L(f) ? r !== f && !En(f, r) ? r.resolvedBaseTypes === Ge ? r.resolvedBaseTypes = [f] : r.resolvedBaseTypes.push(f) : nP(a, r) : ze(l, p.An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members));
                }
          }
        }
        function set(r) {
          if (!r.declarations)
            return true;
          for (const a of r.declarations)
            if (a.kind === 265) {
              if (a.flags & 256)
                return false;
              const l = V4(a);
              if (l) {
                for (const f of l)
                  if (Za(f.expression)) {
                    const d = _c2(
                      f.expression,
                      788968,
                      /*ignoreErrors*/
                      true
                    );
                    if (!d || !(d.flags & 64) || vp(d).thisType)
                      return false;
                  }
              }
            }
          return true;
        }
        function vp(r) {
          let a = Pn(r);
          const l = a;
          if (!a.declaredType) {
            const f = r.flags & 32 ? 1 : 2, d = Yde(r, r.valueDeclaration && oot(r.valueDeclaration));
            d && (r = d, a = d.links);
            const y = l.declaredType = a.declaredType = Bc(f, r), x = yi(r), I = na(r);
            (x || I || f === 1 || !set(r)) && (y.objectFlags |= 4, y.typeParameters = Bi(x, I), y.outerTypeParameters = x, y.localTypeParameters = I, y.instantiations = /* @__PURE__ */ new Map(), y.instantiations.set(Zp(y.typeParameters), y), y.target = y, y.resolvedTypeArguments = y.typeParameters, y.thisType = l_(r), y.thisType.isThisType = true, y.thisType.constraint = y);
          }
          return a.declaredType;
        }
        function LPe(r) {
          var a;
          const l = Pn(r);
          if (!l.declaredType) {
            if (!Am(
              r,
              2
              /* DeclaredType */
            ))
              return qe;
            const f = E.checkDefined((a = r.declarations) == null ? void 0 : a.find(W3), "Type alias symbol with no valid declaration found"), d = Op(f) ? f.typeExpression : f.type;
            let y = d ? Ci(d) : qe;
            if (He()) {
              const x = na(r);
              x && (l.typeParameters = x, l.instantiations = /* @__PURE__ */ new Map(), l.instantiations.set(Zp(x), y)), y === Pe && r.escapedName === "BuiltinIteratorReturn" && (y = epe());
            } else
              y = qe, f.kind === 341 ? ze(f.typeExpression.type, p.Type_alias_0_circularly_references_itself, Wi(r)) : ze(kl(f) && f.name || f, p.Type_alias_0_circularly_references_itself, Wi(r));
            l.declaredType ?? (l.declaredType = y);
          }
          return l.declaredType;
        }
        function HG(r) {
          return r.flags & 1056 && r.symbol.flags & 8 ? ho(vl(r.symbol)) : r;
        }
        function MPe(r) {
          const a = Pn(r);
          if (!a.declaredType) {
            const l = [];
            if (r.declarations) {
              for (const d of r.declarations)
                if (d.kind === 267) {
                  for (const y of d.members)
                    if (CE(y)) {
                      const x = yn(y), I = jT(y).value, J = Yk(
                        I !== void 0 ? Prt(I, $s(r), x) : RPe(x)
                      );
                      Pn(x).declaredType = J, l.push(Yu(J));
                    }
                }
            }
            const f = l.length ? Xn(
              l,
              1,
              r,
              /*aliasTypeArguments*/
              void 0
            ) : RPe(r);
            f.flags & 1048576 && (f.flags |= 1024, f.symbol = r), a.declaredType = f;
          }
          return a.declaredType;
        }
        function RPe(r) {
          const a = gi(32, r), l = gi(32, r);
          return a.regularType = a, a.freshType = l, l.regularType = a, l.freshType = l, a;
        }
        function jPe(r) {
          const a = Pn(r);
          if (!a.declaredType) {
            const l = MPe(vl(r));
            a.declaredType || (a.declaredType = l);
          }
          return a.declaredType;
        }
        function Gv(r) {
          const a = Pn(r);
          return a.declaredType || (a.declaredType = l_(r));
        }
        function aet(r) {
          const a = Pn(r);
          return a.declaredType || (a.declaredType = ho(Fl(r)));
        }
        function ho(r) {
          return BPe(r) || qe;
        }
        function BPe(r) {
          if (r.flags & 96)
            return vp(r);
          if (r.flags & 524288)
            return LPe(r);
          if (r.flags & 262144)
            return Gv(r);
          if (r.flags & 384)
            return MPe(r);
          if (r.flags & 8)
            return jPe(r);
          if (r.flags & 2097152)
            return aet(r);
        }
        function XL(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 202:
              return true;
            case 189:
              return XL(r.elementType);
            case 184:
              return !r.typeArguments || r.typeArguments.every(XL);
          }
          return false;
        }
        function oet(r) {
          const a = kC(r);
          return !a || XL(a);
        }
        function JPe(r) {
          const a = Qc(r);
          return a ? XL(a) : !l0(r);
        }
        function cet(r) {
          const a = K_(r), l = yy(r);
          return (r.kind === 177 || !!a && XL(a)) && r.parameters.every(JPe) && l.every(oet);
        }
        function uet(r) {
          if (r.declarations && r.declarations.length === 1) {
            const a = r.declarations[0];
            if (a)
              switch (a.kind) {
                case 173:
                case 172:
                  return JPe(a);
                case 175:
                case 174:
                case 177:
                case 178:
                case 179:
                  return cet(a);
              }
          }
          return false;
        }
        function zPe(r, a, l) {
          const f = js();
          for (const d of r)
            f.set(d.escapedName, l && uet(d) ? d : kpe(d, a));
          return f;
        }
        function WPe(r, a) {
          for (const l of a) {
            if (UPe(l))
              continue;
            const f = r.get(l.escapedName);
            (!f || f.valueDeclaration && _n(f.valueDeclaration) && !Zg(f) && !yK(f.valueDeclaration)) && (r.set(l.escapedName, l), r.set(l.escapedName, l));
          }
        }
        function UPe(r) {
          return !!r.valueDeclaration && xu(r.valueDeclaration) && Bs(r.valueDeclaration);
        }
        function Efe(r) {
          if (!r.declaredProperties) {
            const a = r.symbol, l = ug(a);
            r.declaredProperties = u_(l), r.declaredCallSignatures = Ge, r.declaredConstructSignatures = Ge, r.declaredIndexInfos = Ge, r.declaredCallSignatures = E2(l.get(
              "__call"
              /* Call */
            )), r.declaredConstructSignatures = E2(l.get(
              "__new"
              /* New */
            )), r.declaredIndexInfos = T3e(a);
          }
          return r;
        }
        function Dfe(r) {
          return qPe(r) && op(Hs(r) ? yd(r) : fc(r.argumentExpression));
        }
        function VPe(r) {
          return qPe(r) && _et(Hs(r) ? yd(r) : fc(r.argumentExpression));
        }
        function qPe(r) {
          if (!Hs(r) && !oo(r))
            return false;
          const a = Hs(r) ? r.expression : r.argumentExpression;
          return Za(a);
        }
        function _et(r) {
          return Ls(r, oi);
        }
        function HA(r) {
          return r.charCodeAt(0) === 95 && r.charCodeAt(1) === 95 && r.charCodeAt(2) === 64;
        }
        function kE(r) {
          const a = us(r);
          return !!a && Dfe(a);
        }
        function HPe(r) {
          const a = us(r);
          return !!a && VPe(a);
        }
        function CE(r) {
          return !hh(r) || kE(r);
        }
        function GPe(r) {
          return y5(r) && !Dfe(r);
        }
        function fet(r, a, l) {
          E.assert(!!(oc(r) & 4096), "Expected a late-bound symbol."), r.flags |= l, Pn(a.symbol).lateSymbol = r, r.declarations ? a.symbol.isReplaceableByMethod || r.declarations.push(a) : r.declarations = [a], l & 111551 && B4(r, a);
        }
        function $Pe(r, a, l, f) {
          E.assert(!!f.symbol, "The member is expected to have a symbol.");
          const d = xn(f);
          if (!d.resolvedSymbol) {
            d.resolvedSymbol = f.symbol;
            const y = _n(f) ? f.left : f.name, x = oo(y) ? fc(y.argumentExpression) : yd(y);
            if (op(x)) {
              const I = cp(x), J = f.symbol.flags;
              let z = l.get(I);
              z || l.set(I, z = ma(
                0,
                I,
                4096
                /* Late */
              ));
              const G = a && a.get(I);
              if (!(r.flags & 32) && z.flags & YS(J)) {
                const ve = G ? Bi(G.declarations, z.declarations) : z.declarations, de = !(x.flags & 8192) && Si(I) || so(y);
                lr(ve, (We) => ze(us(We) || We, p.Property_0_was_also_declared_here, de)), ze(y || f, p.Duplicate_property_0, de), z = ma(
                  0,
                  I,
                  4096
                  /* Late */
                );
              }
              return z.links.nameType = x, fet(z, f, J), z.parent ? E.assert(z.parent === r, "Existing symbol parent should match new one") : z.parent = r, d.resolvedSymbol = z;
            }
          }
          return d.resolvedSymbol;
        }
        function pet(r, a, l, f) {
          let d = l.get(
            "__index"
            /* Index */
          );
          if (!d) {
            const y = a?.get(
              "__index"
              /* Index */
            );
            y ? (d = p2(y), d.links.checkFlags |= 4096) : d = ma(
              0,
              "__index",
              4096
              /* Late */
            ), l.set("__index", d);
          }
          d.declarations ? f.symbol.isReplaceableByMethod || d.declarations.push(f) : d.declarations = [f];
        }
        function wfe(r, a) {
          const l = Pn(r);
          if (!l[a]) {
            const f = a === "resolvedExports", d = f ? r.flags & 1536 ? lT(r).exports : r.exports : r.members;
            l[a] = d || A;
            const y = js();
            for (const J of r.declarations || Ge) {
              const z = _K(J);
              if (z)
                for (const G of z)
                  f === sl(G) && (kE(G) ? $Pe(r, d, y, G) : HPe(G) && pet(r, d, y, G));
            }
            const x = Wv(r).assignmentDeclarationMembers;
            if (x) {
              const J = ns(x.values());
              for (const z of J) {
                const G = wc(z), ve = G === 3 || _n(z) && $$(z, G) || G === 9 || G === 6;
                f === !ve && kE(z) && $Pe(r, d, y, z);
              }
            }
            let I = R0(d, y);
            if (r.flags & 33554432 && l.cjsExportMerged && r.declarations)
              for (const J of r.declarations) {
                const z = Pn(J.symbol)[a];
                if (!I) {
                  I = z;
                  continue;
                }
                z && z.forEach((G, ve) => {
                  const de = I.get(ve);
                  if (!de) I.set(ve, G);
                  else {
                    if (de === G) return;
                    I.set(ve, mp(de, G));
                  }
                });
              }
            l[a] = I || A;
          }
          return l[a];
        }
        function ug(r) {
          return r.flags & 6256 ? wfe(
            r,
            "resolvedMembers"
            /* resolvedMembers */
          ) : r.members || A;
        }
        function GG(r) {
          if (r.flags & 106500 && r.escapedName === "__computed") {
            const a = Pn(r);
            if (!a.lateSymbol && ot(r.declarations, kE)) {
              const l = Ia(r.parent);
              ot(r.declarations, sl) ? ff(l) : ug(l);
            }
            return a.lateSymbol || (a.lateSymbol = r);
          }
          return r;
        }
        function df(r, a, l) {
          if (Dn(r) & 4) {
            const f = r.target, d = wo(r);
            return wr(f.typeParameters) === wr(d) ? qh(f, Bi(d, [a || f.thisType])) : r;
          } else if (r.flags & 2097152) {
            const f = Gc(r.types, (d) => df(d, a, l));
            return f !== r.types ? ia(f) : r;
          }
          return l ? Qu(r) : r;
        }
        function XPe(r, a, l, f) {
          let d, y, x, I, J;
          PR(l, f, 0, l.length) ? (y = a.symbol ? ug(a.symbol) : js(a.declaredProperties), x = a.declaredCallSignatures, I = a.declaredConstructSignatures, J = a.declaredIndexInfos) : (d = gf(l, f), y = zPe(
            a.declaredProperties,
            d,
            /*mappingThisOnly*/
            l.length === 1
          ), x = d$(a.declaredCallSignatures, d), I = d$(a.declaredConstructSignatures, d), J = ENe(a.declaredIndexInfos, d));
          const z = gd(a);
          if (z.length) {
            if (a.symbol && y === ug(a.symbol)) {
              const ve = js(a.declaredProperties), de = ZG(a.symbol);
              de && ve.set("__index", de), y = ve;
            }
            Xp(r, y, x, I, J);
            const G = ko(f);
            for (const ve of z) {
              const de = G ? df(Mi(ve, d), G) : ve;
              WPe(y, qa(de)), x = Bi(x, As(
                de,
                0
                /* Call */
              )), I = Bi(I, As(
                de,
                1
                /* Construct */
              ));
              const We = de !== Le ? hu(de) : [Yi];
              J = Bi(J, kn(We, (lt) => !aP(J, lt.keyType)));
            }
          }
          Xp(r, y, x, I, J);
        }
        function det(r) {
          XPe(r, Efe(r), Ge, Ge);
        }
        function met(r) {
          const a = Efe(r.target), l = Bi(a.typeParameters, [a.thisType]), f = wo(r), d = f.length === l.length ? f : Bi(f, [r]);
          XPe(r, a, l, d);
        }
        function Im(r, a, l, f, d, y, x, I) {
          const J = new _(Jr, I);
          return J.declaration = r, J.typeParameters = a, J.parameters = f, J.thisParameter = l, J.resolvedReturnType = d, J.resolvedTypePredicate = y, J.minArgumentCount = x, J.resolvedMinArgumentCount = void 0, J.target = void 0, J.mapper = void 0, J.compositeSignatures = void 0, J.compositeKind = void 0, J;
        }
        function GA(r) {
          const a = Im(
            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 QPe(r, a) {
          const l = GA(r);
          return l.compositeSignatures = a, l.compositeKind = 1048576, l.target = void 0, l.mapper = void 0, l;
        }
        function get(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] = het(r, a));
        }
        function het(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 = GA(r);
          return l.flags |= a, l;
        }
        function YPe(r, a) {
          if (wu(r)) {
            const d = r.parameters.length - 1, y = r.parameters[d], x = Yr(y);
            if (ba(x))
              return [l(x, d, y)];
            if (!a && x.flags & 1048576 && Ni(x.types, ba))
              return hr(x.types, (I) => l(I, d, y));
          }
          return [r.parameters];
          function l(d, y, x) {
            const I = wo(d), J = f(d, x), z = hr(I, (G, ve) => {
              const de = J && J[ve] ? J[ve] : bP(r, y + ve, d), We = d.target.elementFlags[ve], lt = We & 12 ? 32768 : We & 2 ? 16384 : 0, gt = ma(1, de, lt);
              return gt.links.type = We & 4 ? yu(G) : G, gt;
            });
            return Bi(r.parameters.slice(0, y), z);
          }
          function f(d, y) {
            const x = hr(d.target.labeledElementDeclarations, (I, J) => nme(I, J, d.target.elementFlags[J], y));
            if (x) {
              const I = [], J = /* @__PURE__ */ new Set();
              for (let G = 0; G < x.length; G++) {
                const ve = x[G];
                s0(J, ve) || I.push(G);
              }
              const z = /* @__PURE__ */ new Map();
              for (const G of I) {
                let ve = z.get(x[G]) ?? 1, de;
                for (; !s0(J, de = `${x[G]}_${ve}`); )
                  ve++;
                x[G] = de, z.set(x[G], ve + 1);
              }
            }
            return x;
          }
        }
        function yet(r) {
          const a = Vh(r), l = As(
            a,
            1
            /* Construct */
          ), f = Sh(r.symbol), d = !!f && Gn(
            f,
            64
            /* Abstract */
          );
          if (l.length === 0)
            return [Im(
              /*declaration*/
              void 0,
              r.localTypeParameters,
              /*thisParameter*/
              void 0,
              Ge,
              r,
              /*resolvedTypePredicate*/
              void 0,
              0,
              d ? 4 : 0
              /* None */
            )];
          const y = Qp(r), x = an(y), I = nM(y), J = wr(I), z = [];
          for (const G of l) {
            const ve = fg(G.typeParameters), de = wr(G.typeParameters);
            if (x || J >= ve && J <= de) {
              const We = de ? YG(G, Q0(I, G.typeParameters, ve, x)) : GA(G);
              We.typeParameters = r.localTypeParameters, We.resolvedReturnType = r, We.flags = d ? We.flags | 4 : We.flags & -5, z.push(We);
            }
          }
          return z;
        }
        function $G(r, a, l, f, d) {
          for (const y of r)
            if (vM(y, a, l, f, d, l ? Hrt : aI))
              return y;
        }
        function vet(r, a, l) {
          if (a.typeParameters) {
            if (l > 0)
              return;
            for (let d = 1; d < r.length; d++)
              if (!$G(
                r[d],
                a,
                /*partialMatch*/
                false,
                /*ignoreThisTypes*/
                false,
                /*ignoreReturnTypes*/
                false
              ))
                return;
            return [a];
          }
          let f;
          for (let d = 0; d < r.length; d++) {
            const y = d === l ? a : $G(
              r[d],
              a,
              /*partialMatch*/
              false,
              /*ignoreThisTypes*/
              false,
              /*ignoreReturnTypes*/
              true
            ) || $G(
              r[d],
              a,
              /*partialMatch*/
              true,
              /*ignoreThisTypes*/
              false,
              /*ignoreReturnTypes*/
              true
            );
            if (!y)
              return;
            f = lh(f, y);
          }
          return f;
        }
        function Pfe(r) {
          let a, l;
          for (let f = 0; f < r.length; f++) {
            if (r[f].length === 0) return Ge;
            r[f].length > 1 && (l = l === void 0 ? f : -1);
            for (const d of r[f])
              if (!a || !$G(
                a,
                d,
                /*partialMatch*/
                false,
                /*ignoreThisTypes*/
                false,
                /*ignoreReturnTypes*/
                true
              )) {
                const y = vet(r, d, f);
                if (y) {
                  let x = d;
                  if (y.length > 1) {
                    let I = d.thisParameter;
                    const J = lr(y, (z) => z.thisParameter);
                    if (J) {
                      const z = ia(Fi(y, (G) => G.thisParameter && Yr(G.thisParameter)));
                      I = wT(J, z);
                    }
                    x = QPe(d, y), x.thisParameter = I;
                  }
                  (a || (a = [])).push(x);
                }
              }
          }
          if (!wr(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 && ot(d, (I) => !!I.typeParameters && !ZPe(x.typeParameters, I.typeParameters)) ? void 0 : hr(d, (I) => xet(I, x)), !d)
                  break;
              }
            a = d;
          }
          return a || Ge;
        }
        function ZPe(r, a) {
          if (wr(r) !== wr(a))
            return false;
          if (!r || !a)
            return true;
          const l = gf(a, r);
          for (let f = 0; f < r.length; f++) {
            const d = r[f], y = a[f];
            if (d !== y && !ih(cP(d) || yt, Mi(cP(y) || yt, l)))
              return false;
          }
          return true;
        }
        function bet(r, a, l) {
          if (!r || !a)
            return r || a;
          const f = ia([Yr(r), Mi(Yr(a), l)]);
          return wT(r, f);
        }
        function Tet(r, a, l) {
          const f = V_(r), d = V_(a), y = f >= d ? r : a, x = y === r ? a : r, I = y === r ? f : d, J = mg(r) || mg(a), z = J && !mg(y), G = new Array(I + (z ? 1 : 0));
          for (let ve = 0; ve < I; ve++) {
            let de = M2(y, ve);
            y === a && (de = Mi(de, l));
            let We = M2(x, ve) || yt;
            x === a && (We = Mi(We, l));
            const lt = ia([de, We]), gt = J && !z && ve === I - 1, jt = ve >= Qd(y) && ve >= Qd(x), ar = ve >= f ? void 0 : bP(r, ve), jr = ve >= d ? void 0 : bP(a, ve), Kr = ar === jr ? ar : ar ? jr ? void 0 : ar : jr, or = ma(
              1 | (jt && !gt ? 16777216 : 0),
              Kr || `arg${ve}`,
              gt ? 32768 : jt ? 16384 : 0
            );
            or.links.type = gt ? yu(lt) : lt, G[ve] = or;
          }
          if (z) {
            const ve = ma(
              1,
              "args",
              32768
              /* RestParameter */
            );
            ve.links.type = yu(Xd(x, I)), x === a && (ve.links.type = Mi(ve.links.type, l)), G[I] = ve;
          }
          return G;
        }
        function xet(r, a) {
          const l = r.typeParameters || a.typeParameters;
          let f;
          r.typeParameters && a.typeParameters && (f = gf(a.typeParameters, r.typeParameters));
          let d = (r.flags | a.flags) & 166;
          const y = r.declaration, x = Tet(r, a, f), I = ko(x);
          I && oc(I) & 32768 && (d |= 1);
          const J = bet(r.thisParameter, a.thisParameter, f), z = Math.max(r.minArgumentCount, a.minArgumentCount), G = Im(
            y,
            l,
            J,
            x,
            /*resolvedReturnType*/
            void 0,
            /*resolvedTypePredicate*/
            void 0,
            z,
            d
          );
          return G.compositeKind = 1048576, G.compositeSignatures = Bi(r.compositeKind !== 2097152 && r.compositeSignatures || [r], [a]), f ? G.mapper = r.compositeKind !== 2097152 && r.mapper && r.compositeSignatures ? Kv(r.mapper, f) : f : r.compositeKind !== 2097152 && r.mapper && r.compositeSignatures && (G.mapper = r.mapper), G;
        }
        function KPe(r) {
          const a = hu(r[0]);
          if (a) {
            const l = [];
            for (const f of a) {
              const d = f.keyType;
              Ni(r, (y) => !!th(y, d)) && l.push(rh(d, Xn(hr(r, (y) => Xv(y, d))), ot(r, (y) => th(y, d).isReadonly)));
            }
            return l;
          }
          return Ge;
        }
        function ket(r) {
          const a = Pfe(hr(r.types, (d) => d === Mr ? [Vn] : As(
            d,
            0
            /* Call */
          ))), l = Pfe(hr(r.types, (d) => As(
            d,
            1
            /* Construct */
          ))), f = KPe(r.types);
          Xp(r, A, a, l, f);
        }
        function QL(r, a) {
          return r ? a ? ia([r, a]) : r : a;
        }
        function e3e(r) {
          const a = i0(r, (f) => As(
            f,
            1
            /* Construct */
          ).length > 0), l = hr(r, Hl);
          if (a > 0 && a === i0(l, (f) => f)) {
            const f = l.indexOf(
              /*searchElement*/
              true
            );
            l[f] = false;
          }
          return l;
        }
        function Cet(r, a, l, f) {
          const d = [];
          for (let y = 0; y < a.length; y++)
            y === f ? d.push(r) : l[y] && d.push(Ba(As(
              a[y],
              1
              /* Construct */
            )[0]));
          return ia(d);
        }
        function Eet(r) {
          let a, l, f;
          const d = r.types, y = e3e(d), x = i0(y, (I) => I);
          for (let I = 0; I < d.length; I++) {
            const J = r.types[I];
            if (!y[I]) {
              let z = As(
                J,
                1
                /* Construct */
              );
              z.length && x > 0 && (z = hr(z, (G) => {
                const ve = GA(G);
                return ve.resolvedReturnType = Cet(Ba(G), d, y, I), ve;
              })), l = t3e(l, z);
            }
            a = t3e(a, As(
              J,
              0
              /* Call */
            )), f = ju(hu(J), (z, G) => r3e(
              z,
              G,
              /*union*/
              false
            ), f);
          }
          Xp(r, A, a || Ge, l || Ge, f || Ge);
        }
        function t3e(r, a) {
          for (const l of a)
            (!r || Ni(r, (f) => !vM(
              f,
              l,
              /*partialMatch*/
              false,
              /*ignoreThisTypes*/
              false,
              /*ignoreReturnTypes*/
              false,
              aI
            ))) && (r = Er(r, l));
          return r;
        }
        function r3e(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] = rh(d.keyType, l ? Xn([d.type, a.type]) : ia([d.type, a.type]), l ? d.isReadonly || a.isReadonly : d.isReadonly && a.isReadonly), r;
            }
          return Er(r, a);
        }
        function Det(r) {
          if (r.target) {
            Xp(r, A, Ge, Ge, Ge);
            const x = zPe(
              X0(r.target),
              r.mapper,
              /*mappingThisOnly*/
              false
            ), I = d$(As(
              r.target,
              0
              /* Call */
            ), r.mapper), J = d$(As(
              r.target,
              1
              /* Construct */
            ), r.mapper), z = ENe(hu(r.target), r.mapper);
            Xp(r, x, I, J, z);
            return;
          }
          const a = Ia(r.symbol);
          if (a.flags & 2048) {
            Xp(r, A, Ge, Ge, Ge);
            const x = ug(a), I = E2(x.get(
              "__call"
              /* Call */
            )), J = E2(x.get(
              "__new"
              /* New */
            )), z = T3e(a);
            Xp(r, x, I, J, z);
            return;
          }
          let l = ff(a), f;
          if (a === Se) {
            const x = /* @__PURE__ */ new Map();
            l.forEach((I) => {
              var J;
              !(I.flags & 418) && !(I.flags & 512 && ((J = I.declarations) != null && J.length) && Ni(I.declarations, Ju)) && x.set(I.escapedName, I);
            }), l = x;
          }
          let d;
          if (Xp(r, l, Ge, Ge, Ge), a.flags & 32) {
            const x = vp(a), I = Vh(x);
            I.flags & 11272192 ? (l = js(jk(l)), WPe(l, qa(I))) : I === Le && (d = Yi);
          }
          const y = KG(l);
          if (y ? f = e$(y, ns(l.values())) : (d && (f = Er(f, d)), a.flags & 384 && (ho(a).flags & 32 || ot(r.properties, (x) => !!(Yr(x).flags & 296))) && (f = Er(f, Li))), Xp(r, l, Ge, Ge, f || Ge), a.flags & 8208 && (r.callSignatures = E2(a)), a.flags & 32) {
            const x = vp(a);
            let I = a.members ? E2(a.members.get(
              "__constructor"
              /* Constructor */
            )) : Ge;
            a.flags & 16 && (I = In(
              I.slice(),
              Fi(
                r.callSignatures,
                (J) => Rm(J.declaration) ? Im(
                  J.declaration,
                  J.typeParameters,
                  J.thisParameter,
                  J.parameters,
                  x,
                  /*resolvedTypePredicate*/
                  void 0,
                  J.minArgumentCount,
                  J.flags & 167
                  /* PropagatingFlags */
                ) : void 0
              )
            )), I.length || (I = yet(x)), r.constructSignatures = I;
          }
        }
        function wet(r, a, l) {
          return Mi(r, gf([a.indexType, a.objectType], [qd(0), pg([l])]));
        }
        function Pet(r) {
          const a = Vf(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 = ia(l.types.filter((d) => d !== r.constraintType));
          return f !== nr ? f : void 0;
        }
        function Net(r) {
          const a = th(r.source, at), l = _g(r.mappedType), f = !(l & 1), d = l & 4 ? 0 : 16777216, y = a ? [rh(at, L$(a.type, r.mappedType, r.constraintType) || yt, f && a.isReadonly)] : Ge, x = js(), I = Pet(r);
          for (const J of qa(r.source)) {
            if (I) {
              const ve = $k(
                J,
                8576
                /* StringOrNumberLiteralOrUnique */
              );
              if (!Ls(ve, I))
                continue;
            }
            const z = 8192 | (f && Yd(J) ? 8 : 0), G = ma(4 | J.flags & d, J.escapedName, z);
            if (G.declarations = J.declarations, G.links.nameType = Pn(J).nameType, G.links.propertyType = Yr(J), r.constraintType.type.flags & 8388608 && r.constraintType.type.objectType.flags & 262144 && r.constraintType.type.indexType.flags & 262144) {
              const ve = r.constraintType.type.objectType, de = wet(r.mappedType, r.constraintType.type, ve);
              G.links.mappedType = de, G.links.constraintType = Om(ve);
            } else
              G.links.mappedType = r.mappedType, G.links.constraintType = r.constraintType;
            x.set(J.escapedName, G);
          }
          Xp(r, x, Ge, Ge, y);
        }
        function YL(r) {
          if (r.flags & 4194304) {
            const a = Qu(r.type);
            return x1(a) ? Y3e(a) : Om(a);
          }
          if (r.flags & 16777216) {
            if (r.root.isDistributive) {
              const a = r.checkType, l = YL(a);
              if (l !== a)
                return Epe(
                  r,
                  CT(r.root.checkType, l, r.mapper),
                  /*forConstraint*/
                  false
                );
            }
            return r;
          }
          if (r.flags & 1048576)
            return Vo(
              r,
              YL,
              /*noReductions*/
              true
            );
          if (r.flags & 2097152) {
            const a = r.types;
            return a.length === 2 && a[0].flags & 76 && a[1] === zs ? r : ia(Gc(r.types, YL));
          }
          return r;
        }
        function Nfe(r) {
          return oc(r) & 4096;
        }
        function Afe(r, a, l, f) {
          for (const d of qa(r))
            f($k(d, a));
          if (r.flags & 1)
            f(at);
          else
            for (const d of hu(r))
              (!l || d.keyType.flags & 134217732) && f(d.keyType);
        }
        function Aet(r) {
          const a = js();
          let l;
          Xp(r, A, Ge, Ge, Ge);
          const f = hd(r), d = Vf(r), y = r.target || r, x = $0(y), I = $A(y) !== 2, J = eh(y), z = Qu($v(r)), G = _g(r);
          EE(r) ? Afe(
            z,
            8576,
            /*stringsOnly*/
            false,
            de
          ) : IT(YL(d), de), Xp(r, a, Ge, Ge, l || Ge);
          function de(lt) {
            const gt = x ? Mi(x, nI(r.mapper, f, lt)) : lt;
            IT(gt, (jt) => We(lt, jt));
          }
          function We(lt, gt) {
            if (op(gt)) {
              const jt = cp(gt), ar = a.get(jt);
              if (ar)
                ar.links.nameType = Xn([ar.links.nameType, gt]), ar.links.keyType = Xn([ar.links.keyType, lt]);
              else {
                const jr = op(lt) ? Qs(z, cp(lt)) : void 0, Kr = !!(G & 4 || !(G & 8) && jr && jr.flags & 16777216), or = !!(G & 1 || !(G & 2) && jr && Yd(jr)), ir = K && !Kr && jr && jr.flags & 16777216, nn = jr ? Nfe(jr) : 0, Qn = ma(4 | (Kr ? 16777216 : 0), jt, nn | 262144 | (or ? 8 : 0) | (ir ? 524288 : 0));
                Qn.links.mappedType = r, Qn.links.nameType = gt, Qn.links.keyType = lt, jr && (Qn.links.syntheticOrigin = jr, Qn.declarations = I ? jr.declarations : void 0), a.set(jt, Qn);
              }
            } else if (t$(gt) || gt.flags & 33) {
              const jt = gt.flags & 5 ? at : gt.flags & 40 ? wt : gt, ar = Mi(J, nI(r.mapper, f, lt)), jr = XA(z, gt), Kr = !!(G & 1 || !(G & 2) && jr?.isReadonly), or = rh(jt, ar, Kr);
              l = r3e(
                l,
                or,
                /*union*/
                true
              );
            }
          }
        }
        function Iet(r) {
          var a;
          if (!r.links.type) {
            const l = r.links.mappedType;
            if (!Am(
              r,
              0
              /* Type */
            ))
              return l.containsError = true, qe;
            const f = eh(l.target || l), d = nI(l.mapper, hd(l), r.links.keyType), y = Mi(f, d);
            let x = K && r.flags & 16777216 && !kc(
              y,
              49152
              /* Void */
            ) ? k1(
              y,
              /*isProperty*/
              true
            ) : r.links.checkFlags & 524288 ? N$(y) : y;
            He() || (ze(k, p.Type_of_property_0_circularly_references_itself_in_mapped_type_1, Wi(r), Wr(l)), x = qe), (a = r.links).type ?? (a.type = x);
          }
          return r.links.type;
        }
        function hd(r) {
          return r.typeParameter || (r.typeParameter = Gv(yn(r.declaration.typeParameter)));
        }
        function Vf(r) {
          return r.constraintType || (r.constraintType = __(hd(r)) || qe);
        }
        function $0(r) {
          return r.declaration.nameType ? r.nameType || (r.nameType = Mi(Ci(r.declaration.nameType), r.mapper)) : void 0;
        }
        function eh(r) {
          return r.templateType || (r.templateType = r.declaration.type ? Mi(Fu(
            Ci(r.declaration.type),
            /*isProperty*/
            true,
            !!(_g(r) & 4)
          ), r.mapper) : qe);
        }
        function n3e(r) {
          return kC(r.declaration.typeParameter);
        }
        function EE(r) {
          const a = n3e(r);
          return a.kind === 199 && a.operator === 143;
        }
        function $v(r) {
          if (!r.modifiersType)
            if (EE(r))
              r.modifiersType = Mi(Ci(n3e(r).type), r.mapper);
            else {
              const a = dpe(r.declaration), l = Vf(a), f = l && l.flags & 262144 ? __(l) : l;
              r.modifiersType = f && f.flags & 4194304 ? Mi(f.type, r.mapper) : yt;
            }
          return r.modifiersType;
        }
        function _g(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 i3e(r) {
          const a = _g(r);
          return a & 8 ? -1 : a & 4 ? 1 : 0;
        }
        function iP(r) {
          if (Dn(r) & 32)
            return i3e(r) || iP($v(r));
          if (r.flags & 2097152) {
            const a = iP(r.types[0]);
            return Ni(r.types, (l, f) => f === 0 || iP(l) === a) ? a : 0;
          }
          return 0;
        }
        function Fet(r) {
          return !!(Dn(r) & 32 && _g(r) & 4);
        }
        function A_(r) {
          if (Dn(r) & 32) {
            const a = Vf(r);
            if (kT(a))
              return true;
            const l = $0(r);
            if (l && kT(Mi(l, N2(hd(r), a))))
              return true;
          }
          return false;
        }
        function $A(r) {
          const a = $0(r);
          return a ? Ls(a, hd(r)) ? 1 : 2 : 0;
        }
        function Vd(r) {
          return r.members || (r.flags & 524288 ? r.objectFlags & 4 ? met(r) : r.objectFlags & 3 ? det(r) : r.objectFlags & 1024 ? Net(r) : r.objectFlags & 16 ? Det(r) : r.objectFlags & 32 ? Aet(r) : E.fail("Unhandled object type " + E.formatObjectFlags(r.objectFlags)) : r.flags & 1048576 ? ket(r) : r.flags & 2097152 ? Eet(r) : E.fail("Unhandled type " + E.formatTypeFlags(r.flags))), r;
        }
        function X0(r) {
          return r.flags & 524288 ? Vd(r).properties : Ge;
        }
        function k2(r, a) {
          if (r.flags & 524288) {
            const f = Vd(r).members.get(a);
            if (f && ur(f))
              return f;
          }
        }
        function ZL(r) {
          if (!r.resolvedProperties) {
            const a = js();
            for (const l of r.types) {
              for (const f of qa(l))
                if (!a.has(f.escapedName)) {
                  const d = eM(
                    r,
                    f.escapedName,
                    /*skipObjectFunctionPropertyAugment*/
                    !!(r.flags & 2097152)
                  );
                  d && a.set(f.escapedName, d);
                }
              if (r.flags & 1048576 && hu(l).length === 0)
                break;
            }
            r.resolvedProperties = u_(a);
          }
          return r.resolvedProperties;
        }
        function qa(r) {
          return r = sP(r), r.flags & 3145728 ? ZL(r) : X0(r);
        }
        function Oet(r, a) {
          r = sP(r), r.flags & 3670016 && Vd(r).members.forEach((l, f) => {
            p1(l, f) && a(l, f);
          });
        }
        function Let(r, a) {
          return a.properties.some((f) => {
            const d = f.name && (Pd(f.name) ? W_(kN(f.name)) : Hh(f.name)), y = d && op(d) ? cp(d) : void 0, x = y === void 0 ? void 0 : rr(r, y);
            return !!x && lI(x) && !Ls(aC(f), x);
          });
        }
        function Met(r) {
          const a = Xn(r);
          if (!(a.flags & 1048576))
            return Jme(a);
          const l = js();
          for (const f of r)
            for (const { escapedName: d } of Jme(f))
              if (!l.has(d)) {
                const y = _3e(a, d);
                y && l.set(d, y);
              }
          return ns(l.values());
        }
        function hT(r) {
          return r.flags & 262144 ? __(r) : r.flags & 8388608 ? jet(r) : r.flags & 16777216 ? o3e(r) : nu(r);
        }
        function __(r) {
          return KL(r) ? cP(r) : void 0;
        }
        function Ret(r, a) {
          const l = iI(r);
          return !!l && yT(l, a);
        }
        function yT(r, a = 0) {
          var l;
          return a < 5 && !!(r && (r.flags & 262144 && ot((l = r.symbol) == null ? void 0 : l.declarations, (f) => Gn(
            f,
            4096
            /* Const */
          )) || r.flags & 3145728 && ot(r.types, (f) => yT(f, a)) || r.flags & 8388608 && yT(r.objectType, a + 1) || r.flags & 16777216 && yT(o3e(r), a + 1) || r.flags & 33554432 && yT(r.baseType, a) || Dn(r) & 32 && Ret(r, a) || x1(r) && ic(D2(r), (f, d) => !!(r.target.elementFlags[d] & 8) && yT(f, a)) >= 0));
        }
        function jet(r) {
          return KL(r) ? Bet(r) : void 0;
        }
        function Ife(r) {
          const a = Gh(
            r,
            /*writing*/
            false
          );
          return a !== r ? a : hT(r);
        }
        function Bet(r) {
          if (Mfe(r))
            return u$(r.objectType, r.indexType);
          const a = Ife(r.indexType);
          if (a && a !== r.indexType) {
            const f = b1(r.objectType, a, r.accessFlags);
            if (f)
              return f;
          }
          const l = Ife(r.objectType);
          if (l && l !== r.objectType)
            return b1(l, r.indexType, r.accessFlags);
        }
        function Ffe(r) {
          if (!r.resolvedDefaultConstraint) {
            const a = krt(r), l = T1(r);
            r.resolvedDefaultConstraint = gn(a) ? l : gn(l) ? a : Xn([a, l]);
          }
          return r.resolvedDefaultConstraint;
        }
        function s3e(r) {
          if (r.resolvedConstraintOfDistributive !== void 0)
            return r.resolvedConstraintOfDistributive || void 0;
          if (r.root.isDistributive && r.restrictiveInstantiation !== r) {
            const a = Gh(
              r.checkType,
              /*writing*/
              false
            ), l = a === r.checkType ? hT(a) : a;
            if (l && l !== r.checkType) {
              const f = Epe(
                r,
                CT(r.root.checkType, l, r.mapper),
                /*forConstraint*/
                true
              );
              if (!(f.flags & 131072))
                return r.resolvedConstraintOfDistributive = f, f;
            }
          }
          r.resolvedConstraintOfDistributive = false;
        }
        function a3e(r) {
          return s3e(r) || Ffe(r);
        }
        function o3e(r) {
          return KL(r) ? a3e(r) : void 0;
        }
        function Jet(r, a) {
          let l, f = false;
          for (const d of r)
            if (d.flags & 465829888) {
              let y = hT(d);
              for (; y && y.flags & 21233664; )
                y = hT(y);
              y && (l = Er(l, y), a && (l = Er(l, d)));
            } else (d.flags & 469892092 || dg(d)) && (f = true);
          if (l && (a || f)) {
            if (f)
              for (const d of r)
                (d.flags & 469892092 || dg(d)) && (l = Er(l, d));
            return gM(
              ia(
                l,
                2
                /* NoConstraintReduction */
              ),
              /*writing*/
              false
            );
          }
        }
        function nu(r) {
          if (r.flags & 464781312 || x1(r)) {
            const a = Ofe(r);
            return a !== mc && a !== Nc ? a : void 0;
          }
          return r.flags & 4194304 ? oi : void 0;
        }
        function Fm(r) {
          return nu(r) || r;
        }
        function KL(r) {
          return Ofe(r) !== Nc;
        }
        function Ofe(r) {
          if (r.resolvedBaseConstraint)
            return r.resolvedBaseConstraint;
          const a = [];
          return r.resolvedBaseConstraint = l(r);
          function l(y) {
            if (!y.immediateBaseConstraint) {
              if (!Am(
                y,
                4
                /* ImmediateBaseConstraint */
              ))
                return Nc;
              let x;
              const I = k$(y);
              if ((a.length < 10 || a.length < 50 && !ds(a, I)) && (a.push(I), x = d(Gh(
                y,
                /*writing*/
                false
              )), a.pop()), !He()) {
                if (y.flags & 262144) {
                  const J = r$(y);
                  if (J) {
                    const z = ze(J, p.Type_parameter_0_has_a_circular_constraint, Wr(y));
                    k && !wb(J, k) && !wb(k, J) && Js(z, sn(k, p.Circularity_originates_in_type_at_this_location));
                  }
                }
                x = Nc;
              }
              y.immediateBaseConstraint ?? (y.immediateBaseConstraint = x || mc);
            }
            return y.immediateBaseConstraint;
          }
          function f(y) {
            const x = l(y);
            return x !== mc && x !== Nc ? x : void 0;
          }
          function d(y) {
            if (y.flags & 262144) {
              const x = cP(y);
              return y.isThisType || !x ? x : f(x);
            }
            if (y.flags & 3145728) {
              const x = y.types, I = [];
              let J = false;
              for (const z of x) {
                const G = f(z);
                G ? (G !== z && (J = true), I.push(G)) : J = true;
              }
              return J ? y.flags & 1048576 && I.length === x.length ? Xn(I) : y.flags & 2097152 && I.length ? ia(I) : void 0 : y;
            }
            if (y.flags & 4194304)
              return oi;
            if (y.flags & 134217728) {
              const x = y.types, I = Fi(x, f);
              return I.length === x.length ? ST(y.texts, I) : at;
            }
            if (y.flags & 268435456) {
              const x = f(y.type);
              return x && x !== y.type ? Xk(y.symbol, x) : at;
            }
            if (y.flags & 8388608) {
              if (Mfe(y))
                return f(u$(y.objectType, y.indexType));
              const x = f(y.objectType), I = f(y.indexType), J = x && I && b1(x, I, y.accessFlags);
              return J && f(J);
            }
            if (y.flags & 16777216) {
              const x = a3e(y);
              return x && f(x);
            }
            if (y.flags & 33554432)
              return f(Xfe(y));
            if (x1(y)) {
              const x = hr(D2(y), (I, J) => {
                const z = I.flags & 262144 && y.target.elementFlags[J] & 8 && f(I) || I;
                return z !== I && U_(z, (G) => tb(G) && !x1(G)) ? z : I;
              });
              return pg(x, y.target.elementFlags, y.target.readonly, y.target.labeledElementDeclarations);
            }
            return y;
          }
        }
        function zet(r, a) {
          if (r === a)
            return r.resolvedApparentType || (r.resolvedApparentType = df(
              r,
              a,
              /*needApparentType*/
              true
            ));
          const l = `I${Ol(r)},${Ol(a)}`;
          return c_(l) ?? Gp(l, df(
            r,
            a,
            /*needApparentType*/
            true
          ));
        }
        function Lfe(r) {
          if (r.default)
            r.default === Wl && (r.default = Nc);
          else if (r.target) {
            const a = Lfe(r.target);
            r.default = a ? Mi(a, r.mapper) : mc;
          } else {
            r.default = Wl;
            const a = r.symbol && lr(r.symbol.declarations, (f) => Io(f) && f.default), l = a ? Ci(a) : mc;
            r.default === Wl && (r.default = l);
          }
          return r.default;
        }
        function C2(r) {
          const a = Lfe(r);
          return a !== mc && a !== Nc ? a : void 0;
        }
        function Wet(r) {
          return Lfe(r) !== Nc;
        }
        function c3e(r) {
          return !!(r.symbol && lr(r.symbol.declarations, (a) => Io(a) && a.default));
        }
        function l3e(r) {
          return r.resolvedApparentType || (r.resolvedApparentType = Uet(r));
        }
        function Uet(r) {
          const a = r.target ?? r, l = iI(a);
          if (l && !a.declaration.nameType) {
            const f = $v(r), d = A_(f) ? l3e(f) : nu(f);
            if (d && U_(d, (y) => tb(y) || u3e(y)))
              return Mi(a, CT(l, d, r.mapper));
          }
          return r;
        }
        function u3e(r) {
          return !!(r.flags & 2097152) && Ni(r.types, tb);
        }
        function Mfe(r) {
          let a;
          return !!(r.flags & 8388608 && Dn(a = r.objectType) & 32 && !A_(a) && kT(r.indexType) && !(_g(a) & 8) && !a.declaration.nameType);
        }
        function Qu(r) {
          const a = r.flags & 465829888 ? nu(r) || yt : r, l = Dn(a);
          return l & 32 ? l3e(a) : l & 4 && a !== r ? df(a, r) : a.flags & 2097152 ? zet(a, r) : a.flags & 402653316 ? tl : a.flags & 296 ? Eo : a.flags & 2112 ? wtt() : a.flags & 528 ? rc : a.flags & 12288 ? J3e() : a.flags & 67108864 ? ea : a.flags & 4194304 ? oi : a.flags & 2 && !K ? ea : a;
        }
        function sP(r) {
          return Yp(Qu(Yp(r)));
        }
        function _3e(r, a, l) {
          var f, d, y;
          let x = 0, I, J, z;
          const G = r.flags & 1048576;
          let ve, de = 4, We = G ? 0 : 8, lt = false;
          for (const Ri of r.types) {
            const zn = Qu(Ri);
            if (!(Gr(zn) || zn.flags & 131072)) {
              const bi = Qs(zn, a, l), xs = bi ? ap(bi) : 0;
              if (bi) {
                if (bi.flags & 106500 && (ve ?? (ve = G ? 0 : 16777216), G ? ve |= bi.flags & 16777216 : ve &= bi.flags), !I)
                  I = bi, x = bi.flags & 98304 || 4;
                else if (bi !== I) {
                  if ((UE(bi) || bi) === (UE(I) || I) && Rpe(
                    I,
                    bi,
                    (Vi, Lo) => Vi === Lo ? -1 : 0
                    /* False */
                  ) === -1)
                    lt = !!I.parent && !!wr(na(I.parent));
                  else {
                    J || (J = /* @__PURE__ */ new Map(), J.set($s(I), I));
                    const Vi = $s(bi);
                    J.has(Vi) || J.set(Vi, bi);
                  }
                  x & 98304 && (bi.flags & 98304) !== (x & 98304) && (x = x & -98305 | 4);
                }
                G && Yd(bi) ? We |= 8 : !G && !Yd(bi) && (We &= -9), We |= (xs & 6 ? 0 : 256) | (xs & 4 ? 512 : 0) | (xs & 2 ? 1024 : 0) | (xs & 256 ? 2048 : 0), Fde(bi) || (de = 2);
              } else if (G) {
                const Ja = !HA(a) && Gk(zn, a);
                Ja ? (x = x & -98305 | 4, We |= 32 | (Ja.isReadonly ? 8 : 0), z = Er(z, ba(zn) ? D$(zn) || ue : Ja.type)) : ey(zn) && !(Dn(zn) & 2097152) ? (We |= 32, z = Er(z, ue)) : We |= 16;
              }
            }
          }
          if (!I || G && (J || We & 48) && We & 1536 && !(J && Vet(J.values())))
            return;
          if (!J && !(We & 16) && !z)
            if (lt) {
              const Ri = (f = Bn(I, Cg)) == null ? void 0 : f.links, zn = wT(I, Ri?.type);
              return zn.parent = (y = (d = I.valueDeclaration) == null ? void 0 : d.symbol) == null ? void 0 : y.parent, zn.links.containingType = r, zn.links.mapper = Ri?.mapper, zn.links.writeType = G0(I), zn;
            } else
              return I;
          const gt = J ? ns(J.values()) : [I];
          let jt, ar, jr;
          const Kr = [];
          let or, ir, nn = false;
          for (const Ri of gt) {
            ir ? Ri.valueDeclaration && Ri.valueDeclaration !== ir && (nn = true) : ir = Ri.valueDeclaration, jt = In(jt, Ri.declarations);
            const zn = Yr(Ri);
            ar || (ar = zn, jr = Pn(Ri).nameType);
            const bi = G0(Ri);
            (or || bi !== zn) && (or = Er(or || Kr.slice(), bi)), zn !== ar && (We |= 64), (lI(zn) || TT(zn)) && (We |= 128), zn.flags & 131072 && zn !== ro && (We |= 131072), Kr.push(zn);
          }
          In(Kr, z);
          const Qn = ma(x | (ve ?? 0), a, de | We);
          return Qn.links.containingType = r, !nn && ir && (Qn.valueDeclaration = ir, ir.symbol.parent && (Qn.parent = ir.symbol.parent)), Qn.declarations = jt, Qn.links.nameType = jr, Kr.length > 2 ? (Qn.links.checkFlags |= 65536, Qn.links.deferralParent = r, Qn.links.deferralConstituents = Kr, Qn.links.deferralWriteConstituents = or) : (Qn.links.type = G ? Xn(Kr) : ia(Kr), or && (Qn.links.writeType = G ? Xn(or) : ia(or))), Qn;
        }
        function f3e(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 = _3e(r, a, l), x && ((l ? r.propertyCacheWithoutObjectFunctionPropertyAugment || (r.propertyCacheWithoutObjectFunctionPropertyAugment = js()) : r.propertyCache || (r.propertyCache = js())).set(a, x), l && !(oc(x) & 48) && !((y = r.propertyCache) != null && y.get(a)) && (r.propertyCache || (r.propertyCache = js())).set(a, x))), x;
        }
        function Vet(r) {
          let a;
          for (const l of r) {
            if (!l.declarations)
              return;
            if (!a) {
              a = new Set(l.declarations);
              continue;
            }
            if (a.forEach((f) => {
              ds(l.declarations, f) || a.delete(f);
            }), a.size === 0)
              return;
          }
          return a;
        }
        function eM(r, a, l) {
          const f = f3e(r, a, l);
          return f && !(oc(f) & 16) ? f : void 0;
        }
        function Yp(r) {
          return r.flags & 1048576 && r.objectFlags & 16777216 ? r.resolvedReducedType || (r.resolvedReducedType = qet(r)) : r.flags & 2097152 ? (r.objectFlags & 16777216 || (r.objectFlags |= 16777216 | (ot(ZL(r), Het) ? 33554432 : 0)), r.objectFlags & 33554432 ? nr : r) : r;
        }
        function qet(r) {
          const a = Gc(r.types, Yp);
          if (a === r.types)
            return r;
          const l = Xn(a);
          return l.flags & 1048576 && (l.resolvedReducedType = l), l;
        }
        function Het(r) {
          return p3e(r) || d3e(r);
        }
        function p3e(r) {
          return !(r.flags & 16777216) && (oc(r) & 131264) === 192 && !!(Yr(r).flags & 131072);
        }
        function d3e(r) {
          return !r.valueDeclaration && !!(oc(r) & 1024);
        }
        function Rfe(r) {
          return !!(r.flags & 1048576 && r.objectFlags & 16777216 && ot(r.types, Rfe) || r.flags & 2097152 && Get(r));
        }
        function Get(r) {
          const a = r.uniqueLiteralFilledInstantiation || (r.uniqueLiteralFilledInstantiation = Mi(r, zi));
          return Yp(a) !== a;
        }
        function jfe(r, a) {
          if (a.flags & 2097152 && Dn(a) & 33554432) {
            const l = Nn(ZL(a), p3e);
            if (l)
              return Ss(r, p.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents, Wr(
                a,
                /*enclosingDeclaration*/
                void 0,
                536870912
                /* NoTypeReduction */
              ), Wi(l));
            const f = Nn(ZL(a), d3e);
            if (f)
              return Ss(r, p.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some, Wr(
                a,
                /*enclosingDeclaration*/
                void 0,
                536870912
                /* NoTypeReduction */
              ), Wi(f));
          }
          return r;
        }
        function Qs(r, a, l, f) {
          var d, y;
          if (r = sP(r), r.flags & 524288) {
            const x = Vd(r), I = x.members.get(a);
            if (I && !f && ((d = r.symbol) == null ? void 0 : d.flags) & 512 && ((y = Pn(r.symbol).typeOnlyExportStarMap) != null && y.has(a)))
              return;
            if (I && ur(I, f))
              return I;
            if (l) return;
            const J = x === Xa ? Mr : x.callSignatures.length ? Gi : x.constructSignatures.length ? Ea : void 0;
            if (J) {
              const z = k2(J, a);
              if (z)
                return z;
            }
            return k2(Ot, a);
          }
          if (r.flags & 2097152) {
            const x = eM(
              r,
              a,
              /*skipObjectFunctionPropertyAugment*/
              true
            );
            return x || (l ? void 0 : eM(r, a, l));
          }
          if (r.flags & 1048576)
            return eM(r, a, l);
        }
        function tM(r, a) {
          if (r.flags & 3670016) {
            const l = Vd(r);
            return a === 0 ? l.callSignatures : l.constructSignatures;
          }
          return Ge;
        }
        function As(r, a) {
          const l = tM(sP(r), a);
          if (a === 0 && !wr(l) && r.flags & 1048576) {
            if (r.arrayFallbackSignatures)
              return r.arrayFallbackSignatures;
            let f;
            if (U_(r, (d) => {
              var y;
              return !!((y = d.symbol) != null && y.parent) && $et(d.symbol.parent) && (f ? f === d.symbol.escapedName : (f = d.symbol.escapedName, true));
            })) {
              const d = Vo(r, (x) => Z0((m3e(x.symbol.parent) ? da : Da).typeParameters[0], x.mapper)), y = yu(d, kp(r, (x) => m3e(x.symbol.parent)));
              return r.arrayFallbackSignatures = As(rr(y, f), a);
            }
            r.arrayFallbackSignatures = l;
          }
          return l;
        }
        function $et(r) {
          return !r || !Da.symbol || !da.symbol ? false : !!le(r, Da.symbol) || !!le(r, da.symbol);
        }
        function m3e(r) {
          return !r || !da.symbol ? false : !!le(r, da.symbol);
        }
        function aP(r, a) {
          return Nn(r, (l) => l.keyType === a);
        }
        function Bfe(r, a) {
          let l, f, d;
          for (const y of r)
            y.keyType === at ? l = y : Hk(a, y.keyType) && (f ? (d || (d = [f])).push(y) : f = y);
          return d ? rh(yt, ia(hr(d, (y) => y.type)), ju(
            d,
            (y, x) => y && x.isReadonly,
            /*initial*/
            true
          )) : f || (l && Hk(a, at) ? l : void 0);
        }
        function Hk(r, a) {
          return Ls(r, a) || a === at && Ls(r, wt) || a === wt && (r === ps || !!(r.flags & 128) && Mg(r.value));
        }
        function Jfe(r) {
          return r.flags & 3670016 ? Vd(r).indexInfos : Ge;
        }
        function hu(r) {
          return Jfe(sP(r));
        }
        function th(r, a) {
          return aP(hu(r), a);
        }
        function Xv(r, a) {
          var l;
          return (l = th(r, a)) == null ? void 0 : l.type;
        }
        function zfe(r, a) {
          return hu(r).filter((l) => Hk(a, l.keyType));
        }
        function XA(r, a) {
          return Bfe(hu(r), a);
        }
        function Gk(r, a) {
          return XA(r, HA(a) ? Jt : W_(Si(a)));
        }
        function g3e(r) {
          var a;
          let l;
          for (const f of yy(r))
            l = lh(l, Gv(f.symbol));
          return l?.length ? l : Tc(r) ? (a = oP(r)) == null ? void 0 : a.typeParameters : void 0;
        }
        function Wfe(r) {
          const a = [];
          return r.forEach((l, f) => {
            Vv(f) || a.push(l);
          }), a;
        }
        function h3e(r, a) {
          if (xl(r))
            return;
          const l = ql(
            Ye,
            '"' + r + '"',
            512
            /* ValueModule */
          );
          return l && a ? Ia(l) : l;
        }
        function XG(r) {
          return _x(r) || xN(r) || Ii(r) && oF(r);
        }
        function QA(r) {
          if (XG(r))
            return true;
          if (!Ii(r))
            return false;
          if (r.initializer) {
            const l = qf(r.parent), f = r.parent.parameters.indexOf(r);
            return E.assert(f >= 0), f >= Qd(
              l,
              3
              /* VoidIsNonOptional */
            );
          }
          const a = J1(r.parent);
          return a ? !r.type && !r.dotDotDotToken && r.parent.parameters.indexOf(r) >= uX(a).length : false;
        }
        function Xet(r) {
          return as(r) && !cm(r) && r.questionToken;
        }
        function YA(r, a, l, f) {
          return { kind: r, parameterName: a, parameterIndex: l, type: f };
        }
        function fg(r) {
          let a = 0;
          if (r)
            for (let l = 0; l < r.length; l++)
              c3e(r[l]) || (a = l + 1);
          return a;
        }
        function Q0(r, a, l, f) {
          const d = wr(a);
          if (!d)
            return [];
          const y = wr(r);
          if (f || y >= l && y <= d) {
            const x = r ? r.slice() : [];
            for (let J = y; J < d; J++)
              x[J] = qe;
            const I = rde(f);
            for (let J = y; J < d; J++) {
              let z = C2(a[J]);
              f && z && (ih(z, yt) || ih(z, ea)) && (z = Le), x[J] = z ? Mi(z, gf(a, x)) : I;
            }
            return x.length = a.length, x;
          }
          return r && r.slice();
        }
        function qf(r) {
          const a = xn(r);
          if (!a.resolvedSignature) {
            const l = [];
            let f = 0, d = 0, y, x = an(r) ? y7(r) : void 0, I = false;
            const J = J1(r), z = fx(r);
            !J && an(r) && aS(r) && !oZ(r) && !ot(r.parameters, (lt) => !!o0(lt)) && !o0(r) && !Z$(r) && (f |= 32);
            for (let lt = z ? 1 : 0; lt < r.parameters.length; lt++) {
              const gt = r.parameters[lt];
              if (an(gt) && Cz(gt)) {
                x = gt;
                continue;
              }
              let jt = gt.symbol;
              const ar = Af(gt) ? gt.typeExpression && gt.typeExpression.type : gt.type;
              jt && jt.flags & 4 && !Ds(gt.name) && (jt = st(
                gt,
                jt.escapedName,
                111551,
                /*nameNotFoundMessage*/
                void 0,
                /*isUse*/
                false
              )), lt === 0 && jt.escapedName === "this" ? (I = true, y = gt.symbol) : l.push(jt), ar && ar.kind === 202 && (f |= 2), XG(gt) || Ii(gt) && gt.initializer || Wm(gt) || J && l.length > J.arguments.length && !ar || (d = l.length);
            }
            if ((r.kind === 178 || r.kind === 179) && CE(r) && (!I || !y)) {
              const lt = r.kind === 178 ? 179 : 178, gt = Ao(yn(r), lt);
              gt && (y = qk(gt));
            }
            x && x.typeExpression && (y = wT(ma(
              1,
              "this"
              /* This */
            ), Ci(x.typeExpression)));
            const ve = x0(r) ? V1(r) : r, de = ve && ec(ve) ? vp(Ia(ve.parent.symbol)) : void 0, We = de ? de.localTypeParameters : g3e(r);
            (Qj(r) || an(r) && Qet(r, l)) && (f |= 1), (a6(r) && Gn(
              r,
              64
              /* Abstract */
            ) || ec(r) && Gn(
              r.parent,
              64
              /* Abstract */
            )) && (f |= 4), a.resolvedSignature = Im(
              r,
              We,
              y,
              l,
              /*resolvedReturnType*/
              void 0,
              /*resolvedTypePredicate*/
              void 0,
              d,
              f
            );
          }
          return a.resolvedSignature;
        }
        function Qet(r, a) {
          if (x0(r) || !Ufe(r))
            return false;
          const l = ko(r.parameters), f = l ? xC(l) : R1(r).filter(Af), d = Ic(f, (x) => x.typeExpression && AF(x.typeExpression.type) ? x.typeExpression.type : void 0), y = ma(
            3,
            "args",
            32768
            /* RestParameter */
          );
          return d ? y.links.type = yu(Ci(d.type)) : (y.links.checkFlags |= 65536, y.links.deferralParent = nr, y.links.deferralConstituents = [Ul], y.links.deferralWriteConstituents = [Ul]), d && a.pop(), a.push(y), true;
        }
        function oP(r) {
          if (!(an(r) && to(r))) return;
          const a = M1(r);
          return a?.typeExpression && MT(Ci(a.typeExpression));
        }
        function Yet(r, a) {
          const l = oP(r);
          if (!l) return;
          const f = r.parameters.indexOf(a);
          return a.dotDotDotToken ? GM(l, f) : Xd(l, f);
        }
        function Zet(r) {
          const a = oP(r);
          return a && Ba(a);
        }
        function Ufe(r) {
          const a = xn(r);
          return a.containsArgumentsReference === void 0 && (a.flags & 512 ? a.containsArgumentsReference = true : a.containsArgumentsReference = l(r.body)), a.containsArgumentsReference;
          function l(f) {
            if (!f) return false;
            switch (f.kind) {
              case 80:
                return f.escapedText === ie.escapedName && BI(f) === ie;
              case 173:
              case 175:
              case 178:
              case 179:
                return f.name.kind === 168 && l(f.name);
              case 212:
              case 213:
                return l(f.expression);
              case 304:
                return l(f.initializer);
              default:
                return !JB(f) && !sm(f) && !!Ts(f, l);
            }
          }
        }
        function E2(r) {
          if (!r || !r.declarations) return Ge;
          const a = [];
          for (let l = 0; l < r.declarations.length; l++) {
            const f = r.declarations[l];
            if (Cs(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 (an(f) && f.jsDoc) {
                const d = NB(f);
                if (wr(d)) {
                  for (const y of d) {
                    const x = y.typeExpression;
                    x.type === void 0 && !ec(f) && nb(x, Le), a.push(qf(x));
                  }
                  continue;
                }
              }
              a.push(
                !My(f) && !Fp(f) && oP(f) || qf(f)
              );
            }
          }
          return a;
        }
        function y3e(r) {
          const a = Iu(r, r);
          if (a) {
            const l = z_(a);
            if (l)
              return Yr(l);
          }
          return Le;
        }
        function Qv(r) {
          if (r.thisParameter)
            return Yr(r.thisParameter);
        }
        function bp(r) {
          if (!r.resolvedTypePredicate) {
            if (r.target) {
              const a = bp(r.target);
              r.resolvedTypePredicate = a ? NNe(a, r.mapper) : Kt;
            } else if (r.compositeSignatures)
              r.resolvedTypePredicate = Ktt(r.compositeSignatures, r.compositeKind) || Kt;
            else {
              const a = r.declaration && K_(r.declaration);
              let l;
              if (!a) {
                const f = oP(r.declaration);
                f && r !== f && (l = bp(f));
              }
              if (a || l)
                r.resolvedTypePredicate = a && Rx(a) ? Ket(a, r) : l || Kt;
              else if (r.declaration && to(r.declaration) && (!r.resolvedReturnType || r.resolvedReturnType.flags & 16) && V_(r) > 0) {
                const { declaration: f } = r;
                r.resolvedTypePredicate = Kt, r.resolvedTypePredicate = Bot(f) || Kt;
              } else
                r.resolvedTypePredicate = Kt;
            }
            E.assert(!!r.resolvedTypePredicate);
          }
          return r.resolvedTypePredicate === Kt ? void 0 : r.resolvedTypePredicate;
        }
        function Ket(r, a) {
          const l = r.parameterName, f = r.type && Ci(r.type);
          return l.kind === 198 ? YA(
            r.assertsModifier ? 2 : 0,
            /*parameterName*/
            void 0,
            /*parameterIndex*/
            void 0,
            f
          ) : YA(r.assertsModifier ? 3 : 1, l.escapedText, ic(a.parameters, (d) => d.escapedName === l.escapedText), f);
        }
        function v3e(r, a, l) {
          return a !== 2097152 ? Xn(r, l) : ia(r);
        }
        function Ba(r) {
          if (!r.resolvedReturnType) {
            if (!Am(
              r,
              3
              /* ResolvedReturnType */
            ))
              return qe;
            let a = r.target ? Mi(Ba(r.target), r.mapper) : r.compositeSignatures ? Mi(v3e(
              hr(r.compositeSignatures, Ba),
              r.compositeKind,
              2
              /* Subtype */
            ), r.mapper) : DE(r.declaration) || (ac(r.declaration.body) ? Le : dX(r.declaration));
            if (r.flags & 8 ? a = s8e(a) : r.flags & 16 && (a = k1(a)), !He()) {
              if (r.declaration) {
                const l = K_(r.declaration);
                if (l)
                  ze(l, p.Return_type_annotation_circularly_references_itself);
                else if (fe) {
                  const f = r.declaration, d = us(f);
                  d ? ze(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, so(d)) : ze(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 = Le;
            }
            r.resolvedReturnType ?? (r.resolvedReturnType = a);
          }
          return r.resolvedReturnType;
        }
        function DE(r) {
          if (r.kind === 177)
            return vp(Ia(r.parent.symbol));
          const a = K_(r);
          if (x0(r)) {
            const l = WC(r);
            if (l && ec(l.parent) && !a)
              return vp(Ia(l.parent.parent.symbol));
          }
          if (fx(r))
            return Ci(r.parameters[0].type);
          if (a)
            return Ci(a);
          if (r.kind === 178 && CE(r)) {
            const l = an(r) && La(r);
            if (l)
              return l;
            const f = Ao(
              yn(r),
              179
              /* SetAccessor */
            ), d = eP(f);
            if (d)
              return d;
          }
          return Zet(r);
        }
        function QG(r) {
          return r.compositeSignatures && ot(r.compositeSignatures, QG) || !r.resolvedReturnType && X(
            r,
            3
            /* ResolvedReturnType */
          ) >= 0;
        }
        function ett(r) {
          return b3e(r) || Le;
        }
        function b3e(r) {
          if (wu(r)) {
            const a = Yr(r.parameters[r.parameters.length - 1]), l = ba(a) ? D$(a) : a;
            return l && Xv(l, wt);
          }
        }
        function ZA(r, a, l, f) {
          const d = Vfe(r, Q0(a, r.typeParameters, fg(r.typeParameters), l));
          if (f) {
            const y = QAe(Ba(d));
            if (y) {
              const x = GA(y);
              x.typeParameters = f;
              const I = vT(x);
              I.mapper = d.mapper;
              const J = GA(d);
              return J.resolvedReturnType = I, J;
            }
          }
          return d;
        }
        function Vfe(r, a) {
          const l = r.instantiations || (r.instantiations = /* @__PURE__ */ new Map()), f = Zp(a);
          let d = l.get(f);
          return d || l.set(f, d = YG(r, a)), d;
        }
        function YG(r, a) {
          return ET(
            r,
            ttt(r, a),
            /*eraseTypeParameters*/
            true
          );
        }
        function S3e(r) {
          return Gc(r.typeParameters, (a) => a.mapper ? Mi(a, a.mapper) : a);
        }
        function ttt(r, a) {
          return gf(S3e(r), a);
        }
        function KA(r) {
          return r.typeParameters ? r.erasedSignatureCache || (r.erasedSignatureCache = rtt(r)) : r;
        }
        function rtt(r) {
          return ET(
            r,
            wNe(r.typeParameters),
            /*eraseTypeParameters*/
            true
          );
        }
        function ntt(r) {
          return r.typeParameters ? r.canonicalSignatureCache || (r.canonicalSignatureCache = itt(r)) : r;
        }
        function itt(r) {
          return ZA(
            r,
            hr(r.typeParameters, (a) => a.target && !__(a.target) ? a.target : a),
            an(r.declaration)
          );
        }
        function stt(r) {
          const a = r.typeParameters;
          if (a) {
            if (r.baseSignatureCache)
              return r.baseSignatureCache;
            const l = wNe(a), f = gf(a, hr(a, (y) => __(y) || yt));
            let d = hr(a, (y) => Mi(y, f) || yt);
            for (let y = 0; y < a.length - 1; y++)
              d = Xh(d, f);
            return d = Xh(d, l), r.baseSignatureCache = ET(
              r,
              gf(a, d),
              /*eraseTypeParameters*/
              true
            );
          }
          return r;
        }
        function vT(r) {
          var a, l;
          if (!r.isolatedSignatureType) {
            const f = (a = r.declaration) == null ? void 0 : a.kind, d = f === void 0 || f === 177 || f === 181 || f === 186, y = Bc(134217744, (l = r.declaration) == null ? void 0 : l.symbol);
            y.members = A, y.properties = Ge, y.callSignatures = d ? Ge : [r], y.constructSignatures = d ? [r] : Ge, y.indexInfos = Ge, r.isolatedSignatureType = y;
          }
          return r.isolatedSignatureType;
        }
        function ZG(r) {
          return r.members ? KG(ug(r)) : void 0;
        }
        function KG(r) {
          return r.get(
            "__index"
            /* Index */
          );
        }
        function rh(r, a, l, f, d) {
          return { keyType: r, type: a, isReadonly: l, declaration: f, components: d };
        }
        function T3e(r) {
          const a = ZG(r);
          return a ? e$(a, ns(ug(r).values())) : Ge;
        }
        function e$(r, a = r.parent ? ns(ug(r.parent).values()) : void 0) {
          if (r.declarations) {
            const l = [];
            let f = false, d = true, y = false, x = true, I = false, J = true;
            const z = [];
            for (const ve of r.declarations)
              if (Jy(ve)) {
                if (ve.parameters.length === 1) {
                  const de = ve.parameters[0];
                  de.type && IT(Ci(de.type), (We) => {
                    t$(We) && !aP(l, We) && l.push(rh(We, ve.type ? Ci(ve.type) : Le, ef(
                      ve,
                      8
                      /* Readonly */
                    ), ve));
                  });
                }
              } else if (HPe(ve)) {
                const de = _n(ve) ? ve.left : ve.name, We = oo(de) ? fc(de.argumentExpression) : yd(de);
                if (aP(l, We))
                  continue;
                Ls(We, oi) && (Ls(We, wt) ? (f = true, lS(ve) || (d = false)) : Ls(We, Jt) ? (y = true, lS(ve) || (x = false)) : (I = true, lS(ve) || (J = false)), z.push(ve.symbol));
              }
            const G = Bi(z, kn(a, (ve) => ve !== r));
            return I && !aP(l, at) && l.push(bI(J, 0, G, at)), f && !aP(l, wt) && l.push(bI(d, 0, G, wt)), y && !aP(l, Jt) && l.push(bI(x, 0, G, Jt)), l;
          }
          return Ge;
        }
        function t$(r) {
          return !!(r.flags & 4108) || TT(r) || !!(r.flags & 2097152) && !Zv(r) && ot(r.types, t$);
        }
        function r$(r) {
          return Fi(kn(r.symbol && r.symbol.declarations, Io), kC)[0];
        }
        function x3e(r, a) {
          var l;
          let f;
          if ((l = r.symbol) != null && l.declarations) {
            for (const d of r.symbol.declarations)
              if (d.parent.kind === 196) {
                const [y = d.parent, x] = OK(d.parent.parent);
                if (x.kind === 184 && !a) {
                  const I = x, J = vme(I);
                  if (J) {
                    const z = I.typeArguments.indexOf(y);
                    if (z < J.length) {
                      const G = __(J[z]);
                      if (G) {
                        const ve = Tpe(
                          J,
                          J.map((We, lt) => () => jct(I, J, lt))
                        ), de = Mi(G, ve);
                        de !== r && (f = Er(f, de));
                      }
                    }
                  }
                } else if (x.kind === 170 && x.dotDotDotToken || x.kind === 192 || x.kind === 203 && x.dotDotDotToken)
                  f = Er(f, yu(yt));
                else if (x.kind === 205)
                  f = Er(f, at);
                else if (x.kind === 169 && x.parent.kind === 201)
                  f = Er(f, oi);
                else if (x.kind === 201 && x.type && Ra(x.type) === d.parent && x.parent.kind === 195 && x.parent.extendsType === x && x.parent.checkType.kind === 201 && x.parent.checkType.type) {
                  const I = x.parent.checkType, J = Ci(I.type);
                  f = Er(f, Mi(J, N2(Gv(yn(I.typeParameter)), I.typeParameter.constraint ? Ci(I.typeParameter.constraint) : oi)));
                }
              }
          }
          return f && ia(f);
        }
        function cP(r) {
          if (!r.constraint)
            if (r.target) {
              const a = __(r.target);
              r.constraint = a ? Mi(a, r.mapper) : mc;
            } else {
              const a = r$(r);
              if (!a)
                r.constraint = x3e(r) || mc;
              else {
                let l = Ci(a);
                l.flags & 1 && !Gr(l) && (l = a.parent.parent.kind === 201 ? oi : yt), r.constraint = l;
              }
            }
          return r.constraint === mc ? void 0 : r.constraint;
        }
        function k3e(r) {
          const a = Ao(
            r.symbol,
            169
            /* TypeParameter */
          ), l = Bp(a.parent) ? p5(a.parent) : a.parent;
          return l && Wf(l);
        }
        function Zp(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 bT(r, a) {
          return r ? `@${$s(r)}` + (a ? `:${Zp(a)}` : "") : "";
        }
        function rM(r, a) {
          let l = 0;
          for (const f of r)
            (a === void 0 || !(f.flags & a)) && (l |= Dn(f));
          return l & 458752;
        }
        function wE(r, a) {
          return ot(a) && r === zt ? yt : qh(r, a);
        }
        function qh(r, a) {
          const l = Zp(a);
          let f = r.instantiations.get(l);
          return f || (f = Bc(4, r.symbol), r.instantiations.set(l, f), f.objectFlags |= a ? rM(a) : 0, f.target = r, f.resolvedTypeArguments = a), f;
        }
        function C3e(r) {
          const a = gi(r.flags, r.symbol);
          return a.objectFlags = r.objectFlags, a.target = r.target, a.resolvedTypeArguments = r.resolvedTypeArguments, a;
        }
        function qfe(r, a, l, f, d) {
          if (!f) {
            f = Qk(a);
            const x = IE(f);
            d = l ? Xh(x, l) : x;
          }
          const y = Bc(4, r.symbol);
          return y.target = r, y.node = a, y.mapper = l, y.aliasSymbol = f, y.aliasTypeArguments = d, y;
        }
        function wo(r) {
          var a, l;
          if (!r.resolvedTypeArguments) {
            if (!Am(
              r,
              5
              /* ResolvedTypeArguments */
            ))
              return Bi(r.target.outerTypeParameters, (a = r.target.localTypeParameters) == null ? void 0 : a.map(() => qe)) || Ge;
            const f = r.node, d = f ? f.kind === 184 ? Bi(r.target.outerTypeParameters, bX(f, r.target.localTypeParameters)) : f.kind === 189 ? [Ci(f.elementType)] : hr(f.elements, Ci) : Ge;
            He() ? r.resolvedTypeArguments ?? (r.resolvedTypeArguments = r.mapper ? Xh(d, r.mapper) : d) : (r.resolvedTypeArguments ?? (r.resolvedTypeArguments = Bi(r.target.outerTypeParameters, ((l = r.target.localTypeParameters) == null ? void 0 : l.map(() => qe)) || Ge)), ze(
              r.node || k,
              r.target.symbol ? p.Type_arguments_for_0_circularly_reference_themselves : p.Tuple_type_arguments_circularly_reference_themselves,
              r.target.symbol && Wi(r.target.symbol)
            ));
          }
          return r.resolvedTypeArguments;
        }
        function Y0(r) {
          return wr(r.target.typeParameters);
        }
        function E3e(r, a) {
          const l = ho(Ia(a)), f = l.localTypeParameters;
          if (f) {
            const d = wr(r.typeArguments), y = fg(f), x = an(r);
            if (!(!fe && x) && (d < y || d > f.length)) {
              const z = x && Th(r) && !Vx(r.parent), G = y === f.length ? z ? p.Expected_0_type_arguments_provide_these_with_an_extends_tag : p.Generic_type_0_requires_1_type_argument_s : z ? p.Expected_0_1_type_arguments_provide_these_with_an_extends_tag : p.Generic_type_0_requires_between_1_and_2_type_arguments, ve = Wr(
                l,
                /*enclosingDeclaration*/
                void 0,
                2
                /* WriteArrayAsGenericType */
              );
              if (ze(r, G, ve, y, f.length), !x)
                return qe;
            }
            if (r.kind === 184 && X3e(r, wr(r.typeArguments) !== f.length))
              return qfe(
                l,
                r,
                /*mapper*/
                void 0
              );
            const J = Bi(l.outerTypeParameters, Q0(nM(r), f, y, x));
            return qh(l, J);
          }
          return Yv(r, a) ? l : qe;
        }
        function PE(r, a, l, f) {
          const d = ho(r);
          if (d === Pe) {
            const z = PW.get(r.escapedName);
            if (z !== void 0 && a && a.length === 1)
              return z === 4 ? Hfe(a[0]) : Xk(r, a[0]);
          }
          const y = Pn(r), x = y.typeParameters, I = Zp(a) + bT(l, f);
          let J = y.instantiations.get(I);
          return J || y.instantiations.set(I, J = FNe(d, gf(x, Q0(a, x, fg(x), an(r.valueDeclaration))), l, f)), J;
        }
        function att(r, a) {
          if (oc(a) & 1048576) {
            const d = nM(r), y = bT(a, d);
            let x = Ke.get(y);
            return x || (x = mi(
              1,
              "error",
              /*objectFlags*/
              void 0,
              `alias ${y}`
            ), x.aliasSymbol = a, x.aliasTypeArguments = d, Ke.set(y, x)), x;
          }
          const l = ho(a), f = Pn(a).typeParameters;
          if (f) {
            const d = wr(r.typeArguments), y = fg(f);
            if (d < y || d > f.length)
              return ze(
                r,
                y === f.length ? p.Generic_type_0_requires_1_type_argument_s : p.Generic_type_0_requires_between_1_and_2_type_arguments,
                Wi(a),
                y,
                f.length
              ), qe;
            const x = Qk(r);
            let I = x && (D3e(a) || !D3e(x)) ? x : void 0, J;
            if (I)
              J = IE(I);
            else if (O7(r)) {
              const z = lP(
                r,
                2097152,
                /*ignoreErrors*/
                true
              );
              if (z && z !== Y) {
                const G = Fl(z);
                G && G.flags & 524288 && (I = G, J = nM(r) || (f ? [] : void 0));
              }
            }
            return PE(a, nM(r), I, J);
          }
          return Yv(r, a) ? l : qe;
        }
        function D3e(r) {
          var a;
          const l = (a = r.declarations) == null ? void 0 : a.find(W3);
          return !!(l && Df(l));
        }
        function ott(r) {
          switch (r.kind) {
            case 184:
              return r.typeName;
            case 234:
              const a = r.expression;
              if (Za(a))
                return a;
          }
        }
        function w3e(r) {
          return r.parent ? `${w3e(r.parent)}.${r.escapedName}` : r.escapedName;
        }
        function n$(r) {
          const l = (r.kind === 167 ? r.right : r.kind === 212 ? r.name : r).escapedText;
          if (l) {
            const f = r.kind === 167 ? n$(r.left) : r.kind === 212 ? n$(r.expression) : void 0, d = f ? `${w3e(f)}.${l}` : l;
            let y = $e.get(d);
            return y || ($e.set(d, y = ma(
              524288,
              l,
              1048576
              /* Unresolved */
            )), y.parent = f, y.links.declaredType = Lt), y;
          }
          return Y;
        }
        function lP(r, a, l) {
          const f = ott(r);
          if (!f)
            return Y;
          const d = _c2(f, a, l);
          return d && d !== Y ? d : l ? Y : n$(f);
        }
        function i$(r, a) {
          if (a === Y)
            return qe;
          if (a = Fk(a) || a, a.flags & 96)
            return E3e(r, a);
          if (a.flags & 524288)
            return att(r, a);
          const l = BPe(a);
          if (l)
            return Yv(r, a) ? Yu(l) : qe;
          if (a.flags & 111551 && s$(r)) {
            const f = ctt(r, a);
            return f || (lP(
              r,
              788968
              /* Type */
            ), Yr(a));
          }
          return qe;
        }
        function ctt(r, a) {
          const l = xn(r);
          if (!l.resolvedJSDocType) {
            const f = Yr(a);
            let d = f;
            if (a.valueDeclaration) {
              const y = r.kind === 206 && r.qualifier;
              f.symbol && f.symbol !== a && y && (d = i$(r, f.symbol));
            }
            l.resolvedJSDocType = d;
          }
          return l.resolvedJSDocType;
        }
        function Hfe(r) {
          return Gfe(r) ? P3e(r, yt) : r;
        }
        function Gfe(r) {
          return !!(r.flags & 3145728 && ot(r.types, Gfe) || r.flags & 33554432 && !NE(r) && Gfe(r.baseType) || r.flags & 524288 && !dg(r) || r.flags & 432275456 && !TT(r));
        }
        function NE(r) {
          return !!(r.flags & 33554432 && r.constraint.flags & 2);
        }
        function $fe(r, a) {
          return a.flags & 3 || a === r || r.flags & 1 ? r : P3e(r, a);
        }
        function P3e(r, a) {
          const l = `${Ol(r)}>${Ol(a)}`, f = Zs.get(l);
          if (f)
            return f;
          const d = ti(
            33554432
            /* Substitution */
          );
          return d.baseType = r, d.constraint = a, Zs.set(l, d), d;
        }
        function Xfe(r) {
          return NE(r) ? r.baseType : ia([r.constraint, r.baseType]);
        }
        function N3e(r) {
          return r.kind === 190 && r.elements.length === 1;
        }
        function A3e(r, a, l) {
          return N3e(a) && N3e(l) ? A3e(r, a.elements[0], l.elements[0]) : $h(Ci(a)) === $h(r) ? Ci(l) : void 0;
        }
        function ltt(r, a) {
          let l, f = true;
          for (; a && !Ti(a) && a.kind !== 321; ) {
            const d = a.parent;
            if (d.kind === 170 && (f = !f), (f || r.flags & 8650752) && d.kind === 195 && a === d.trueType) {
              const y = A3e(r, d.checkType, d.extendsType);
              y && (l = Er(l, y));
            } else if (r.flags & 262144 && d.kind === 201 && !d.nameType && a === d.type) {
              const y = Ci(d);
              if (hd(y) === $h(r)) {
                const x = iI(y);
                if (x) {
                  const I = __(x);
                  I && U_(I, tb) && (l = Er(l, Xn([wt, ps])));
                }
              }
            }
            a = d;
          }
          return l ? $fe(r, ia(l)) : r;
        }
        function s$(r) {
          return !!(r.flags & 16777216) && (r.kind === 184 || r.kind === 206);
        }
        function Yv(r, a) {
          return r.typeArguments ? (ze(r, p.Type_0_is_not_generic, a ? Wi(a) : r.typeName ? so(r.typeName) : CW), false) : true;
        }
        function I3e(r) {
          if (Me(r.typeName)) {
            const a = r.typeArguments;
            switch (r.typeName.escapedText) {
              case "String":
                return Yv(r), at;
              case "Number":
                return Yv(r), wt;
              case "BigInt":
                return Yv(r), Zr;
              case "Boolean":
                return Yv(r), Nt;
              case "Void":
                return Yv(r), _r;
              case "Undefined":
                return Yv(r), ue;
              case "Null":
                return Yv(r), Mt;
              case "Function":
              case "function":
                return Yv(r), Mr;
              case "array":
                return (!a || !a.length) && !fe ? Ul : void 0;
              case "promise":
                return (!a || !a.length) && !fe ? XM(Le) : void 0;
              case "Object":
                if (a && a.length === 2) {
                  if (l5(r)) {
                    const l = Ci(a[0]), f = Ci(a[1]), d = l === at || l === wt ? [rh(
                      l,
                      f,
                      /*isReadonly*/
                      false
                    )] : Ge;
                    return Uo(
                      /*symbol*/
                      void 0,
                      A,
                      Ge,
                      Ge,
                      d
                    );
                  }
                  return Le;
                }
                return Yv(r), fe ? void 0 : Le;
            }
          }
        }
        function utt(r) {
          const a = Ci(r.type);
          return K ? TM(
            a,
            65536
            /* Null */
          ) : a;
        }
        function a$(r) {
          const a = xn(r);
          if (!a.resolvedType) {
            if (Kp(r) && bb(r.parent))
              return a.resolvedSymbol = Y, a.resolvedType = fc(r.parent.expression);
            let l, f;
            const d = 788968;
            s$(r) && (f = I3e(r), f || (l = lP(
              r,
              d,
              /*ignoreErrors*/
              true
            ), l === Y ? l = lP(
              r,
              d | 111551
              /* Value */
            ) : lP(r, d), f = i$(r, l))), f || (l = lP(r, d), f = i$(r, l)), a.resolvedSymbol = l, a.resolvedType = f;
          }
          return a.resolvedType;
        }
        function nM(r) {
          return hr(r.typeArguments, Ci);
        }
        function F3e(r) {
          const a = xn(r);
          if (!a.resolvedType) {
            const l = hIe(r);
            a.resolvedType = Yu(hf(l));
          }
          return a.resolvedType;
        }
        function O3e(r, a) {
          function l(d) {
            const y = d.declarations;
            if (y)
              for (const x of y)
                switch (x.kind) {
                  case 264:
                  case 265:
                  case 267:
                    return x;
                }
          }
          if (!r)
            return a ? zt : ea;
          const f = ho(r);
          return f.flags & 524288 ? wr(f.typeParameters) !== a ? (ze(l(r), p.Global_type_0_must_have_1_type_parameter_s, sc(r), a), a ? zt : ea) : f : (ze(l(r), p.Global_type_0_must_be_a_class_or_interface_type, sc(r)), a ? zt : ea);
        }
        function Qfe(r, a) {
          return AE(r, 111551, a ? p.Cannot_find_global_value_0 : void 0);
        }
        function Yfe(r, a) {
          return AE(r, 788968, a ? p.Cannot_find_global_type_0 : void 0);
        }
        function o$(r, a, l) {
          const f = AE(r, 788968, l ? p.Cannot_find_global_type_0 : void 0);
          if (f && (ho(f), wr(Pn(f).typeParameters) !== a)) {
            const d = f.declarations && Nn(f.declarations, jp);
            ze(d, p.Global_type_0_must_have_1_type_parameter_s, sc(f), a);
            return;
          }
          return f;
        }
        function AE(r, a, l) {
          return st(
            /*location*/
            void 0,
            r,
            a,
            l,
            /*isUse*/
            false,
            /*excludeGlobals*/
            false
          );
        }
        function hc(r, a, l) {
          const f = Yfe(r, l);
          return f || l ? O3e(f, a) : void 0;
        }
        function L3e(r, a) {
          let l;
          for (const f of r)
            l = Er(l, hc(
              f,
              a,
              /*reportErrors*/
              false
            ));
          return l ?? Ge;
        }
        function _tt() {
          return Ug || (Ug = hc(
            "TypedPropertyDescriptor",
            /*arity*/
            1,
            /*reportErrors*/
            true
          ) || zt);
        }
        function ftt() {
          return $i || ($i = hc(
            "TemplateStringsArray",
            /*arity*/
            0,
            /*reportErrors*/
            true
          ) || ea);
        }
        function M3e() {
          return Ns || (Ns = hc(
            "ImportMeta",
            /*arity*/
            0,
            /*reportErrors*/
            true
          ) || ea);
        }
        function R3e() {
          if (!Zi) {
            const r = ma(0, "ImportMetaExpression"), a = M3e(), l = ma(
              4,
              "meta",
              8
              /* Readonly */
            );
            l.parent = r, l.links.type = a;
            const f = js([l]);
            r.members = f, Zi = Uo(r, f, Ge, Ge, Ge);
          }
          return Zi;
        }
        function j3e(r) {
          return hs || (hs = hc(
            "ImportCallOptions",
            /*arity*/
            0,
            r
          )) || ea;
        }
        function Zfe(r) {
          return jo || (jo = hc(
            "ImportAttributes",
            /*arity*/
            0,
            r
          )) || ea;
        }
        function B3e(r) {
          return pp || (pp = Qfe("Symbol", r));
        }
        function ptt(r) {
          return eg || (eg = Yfe("SymbolConstructor", r));
        }
        function J3e() {
          return Wg || (Wg = hc(
            "Symbol",
            /*arity*/
            0,
            /*reportErrors*/
            false
          )) || ea;
        }
        function iM(r) {
          return E_ || (E_ = hc(
            "Promise",
            /*arity*/
            1,
            r
          )) || zt;
        }
        function z3e(r) {
          return yl || (yl = hc(
            "PromiseLike",
            /*arity*/
            1,
            r
          )) || zt;
        }
        function Kfe(r) {
          return Md || (Md = Qfe("Promise", r));
        }
        function dtt(r) {
          return jf || (jf = hc(
            "PromiseConstructorLike",
            /*arity*/
            0,
            r
          )) || ea;
        }
        function sM(r) {
          return jn || (jn = hc(
            "AsyncIterable",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function mtt(r) {
          return ni || (ni = hc(
            "AsyncIterator",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function W3e(r) {
          return wi || (wi = hc(
            "AsyncIterableIterator",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function gtt() {
          return Oe ?? (Oe = L3e(["ReadableStreamAsyncIterator"], 1));
        }
        function htt(r) {
          return xt || (xt = hc(
            "AsyncIteratorObject",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function ytt(r) {
          return Tr || (Tr = hc(
            "AsyncGenerator",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function c$(r) {
          return Em || (Em = hc(
            "Iterable",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function vtt(r) {
          return ee || (ee = hc(
            "Iterator",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function U3e(r) {
          return et || (et = hc(
            "IterableIterator",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function epe() {
          return ce ? ue : Le;
        }
        function btt() {
          return L ?? (L = L3e(["ArrayIterator", "MapIterator", "SetIterator", "StringIterator"], 1));
        }
        function Stt(r) {
          return Ut || (Ut = hc(
            "IteratorObject",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function Ttt(r) {
          return Gt || (Gt = hc(
            "Generator",
            /*arity*/
            3,
            r
          )) || zt;
        }
        function xtt(r) {
          return Sr || (Sr = hc(
            "IteratorYieldResult",
            /*arity*/
            1,
            r
          )) || zt;
        }
        function ktt(r) {
          return zr || (zr = hc(
            "IteratorReturnResult",
            /*arity*/
            1,
            r
          )) || zt;
        }
        function V3e(r) {
          return ra || (ra = hc(
            "Disposable",
            /*arity*/
            0,
            r
          )) || ea;
        }
        function Ctt(r) {
          return Al || (Al = hc(
            "AsyncDisposable",
            /*arity*/
            0,
            r
          )) || ea;
        }
        function q3e(r, a = 0) {
          const l = AE(
            r,
            788968,
            /*diagnostic*/
            void 0
          );
          return l && O3e(l, a);
        }
        function Ett() {
          return uf || (uf = o$(
            "Extract",
            /*arity*/
            2,
            /*reportErrors*/
            true
          ) || Y), uf === Y ? void 0 : uf;
        }
        function Dtt() {
          return Bf || (Bf = o$(
            "Omit",
            /*arity*/
            2,
            /*reportErrors*/
            true
          ) || Y), Bf === Y ? void 0 : Bf;
        }
        function tpe(r) {
          return dp || (dp = o$(
            "Awaited",
            /*arity*/
            1,
            r
          ) || (r ? Y : void 0)), dp === Y ? void 0 : dp;
        }
        function wtt() {
          return Fh || (Fh = hc(
            "BigInt",
            /*arity*/
            0,
            /*reportErrors*/
            false
          )) || ea;
        }
        function Ptt(r) {
          return tg ?? (tg = hc(
            "ClassDecoratorContext",
            /*arity*/
            1,
            r
          )) ?? zt;
        }
        function Ntt(r) {
          return Rd ?? (Rd = hc(
            "ClassMethodDecoratorContext",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function Att(r) {
          return Vp ?? (Vp = hc(
            "ClassGetterDecoratorContext",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function Itt(r) {
          return e1 ?? (e1 = hc(
            "ClassSetterDecoratorContext",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function Ftt(r) {
          return Be ?? (Be = hc(
            "ClassAccessorDecoratorContext",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function Ott(r) {
          return nt ?? (nt = hc(
            "ClassAccessorDecoratorTarget",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function Ltt(r) {
          return Rt ?? (Rt = hc(
            "ClassAccessorDecoratorResult",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function Mtt(r) {
          return pr ?? (pr = hc(
            "ClassFieldDecoratorContext",
            /*arity*/
            2,
            r
          )) ?? zt;
        }
        function Rtt() {
          return A0 || (A0 = Qfe(
            "NaN",
            /*reportErrors*/
            false
          ));
        }
        function jtt() {
          return o_ || (o_ = o$(
            "Record",
            /*arity*/
            2,
            /*reportErrors*/
            true
          ) || Y), o_ === Y ? void 0 : o_;
        }
        function uP(r, a) {
          return r !== zt ? qh(r, a) : ea;
        }
        function H3e(r) {
          return uP(_tt(), [r]);
        }
        function G3e(r) {
          return uP(c$(
            /*reportErrors*/
            true
          ), [r, _r, ue]);
        }
        function yu(r, a) {
          return uP(a ? da : Da, [r]);
        }
        function rpe(r) {
          switch (r.kind) {
            case 191:
              return 2;
            case 192:
              return $3e(r);
            case 203:
              return r.questionToken ? 2 : r.dotDotDotToken ? $3e(r) : 1;
            default:
              return 1;
          }
        }
        function $3e(r) {
          return _M(r.type) ? 4 : 8;
        }
        function Btt(r) {
          const a = Wtt(r.parent);
          if (_M(r))
            return a ? da : Da;
          const f = hr(r.elements, rpe);
          return npe(f, a, hr(r.elements, Jtt));
        }
        function Jtt(r) {
          return o6(r) || Ii(r) ? r : void 0;
        }
        function X3e(r, a) {
          return !!Qk(r) || Q3e(r) && (r.kind === 189 ? v1(r.elementType) : r.kind === 190 ? ot(r.elements, v1) : a || ot(r.typeArguments, v1));
        }
        function Q3e(r) {
          const a = r.parent;
          switch (a.kind) {
            case 197:
            case 203:
            case 184:
            case 193:
            case 194:
            case 200:
            case 195:
            case 199:
            case 189:
            case 190:
              return Q3e(a);
            case 266:
              return true;
          }
          return false;
        }
        function v1(r) {
          switch (r.kind) {
            case 184:
              return s$(r) || !!(lP(
                r,
                788968
                /* Type */
              ).flags & 524288);
            case 187:
              return true;
            case 199:
              return r.operator !== 158 && v1(r.type);
            case 197:
            case 191:
            case 203:
            case 317:
            case 315:
            case 316:
            case 310:
              return v1(r.type);
            case 192:
              return r.type.kind !== 189 || v1(r.type.elementType);
            case 193:
            case 194:
              return ot(r.types, v1);
            case 200:
              return v1(r.objectType) || v1(r.indexType);
            case 195:
              return v1(r.checkType) || v1(r.extendsType) || v1(r.trueType) || v1(r.falseType);
          }
          return false;
        }
        function ztt(r) {
          const a = xn(r);
          if (!a.resolvedType) {
            const l = Btt(r);
            if (l === zt)
              a.resolvedType = ea;
            else if (!(r.kind === 190 && ot(r.elements, (f) => !!(rpe(f) & 8))) && X3e(r))
              a.resolvedType = r.kind === 190 && r.elements.length === 0 ? l : qfe(
                l,
                r,
                /*mapper*/
                void 0
              );
            else {
              const f = r.kind === 189 ? [Ci(r.elementType)] : hr(r.elements, Ci);
              a.resolvedType = ipe(l, f);
            }
          }
          return a.resolvedType;
        }
        function Wtt(r) {
          return Y1(r) && r.operator === 148;
        }
        function pg(r, a, l = false, f = []) {
          const d = npe(a || hr(
            r,
            (y) => 1
            /* Required */
          ), l, f);
          return d === zt ? ea : r.length ? ipe(d, r) : d;
        }
        function npe(r, a, l) {
          if (r.length === 1 && r[0] & 4)
            return a ? da : Da;
          const f = hr(r, (y) => y & 1 ? "#" : y & 2 ? "?" : y & 4 ? "." : "*").join() + (a ? "R" : "") + (ot(l, (y) => !!y) ? "," + hr(l, (y) => y ? Oa(y) : "_").join(",") : "");
          let d = fi.get(f);
          return d || fi.set(f, d = Utt(r, a, l)), d;
        }
        function Utt(r, a, l) {
          const f = r.length, d = i0(r, (ve) => !!(ve & 9));
          let y;
          const x = [];
          let I = 0;
          if (f) {
            y = new Array(f);
            for (let ve = 0; ve < f; ve++) {
              const de = y[ve] = l_(), We = r[ve];
              if (I |= We, !(I & 12)) {
                const lt = ma(4 | (We & 2 ? 16777216 : 0), "" + ve, a ? 8 : 0);
                lt.links.tupleLabelDeclaration = l?.[ve], lt.links.type = de, x.push(lt);
              }
            }
          }
          const J = x.length, z = ma(4, "length", a ? 8 : 0);
          if (I & 12)
            z.links.type = wt;
          else {
            const ve = [];
            for (let de = d; de <= f; de++) ve.push(qd(de));
            z.links.type = Xn(ve);
          }
          x.push(z);
          const G = Bc(
            12
            /* Reference */
          );
          return G.typeParameters = y, G.outerTypeParameters = void 0, G.localTypeParameters = y, G.instantiations = /* @__PURE__ */ new Map(), G.instantiations.set(Zp(G.typeParameters), G), G.target = G, G.resolvedTypeArguments = G.typeParameters, G.thisType = l_(), G.thisType.isThisType = true, G.thisType.constraint = G, G.declaredProperties = x, G.declaredCallSignatures = Ge, G.declaredConstructSignatures = Ge, G.declaredIndexInfos = Ge, G.elementFlags = r, G.minLength = d, G.fixedLength = J, G.hasRestElement = !!(I & 12), G.combinedFlags = I, G.readonly = a, G.labeledElementDeclarations = l, G;
        }
        function ipe(r, a) {
          return r.objectFlags & 8 ? spe(r, a) : qh(r, a);
        }
        function spe(r, a) {
          var l, f, d, y;
          if (!(r.combinedFlags & 14))
            return qh(r, a);
          if (r.combinedFlags & 8) {
            const lt = ic(a, (gt, jt) => !!(r.elementFlags[jt] & 8 && gt.flags & 1179648));
            if (lt >= 0)
              return oM(hr(a, (gt, jt) => r.elementFlags[jt] & 8 ? gt : yt)) ? Vo(a[lt], (gt) => spe(r, IR(a, lt, gt))) : qe;
          }
          const x = [], I = [], J = [];
          let z = -1, G = -1, ve = -1;
          for (let lt = 0; lt < a.length; lt++) {
            const gt = a[lt], jt = r.elementFlags[lt];
            if (jt & 8)
              if (gt.flags & 1)
                We(gt, 4, (l = r.labeledElementDeclarations) == null ? void 0 : l[lt]);
              else if (gt.flags & 58982400 || A_(gt))
                We(gt, 8, (f = r.labeledElementDeclarations) == null ? void 0 : f[lt]);
              else if (ba(gt)) {
                const ar = D2(gt);
                if (ar.length + x.length >= 1e4)
                  return ze(
                    k,
                    sm(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
                  ), qe;
                lr(ar, (jr, Kr) => {
                  var or;
                  return We(jr, gt.target.elementFlags[Kr], (or = gt.target.labeledElementDeclarations) == null ? void 0 : or[Kr]);
                });
              } else
                We(K0(gt) && Xv(gt, wt) || qe, 4, (d = r.labeledElementDeclarations) == null ? void 0 : d[lt]);
            else
              We(gt, jt, (y = r.labeledElementDeclarations) == null ? void 0 : y[lt]);
          }
          for (let lt = 0; lt < z; lt++)
            I[lt] & 2 && (I[lt] = 1);
          G >= 0 && G < ve && (x[G] = Xn(Gc(x.slice(G, ve + 1), (lt, gt) => I[G + gt] & 8 ? mf(lt, wt) : lt)), x.splice(G + 1, ve - G), I.splice(G + 1, ve - G), J.splice(G + 1, ve - G));
          const de = npe(I, r.readonly, J);
          return de === zt ? ea : I.length ? qh(de, x) : de;
          function We(lt, gt, jt) {
            gt & 1 && (z = I.length), gt & 4 && G < 0 && (G = I.length), gt & 6 && (ve = I.length), x.push(gt & 2 ? Fu(
              lt,
              /*isProperty*/
              true
            ) : lt), I.push(gt), J.push(jt);
          }
        }
        function _P(r, a, l = 0) {
          const f = r.target, d = Y0(r) - l;
          return a > f.fixedLength ? Nnt(r) || pg(Ge) : pg(
            wo(r).slice(a, d),
            f.elementFlags.slice(a, d),
            /*readonly*/
            false,
            f.labeledElementDeclarations && f.labeledElementDeclarations.slice(a, d)
          );
        }
        function Y3e(r) {
          return Xn(Er(rQ(r.target.fixedLength, (a) => W_("" + a)), Om(r.target.readonly ? da : Da)));
        }
        function Vtt(r, a) {
          const l = ic(r.elementFlags, (f) => !(f & a));
          return l >= 0 ? l : r.elementFlags.length;
        }
        function eI(r, a) {
          return r.elementFlags.length - HI(r.elementFlags, (l) => !(l & a)) - 1;
        }
        function ape(r) {
          return r.fixedLength + eI(
            r,
            3
            /* Fixed */
          );
        }
        function D2(r) {
          const a = wo(r), l = Y0(r);
          return a.length === l ? a : a.slice(0, l);
        }
        function qtt(r) {
          return Fu(
            Ci(r.type),
            /*isProperty*/
            true
          );
        }
        function Ol(r) {
          return r.id;
        }
        function nh(r, a) {
          return cy(r, a, Ol, po) >= 0;
        }
        function aM(r, a) {
          const l = cy(r, a, Ol, po);
          return l < 0 ? (r.splice(~l, 0, a), true) : false;
        }
        function Htt(r, a, l) {
          const f = l.flags;
          if (!(f & 131072))
            if (a |= f & 473694207, f & 465829888 && (a |= 33554432), f & 2097152 && Dn(l) & 67108864 && (a |= 536870912), l === pt && (a |= 8388608), Gr(l) && (a |= 1073741824), !K && f & 98304)
              Dn(l) & 65536 || (a |= 4194304);
            else {
              const d = r.length, y = d && l.id > r[d - 1].id ? ~d : cy(r, l, Ol, po);
              y < 0 && r.splice(~y, 0, l);
            }
          return a;
        }
        function Z3e(r, a, l) {
          let f;
          for (const d of l)
            d !== f && (a = d.flags & 1048576 ? Z3e(r, a | (Ztt(d) ? 1048576 : 0), d.types) : Htt(r, a, d), f = d);
          return a;
        }
        function Gtt(r, a) {
          var l;
          if (r.length < 2)
            return r;
          const f = Zp(r), d = yr.get(f);
          if (d)
            return d;
          const y = a && ot(r, (z) => !!(z.flags & 524288) && !A_(z) && Npe(Vd(z))), x = r.length;
          let I = x, J = 0;
          for (; I > 0; ) {
            I--;
            const z = r[I];
            if (y || z.flags & 469499904) {
              if (z.flags & 262144 && Fm(z).flags & 1048576) {
                Lm(z, Xn(hr(r, (de) => de === z ? nr : de)), Oo) && py(r, I);
                continue;
              }
              const G = z.flags & 61603840 ? Nn(qa(z), (de) => Hd(Yr(de))) : void 0, ve = G && Yu(Yr(G));
              for (const de of r)
                if (z !== de) {
                  if (J === 1e5 && J / (x - I) * x > 1e6) {
                    (l = on) == null || l.instant(on.Phase.CheckTypes, "removeSubtypes_DepthLimit", { typeIds: r.map((lt) => lt.id) }), ze(k, p.Expression_produces_a_union_type_that_is_too_complex_to_represent);
                    return;
                  }
                  if (J++, G && de.flags & 61603840) {
                    const We = rr(de, G.escapedName);
                    if (We && Hd(We) && Yu(We) !== ve)
                      continue;
                  }
                  if (Lm(z, de, Oo) && (!(Dn(Cr(z)) & 1) || !(Dn(Cr(de)) & 1) || eb(z, de))) {
                    py(r, I);
                    break;
                  }
                }
            }
          }
          return yr.set(f, r), r;
        }
        function $tt(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 || P2(d) && nh(r, d.regularType)) && py(r, f);
          }
        }
        function Xtt(r) {
          const a = kn(r, TT);
          if (a.length) {
            let l = r.length;
            for (; l > 0; ) {
              l--;
              const f = r[l];
              f.flags & 128 && ot(a, (d) => Qtt(f, d)) && py(r, l);
            }
          }
        }
        function Qtt(r, a) {
          return a.flags & 134217728 ? R$(r, a) : M$(r, a);
        }
        function Ytt(r) {
          const a = [];
          for (const l of r)
            if (l.flags & 2097152 && Dn(l) & 67108864) {
              const f = l.types[0].flags & 8650752 ? 0 : 1;
              Yf(a, l.types[f]);
            }
          for (const l of a) {
            const f = [];
            for (const y of r)
              if (y.flags & 2097152 && Dn(y) & 67108864) {
                const x = y.types[0].flags & 8650752 ? 0 : 1;
                y.types[x] === l && aM(f, y.types[1 - x]);
              }
            const d = nu(l);
            if (U_(d, (y) => nh(f, y))) {
              let y = r.length;
              for (; y > 0; ) {
                y--;
                const x = r[y];
                if (x.flags & 2097152 && Dn(x) & 67108864) {
                  const I = x.types[0].flags & 8650752 ? 0 : 1;
                  x.types[I] === l && nh(f, x.types[1 - I]) && py(r, y);
                }
              }
              aM(r, l);
            }
          }
        }
        function Ztt(r) {
          return !!(r.flags & 1048576 && (r.aliasSymbol || r.origin));
        }
        function K3e(r, a) {
          for (const l of a)
            if (l.flags & 1048576) {
              const f = l.origin;
              l.aliasSymbol || f && !(f.flags & 1048576) ? Yf(r, l) : f && f.flags & 1048576 && K3e(r, f.types);
            }
        }
        function ope(r, a) {
          const l = Ki(r);
          return l.types = a, l;
        }
        function Xn(r, a = 1, l, f, d) {
          if (r.length === 0)
            return nr;
          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 + bT(l, f);
            let J = _i.get(I);
            return J || (J = eNe(
              r,
              a,
              l,
              f,
              /*origin*/
              void 0
            ), _i.set(I, J)), J;
          }
          return eNe(r, a, l, f, d);
        }
        function eNe(r, a, l, f, d) {
          let y = [];
          const x = Z3e(y, 0, r);
          if (a !== 0) {
            if (x & 3)
              return x & 1 ? x & 8388608 ? pt : x & 1073741824 ? qe : Le : yt;
            if (x & 32768 && y.length >= 2 && y[0] === ue && y[1] === ye && py(y, 1), (x & 402664352 || x & 16384 && x & 32768) && $tt(y, x, !!(a & 2)), x & 128 && x & 402653184 && Xtt(y), x & 536870912 && Ytt(y), a === 2 && (y = Gtt(y, !!(x & 524288)), !y))
              return qe;
            if (y.length === 0)
              return x & 65536 ? x & 4194304 ? Mt : ke : x & 32768 ? x & 4194304 ? ue : M : nr;
          }
          if (!d && x & 1048576) {
            const J = [];
            K3e(J, r);
            const z = [];
            for (const ve of y)
              ot(J, (de) => nh(de.types, ve)) || z.push(ve);
            if (!l && J.length === 1 && z.length === 0)
              return J[0];
            if (ju(J, (ve, de) => ve + de.types.length, 0) + z.length === y.length) {
              for (const ve of J)
                aM(z, ve);
              d = ope(1048576, z);
            }
          }
          const I = (x & 36323331 ? 0 : 32768) | (x & 2097152 ? 16777216 : 0);
          return lpe(y, I, l, f, d);
        }
        function Ktt(r, a) {
          let l;
          const f = [];
          for (const y of r) {
            const x = bp(y);
            if (x) {
              if (x.kind !== 0 && x.kind !== 1 || l && !cpe(l, x))
                return;
              l = x, f.push(x.type);
            } else {
              const I = a !== 2097152 ? Ba(y) : void 0;
              if (I !== Rr && I !== Pr)
                return;
            }
          }
          if (!l)
            return;
          const d = v3e(f, a);
          return YA(l.kind, l.parameterName, l.parameterIndex, d);
        }
        function cpe(r, a) {
          return r.kind === a.kind && r.parameterIndex === a.parameterIndex;
        }
        function lpe(r, a, l, f, d) {
          if (r.length === 0)
            return nr;
          if (r.length === 1)
            return r[0];
          const x = (d ? d.flags & 1048576 ? `|${Zp(d.types)}` : d.flags & 2097152 ? `&${Zp(d.types)}` : `#${d.type.id}|${Zp(r)}` : Zp(r)) + bT(l, f);
          let I = pn.get(x);
          return I || (I = ti(
            1048576
            /* Union */
          ), I.objectFlags = a | rM(
            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"), pn.set(x, I)), I;
        }
        function ert(r) {
          const a = xn(r);
          if (!a.resolvedType) {
            const l = Qk(r);
            a.resolvedType = Xn(hr(r.types, Ci), 1, l, IE(l));
          }
          return a.resolvedType;
        }
        function trt(r, a, l) {
          const f = l.flags;
          return f & 2097152 ? tNe(r, a, l.types) : (dg(l) ? a & 16777216 || (a |= 16777216, r.set(l.id.toString(), l)) : (f & 3 ? (l === pt && (a |= 8388608), Gr(l) && (a |= 1073741824)) : (K || !(f & 98304)) && (l === ye && (a |= 262144, l = ue), r.has(l.id.toString()) || (l.flags & 109472 && a & 109472 && (a |= 67108864), r.set(l.id.toString(), l))), a |= f & 473694207), a);
        }
        function tNe(r, a, l) {
          for (const f of l)
            a = trt(r, a, Yu(f));
          return a;
        }
        function rrt(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 || dg(f) && a & 470302716) && py(r, l);
          }
        }
        function nrt(r, a) {
          for (const l of r)
            if (!nh(l.types, a)) {
              if (a === ye)
                return nh(l.types, ue);
              if (a === ue)
                return nh(l.types, ye);
              const f = a.flags & 128 ? at : a.flags & 288 ? wt : a.flags & 2048 ? Zr : a.flags & 8192 ? Jt : void 0;
              if (!f || !nh(l.types, f))
                return false;
            }
          return true;
        }
        function irt(r) {
          let a = r.length;
          const l = kn(r, (f) => !!(f.flags & 128));
          for (; a > 0; ) {
            a--;
            const f = r[a];
            if (f.flags & 402653184) {
              for (const d of l)
                if (A2(d, f)) {
                  py(r, a);
                  break;
                } else if (TT(f))
                  return true;
            }
          }
          return false;
        }
        function rNe(r, a) {
          for (let l = 0; l < r.length; l++)
            r[l] = Hc(r[l], (f) => !(f.flags & a));
        }
        function srt(r) {
          let a;
          const l = ic(r, (x) => !!(Dn(x) & 32768));
          if (l < 0)
            return false;
          let f = l + 1;
          for (; f < r.length; ) {
            const x = r[f];
            Dn(x) & 32768 ? ((a || (a = [r[l]])).push(x), py(r, f)) : f++;
          }
          if (!a)
            return false;
          const d = [], y = [];
          for (const x of a)
            for (const I of x.types)
              if (aM(d, I) && nrt(a, I)) {
                if (I === ue && y.length && y[0] === ye)
                  continue;
                if (I === ye && y.length && y[0] === ue) {
                  y[0] = ye;
                  continue;
                }
                aM(y, I);
              }
          return r[l] = lpe(
            y,
            32768
            /* PrimitiveUnion */
          ), true;
        }
        function art(r, a, l, f) {
          const d = ti(
            2097152
            /* Intersection */
          );
          return d.objectFlags = a | rM(
            r,
            /*excludeKinds*/
            98304
            /* Nullable */
          ), d.types = r, d.aliasSymbol = l, d.aliasTypeArguments = f, d;
        }
        function ia(r, a = 0, l, f) {
          const d = /* @__PURE__ */ new Map(), y = tNe(d, 0, r), x = ns(d.values());
          let I = 0;
          if (y & 131072)
            return ds(x, kt) ? kt : nr;
          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 && irt(x))
            return nr;
          if (y & 1)
            return y & 8388608 ? pt : y & 1073741824 ? qe : Le;
          if (!K && y & 98304)
            return y & 16777216 ? nr : y & 32768 ? ue : Mt;
          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 || rrt(x, y)), y & 262144 && (x[x.indexOf(ue)] = ye), x.length === 0)
            return yt;
          if (x.length === 1)
            return x[0];
          if (x.length === 2 && !(a & 2)) {
            const G = x[0].flags & 8650752 ? 0 : 1, ve = x[G], de = x[1 - G];
            if (ve.flags & 8650752 && (de.flags & 469893116 && !pNe(de) || y & 16777216)) {
              const We = nu(ve);
              if (We && U_(We, (lt) => !!(lt.flags & 469893116) || dg(lt))) {
                if (fP(We, de))
                  return ve;
                if (!(We.flags & 1048576 && kp(We, (lt) => fP(lt, de))) && !fP(de, We))
                  return nr;
                I = 67108864;
              }
            }
          }
          const J = Zp(x) + (a & 2 ? "*" : bT(l, f));
          let z = Je.get(J);
          if (!z) {
            if (y & 1048576)
              if (srt(x))
                z = ia(x, a, l, f);
              else if (Ni(x, (G) => !!(G.flags & 1048576 && G.types[0].flags & 32768))) {
                const G = ot(x, _I) ? ye : ue;
                rNe(
                  x,
                  32768
                  /* Undefined */
                ), z = Xn([ia(x, a), G], 1, l, f);
              } else if (Ni(x, (G) => !!(G.flags & 1048576 && (G.types[0].flags & 65536 || G.types[1].flags & 65536))))
                rNe(
                  x,
                  65536
                  /* Null */
                ), z = Xn([ia(x, a), Mt], 1, l, f);
              else if (x.length >= 3 && r.length > 2) {
                const G = Math.floor(x.length / 2);
                z = ia([ia(x.slice(0, G), a), ia(x.slice(G), a)], a, l, f);
              } else {
                if (!oM(x))
                  return qe;
                const G = ort(x, a), ve = ot(G, (de) => !!(de.flags & 2097152)) && upe(G) > upe(x) ? ope(2097152, x) : void 0;
                z = Xn(G, 1, l, f, ve);
              }
            else
              z = art(x, I, l, f);
            Je.set(J, z);
          }
          return z;
        }
        function nNe(r) {
          return ju(r, (a, l) => l.flags & 1048576 ? a * l.types.length : l.flags & 131072 ? 0 : a, 1);
        }
        function oM(r) {
          var a;
          const l = nNe(r);
          return l >= 1e5 ? ((a = on) == null || a.instant(on.Phase.CheckTypes, "checkCrossProductUnion_DepthLimit", { typeIds: r.map((f) => f.id), size: l }), ze(k, p.Expression_produces_a_union_type_that_is_too_complex_to_represent), false) : true;
        }
        function ort(r, a) {
          const l = nNe(r), f = [];
          for (let d = 0; d < l; d++) {
            const y = r.slice();
            let x = d;
            for (let J = r.length - 1; J >= 0; J--)
              if (r[J].flags & 1048576) {
                const z = r[J].types, G = z.length;
                y[J] = z[x % G], x = Math.floor(x / G);
              }
            const I = ia(y, a);
            I.flags & 131072 || f.push(I);
          }
          return f;
        }
        function iNe(r) {
          return !(r.flags & 3145728) || r.aliasSymbol ? 1 : r.flags & 1048576 && r.origin ? iNe(r.origin) : upe(r.types);
        }
        function upe(r) {
          return ju(r, (a, l) => a + iNe(l), 0);
        }
        function crt(r) {
          const a = xn(r);
          if (!a.resolvedType) {
            const l = Qk(r), f = hr(r.types, Ci), d = f.length === 2 ? f.indexOf(zs) : -1, y = d >= 0 ? f[1 - d] : yt, x = !!(y.flags & 76 || y.flags & 134217728 && TT(y));
            a.resolvedType = ia(f, x ? 1 : 0, l, IE(l));
          }
          return a.resolvedType;
        }
        function sNe(r, a) {
          const l = ti(
            4194304
            /* Index */
          );
          return l.type = r, l.indexFlags = a, l;
        }
        function lrt(r) {
          const a = Ki(
            4194304
            /* Index */
          );
          return a.type = r, a;
        }
        function aNe(r, a) {
          return a & 1 ? r.resolvedStringIndexType || (r.resolvedStringIndexType = sNe(
            r,
            1
            /* StringsOnly */
          )) : r.resolvedIndexType || (r.resolvedIndexType = sNe(
            r,
            0
            /* None */
          ));
        }
        function oNe(r, a) {
          const l = hd(r), f = Vf(r), d = $0(r.target || r);
          if (!d && !(a & 2))
            return f;
          const y = [];
          if (kT(f)) {
            if (EE(r))
              return aNe(r, a);
            IT(f, I);
          } else if (EE(r)) {
            const J = Qu($v(r));
            Afe(J, 8576, !!(a & 1), I);
          } else
            IT(YL(f), I);
          const x = a & 2 ? Hc(Xn(y), (J) => !(J.flags & 5)) : Xn(y);
          if (x.flags & 1048576 && f.flags & 1048576 && Zp(x.types) === Zp(f.types))
            return f;
          return x;
          function I(J) {
            const z = d ? Mi(d, nI(r.mapper, l, J)) : J;
            y.push(z === at ? Xt : z);
          }
        }
        function urt(r) {
          const a = hd(r);
          return l($0(r) || a);
          function l(f) {
            return f.flags & 470810623 ? true : f.flags & 16777216 ? f.root.isDistributive && f.checkType === a : f.flags & 137363456 ? Ni(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) : false;
          }
        }
        function Hh(r) {
          if (Ai(r))
            return nr;
          if (T_(r))
            return Yu(Hi(r));
          if (Hs(r))
            return Yu(yd(r));
          const a = oS(r);
          return a !== void 0 ? W_(Si(a)) : ut(r) ? Yu(Hi(r)) : nr;
        }
        function $k(r, a, l) {
          if (l || !(ap(r) & 6)) {
            let f = Pn(GG(r)).nameType;
            if (!f) {
              const d = us(r.valueDeclaration);
              f = r.escapedName === "default" ? W_("default") : d && Hh(d) || (G4(r) ? void 0 : W_(sc(r)));
            }
            if (f && f.flags & a)
              return f;
          }
          return nr;
        }
        function cNe(r, a) {
          return !!(r.flags & a || r.flags & 2097152 && ot(r.types, (l) => cNe(l, a)));
        }
        function _rt(r, a, l) {
          const f = l && (Dn(r) & 7 || r.aliasSymbol) ? lrt(r) : void 0, d = hr(qa(r), (x) => $k(x, a)), y = hr(hu(r), (x) => x !== Li && cNe(x.keyType, a) ? x.keyType === at && a & 8 ? Xt : x.keyType : nr);
          return Xn(
            Bi(d, y),
            1,
            /*aliasSymbol*/
            void 0,
            /*aliasTypeArguments*/
            void 0,
            f
          );
        }
        function _pe(r, a = 0) {
          return !!(r.flags & 58982400 || x1(r) || A_(r) && (!urt(r) || $A(r) === 2) || r.flags & 1048576 && !(a & 4) && Rfe(r) || r.flags & 2097152 && kc(
            r,
            465829888
            /* Instantiable */
          ) && ot(r.types, dg));
        }
        function Om(r, a = 0) {
          return r = Yp(r), NE(r) ? Hfe(Om(r.baseType, a)) : _pe(r, a) ? aNe(r, a) : r.flags & 1048576 ? ia(hr(r.types, (l) => Om(l, a))) : r.flags & 2097152 ? Xn(hr(r.types, (l) => Om(l, a))) : Dn(r) & 32 ? oNe(r, a) : r === pt ? pt : r.flags & 2 ? nr : r.flags & 131073 ? oi : _rt(
            r,
            (a & 2 ? 128 : 402653316) | (a & 1 ? 0 : 12584),
            a === 0
            /* None */
          );
        }
        function lNe(r) {
          const a = Ett();
          return a ? PE(a, [r, at]) : at;
        }
        function frt(r) {
          const a = lNe(Om(r));
          return a.flags & 131072 ? at : a;
        }
        function prt(r) {
          const a = xn(r);
          if (!a.resolvedType)
            switch (r.operator) {
              case 143:
                a.resolvedType = Om(Ci(r.type));
                break;
              case 158:
                a.resolvedType = r.type.kind === 155 ? bpe(q3(r.parent)) : qe;
                break;
              case 148:
                a.resolvedType = Ci(r.type);
                break;
              default:
                E.assertNever(r.operator);
            }
          return a.resolvedType;
        }
        function drt(r) {
          const a = xn(r);
          return a.resolvedType || (a.resolvedType = ST(
            [r.head.text, ...hr(r.templateSpans, (l) => l.literal.text)],
            hr(r.templateSpans, (l) => Ci(l.type))
          )), a.resolvedType;
        }
        function ST(r, a) {
          const l = ic(a, (z) => !!(z.flags & 1179648));
          if (l >= 0)
            return oM(a) ? Vo(a[l], (z) => ST(r, IR(a, l, z))) : qe;
          if (ds(a, pt))
            return pt;
          const f = [], d = [];
          let y = r[0];
          if (!J(r, a))
            return at;
          if (f.length === 0)
            return W_(y);
          if (d.push(y), Ni(d, (z) => z === "")) {
            if (Ni(f, (z) => !!(z.flags & 4)))
              return at;
            if (f.length === 1 && TT(f[0]))
              return f[0];
          }
          const x = `${Zp(f)}|${hr(d, (z) => z.length).join(",")}|${d.join("")}`;
          let I = ki.get(x);
          return I || ki.set(x, I = grt(d, f)), I;
          function J(z, G) {
            for (let ve = 0; ve < G.length; ve++) {
              const de = G[ve];
              if (de.flags & 101248)
                y += mrt(de) || "", y += z[ve + 1];
              else if (de.flags & 134217728) {
                if (y += de.texts[0], !J(de.texts, de.types)) return false;
                y += z[ve + 1];
              } else if (kT(de) || cM(de))
                f.push(de), d.push(y), y = z[ve + 1];
              else
                return false;
            }
            return true;
          }
        }
        function mrt(r) {
          return r.flags & 128 ? r.value : r.flags & 256 ? "" + r.value : r.flags & 2048 ? Rb(r.value) : r.flags & 98816 ? r.intrinsicName : void 0;
        }
        function grt(r, a) {
          const l = ti(
            134217728
            /* TemplateLiteral */
          );
          return l.texts = r, l.types = a, l;
        }
        function Xk(r, a) {
          return a.flags & 1179648 ? Vo(a, (l) => Xk(r, l)) : a.flags & 128 ? W_(uNe(r, a.value)) : a.flags & 134217728 ? ST(...hrt(r, a.texts, a.types)) : (
            // Mapping<Mapping<T>> === Mapping<T>
            a.flags & 268435456 && r === a.symbol ? a : a.flags & 268435461 || kT(a) ? _Ne(r, a) : (
              // This handles Mapping<`${number}`> and Mapping<`${bigint}`>
              cM(a) ? _Ne(r, ST(["", ""], [a])) : a
            )
          );
        }
        function uNe(r, a) {
          switch (PW.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 hrt(r, a, l) {
          switch (PW.get(r.escapedName)) {
            case 0:
              return [a.map((f) => f.toUpperCase()), l.map((f) => Xk(r, f))];
            case 1:
              return [a.map((f) => f.toLowerCase()), l.map((f) => Xk(r, f))];
            case 2:
              return [a[0] === "" ? a : [a[0].charAt(0).toUpperCase() + a[0].slice(1), ...a.slice(1)], a[0] === "" ? [Xk(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] === "" ? [Xk(r, l[0]), ...l.slice(1)] : l];
          }
          return [a, l];
        }
        function _Ne(r, a) {
          const l = `${$s(r)},${Ol(a)}`;
          let f = Es.get(l);
          return f || Es.set(l, f = yrt(r, a)), f;
        }
        function yrt(r, a) {
          const l = gi(268435456, r);
          return l.type = a, l;
        }
        function vrt(r, a, l, f, d) {
          const y = ti(
            8388608
            /* IndexedAccess */
          );
          return y.objectType = r, y.indexType = a, y.accessFlags = l, y.aliasSymbol = f, y.aliasTypeArguments = d, y;
        }
        function tI(r) {
          if (fe)
            return false;
          if (Dn(r) & 4096)
            return true;
          if (r.flags & 1048576)
            return Ni(r.types, tI);
          if (r.flags & 2097152)
            return ot(r.types, tI);
          if (r.flags & 465829888) {
            const a = Ofe(r);
            return a !== r && tI(a);
          }
          return false;
        }
        function l$(r, a) {
          return op(r) ? cp(r) : a && Wc(a) ? (
            // late bound names are handled in the first branch, so here we only need to handle normal names
            oS(a)
          ) : void 0;
        }
        function fpe(r, a) {
          if (a.flags & 8208) {
            const l = dr(r.parent, (f) => !vo(f)) || r.parent;
            return vb(l) ? tm(l) && Me(r) && x8e(l, r) : Ni(a.declarations, (f) => !Cs(f) || jd(f));
          }
          return true;
        }
        function fNe(r, a, l, f, d, y) {
          const x = d && d.kind === 213 ? d : void 0, I = d && Ai(d) ? void 0 : l$(l, d);
          if (I !== void 0) {
            if (y & 256)
              return ib(a, I) || Le;
            const z = Qs(a, I);
            if (z) {
              if (y & 64 && d && z.declarations && $u(z) && fpe(d, z)) {
                const ve = x?.argumentExpression ?? (Wb(d) ? d.indexType : d);
                $p(ve, z.declarations, I);
              }
              if (x) {
                if (WM(z, x, VAe(x.expression, a.symbol)), IIe(x, z, Py(x))) {
                  ze(x.argumentExpression, p.Cannot_assign_to_0_because_it_is_a_read_only_property, Wi(z));
                  return;
                }
                if (y & 8 && (xn(d).resolvedSymbol = z), MAe(x, z))
                  return mt;
              }
              const G = y & 4 ? G0(z) : Yr(z);
              return x && Py(x) !== 1 ? e0(x, G) : d && Wb(d) && _I(G) ? Xn([G, ue]) : G;
            }
            if (U_(a, ba) && Mg(I)) {
              const G = +I;
              if (d && U_(a, (ve) => !(ve.target.combinedFlags & 12)) && !(y & 16)) {
                const ve = ppe(d);
                if (ba(a)) {
                  if (G < 0)
                    return ze(ve, p.A_tuple_type_cannot_be_indexed_with_a_negative_value), ue;
                  ze(ve, p.Tuple_type_0_of_length_1_has_no_element_at_index_2, Wr(a), Y0(a), Si(I));
                } else
                  ze(ve, p.Property_0_does_not_exist_on_type_1, Si(I), Wr(a));
              }
              if (G >= 0)
                return J(th(a, wt)), r8e(a, G, y & 1 ? ye : void 0);
            }
          }
          if (!(l.flags & 98304) && iu(
            l,
            402665900
            /* ESSymbolLike */
          )) {
            if (a.flags & 131073)
              return a;
            const z = XA(a, l) || th(a, at);
            if (z) {
              if (y & 2 && z.keyType !== wt) {
                x && (y & 4 ? ze(x, p.Type_0_is_generic_and_can_only_be_indexed_for_reading, Wr(r)) : ze(x, p.Type_0_cannot_be_used_to_index_type_1, Wr(l), Wr(r)));
                return;
              }
              if (d && z.keyType === at && !iu(
                l,
                12
                /* Number */
              )) {
                const G = ppe(d);
                return ze(G, p.Type_0_cannot_be_used_as_an_index_type, Wr(l)), y & 1 ? Xn([z.type, ye]) : z.type;
              }
              return J(z), y & 1 && !(a.symbol && a.symbol.flags & 384 && l.symbol && l.flags & 1024 && vl(l.symbol) === a.symbol) ? Xn([z.type, ye]) : z.type;
            }
            if (l.flags & 131072)
              return nr;
            if (tI(a))
              return Le;
            if (x && !hX(a)) {
              if (ey(a)) {
                if (fe && l.flags & 384)
                  return Pa.add(sn(x, p.Property_0_does_not_exist_on_type_1, l.value, Wr(a))), ue;
                if (l.flags & 12) {
                  const G = hr(a.properties, (ve) => Yr(ve));
                  return Xn(Er(G, ue));
                }
              }
              if (a.symbol === Se && I !== void 0 && Se.exports.has(I) && Se.exports.get(I).flags & 418)
                ze(x, p.Property_0_does_not_exist_on_type_1, Si(I), Wr(a));
              else if (fe && !(y & 128))
                if (I !== void 0 && BAe(I, a)) {
                  const G = Wr(a);
                  ze(x, p.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead, I, G, G + "[" + Go(x.argumentExpression) + "]");
                } else if (Xv(a, wt))
                  ze(x.argumentExpression, p.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number);
                else {
                  let G;
                  if (I !== void 0 && (G = WAe(I, a)))
                    G !== void 0 && ze(x.argumentExpression, p.Property_0_does_not_exist_on_type_1_Did_you_mean_2, I, Wr(a), G);
                  else {
                    const ve = Eat(a, x, l);
                    if (ve !== void 0)
                      ze(x, p.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1, Wr(a), ve);
                    else {
                      let de;
                      if (l.flags & 1024)
                        de = Ss(
                          /*details*/
                          void 0,
                          p.Property_0_does_not_exist_on_type_1,
                          "[" + Wr(l) + "]",
                          Wr(a)
                        );
                      else if (l.flags & 8192) {
                        const We = J0(l.symbol, x);
                        de = Ss(
                          /*details*/
                          void 0,
                          p.Property_0_does_not_exist_on_type_1,
                          "[" + We + "]",
                          Wr(a)
                        );
                      } else l.flags & 128 || l.flags & 256 ? de = Ss(
                        /*details*/
                        void 0,
                        p.Property_0_does_not_exist_on_type_1,
                        l.value,
                        Wr(a)
                      ) : l.flags & 12 && (de = Ss(
                        /*details*/
                        void 0,
                        p.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1,
                        Wr(l),
                        Wr(a)
                      ));
                      de = Ss(
                        de,
                        p.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1,
                        Wr(f),
                        Wr(a)
                      ), Pa.add(wg(xr(x), x, de));
                    }
                  }
                }
              return;
            }
          }
          if (y & 16 && ey(a))
            return ue;
          if (tI(a))
            return Le;
          if (d) {
            const z = ppe(d);
            if (z.kind !== 10 && l.flags & 384)
              ze(z, p.Property_0_does_not_exist_on_type_1, "" + l.value, Wr(a));
            else if (l.flags & 12)
              ze(z, p.Type_0_has_no_matching_index_signature_for_type_1, Wr(a), Wr(l));
            else {
              const G = z.kind === 10 ? "bigint" : Wr(l);
              ze(z, p.Type_0_cannot_be_used_as_an_index_type, G);
            }
          }
          if (gn(l))
            return l;
          return;
          function J(z) {
            z && z.isReadonly && x && (Ny(x) || IB(x)) && ze(x, p.Index_signature_in_type_0_only_permits_reading, Wr(a));
          }
        }
        function ppe(r) {
          return r.kind === 213 ? r.argumentExpression : r.kind === 200 ? r.indexType : r.kind === 168 ? r.expression : r;
        }
        function cM(r) {
          if (r.flags & 2097152) {
            let a = false;
            for (const l of r.types)
              if (l.flags & 101248 || cM(l))
                a = true;
              else if (!(l.flags & 524288))
                return false;
            return a;
          }
          return !!(r.flags & 77) || TT(r);
        }
        function TT(r) {
          return !!(r.flags & 134217728) && Ni(r.types, cM) || !!(r.flags & 268435456) && cM(r.type);
        }
        function pNe(r) {
          return !!(r.flags & 402653184) && !TT(r);
        }
        function Zv(r) {
          return !!rI(r);
        }
        function xT(r) {
          return !!(rI(r) & 4194304);
        }
        function kT(r) {
          return !!(rI(r) & 8388608);
        }
        function rI(r) {
          return r.flags & 3145728 ? (r.objectFlags & 2097152 || (r.objectFlags |= 2097152 | ju(r.types, (a, l) => a | rI(l), 0)), r.objectFlags & 12582912) : r.flags & 33554432 ? (r.objectFlags & 2097152 || (r.objectFlags |= 2097152 | rI(r.baseType) | rI(r.constraint)), r.objectFlags & 12582912) : (r.flags & 58982400 || A_(r) || x1(r) ? 4194304 : 0) | (r.flags & 63176704 || pNe(r) ? 8388608 : 0);
        }
        function Gh(r, a) {
          return r.flags & 8388608 ? Srt(r, a) : r.flags & 16777216 ? Trt(r, a) : r;
        }
        function dNe(r, a, l) {
          if (r.flags & 1048576 || r.flags & 2097152 && !_pe(r)) {
            const f = hr(r.types, (d) => Gh(mf(d, a), l));
            return r.flags & 2097152 || l ? ia(f) : Xn(f);
          }
        }
        function brt(r, a, l) {
          if (a.flags & 1048576) {
            const f = hr(a.types, (d) => Gh(mf(r, d), l));
            return l ? ia(f) : Xn(f);
          }
        }
        function Srt(r, a) {
          const l = a ? "simplifiedForWriting" : "simplifiedForReading";
          if (r[l])
            return r[l] === Nc ? r : r[l];
          r[l] = Nc;
          const f = Gh(r.objectType, a), d = Gh(r.indexType, a), y = brt(f, d, a);
          if (y)
            return r[l] = y;
          if (!(d.flags & 465829888)) {
            const x = dNe(f, d, a);
            if (x)
              return r[l] = x;
          }
          if (x1(f) && d.flags & 296) {
            const x = mP(
              f,
              d.flags & 8 ? 0 : f.target.fixedLength,
              /*endSkipCount*/
              0,
              a
            );
            if (x)
              return r[l] = x;
          }
          return A_(f) && $A(f) !== 2 ? r[l] = Vo(u$(f, r.indexType), (x) => Gh(x, a)) : r[l] = r;
        }
        function Trt(r, a) {
          const l = r.checkType, f = r.extendsType, d = S1(r), y = T1(r);
          if (y.flags & 131072 && $h(d) === $h(l)) {
            if (l.flags & 1 || Ls(DT(l), DT(f)))
              return Gh(d, a);
            if (mNe(l, f))
              return nr;
          } else if (d.flags & 131072 && $h(y) === $h(l)) {
            if (!(l.flags & 1) && Ls(DT(l), DT(f)))
              return nr;
            if (l.flags & 1 || mNe(l, f))
              return Gh(y, a);
          }
          return r;
        }
        function mNe(r, a) {
          return !!(Xn([QL(r, a), nr]).flags & 131072);
        }
        function u$(r, a) {
          const l = gf([hd(r)], [a]), f = Kv(r.mapper, l), d = Mi(eh(r.target || r), f), y = i3e(r) > 0 || (Zv(r) ? iP($v(r)) > 0 : xrt(r, a));
          return Fu(
            d,
            /*isProperty*/
            true,
            y
          );
        }
        function xrt(r, a) {
          const l = nu(a);
          return !!l && ot(qa(r), (f) => !!(f.flags & 16777216) && Ls($k(
            f,
            8576
            /* StringOrNumberLiteralOrUnique */
          ), l));
        }
        function mf(r, a, l = 0, f, d, y) {
          return b1(r, a, l, f, d, y) || (f ? qe : yt);
        }
        function gNe(r, a) {
          return U_(r, (l) => {
            if (l.flags & 384) {
              const f = cp(l);
              if (Mg(f)) {
                const d = +f;
                return d >= 0 && d < a;
              }
            }
            return false;
          });
        }
        function b1(r, a, l = 0, f, d, y) {
          if (r === pt || a === pt)
            return pt;
          if (r = Yp(r), WNe(r) && !(a.flags & 98304) && iu(
            a,
            12
            /* Number */
          ) && (a = at), F.noUncheckedIndexedAccess && l & 32 && (l |= 1), kT(a) || (f && f.kind !== 200 ? x1(r) && !gNe(a, ape(r.target)) : xT(r) && !(ba(r) && gNe(a, ape(r.target))) || Rfe(r))) {
            if (r.flags & 3)
              return r;
            const I = l & 1, J = r.id + "," + a.id + "," + I + bT(d, y);
            let z = Un.get(J);
            return z || Un.set(J, z = vrt(r, a, I, d, y)), z;
          }
          const x = sP(r);
          if (a.flags & 1048576 && !(a.flags & 16)) {
            const I = [];
            let J = false;
            for (const z of a.types) {
              const G = fNe(r, x, z, a, f, l | (J ? 128 : 0));
              if (G)
                I.push(G);
              else if (f)
                J = true;
              else
                return;
            }
            return J ? void 0 : l & 4 ? ia(I, 0, d, y) : Xn(I, 1, d, y);
          }
          return fNe(
            r,
            x,
            a,
            a,
            f,
            l | 8 | 64
            /* ReportDeprecated */
          );
        }
        function hNe(r) {
          const a = xn(r);
          if (!a.resolvedType) {
            const l = Ci(r.objectType), f = Ci(r.indexType), d = Qk(r);
            a.resolvedType = mf(l, f, 0, r, d, IE(d));
          }
          return a.resolvedType;
        }
        function dpe(r) {
          const a = xn(r);
          if (!a.resolvedType) {
            const l = Bc(32, r.symbol);
            l.declaration = r, l.aliasSymbol = Qk(r), l.aliasTypeArguments = IE(l.aliasSymbol), a.resolvedType = l, Vf(l);
          }
          return a.resolvedType;
        }
        function $h(r) {
          return r.flags & 33554432 ? $h(r.baseType) : r.flags & 8388608 && (r.objectType.flags & 33554432 || r.indexType.flags & 33554432) ? mf($h(r.objectType), $h(r.indexType)) : r;
        }
        function yNe(r) {
          return jx(r) && wr(r.elements) > 0 && !ot(r.elements, (a) => kF(a) || CF(a) || o6(a) && !!(a.questionToken || a.dotDotDotToken));
        }
        function vNe(r, a) {
          return Zv(r) || a && ba(r) && ot(D2(r), Zv);
        }
        function mpe(r, a, l, f, d) {
          let y, x, I = 0;
          for (; ; ) {
            if (I === 1e3)
              return ze(k, p.Type_instantiation_is_excessively_deep_and_possibly_infinite), qe;
            const z = Mi($h(r.checkType), a), G = Mi(r.extendsType, a);
            if (z === qe || G === qe)
              return qe;
            if (z === pt || G === pt)
              return pt;
            const ve = z4(r.node.checkType), de = z4(r.node.extendsType), We = yNe(ve) && yNe(de) && wr(ve.elements) === wr(de.elements), lt = vNe(z, We);
            let gt;
            if (r.inferTypeParameters) {
              const ar = pI(
                r.inferTypeParameters,
                /*signature*/
                void 0,
                0
                /* None */
              );
              a && (ar.nonFixingMapper = Kv(ar.nonFixingMapper, a)), lt || sh(
                ar.inferences,
                z,
                G,
                1536
                /* AlwaysStrict */
              ), gt = a ? Kv(ar.mapper, a) : ar.mapper;
            }
            const jt = gt ? Mi(r.extendsType, gt) : G;
            if (!lt && !vNe(jt, We)) {
              if (!(jt.flags & 3) && (z.flags & 1 || !Ls(sI(z), sI(jt)))) {
                (z.flags & 1 || l && !(jt.flags & 131072) && kp(sI(jt), (jr) => Ls(jr, sI(z)))) && (x || (x = [])).push(Mi(Ci(r.node.trueType), gt || a));
                const ar = Ci(r.node.falseType);
                if (ar.flags & 16777216) {
                  const jr = ar.root;
                  if (jr.node.parent === r.node && (!jr.isDistributive || jr.checkType === r.checkType)) {
                    r = jr;
                    continue;
                  }
                  if (J(ar, a))
                    continue;
                }
                y = Mi(ar, a);
                break;
              }
              if (jt.flags & 3 || Ls(DT(z), DT(jt))) {
                const ar = Ci(r.node.trueType), jr = gt || a;
                if (J(ar, jr))
                  continue;
                y = Mi(ar, jr);
                break;
              }
            }
            y = ti(
              16777216
              /* Conditional */
            ), y.root = r, y.checkType = Mi(r.checkType, a), y.extendsType = Mi(r.extendsType, a), y.mapper = a, y.combinedMapper = gt, y.aliasSymbol = f || r.aliasSymbol, y.aliasTypeArguments = f ? d : Xh(r.aliasTypeArguments, a);
            break;
          }
          return x ? Xn(Er(x, y)) : y;
          function J(z, G) {
            if (z.flags & 16777216 && G) {
              const ve = z.root;
              if (ve.outerTypeParameters) {
                const de = Kv(z.mapper, G), We = hr(ve.outerTypeParameters, (jt) => Z0(jt, de)), lt = gf(ve.outerTypeParameters, We), gt = ve.isDistributive ? Z0(ve.checkType, lt) : void 0;
                if (!gt || gt === ve.checkType || !(gt.flags & 1179648))
                  return r = ve, a = lt, f = void 0, d = void 0, ve.aliasSymbol && I++, true;
              }
            }
            return false;
          }
        }
        function S1(r) {
          return r.resolvedTrueType || (r.resolvedTrueType = Mi(Ci(r.root.node.trueType), r.mapper));
        }
        function T1(r) {
          return r.resolvedFalseType || (r.resolvedFalseType = Mi(Ci(r.root.node.falseType), r.mapper));
        }
        function krt(r) {
          return r.resolvedInferredTrueType || (r.resolvedInferredTrueType = r.combinedMapper ? Mi(Ci(r.root.node.trueType), r.combinedMapper) : S1(r));
        }
        function gpe(r) {
          let a;
          return r.locals && r.locals.forEach((l) => {
            l.flags & 262144 && (a = Er(a, ho(l)));
          }), a;
        }
        function Crt(r) {
          return r.isDistributive && (pM(r.checkType, r.node.trueType) || pM(r.checkType, r.node.falseType));
        }
        function Ert(r) {
          const a = xn(r);
          if (!a.resolvedType) {
            const l = Ci(r.checkType), f = Qk(r), d = IE(f), y = pi(
              r,
              /*includeThisTypes*/
              true
            ), x = d ? y : kn(y, (J) => pM(J, r)), I = {
              node: r,
              checkType: l,
              extendsType: Ci(r.extendsType),
              isDistributive: !!(l.flags & 262144),
              inferTypeParameters: gpe(r),
              outerTypeParameters: x,
              instantiations: void 0,
              aliasSymbol: f,
              aliasTypeArguments: d
            };
            a.resolvedType = mpe(
              I,
              /*mapper*/
              void 0,
              /*forConstraint*/
              false
            ), x && (I.instantiations = /* @__PURE__ */ new Map(), I.instantiations.set(Zp(x), a.resolvedType));
          }
          return a.resolvedType;
        }
        function Drt(r) {
          const a = xn(r);
          return a.resolvedType || (a.resolvedType = Gv(yn(r.typeParameter))), a.resolvedType;
        }
        function bNe(r) {
          return Me(r) ? [r] : Er(bNe(r.left), r.right);
        }
        function SNe(r) {
          var a;
          const l = xn(r);
          if (!l.resolvedType) {
            if (!mh(r))
              return ze(r.argument, p.String_literal_expected), l.resolvedSymbol = Y, l.resolvedType = qe;
            const f = r.isTypeOf ? 111551 : r.flags & 16777216 ? 900095 : 788968, d = Iu(r, r.argument.literal);
            if (!d)
              return l.resolvedSymbol = Y, l.resolvedType = qe;
            const y = !!((a = d.exports) != null && a.get(
              "export="
              /* ExportEquals */
            )), x = z_(
              d,
              /*dontResolveAlias*/
              false
            );
            if (ac(r.qualifier))
              if (x.flags & f)
                l.resolvedType = TNe(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;
                ze(r, I, r.argument.literal.text), l.resolvedSymbol = Y, l.resolvedType = qe;
              }
            else {
              const I = bNe(r.qualifier);
              let J = x, z;
              for (; z = I.shift(); ) {
                const G = I.length ? 1920 : f, ve = Ia(jc(J)), de = r.isTypeOf || an(r) && y ? Qs(
                  Yr(ve),
                  z.escapedText,
                  /*skipObjectFunctionPropertyAugment*/
                  false,
                  /*includeTypeOnlyMembers*/
                  true
                ) : void 0, lt = (r.isTypeOf ? void 0 : ql(ff(ve), z.escapedText, G)) ?? de;
                if (!lt)
                  return ze(z, p.Namespace_0_has_no_exported_member_1, J0(J), so(z)), l.resolvedType = qe;
                xn(z).resolvedSymbol = lt, xn(z.parent).resolvedSymbol = lt, J = lt;
              }
              l.resolvedType = TNe(r, l, J, f);
            }
          }
          return l.resolvedType;
        }
        function TNe(r, a, l, f) {
          const d = jc(l);
          return a.resolvedSymbol = d, f === 111551 ? yIe(Yr(l), r) : i$(r, d);
        }
        function xNe(r) {
          const a = xn(r);
          if (!a.resolvedType) {
            const l = Qk(r);
            if (!r.symbol || ug(r.symbol).size === 0 && !l)
              a.resolvedType = zs;
            else {
              let f = Bc(16, r.symbol);
              f.aliasSymbol = l, f.aliasTypeArguments = IE(l), kS(r) && r.isArrayType && (f = yu(f)), a.resolvedType = f;
            }
          }
          return a.resolvedType;
        }
        function Qk(r) {
          let a = r.parent;
          for (; hS(a) || iv(a) || Y1(a) && a.operator === 148; )
            a = a.parent;
          return W3(a) ? yn(a) : void 0;
        }
        function IE(r) {
          return r ? na(r) : void 0;
        }
        function _$(r) {
          return !!(r.flags & 524288) && !A_(r);
        }
        function hpe(r) {
          return Qh(r) || !!(r.flags & 474058748);
        }
        function ype(r, a) {
          if (!(r.flags & 1048576))
            return r;
          if (Ni(r.types, hpe))
            return Nn(r.types, Qh) || ea;
          const l = Nn(r.types, (y) => !hpe(y));
          if (!l || Nn(r.types, (y) => y !== l && !hpe(y)))
            return r;
          return d(l);
          function d(y) {
            const x = js();
            for (const J of qa(y))
              if (!(ap(J) & 6)) {
                if (f$(J)) {
                  const z = J.flags & 65536 && !(J.flags & 32768), ve = ma(16777220, J.escapedName, Nfe(J) | (a ? 8 : 0));
                  ve.links.type = z ? ue : Fu(
                    Yr(J),
                    /*isProperty*/
                    true
                  ), ve.declarations = J.declarations, ve.links.nameType = Pn(J).nameType, ve.links.syntheticOrigin = J, x.set(J.escapedName, ve);
                }
              }
            const I = Uo(y.symbol, x, Ge, Ge, hu(y));
            return I.objectFlags |= 131200, I;
          }
        }
        function w2(r, a, l, f, d) {
          if (r.flags & 1 || a.flags & 1)
            return Le;
          if (r.flags & 2 || a.flags & 2)
            return yt;
          if (r.flags & 131072)
            return a;
          if (a.flags & 131072)
            return r;
          if (r = ype(r, d), r.flags & 1048576)
            return oM([r, a]) ? Vo(r, (z) => w2(z, a, l, f, d)) : qe;
          if (a = ype(a, d), a.flags & 1048576)
            return oM([r, a]) ? Vo(a, (z) => w2(r, z, l, f, d)) : qe;
          if (a.flags & 473960444)
            return r;
          if (xT(r) || xT(a)) {
            if (Qh(r))
              return a;
            if (r.flags & 2097152) {
              const z = r.types, G = z[z.length - 1];
              if (_$(G) && _$(a))
                return ia(Bi(z.slice(0, z.length - 1), [w2(G, a, l, f, d)]));
            }
            return ia([r, a]);
          }
          const y = js(), x = /* @__PURE__ */ new Set(), I = r === ea ? hu(a) : KPe([r, a]);
          for (const z of qa(a))
            ap(z) & 6 ? x.add(z.escapedName) : f$(z) && y.set(z.escapedName, vpe(z, d));
          for (const z of qa(r))
            if (!(x.has(z.escapedName) || !f$(z)))
              if (y.has(z.escapedName)) {
                const G = y.get(z.escapedName), ve = Yr(G);
                if (G.flags & 16777216) {
                  const de = Bi(z.declarations, G.declarations), We = 4 | z.flags & 16777216, lt = ma(We, z.escapedName), gt = Yr(z), jt = N$(gt), ar = N$(ve);
                  lt.links.type = jt === ar ? gt : Xn(
                    [gt, ar],
                    2
                    /* Subtype */
                  ), lt.links.leftSpread = z, lt.links.rightSpread = G, lt.declarations = de, lt.links.nameType = Pn(z).nameType, y.set(z.escapedName, lt);
                }
              } else
                y.set(z.escapedName, vpe(z, d));
          const J = Uo(l, y, Ge, Ge, Gc(I, (z) => wrt(z, d)));
          return J.objectFlags |= 2228352 | f, J;
        }
        function f$(r) {
          var a;
          return !ot(r.declarations, xu) && (!(r.flags & 106496) || !((a = r.declarations) != null && a.some((l) => $n(l.parent))));
        }
        function vpe(r, a) {
          const l = r.flags & 65536 && !(r.flags & 32768);
          if (!l && a === Yd(r))
            return r;
          const f = 4 | r.flags & 16777216, d = ma(f, r.escapedName, Nfe(r) | (a ? 8 : 0));
          return d.links.type = l ? ue : Yr(r), d.declarations = r.declarations, d.links.nameType = Pn(r).nameType, d.links.syntheticOrigin = r, d;
        }
        function wrt(r, a) {
          return r.isReadonly !== a ? rh(r.keyType, r.type, a, r.declaration, r.components) : r;
        }
        function lM(r, a, l, f) {
          const d = gi(r, l);
          return d.value = a, d.regularType = f || d, d;
        }
        function Yk(r) {
          if (r.flags & 2976) {
            if (!r.freshType) {
              const a = lM(r.flags, r.value, r.symbol, r);
              a.freshType = a, r.freshType = a;
            }
            return r.freshType;
          }
          return r;
        }
        function Yu(r) {
          return r.flags & 2976 ? r.regularType : r.flags & 1048576 ? r.regularType || (r.regularType = Vo(r, Yu)) : r;
        }
        function P2(r) {
          return !!(r.flags & 2976) && r.freshType === r;
        }
        function W_(r) {
          let a;
          return ft.get(r) || (ft.set(r, a = lM(128, r)), a);
        }
        function qd(r) {
          let a;
          return er.get(r) || (er.set(r, a = lM(256, r)), a);
        }
        function uM(r) {
          let a;
          const l = Rb(r);
          return qr.get(l) || (qr.set(l, a = lM(2048, r)), a);
        }
        function Prt(r, a, l) {
          let f;
          const d = `${a}${typeof r == "string" ? "@" : "#"}${r}`, y = 1024 | (typeof r == "string" ? 128 : 256);
          return Jn.get(d) || (Jn.set(d, f = lM(y, r, l)), f);
        }
        function Nrt(r) {
          if (r.literal.kind === 106)
            return Mt;
          const a = xn(r);
          return a.resolvedType || (a.resolvedType = Yu(Hi(r.literal))), a.resolvedType;
        }
        function Art(r) {
          const a = gi(8192, r);
          return a.escapedName = `__@${a.symbol.escapedName}@${$s(a.symbol)}`, a;
        }
        function bpe(r) {
          if (an(r) && iv(r)) {
            const a = Db(r);
            a && (r = px(a) || a);
          }
          if (pK(r)) {
            const a = Y7(r) ? Wf(r.left) : Wf(r);
            if (a) {
              const l = Pn(a);
              return l.uniqueESSymbolType || (l.uniqueESSymbolType = Art(a));
            }
          }
          return Jt;
        }
        function Irt(r) {
          const a = zu(
            r,
            /*includeArrowFunctions*/
            false,
            /*includeClassComputedPropertyName*/
            false
          ), l = a && a.parent;
          if (l && ($n(l) || l.kind === 265) && !Bs(a) && (!ec(a) || wb(r, a.body)))
            return vp(yn(l)).thisType;
          if (l && ua(l) && _n(l.parent) && wc(l.parent) === 6)
            return vp(Wf(l.parent.left).parent).thisType;
          const f = r.flags & 16777216 ? U1(r) : void 0;
          return f && mo(f) && _n(f.parent) && wc(f.parent) === 3 ? vp(Wf(f.parent.left).parent).thisType : Rm(a) && wb(r, a.body) ? vp(yn(a)).thisType : (ze(r, p.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface), qe);
        }
        function Spe(r) {
          const a = xn(r);
          return a.resolvedType || (a.resolvedType = Irt(r)), a.resolvedType;
        }
        function kNe(r) {
          return Ci(_M(r.type) || r.type);
        }
        function _M(r) {
          switch (r.kind) {
            case 197:
              return _M(r.type);
            case 190:
              if (r.elements.length === 1 && (r = r.elements[0], r.kind === 192 || r.kind === 203 && r.dotDotDotToken))
                return _M(r.type);
              break;
            case 189:
              return r.elementType;
          }
        }
        function Frt(r) {
          const a = xn(r);
          return a.resolvedType || (a.resolvedType = r.dotDotDotToken ? kNe(r) : Fu(
            Ci(r.type),
            /*isProperty*/
            true,
            !!r.questionToken
          ));
        }
        function Ci(r) {
          return ltt(CNe(r), r);
        }
        function CNe(r) {
          switch (r.kind) {
            case 133:
            case 313:
            case 314:
              return Le;
            case 159:
              return yt;
            case 154:
              return at;
            case 150:
              return wt;
            case 163:
              return Zr;
            case 136:
              return Nt;
            case 155:
              return Jt;
            case 116:
              return _r;
            case 157:
              return ue;
            case 106:
              return Mt;
            case 146:
              return nr;
            case 151:
              return r.flags & 524288 && !fe ? Le : vr;
            case 141:
              return Pe;
            case 198:
            case 110:
              return Spe(r);
            case 202:
              return Nrt(r);
            case 184:
              return a$(r);
            case 183:
              return r.assertsModifier ? _r : Nt;
            case 234:
              return a$(r);
            case 187:
              return F3e(r);
            case 189:
            case 190:
              return ztt(r);
            case 191:
              return qtt(r);
            case 193:
              return ert(r);
            case 194:
              return crt(r);
            case 315:
              return utt(r);
            case 317:
              return Fu(Ci(r.type));
            case 203:
              return Frt(r);
            case 197:
            case 316:
            case 310:
              return Ci(r.type);
            case 192:
              return kNe(r);
            case 319:
              return Yut(r);
            case 185:
            case 186:
            case 188:
            case 323:
            case 318:
            case 324:
              return xNe(r);
            case 199:
              return prt(r);
            case 200:
              return hNe(r);
            case 201:
              return dpe(r);
            case 195:
              return Ert(r);
            case 196:
              return Drt(r);
            case 204:
              return drt(r);
            case 206:
              return SNe(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 167:
            case 212:
              const a = Cp(r);
              return a ? ho(a) : qe;
            default:
              return qe;
          }
        }
        function p$(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 Xh(r, a) {
          return p$(r, a, Mi);
        }
        function d$(r, a) {
          return p$(r, a, ET);
        }
        function ENe(r, a) {
          return p$(r, a, Vrt);
        }
        function gf(r, a) {
          return r.length === 1 ? N2(r[0], a ? a[0] : Le) : DNe(r, a);
        }
        function Z0(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] : Le;
              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 = Z0(r, a.mapper1);
              return l !== r && a.kind === 4 ? Mi(l, a.mapper2) : Z0(l, a.mapper2);
          }
        }
        function N2(r, a) {
          return E.attachDebugPrototypeIfDebug({ kind: 0, source: r, target: a });
        }
        function DNe(r, a) {
          return E.attachDebugPrototypeIfDebug({ kind: 1, sources: r, targets: a });
        }
        function fM(r, a) {
          return E.attachDebugPrototypeIfDebug({ kind: 3, func: r, debugInfo: E.isDebugging ? a : void 0 });
        }
        function Tpe(r, a) {
          return E.attachDebugPrototypeIfDebug({ kind: 2, sources: r, targets: a });
        }
        function m$(r, a, l) {
          return E.attachDebugPrototypeIfDebug({ kind: r, mapper1: a, mapper2: l });
        }
        function wNe(r) {
          return gf(
            r,
            /*targets*/
            void 0
          );
        }
        function Ort(r, a) {
          const l = r.inferences.slice(a);
          return gf(hr(l, (f) => f.typeParameter), hr(l, () => yt));
        }
        function Lrt(r) {
          return r.outerReturnMapper ?? (r.outerReturnMapper = PNe(r.returnMapper, c8e(r).mapper));
        }
        function Kv(r, a) {
          return r ? m$(4, r, a) : a;
        }
        function PNe(r, a) {
          return r ? m$(5, r, a) : a;
        }
        function CT(r, a, l) {
          return l ? m$(5, N2(r, a), l) : N2(r, a);
        }
        function nI(r, a, l) {
          return r ? m$(5, r, N2(a, l)) : N2(a, l);
        }
        function Mrt(r) {
          return !r.constraint && !r$(r) || r.constraint === mc ? r : r.restrictiveInstantiation || (r.restrictiveInstantiation = l_(r.symbol), r.restrictiveInstantiation.constraint = mc, r.restrictiveInstantiation);
        }
        function xpe(r) {
          const a = l_(r.symbol);
          return a.target = r, a;
        }
        function NNe(r, a) {
          return YA(r.kind, r.parameterName, r.parameterIndex, Mi(r.type, a));
        }
        function ET(r, a, l) {
          let f;
          if (r.typeParameters && !l) {
            f = hr(r.typeParameters, xpe), a = Kv(gf(r.typeParameters, f), a);
            for (const y of f)
              y.mapper = a;
          }
          const d = Im(
            r.declaration,
            f,
            r.thisParameter && kpe(r.thisParameter, a),
            p$(r.parameters, a, kpe),
            /*resolvedReturnType*/
            void 0,
            /*resolvedTypePredicate*/
            void 0,
            r.minArgumentCount,
            r.flags & 167
            /* PropagatingFlags */
          );
          return d.target = r, d.mapper = a, d;
        }
        function kpe(r, a) {
          const l = Pn(r);
          if (l.type && !C1(l.type) && (!(r.flags & 65536) || l.writeType && !C1(l.writeType)))
            return r;
          oc(r) & 1 && (r = l.target, a = Kv(l.mapper, a));
          const f = ma(r.flags, r.escapedName, 1 | oc(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 Rrt(r, a, l, f) {
          const d = r.objectFlags & 4 || r.objectFlags & 8388608 ? r.node : r.symbol.declarations[0], y = xn(d), x = r.objectFlags & 4 ? y.resolvedType : r.objectFlags & 64 ? r.target : r;
          let I = y.outerTypeParameters;
          if (!I) {
            let J = pi(
              d,
              /*includeThisTypes*/
              true
            );
            if (Rm(d)) {
              const G = g3e(d);
              J = In(J, G);
            }
            I = J || Ge;
            const z = r.objectFlags & 8388612 ? [d] : r.symbol.declarations;
            I = (x.objectFlags & 8388612 || x.symbol.flags & 8192 || x.symbol.flags & 2048) && !x.aliasTypeArguments ? kn(I, (G) => ot(z, (ve) => pM(G, ve))) : I, y.outerTypeParameters = I;
          }
          if (I.length) {
            const J = Kv(r.mapper, a), z = hr(I, (lt) => Z0(lt, J)), G = l || r.aliasSymbol, ve = l ? f : Xh(r.aliasTypeArguments, a), de = Zp(z) + bT(G, ve);
            x.instantiations || (x.instantiations = /* @__PURE__ */ new Map(), x.instantiations.set(Zp(I) + bT(x.aliasSymbol, x.aliasTypeArguments), x));
            let We = x.instantiations.get(de);
            if (!We) {
              let lt = gf(I, z);
              x.objectFlags & 134217728 && a && (lt = Kv(lt, a)), We = x.objectFlags & 4 ? qfe(r.target, r.node, lt, G, ve) : x.objectFlags & 32 ? Brt(x, lt, G, ve) : Cpe(x, lt, G, ve), x.instantiations.set(de, We);
              const gt = Dn(We);
              if (We.flags & 3899393 && !(gt & 524288)) {
                const jt = ot(z, C1);
                Dn(We) & 524288 || (gt & 52 ? We.objectFlags |= 524288 | (jt ? 1048576 : 0) : We.objectFlags |= jt ? 0 : 524288);
              }
            }
            return We;
          }
          return r;
        }
        function jrt(r) {
          return !(r.parent.kind === 184 && r.parent.typeArguments && r === r.parent.typeName || r.parent.kind === 206 && r.parent.typeArguments && r === r.parent.qualifier);
        }
        function pM(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 === 242 || d.kind === 195 && Ts(d.extendsType, l))
                return true;
            return l(a);
          }
          return true;
          function l(f) {
            switch (f.kind) {
              case 198:
                return !!r.isThisType;
              case 80:
                return !r.isThisType && sm(f) && jrt(f) && CNe(f) === r;
              // use worker because we're looking for === equality
              case 187:
                const d = f.exprName, y = e_(d);
                if (!Iy(y)) {
                  const x = Ou(y), I = r.symbol.declarations[0], J = I.kind === 169 ? 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 && J)
                    return ot(x.declarations, (z) => wb(z, J)) || ot(f.typeArguments, l);
                }
                return true;
              case 175:
              case 174:
                return !f.type && !!f.body || ot(f.typeParameters, l) || ot(f.parameters, l) || !!f.type && l(f.type);
            }
            return !!Ts(f, l);
          }
        }
        function iI(r) {
          const a = Vf(r);
          if (a.flags & 4194304) {
            const l = $h(a.type);
            if (l.flags & 262144)
              return l;
          }
        }
        function Brt(r, a, l, f) {
          const d = iI(r);
          if (d) {
            const x = Mi(d, a);
            if (d !== x)
              return F8e(Yp(x), y, l, f);
          }
          return Mi(Vf(r), a) === pt ? pt : Cpe(r, a, l, f);
          function y(x) {
            if (x.flags & 61603843 && x !== pt && !Gr(x)) {
              if (!r.declaration.nameType) {
                let I;
                if (Tp(x) || x.flags & 1 && X(
                  d,
                  4
                  /* ImmediateBaseConstraint */
                ) < 0 && (I = __(d)) && U_(I, tb))
                  return zrt(x, r, CT(d, x, a));
                if (ba(x))
                  return Jrt(x, r, d, a);
                if (u3e(x))
                  return ia(hr(x.types, y));
              }
              return Cpe(r, CT(d, x, a));
            }
            return x;
          }
        }
        function ANe(r, a) {
          return a & 1 ? true : a & 2 ? false : r;
        }
        function Jrt(r, a, l, f) {
          const d = r.target.elementFlags, y = r.target.fixedLength, x = y ? CT(l, r, f) : f, I = hr(D2(r), (ve, de) => {
            const We = d[de];
            return de < y ? INe(a, W_("" + de), !!(We & 2), x) : We & 8 ? Mi(a, CT(l, ve, f)) : SM(Mi(a, CT(l, yu(ve), f))) ?? yt;
          }), J = _g(a), z = J & 4 ? hr(d, (ve) => ve & 1 ? 2 : ve) : J & 8 ? hr(d, (ve) => ve & 2 ? 1 : ve) : d, G = ANe(r.target.readonly, _g(a));
          return ds(I, qe) ? qe : pg(I, z, G, r.target.labeledElementDeclarations);
        }
        function zrt(r, a, l) {
          const f = INe(
            a,
            wt,
            /*isOptional*/
            true,
            l
          );
          return Gr(f) ? qe : yu(f, ANe(pP(r), _g(a)));
        }
        function INe(r, a, l, f) {
          const d = nI(f, hd(r), a), y = Mi(eh(r.target || r), d), x = _g(r);
          return K && x & 4 && !kc(
            y,
            49152
            /* Void */
          ) ? k1(
            y,
            /*isProperty*/
            true
          ) : K && x & 8 && l ? xp(
            y,
            524288
            /* NEUndefined */
          ) : y;
        }
        function Cpe(r, a, l, f) {
          E.assert(r.symbol, "anonymous type must have symbol to be instantiated");
          const d = Bc(r.objectFlags & -1572865 | 64, r.symbol);
          if (r.objectFlags & 32) {
            d.declaration = r.declaration;
            const y = hd(r), x = xpe(y);
            d.typeParameter = x, a = Kv(N2(y, x), a), x.mapper = a;
          }
          return r.objectFlags & 8388608 && (d.node = r.node), d.target = r, d.mapper = a, d.aliasSymbol = l || r.aliasSymbol, d.aliasTypeArguments = l ? f : Xh(r.aliasTypeArguments, a), d.objectFlags |= d.aliasTypeArguments ? rM(d.aliasTypeArguments) : 0, d;
        }
        function Epe(r, a, l, f, d) {
          const y = r.root;
          if (y.outerTypeParameters) {
            const x = hr(y.outerTypeParameters, (z) => Z0(z, a)), I = (l ? "C" : "") + Zp(x) + bT(f, d);
            let J = y.instantiations.get(I);
            if (!J) {
              const z = gf(y.outerTypeParameters, x), G = y.checkType, ve = y.isDistributive ? Yp(Z0(G, z)) : void 0;
              J = ve && G !== ve && ve.flags & 1179648 ? F8e(ve, (de) => mpe(y, CT(G, de, z), l), f, d) : mpe(y, z, l, f, d), y.instantiations.set(I, J);
            }
            return J;
          }
          return r;
        }
        function Mi(r, a) {
          return r && a ? FNe(
            r,
            a,
            /*aliasSymbol*/
            void 0,
            /*aliasTypeArguments*/
            void 0
          ) : r;
        }
        function FNe(r, a, l, f) {
          var d;
          if (!C1(r))
            return r;
          if (S === 100 || h >= 5e6)
            return (d = on) == null || d.instant(on.Phase.CheckTypes, "instantiateType_DepthLimit", { typeId: r.id, instantiationDepth: S, instantiationCount: h }), ze(k, p.Type_instantiation_is_excessively_deep_and_possibly_infinite), qe;
          const y = Dst(a);
          y === -1 && Cst(a);
          const x = r.id + bT(l, f), I = kv[y !== -1 ? y : ng - 1], J = I.get(x);
          if (J)
            return J;
          m++, h++, S++;
          const z = Wrt(r, a, l, f);
          return y === -1 ? Est() : I.set(x, z), S--, z;
        }
        function Wrt(r, a, l, f) {
          const d = r.flags;
          if (d & 262144)
            return Z0(r, a);
          if (d & 524288) {
            const y = r.objectFlags;
            if (y & 52) {
              if (y & 4 && !r.node) {
                const x = r.resolvedTypeArguments, I = Xh(x, a);
                return I !== x ? ipe(r.target, I) : r;
              }
              return y & 1024 ? Urt(r, a) : Rrt(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 = Xh(x, a);
            if (I === x && l === r.aliasSymbol)
              return r;
            const J = l || r.aliasSymbol, z = l ? f : Xh(r.aliasTypeArguments, a);
            return d & 2097152 || y && y.flags & 2097152 ? ia(I, 0, J, z) : Xn(I, 1, J, z);
          }
          if (d & 4194304)
            return Om(Mi(r.type, a));
          if (d & 134217728)
            return ST(r.texts, Xh(r.types, a));
          if (d & 268435456)
            return Xk(r.symbol, Mi(r.type, a));
          if (d & 8388608) {
            const y = l || r.aliasSymbol, x = l ? f : Xh(r.aliasTypeArguments, a);
            return mf(
              Mi(r.objectType, a),
              Mi(r.indexType, a),
              r.accessFlags,
              /*accessNode*/
              void 0,
              y,
              x
            );
          }
          if (d & 16777216)
            return Epe(
              r,
              Kv(r.mapper, a),
              /*forConstraint*/
              false,
              l,
              f
            );
          if (d & 33554432) {
            const y = Mi(r.baseType, a);
            if (NE(r))
              return Hfe(y);
            const x = Mi(r.constraint, a);
            return y.flags & 8650752 && Zv(x) ? $fe(y, x) : x.flags & 3 || Ls(DT(y), DT(x)) ? y : y.flags & 8650752 ? $fe(y, x) : ia([x, y]);
          }
          return r;
        }
        function Urt(r, a) {
          const l = Mi(r.mappedType, a);
          if (!(Dn(l) & 32))
            return r;
          const f = Mi(r.constraintType, a);
          if (!(f.flags & 4194304))
            return r;
          const d = _8e(
            Mi(r.source, a),
            l,
            f
          );
          return d || r;
        }
        function sI(r) {
          return r.flags & 402915327 ? r : r.permissiveInstantiation || (r.permissiveInstantiation = Mi(r, Xo));
        }
        function DT(r) {
          return r.flags & 402915327 ? r : (r.restrictiveInstantiation || (r.restrictiveInstantiation = Mi(r, uc), r.restrictiveInstantiation.restrictiveInstantiation = r.restrictiveInstantiation), r.restrictiveInstantiation);
        }
        function Vrt(r, a) {
          return rh(r.keyType, Mi(r.type, a), r.isReadonly, r.declaration, r.components);
        }
        function Hf(r) {
          switch (E.assert(r.kind !== 175 || Fp(r)), r.kind) {
            case 219:
            case 220:
            case 175:
            case 263:
              return ONe(r);
            case 211:
              return ot(r.properties, Hf);
            case 210:
              return ot(r.elements, Hf);
            case 228:
              return Hf(r.whenTrue) || Hf(r.whenFalse);
            case 227:
              return (r.operatorToken.kind === 57 || r.operatorToken.kind === 61) && (Hf(r.left) || Hf(r.right));
            case 304:
              return Hf(r.initializer);
            case 218:
              return Hf(r.expression);
            case 293:
              return ot(r.properties, Hf) || wd(r.parent) && ot(r.parent.parent.children, Hf);
            case 292: {
              const { initializer: a } = r;
              return !!a && Hf(a);
            }
            case 295: {
              const { expression: a } = r;
              return !!a && Hf(a);
            }
          }
          return false;
        }
        function ONe(r) {
          return sF(r) || qrt(r);
        }
        function qrt(r) {
          return r.typeParameters || K_(r) || !r.body ? false : r.body.kind !== 242 ? Hf(r.body) : !!wy(r.body, (a) => !!a.expression && Hf(a.expression));
        }
        function g$(r) {
          return (My(r) || Fp(r)) && ONe(r);
        }
        function LNe(r) {
          if (r.flags & 524288) {
            const a = Vd(r);
            if (a.constructSignatures.length || a.callSignatures.length) {
              const l = Bc(16, r.symbol);
              return l.members = a.members, l.properties = a.properties, l.callSignatures = Ge, l.constructSignatures = Ge, l.indexInfos = Ge, l;
            }
          } else if (r.flags & 2097152)
            return ia(hr(r.types, LNe));
          return r;
        }
        function ih(r, a) {
          return Lm(r, a, mu);
        }
        function aI(r, a) {
          return Lm(r, a, mu) ? -1 : 0;
        }
        function Dpe(r, a) {
          return Lm(r, a, du) ? -1 : 0;
        }
        function Hrt(r, a) {
          return Lm(r, a, ig) ? -1 : 0;
        }
        function A2(r, a) {
          return Lm(r, a, ig);
        }
        function fP(r, a) {
          return Lm(r, a, Oo);
        }
        function Ls(r, a) {
          return Lm(r, a, du);
        }
        function eb(r, a) {
          return r.flags & 1048576 ? Ni(r.types, (l) => eb(l, a)) : a.flags & 1048576 ? ot(a.types, (l) => eb(r, l)) : r.flags & 2097152 ? ot(r.types, (l) => eb(l, a)) : r.flags & 58982400 ? eb(nu(r) || yt, a) : dg(a) ? !!(r.flags & 67633152) : a === Ot ? !!(r.flags & 67633152) && !dg(r) : a === Mr ? !!(r.flags & 524288) && ode(r) : En(r, Cr(a)) || Tp(a) && !pP(a) && eb(r, da);
        }
        function h$(r, a) {
          return Lm(r, a, w_);
        }
        function dM(r, a) {
          return h$(r, a) || h$(a, r);
        }
        function vu(r, a, l, f, d, y) {
          return Sp(r, a, du, l, f, d, y);
        }
        function I2(r, a, l, f, d, y) {
          return wpe(
            r,
            a,
            du,
            l,
            f,
            d,
            y,
            /*errorOutputContainer*/
            void 0
          );
        }
        function wpe(r, a, l, f, d, y, x, I) {
          return Lm(r, a, l) ? true : !f || !oI(d, r, a, l, y, x, I) ? Sp(r, a, l, f, y, x, I) : false;
        }
        function MNe(r) {
          return !!(r.flags & 16777216 || r.flags & 2097152 && ot(r.types, MNe));
        }
        function oI(r, a, l, f, d, y, x) {
          if (!r || MNe(l)) return false;
          if (!Sp(
            a,
            l,
            f,
            /*errorNode*/
            void 0
          ) && Grt(r, a, l, f, d, y, x))
            return true;
          switch (r.kind) {
            case 235:
              if (!VJ(r))
                break;
            // fallthrough
            case 295:
            case 218:
              return oI(r.expression, a, l, f, d, y, x);
            case 227:
              switch (r.operatorToken.kind) {
                case 64:
                case 28:
                  return oI(r.right, a, l, f, d, y, x);
              }
              break;
            case 211:
              return tnt(r, a, l, f, y, x);
            case 210:
              return Krt(r, a, l, f, y, x);
            case 293:
              return Zrt(r, a, l, f, y, x);
            case 220:
              return $rt(r, a, l, f, y, x);
          }
          return false;
        }
        function Grt(r, a, l, f, d, y, x) {
          const I = As(
            a,
            0
            /* Call */
          ), J = As(
            a,
            1
            /* Construct */
          );
          for (const z of [J, I])
            if (ot(z, (G) => {
              const ve = Ba(G);
              return !(ve.flags & 131073) && Sp(
                ve,
                l,
                f,
                /*errorNode*/
                void 0
              );
            })) {
              const G = x || {};
              vu(a, l, r, d, y, G);
              const ve = G.errors[G.errors.length - 1];
              return Js(
                ve,
                sn(
                  r,
                  z === J ? p.Did_you_mean_to_use_new_with_this_expression : p.Did_you_mean_to_call_this_expression
                )
              ), true;
            }
          return false;
        }
        function $rt(r, a, l, f, d, y) {
          if (Ps(r.body) || ot(r.parameters, F7))
            return false;
          const x = MT(a);
          if (!x)
            return false;
          const I = As(
            l,
            0
            /* Call */
          );
          if (!wr(I))
            return false;
          const J = r.body, z = Ba(x), G = Xn(hr(I, Ba));
          if (!Sp(
            z,
            G,
            f,
            /*errorNode*/
            void 0
          )) {
            const ve = J && oI(
              J,
              z,
              G,
              f,
              /*headMessage*/
              void 0,
              d,
              y
            );
            if (ve)
              return ve;
            const de = y || {};
            if (Sp(
              z,
              G,
              f,
              J,
              /*headMessage*/
              void 0,
              d,
              de
            ), de.errors)
              return l.symbol && wr(l.symbol.declarations) && Js(
                de.errors[de.errors.length - 1],
                sn(
                  l.symbol.declarations[0],
                  p.The_expected_type_comes_from_the_return_type_of_this_signature
                )
              ), (Fc(r) & 2) === 0 && !rr(z, "then") && Sp(
                XM(z),
                G,
                f,
                /*errorNode*/
                void 0
              ) && Js(
                de.errors[de.errors.length - 1],
                sn(
                  r,
                  p.Did_you_mean_to_mark_this_function_as_async
                )
              ), true;
          }
          return false;
        }
        function RNe(r, a, l) {
          const f = b1(a, l);
          if (f)
            return f;
          if (a.flags & 1048576) {
            const d = qNe(r, a);
            if (d)
              return b1(d, l);
          }
        }
        function jNe(r, a) {
          LM(
            r,
            a,
            /*isCache*/
            false
          );
          const l = xP(
            r,
            1
            /* Contextual */
          );
          return yI(), l;
        }
        function mM(r, a, l, f, d, y) {
          let x = false;
          for (const I of r) {
            const { errorNode: J, innerExpression: z, nameType: G, errorMessage: ve } = I;
            let de = RNe(a, l, G);
            if (!de || de.flags & 8388608) continue;
            let We = b1(a, G);
            if (!We) continue;
            const lt = l$(
              G,
              /*accessNode*/
              void 0
            );
            if (!Sp(
              We,
              de,
              f,
              /*errorNode*/
              void 0
            )) {
              const gt = z && oI(
                z,
                We,
                de,
                f,
                /*headMessage*/
                void 0,
                d,
                y
              );
              if (x = true, !gt) {
                const jt = y || {}, ar = z ? jNe(z, We) : We;
                if (be && v$(ar, de)) {
                  const jr = sn(J, p.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target, Wr(ar), Wr(de));
                  Pa.add(jr), jt.errors = [jr];
                } else {
                  const jr = !!(lt && (Qs(l, lt) || Y).flags & 16777216), Kr = !!(lt && (Qs(a, lt) || Y).flags & 16777216);
                  de = Kh(de, jr), We = Kh(We, jr && Kr), Sp(ar, de, f, J, ve, d, jt) && ar !== We && Sp(We, de, f, J, ve, d, jt);
                }
                if (jt.errors) {
                  const jr = jt.errors[jt.errors.length - 1], Kr = op(G) ? cp(G) : void 0, or = Kr !== void 0 ? Qs(l, Kr) : void 0;
                  let ir = false;
                  if (!or) {
                    const nn = XA(l, G);
                    nn && nn.declaration && !xr(nn.declaration).hasNoDefaultLib && (ir = true, Js(jr, sn(nn.declaration, p.The_expected_type_comes_from_this_index_signature)));
                  }
                  if (!ir && (or && wr(or.declarations) || l.symbol && wr(l.symbol.declarations))) {
                    const nn = or && wr(or.declarations) ? or.declarations[0] : l.symbol.declarations[0];
                    xr(nn).hasNoDefaultLib || Js(
                      jr,
                      sn(
                        nn,
                        p.The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1,
                        Kr && !(G.flags & 8192) ? Si(Kr) : Wr(G),
                        Wr(l)
                      )
                    );
                  }
                }
              }
            }
          }
          return x;
        }
        function Xrt(r, a, l, f, d, y) {
          const x = Hc(l, E$), I = Hc(l, (G) => !E$(G)), J = I !== nr ? Pme(
            13,
            0,
            I,
            /*errorNode*/
            void 0
          ) : void 0;
          let z = false;
          for (let G = r.next(); !G.done; G = r.next()) {
            const { errorNode: ve, innerExpression: de, nameType: We, errorMessage: lt } = G.value;
            let gt = J;
            const jt = x !== nr ? RNe(a, x, We) : void 0;
            if (jt && !(jt.flags & 8388608) && (gt = J ? Xn([J, jt]) : jt), !gt) continue;
            let ar = b1(a, We);
            if (!ar) continue;
            const jr = l$(
              We,
              /*accessNode*/
              void 0
            );
            if (!Sp(
              ar,
              gt,
              f,
              /*errorNode*/
              void 0
            )) {
              const Kr = de && oI(
                de,
                ar,
                gt,
                f,
                /*headMessage*/
                void 0,
                d,
                y
              );
              if (z = true, !Kr) {
                const or = y || {}, ir = de ? jNe(de, ar) : ar;
                if (be && v$(ir, gt)) {
                  const nn = sn(ve, p.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target, Wr(ir), Wr(gt));
                  Pa.add(nn), or.errors = [nn];
                } else {
                  const nn = !!(jr && (Qs(x, jr) || Y).flags & 16777216), Qn = !!(jr && (Qs(a, jr) || Y).flags & 16777216);
                  gt = Kh(gt, nn), ar = Kh(ar, nn && Qn), Sp(ir, gt, f, ve, lt, d, or) && ir !== ar && Sp(ar, gt, f, ve, lt, d, or);
                }
              }
            }
          }
          return z;
        }
        function* Qrt(r) {
          if (wr(r.properties))
            for (const a of r.properties)
              Ux(a) || Nde(kN(a.name)) || (yield { errorNode: a.name, innerExpression: a.initializer, nameType: W_(kN(a.name)) });
        }
        function* Yrt(r, a) {
          if (!wr(r.children)) return;
          let l = 0;
          for (let f = 0; f < r.children.length; f++) {
            const d = r.children[f], y = qd(f - l), x = BNe(d, y, a);
            x ? yield x : l++;
          }
        }
        function BNe(r, a, l) {
          switch (r.kind) {
            case 295:
              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 285:
            case 286:
            case 289:
              return { errorNode: r, innerExpression: r, nameType: a };
            default:
              return E.assertNever(r, "Found invalid jsx child");
          }
        }
        function Zrt(r, a, l, f, d, y) {
          let x = mM(Qrt(r), a, l, f, d, y), I;
          if (wd(r.parent) && hm(r.parent.parent)) {
            const z = r.parent.parent, G = RM(OT(r)), ve = G === void 0 ? "children" : Si(G), de = W_(ve), We = mf(l, de), lt = qC(z.children);
            if (!wr(lt))
              return x;
            const gt = wr(lt) > 1;
            let jt, ar;
            if (c$(
              /*reportErrors*/
              false
            ) !== zt) {
              const Kr = G3e(Le);
              jt = Hc(We, (or) => Ls(or, Kr)), ar = Hc(We, (or) => !Ls(or, Kr));
            } else
              jt = Hc(We, E$), ar = Hc(We, (Kr) => !E$(Kr));
            if (gt) {
              if (jt !== nr) {
                const Kr = pg(eX(
                  z,
                  0
                  /* Normal */
                )), or = Yrt(z, J);
                x = Xrt(or, Kr, jt, f, d, y) || x;
              } else if (!Lm(mf(a, de), We, f)) {
                x = true;
                const Kr = ze(
                  z.openingElement.tagName,
                  p.This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided,
                  ve,
                  Wr(We)
                );
                y && y.skipLogging && (y.errors || (y.errors = [])).push(Kr);
              }
            } else if (ar !== nr) {
              const Kr = lt[0], or = BNe(Kr, de, J);
              or && (x = mM(
                (function* () {
                  yield or;
                })(),
                a,
                l,
                f,
                d,
                y
              ) || x);
            } else if (!Lm(mf(a, de), We, f)) {
              x = true;
              const Kr = ze(
                z.openingElement.tagName,
                p.This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided,
                ve,
                Wr(We)
              );
              y && y.skipLogging && (y.errors || (y.errors = [])).push(Kr);
            }
          }
          return x;
          function J() {
            if (!I) {
              const z = Go(r.parent.tagName), G = RM(OT(r)), ve = G === void 0 ? "children" : Si(G), de = mf(l, W_(ve)), We = 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 = { ...We, key: "!!ALREADY FORMATTED!!", message: xx(We, z, ve, Wr(de)) };
            }
            return I;
          }
        }
        function* JNe(r, a) {
          const l = wr(r.elements);
          if (l)
            for (let f = 0; f < l; f++) {
              if (dP(a) && !Qs(a, "" + f)) continue;
              const d = r.elements[f];
              if (gl(d)) continue;
              const y = qd(f), x = lX(d);
              yield { errorNode: x, innerExpression: x, nameType: y };
            }
        }
        function Krt(r, a, l, f, d, y) {
          if (l.flags & 402915324) return false;
          if (dP(a))
            return mM(JNe(r, l), a, l, f, d, y);
          LM(
            r,
            l,
            /*isCache*/
            false
          );
          const x = yAe(
            r,
            1,
            /*forceTuple*/
            true
          );
          return yI(), dP(x) ? mM(JNe(r, l), x, l, f, d, y) : false;
        }
        function* ent(r) {
          if (wr(r.properties))
            for (const a of r.properties) {
              if (Bg(a)) continue;
              const l = $k(
                yn(a),
                8576
                /* StringOrNumberLiteralOrUnique */
              );
              if (!(!l || l.flags & 131072))
                switch (a.kind) {
                  case 179:
                  case 178:
                  case 175:
                  case 305:
                    yield { errorNode: a.name, innerExpression: void 0, nameType: l };
                    break;
                  case 304:
                    yield { errorNode: a.name, innerExpression: a.initializer, nameType: l, errorMessage: b3(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 tnt(r, a, l, f, d, y) {
          return l.flags & 402915324 ? false : mM(ent(r), a, l, f, d, y);
        }
        function zNe(r, a, l, f, d) {
          return Sp(r, a, w_, l, f, d);
        }
        function rnt(r, a, l) {
          return Ppe(
            r,
            a,
            4,
            /*reportErrors*/
            false,
            /*errorReporter*/
            void 0,
            /*incompatibleErrorReporter*/
            void 0,
            Dpe,
            /*reportUnreliableMarkers*/
            void 0
          ) !== 0;
        }
        function y$(r) {
          if (!r.typeParameters && (!r.thisParameter || gn(HM(r.thisParameter))) && r.parameters.length === 1 && wu(r)) {
            const a = HM(r.parameters[0]);
            return !!((Tp(a) ? wo(a)[0] : a).flags & 131073 && Ba(r).flags & 3);
          }
          return false;
        }
        function Ppe(r, a, l, f, d, y, x, I) {
          if (r === a || !(l & 16 && y$(r)) && y$(a))
            return -1;
          if (l & 16 && y$(r) && !y$(a))
            return 0;
          const J = V_(a);
          if (!mg(a) && (l & 8 ? mg(r) || V_(r) > J : Qd(r) > J))
            return f && !(l & 8) && d(p.Target_signature_provides_too_few_arguments_Expected_0_or_more_but_got_1, Qd(r), J), 0;
          r.typeParameters && r.typeParameters !== a.typeParameters && (a = ntt(a), r = YAe(
            r,
            a,
            /*inferenceContext*/
            void 0,
            x
          ));
          const G = V_(r), ve = EI(r), de = EI(a);
          (ve || de) && Mi(ve || de, I);
          const We = a.declaration ? a.declaration.kind : 0, lt = !(l & 3) && V && We !== 175 && We !== 174 && We !== 177;
          let gt = -1;
          const jt = Qv(r);
          if (jt && jt !== _r) {
            const Kr = Qv(a);
            if (Kr) {
              const or = !lt && x(
                jt,
                Kr,
                /*reportErrors*/
                false
              ) || x(Kr, jt, f);
              if (!or)
                return f && d(p.The_this_types_of_each_signature_are_incompatible), 0;
              gt &= or;
            }
          }
          const ar = ve || de ? Math.min(G, J) : Math.max(G, J), jr = ve || de ? ar - 1 : -1;
          for (let Kr = 0; Kr < ar; Kr++) {
            const or = Kr === jr ? TIe(r, Kr) : M2(r, Kr), ir = Kr === jr ? TIe(a, Kr) : M2(a, Kr);
            if (or && ir && (or !== ir || l & 8)) {
              const nn = l & 3 || XAe(r, Kr) ? void 0 : MT(Zh(or)), Qn = l & 3 || XAe(a, Kr) ? void 0 : MT(Zh(ir));
              let zn = nn && Qn && !bp(nn) && !bp(Qn) && OE(
                or,
                50331648
                /* IsUndefinedOrNull */
              ) === OE(
                ir,
                50331648
                /* IsUndefinedOrNull */
              ) ? Ppe(Qn, nn, l & 8 | (lt ? 2 : 1), f, d, y, x, I) : !(l & 3) && !lt && x(
                or,
                ir,
                /*reportErrors*/
                false
              ) || x(ir, or, f);
              if (zn && l & 8 && Kr >= Qd(r) && Kr < Qd(a) && x(
                or,
                ir,
                /*reportErrors*/
                false
              ) && (zn = 0), !zn)
                return f && d(p.Types_of_parameters_0_and_1_are_incompatible, Si(bP(r, Kr)), Si(bP(a, Kr))), 0;
              gt &= zn;
            }
          }
          if (!(l & 4)) {
            const Kr = QG(a) ? Le : a.declaration && Rm(a.declaration) ? vp(Ia(a.declaration.symbol)) : Ba(a);
            if (Kr === _r || Kr === Le)
              return gt;
            const or = QG(r) ? Le : r.declaration && Rm(r.declaration) ? vp(Ia(r.declaration.symbol)) : Ba(r), ir = bp(a);
            if (ir) {
              const nn = bp(r);
              if (nn)
                gt &= nnt(nn, ir, f, d, x);
              else if (mK(ir) || gK(ir))
                return f && d(p.Signature_0_must_be_a_type_predicate, m1(r)), 0;
            } else
              gt &= l & 1 && x(
                Kr,
                or,
                /*reportErrors*/
                false
              ) || x(or, Kr, f), !gt && f && y && y(or, Kr);
          }
          return gt;
        }
        function nnt(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, og(r), og(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, og(r), og(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, og(r), og(a)), y;
        }
        function int(r, a) {
          const l = KA(r), f = KA(a), d = Ba(l), y = Ba(f);
          return y === _r || Lm(y, d, du) || Lm(d, y, du) ? rnt(
            l,
            f
          ) : false;
        }
        function Npe(r) {
          return r !== Xa && r.properties.length === 0 && r.callSignatures.length === 0 && r.constructSignatures.length === 0 && r.indexInfos.length === 0;
        }
        function Qh(r) {
          return r.flags & 524288 ? !A_(r) && Npe(Vd(r)) : r.flags & 67108864 ? true : r.flags & 1048576 ? ot(r.types, Qh) : r.flags & 2097152 ? Ni(r.types, Qh) : false;
        }
        function dg(r) {
          return !!(Dn(r) & 16 && (r.members && Npe(r) || r.symbol && r.symbol.flags & 2048 && ug(r.symbol).size === 0));
        }
        function snt(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 && ot(a, dg) ? 67108864 : 0);
            }
            return !!(r.objectFlags & 67108864);
          }
          return false;
        }
        function FE(r) {
          return !!((r.flags & 1048576 ? r.types[0] : r).flags & 32768);
        }
        function ant(r) {
          const a = r.flags & 1048576 ? r.types[0] : r;
          return !!(a.flags & 32768) && a !== ye;
        }
        function WNe(r) {
          return r.flags & 524288 && !A_(r) && qa(r).length === 0 && hu(r).length === 1 && !!th(r, at) || r.flags & 3145728 && Ni(r.types, WNe) || false;
        }
        function Ape(r, a, l) {
          const f = r.flags & 8 ? vl(r) : r, d = a.flags & 8 ? vl(a) : a;
          if (f === d)
            return true;
          if (f.escapedName !== d.escapedName || !(f.flags & 256) || !(d.flags & 256))
            return false;
          const y = $s(f) + "," + $s(d), x = Pv.get(y);
          if (x !== void 0 && !(x & 2 && l))
            return !!(x & 1);
          const I = Yr(d);
          for (const J of qa(Yr(f)))
            if (J.flags & 8) {
              const z = Qs(I, J.escapedName);
              if (!z || !(z.flags & 8))
                return l && l(p.Property_0_is_missing_in_type_1, sc(J), Wr(
                  ho(d),
                  /*enclosingDeclaration*/
                  void 0,
                  64
                  /* UseFullyQualifiedType */
                )), Pv.set(
                  y,
                  2
                  /* Failed */
                ), false;
              const G = jT(Ao(
                J,
                307
                /* EnumMember */
              )).value, ve = jT(Ao(
                z,
                307
                /* EnumMember */
              )).value;
              if (G !== ve) {
                const de = typeof G == "string", We = typeof ve == "string";
                if (G !== void 0 && ve !== void 0) {
                  if (l) {
                    const lt = de ? `"${Gm(G)}"` : G, gt = We ? `"${Gm(ve)}"` : ve;
                    l(p.Each_declaration_of_0_1_differs_in_its_value_where_2_was_expected_but_3_was_given, sc(d), sc(z), gt, lt);
                  }
                  return Pv.set(
                    y,
                    2
                    /* Failed */
                  ), false;
                }
                if (de || We) {
                  if (l) {
                    const lt = G ?? ve;
                    E.assert(typeof lt == "string");
                    const gt = `"${Gm(lt)}"`;
                    l(p.One_value_of_0_1_is_the_string_2_and_the_other_is_assumed_to_be_an_unknown_numeric_value, sc(d), sc(z), gt);
                  }
                  return Pv.set(
                    y,
                    2
                    /* Failed */
                  ), false;
                }
              }
            }
          return Pv.set(
            y,
            1
            /* Succeeded */
          ), true;
        }
        function cI(r, a, l, f) {
          const d = r.flags, y = a.flags;
          return y & 1 || d & 131072 || r === pt || y & 2 && !(l === Oo && d & 1) ? true : y & 131072 ? false : !!(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 && Ape(r.symbol, a.symbol, f) || d & 1024 && y & 1024 && (d & 1048576 && y & 1048576 && Ape(r.symbol, a.symbol, f) || d & 2944 && y & 2944 && r.value === a.value && Ape(r.symbol, a.symbol, f)) || d & 32768 && (!K && !(y & 3145728) || y & 49152) || d & 65536 && (!K && !(y & 3145728) || y & 65536) || d & 524288 && y & 67108864 && !(l === Oo && dg(r) && !(Dn(r) & 8192)) || (l === du || l === w_) && (d & 1 || d & 8 && (y & 32 || y & 256 && y & 1024) || d & 256 && !(d & 1024) && (y & 32 || y & 256 && y & 1024 && r.value === a.value) || snt(a)));
        }
        function Lm(r, a, l) {
          if (P2(r) && (r = r.regularType), P2(a) && (a = a.regularType), r === a)
            return true;
          if (l !== mu) {
            if (l === w_ && !(a.flags & 131072) && cI(a, r, l) || cI(r, a, l))
              return true;
          } else if (!((r.flags | a.flags) & 61865984)) {
            if (r.flags !== a.flags) return false;
            if (r.flags & 67358815) return true;
          }
          if (r.flags & 524288 && a.flags & 524288) {
            const f = l.get(T$(
              r,
              a,
              0,
              l,
              /*ignoreConstraints*/
              false
            ));
            if (f !== void 0)
              return !!(f & 1);
          }
          return r.flags & 469499904 || a.flags & 469499904 ? Sp(
            r,
            a,
            l,
            /*errorNode*/
            void 0
          ) : false;
        }
        function UNe(r, a) {
          return Dn(r) & 2048 && Nde(a.escapedName);
        }
        function gM(r, a) {
          for (; ; ) {
            const l = P2(r) ? r.regularType : x1(r) ? lnt(r, a) : Dn(r) & 4 ? r.node ? qh(r.target, wo(r)) : Bpe(r) || r : r.flags & 3145728 ? ont(r, a) : r.flags & 33554432 ? a ? r.baseType : Xfe(r) : r.flags & 25165824 ? Gh(r, a) : r;
            if (l === r) return l;
            r = l;
          }
        }
        function ont(r, a) {
          const l = Yp(r);
          if (l !== r)
            return l;
          if (r.flags & 2097152 && cnt(r)) {
            const f = Gc(r.types, (d) => gM(d, a));
            if (f !== r.types)
              return ia(f);
          }
          return r;
        }
        function cnt(r) {
          let a = false, l = false;
          for (const f of r.types)
            if (a || (a = !!(f.flags & 465829888)), l || (l = !!(f.flags & 98304) || dg(f)), a && l) return true;
          return false;
        }
        function lnt(r, a) {
          const l = D2(r), f = Gc(l, (d) => d.flags & 25165824 ? Gh(d, a) : d);
          return l !== f ? spe(r.target, f) : r;
        }
        function Sp(r, a, l, f, d, y, x) {
          var I;
          let J, z, G, ve, de, We, lt = 0, gt = 0, jt = 0, ar = 0, jr = false, Kr = 0, or = 0, ir, nn, Qn = 16e6 - l.size >> 3;
          E.assert(l !== mu || !f, "no error reporting in identity checking");
          const Ri = en(
            r,
            a,
            3,
            /*reportErrors*/
            !!f,
            d
          );
          if (nn && Ja(), jr) {
            const xe = T$(
              r,
              a,
              /*intersectionState*/
              0,
              l,
              /*ignoreConstraints*/
              false
            );
            l.set(xe, 2 | (Qn <= 0 ? 32 : 64)), (I = on) == null || I.instant(on.Phase.CheckTypes, "checkTypeRelatedTo_DepthLimit", { sourceId: r.id, targetId: a.id, depth: gt, targetDepth: jt });
            const Re = Qn <= 0 ? p.Excessive_complexity_comparing_types_0_and_1 : p.Excessive_stack_depth_comparing_types_0_and_1, Ze = ze(f || k, Re, Wr(r), Wr(a));
            x && (x.errors || (x.errors = [])).push(Ze);
          } else if (J) {
            if (y) {
              const Ze = y();
              Ze && (bee(Ze, J), J = Ze);
            }
            let xe;
            if (d && f && !Ri && r.symbol) {
              const Ze = Pn(r.symbol);
              if (Ze.originatingImport && !y_(Ze.originatingImport) && Sp(
                Yr(Ze.target),
                a,
                l,
                /*errorNode*/
                void 0
              )) {
                const $t = sn(Ze.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);
                xe = Er(xe, $t);
              }
            }
            const Re = wg(xr(f), f, J, xe);
            z && Js(Re, ...z), x && (x.errors || (x.errors = [])).push(Re), (!x || !x.skipLogging) && Pa.add(Re);
          }
          return f && x && x.skipLogging && Ri === 0 && E.assert(!!x.errors, "missed opportunity to interact with error."), Ri !== 0;
          function zn(xe) {
            J = xe.errorInfo, ir = xe.lastSkippedInfo, nn = xe.incompatibleStack, Kr = xe.overrideNextErrorInfo, or = xe.skipParentCounter, z = xe.relatedInfo;
          }
          function bi() {
            return {
              errorInfo: J,
              lastSkippedInfo: ir,
              incompatibleStack: nn?.slice(),
              overrideNextErrorInfo: Kr,
              skipParentCounter: or,
              relatedInfo: z?.slice()
            };
          }
          function xs(xe, ...Re) {
            Kr++, ir = void 0, (nn || (nn = [])).push([xe, ...Re]);
          }
          function Ja() {
            const xe = nn || [];
            nn = void 0;
            const Re = ir;
            if (ir = void 0, xe.length === 1) {
              Vi(...xe[0]), Re && Lu(
                /*message*/
                void 0,
                ...Re
              );
              return;
            }
            let Ze = "";
            const Pt = [];
            for (; xe.length; ) {
              const [$t, ...At] = xe.pop();
              switch ($t.code) {
                case p.Types_of_property_0_are_incompatible.code: {
                  Ze.indexOf("new ") === 0 && (Ze = `(${Ze})`);
                  const Yt = "" + At[0];
                  Ze.length === 0 ? Ze = `${Yt}` : F_(Yt, pa(F)) ? Ze = `${Ze}.${Yt}` : Yt[0] === "[" && Yt[Yt.length - 1] === "]" ? Ze = `${Ze}${Yt}` : Ze = `${Ze}[${Yt}]`;
                  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 (Ze.length === 0) {
                    let Yt = $t;
                    $t.code === p.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? Yt = p.Call_signature_return_types_0_and_1_are_incompatible : $t.code === p.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code && (Yt = p.Construct_signature_return_types_0_and_1_are_incompatible), Pt.unshift([Yt, At[0], At[1]]);
                  } else {
                    const Yt = $t.code === p.Construct_signature_return_types_0_and_1_are_incompatible.code || $t.code === p.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "new " : "", Lr = $t.code === p.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code || $t.code === p.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code ? "" : "...";
                    Ze = `${Yt}${Ze}(${Lr})`;
                  }
                  break;
                }
                case p.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target.code: {
                  Pt.unshift([p.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target, At[0], At[1]]);
                  break;
                }
                case p.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target.code: {
                  Pt.unshift([p.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target, At[0], At[1], At[2]]);
                  break;
                }
                default:
                  return E.fail(`Unhandled Diagnostic: ${$t.code}`);
              }
            }
            Ze ? Vi(
              Ze[Ze.length - 1] === ")" ? p.The_types_returned_by_0_are_incompatible_between_these_types : p.The_types_of_0_are_incompatible_between_these_types,
              Ze
            ) : Pt.shift();
            for (const [$t, ...At] of Pt) {
              const Yt = $t.elidedInCompatabilityPyramid;
              $t.elidedInCompatabilityPyramid = false, Vi($t, ...At), $t.elidedInCompatabilityPyramid = Yt;
            }
            Re && Lu(
              /*message*/
              void 0,
              ...Re
            );
          }
          function Vi(xe, ...Re) {
            E.assert(!!f), nn && Ja(), !xe.elidedInCompatabilityPyramid && (or === 0 ? J = Ss(J, xe, ...Re) : or--);
          }
          function Lo(xe, ...Re) {
            Vi(xe, ...Re), or++;
          }
          function yc(xe) {
            E.assert(!!J), z ? z.push(xe) : z = [xe];
          }
          function Lu(xe, Re, Ze) {
            nn && Ja();
            const [Pt, $t] = Qw(Re, Ze);
            let At = Re, Yt = Pt;
            if (!(Ze.flags & 131072) && lI(Re) && !Ipe(Ze) && (At = Yh(Re), E.assert(!Ls(At, Ze), "generalized source shouldn't be assignable"), Yt = vE(At)), (Ze.flags & 8388608 && !(Re.flags & 8388608) ? Ze.objectType.flags : Ze.flags) & 262144 && Ze !== tt && Ze !== Ft) {
              const $r = nu(Ze);
              let Sn;
              $r && (Ls(At, $r) || (Sn = Ls(Re, $r))) ? Vi(
                p._0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2,
                Sn ? Pt : Yt,
                $t,
                Wr($r)
              ) : (J = void 0, Vi(
                p._0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1,
                $t,
                Yt
              ));
            }
            if (xe)
              xe === p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1 && be && VNe(Re, Ze).length && (xe = 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 === w_)
              xe = p.Type_0_is_not_comparable_to_type_1;
            else if (Pt === $t)
              xe = p.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated;
            else if (be && VNe(Re, Ze).length)
              xe = 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 (Re.flags & 128 && Ze.flags & 1048576) {
                const $r = Dat(Re, Ze);
                if ($r) {
                  Vi(p.Type_0_is_not_assignable_to_type_1_Did_you_mean_2, Yt, $t, Wr($r));
                  return;
                }
              }
              xe = p.Type_0_is_not_assignable_to_type_1;
            }
            Vi(xe, Yt, $t);
          }
          function Dr(xe, Re) {
            const Ze = bE(xe.symbol) ? Wr(xe, xe.symbol.valueDeclaration) : Wr(xe), Pt = bE(Re.symbol) ? Wr(Re, Re.symbol.valueDeclaration) : Wr(Re);
            (tl === xe && at === Re || Eo === xe && wt === Re || rc === xe && Nt === Re || J3e() === xe && Jt === Re) && Vi(p._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible, Pt, Ze);
          }
          function Br(xe, Re, Ze) {
            return ba(xe) ? xe.target.readonly && bM(Re) ? (Ze && Vi(p.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1, Wr(xe), Wr(Re)), false) : tb(Re) : pP(xe) && bM(Re) ? (Ze && Vi(p.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1, Wr(xe), Wr(Re)), false) : ba(Re) ? Tp(xe) : true;
          }
          function xi(xe, Re, Ze) {
            return en(xe, Re, 3, Ze);
          }
          function en(xe, Re, Ze = 3, Pt = false, $t, At = 0) {
            if (xe === Re) return -1;
            if (xe.flags & 524288 && Re.flags & 402784252)
              return l === w_ && !(Re.flags & 131072) && cI(Re, xe, l) || cI(xe, Re, l, Pt ? Vi : void 0) ? -1 : (Pt && ls(xe, Re, xe, Re, $t), 0);
            const Yt = gM(
              xe,
              /*writing*/
              false
            );
            let Lr = gM(
              Re,
              /*writing*/
              true
            );
            if (Yt === Lr) return -1;
            if (l === mu)
              return Yt.flags !== Lr.flags ? 0 : Yt.flags & 67358815 ? -1 : (Va(Yt, Lr), zI(
                Yt,
                Lr,
                /*reportErrors*/
                false,
                0,
                Ze
              ));
            if (Yt.flags & 262144 && hT(Yt) === Lr)
              return -1;
            if (Yt.flags & 470302716 && Lr.flags & 1048576) {
              const $r = Lr.types, Sn = $r.length === 2 && $r[0].flags & 98304 ? $r[1] : $r.length === 3 && $r[0].flags & 98304 && $r[1].flags & 98304 ? $r[2] : void 0;
              if (Sn && !(Sn.flags & 98304) && (Lr = gM(
                Sn,
                /*writing*/
                true
              ), Yt === Lr))
                return -1;
            }
            if (l === w_ && !(Lr.flags & 131072) && cI(Lr, Yt, l) || cI(Yt, Lr, l, Pt ? Vi : void 0)) return -1;
            if (Yt.flags & 469499904 || Lr.flags & 469499904) {
              if (!(At & 2) && ey(Yt) && Dn(Yt) & 8192 && Ml(Yt, Lr, Pt))
                return Pt && Lu($t, Yt, Re.aliasSymbol ? Re : Lr), 0;
              const Sn = (l !== w_ || Hd(Yt)) && !(At & 2) && Yt.flags & 405405692 && Yt !== Ot && Lr.flags & 2621440 && Ope(Lr) && (qa(Yt).length > 0 || RX(Yt)), qn = !!(Dn(Yt) & 2048);
              if (Sn && !_nt(Yt, Lr, qn)) {
                if (Pt) {
                  const ci = Wr(xe.aliasSymbol ? xe : Yt), qi = Wr(Re.aliasSymbol ? Re : Lr), wa = As(
                    Yt,
                    0
                    /* Call */
                  ), sr = As(
                    Yt,
                    1
                    /* Construct */
                  );
                  wa.length > 0 && en(
                    Ba(wa[0]),
                    Lr,
                    1,
                    /*reportErrors*/
                    false
                  ) || sr.length > 0 && en(
                    Ba(sr[0]),
                    Lr,
                    1,
                    /*reportErrors*/
                    false
                  ) ? Vi(p.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it, ci, qi) : Vi(p.Type_0_has_no_properties_in_common_with_type_1, ci, qi);
                }
                return 0;
              }
              Va(Yt, Lr);
              const Ur = Yt.flags & 1048576 && Yt.types.length < 4 && !(Lr.flags & 1048576) || Lr.flags & 1048576 && Lr.types.length < 4 && !(Yt.flags & 469499904) ? Ac(Yt, Lr, Pt, At) : zI(Yt, Lr, Pt, At, Ze);
              if (Ur)
                return Ur;
            }
            return Pt && ls(xe, Re, Yt, Lr, $t), 0;
          }
          function ls(xe, Re, Ze, Pt, $t) {
            var At, Yt;
            const Lr = !!Bpe(xe), $r = !!Bpe(Re);
            Ze = xe.aliasSymbol || Lr ? xe : Ze, Pt = Re.aliasSymbol || $r ? Re : Pt;
            let Sn = Kr > 0;
            if (Sn && Kr--, Ze.flags & 524288 && Pt.flags & 524288) {
              const qn = J;
              Br(
                Ze,
                Pt,
                /*reportErrors*/
                true
              ), J !== qn && (Sn = !!J);
            }
            if (Ze.flags & 524288 && Pt.flags & 402784252)
              Dr(Ze, Pt);
            else if (Ze.symbol && Ze.flags & 524288 && Ot === Ze)
              Vi(p.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);
            else if (Dn(Ze) & 2048 && Pt.flags & 2097152) {
              const qn = Pt.types, Yn = L2(Ff.IntrinsicAttributes, f), Ur = L2(Ff.IntrinsicClassAttributes, f);
              if (!Gr(Yn) && !Gr(Ur) && (ds(qn, Yn) || ds(qn, Ur)))
                return;
            } else
              J = jfe(J, Re);
            if (!$t && Sn) {
              const qn = bi();
              Lu($t, Ze, Pt);
              let Yn;
              J && J !== qn.errorInfo && (Yn = { code: J.code, messageText: J.messageText }), zn(qn), Yn && J && (J.canonicalHead = Yn), ir = [Ze, Pt];
              return;
            }
            if (Lu($t, Ze, Pt), Ze.flags & 262144 && ((Yt = (At = Ze.symbol) == null ? void 0 : At.declarations) != null && Yt[0]) && !hT(Ze)) {
              const qn = xpe(Ze);
              if (qn.constraint = Mi(Pt, N2(Ze, qn)), KL(qn)) {
                const Yn = Wr(Pt, Ze.symbol.declarations[0]);
                yc(sn(Ze.symbol.declarations[0], p.This_type_parameter_might_need_an_extends_0_constraint, Yn));
              }
            }
          }
          function Va(xe, Re) {
            if (on && xe.flags & 3145728 && Re.flags & 3145728) {
              const Ze = xe, Pt = Re;
              if (Ze.objectFlags & Pt.objectFlags & 32768)
                return;
              const $t = Ze.types.length, At = Pt.types.length;
              $t * At > 1e6 && on.instant(on.Phase.CheckTypes, "traceUnionsOrIntersectionsTooLarge_DepthLimit", {
                sourceId: xe.id,
                sourceSize: $t,
                targetId: Re.id,
                targetSize: At,
                pos: f?.pos,
                end: f?.end
              });
            }
          }
          function Po(xe, Re) {
            return Xn(ju(
              xe,
              (Pt, $t) => {
                var At;
                $t = Qu($t);
                const Yt = $t.flags & 3145728 ? eM($t, Re) : k2($t, Re), Lr = Yt && Yr(Yt) || ((At = Gk($t, Re)) == null ? void 0 : At.type) || ue;
                return Er(Pt, Lr);
              },
              /*initial*/
              void 0
            ) || Ge);
          }
          function Ml(xe, Re, Ze) {
            var Pt;
            if (!SI(Re) || !fe && Dn(Re) & 4096)
              return false;
            const $t = !!(Dn(xe) & 2048);
            if ((l === du || l === w_) && (hP(Ot, Re) || !$t && Qh(Re)))
              return false;
            let At = Re, Yt;
            Re.flags & 1048576 && (At = b5e(xe, Re, en) || Rft(Re), Yt = At.flags & 1048576 ? At.types : [At]);
            for (const Lr of qa(xe))
              if (Sa(Lr, xe.symbol) && !UNe(xe, Lr)) {
                if (!nX(At, Lr.escapedName, $t)) {
                  if (Ze) {
                    const $r = Hc(At, SI);
                    if (!f) return E.fail();
                    if (qb(f) || ku(f) || ku(f.parent)) {
                      Lr.valueDeclaration && ym(Lr.valueDeclaration) && xr(f) === xr(Lr.valueDeclaration.name) && (f = Lr.valueDeclaration.name);
                      const Sn = Wi(Lr), qn = zAe(Sn, $r), Yn = qn ? Wi(qn) : void 0;
                      Yn ? Vi(p.Property_0_does_not_exist_on_type_1_Did_you_mean_2, Sn, Wr($r), Yn) : Vi(p.Property_0_does_not_exist_on_type_1, Sn, Wr($r));
                    } else {
                      const Sn = ((Pt = xe.symbol) == null ? void 0 : Pt.declarations) && $c(xe.symbol.declarations);
                      let qn;
                      if (Lr.valueDeclaration && dr(Lr.valueDeclaration, (Yn) => Yn === Sn) && xr(Sn) === xr(f)) {
                        const Yn = Lr.valueDeclaration;
                        E.assertNode(Yn, dh);
                        const Ur = Yn.name;
                        f = Ur, Me(Ur) && (qn = WAe(Ur, $r));
                      }
                      qn !== void 0 ? Lo(p.Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2, Wi(Lr), Wr($r), qn) : Lo(p.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, Wi(Lr), Wr($r));
                    }
                  }
                  return true;
                }
                if (Yt && !en(Yr(Lr), Po(Yt, Lr.escapedName), 3, Ze))
                  return Ze && xs(p.Types_of_property_0_are_incompatible, Wi(Lr)), true;
              }
            return false;
          }
          function Sa(xe, Re) {
            return xe.valueDeclaration && Re.valueDeclaration && xe.valueDeclaration.parent === Re.valueDeclaration;
          }
          function Ac(xe, Re, Ze, Pt) {
            if (xe.flags & 1048576) {
              if (Re.flags & 1048576) {
                const $t = xe.origin;
                if ($t && $t.flags & 2097152 && Re.aliasSymbol && ds($t.types, Re))
                  return -1;
                const At = Re.origin;
                if (At && At.flags & 1048576 && xe.aliasSymbol && ds(At.types, xe))
                  return -1;
              }
              return l === w_ ? qo(xe, Re, Ze && !(xe.flags & 402784252), Pt) : Ep(xe, Re, Ze && !(xe.flags & 402784252), Pt);
            }
            if (Re.flags & 1048576)
              return Ha(fI(xe), Re, Ze && !(xe.flags & 402784252) && !(Re.flags & 402784252), Pt);
            if (Re.flags & 2097152)
              return Gf(
                xe,
                Re,
                Ze,
                2
                /* Target */
              );
            if (l === w_ && Re.flags & 402784252) {
              const $t = Gc(xe.types, (At) => At.flags & 465829888 ? nu(At) || yt : At);
              if ($t !== xe.types) {
                if (xe = ia($t), xe.flags & 131072)
                  return 0;
                if (!(xe.flags & 2097152))
                  return en(
                    xe,
                    Re,
                    1,
                    /*reportErrors*/
                    false
                  ) || en(
                    Re,
                    xe,
                    1,
                    /*reportErrors*/
                    false
                  );
              }
            }
            return qo(
              xe,
              Re,
              /*reportErrors*/
              false,
              1
              /* Source */
            );
          }
          function Jc(xe, Re) {
            let Ze = -1;
            const Pt = xe.types;
            for (const $t of Pt) {
              const At = Ha(
                $t,
                Re,
                /*reportErrors*/
                false,
                0
                /* None */
              );
              if (!At)
                return 0;
              Ze &= At;
            }
            return Ze;
          }
          function Ha(xe, Re, Ze, Pt) {
            const $t = Re.types;
            if (Re.flags & 1048576) {
              if (nh($t, xe))
                return -1;
              if (l !== w_ && Dn(Re) & 32768 && !(xe.flags & 1024) && (xe.flags & 2688 || (l === ig || l === Oo) && xe.flags & 256)) {
                const Yt = xe === xe.regularType ? xe.freshType : xe.regularType, Lr = xe.flags & 128 ? at : xe.flags & 256 ? wt : xe.flags & 2048 ? Zr : void 0;
                return Lr && nh($t, Lr) || Yt && nh($t, Yt) ? -1 : 0;
              }
              const At = S8e(Re, xe);
              if (At) {
                const Yt = en(
                  xe,
                  At,
                  2,
                  /*reportErrors*/
                  false,
                  /*headMessage*/
                  void 0,
                  Pt
                );
                if (Yt)
                  return Yt;
              }
            }
            for (const At of $t) {
              const Yt = en(
                xe,
                At,
                2,
                /*reportErrors*/
                false,
                /*headMessage*/
                void 0,
                Pt
              );
              if (Yt)
                return Yt;
            }
            if (Ze) {
              const At = qNe(xe, Re, en);
              At && en(
                xe,
                At,
                2,
                /*reportErrors*/
                true,
                /*headMessage*/
                void 0,
                Pt
              );
            }
            return 0;
          }
          function Gf(xe, Re, Ze, Pt) {
            let $t = -1;
            const At = Re.types;
            for (const Yt of At) {
              const Lr = en(
                xe,
                Yt,
                2,
                Ze,
                /*headMessage*/
                void 0,
                Pt
              );
              if (!Lr)
                return 0;
              $t &= Lr;
            }
            return $t;
          }
          function qo(xe, Re, Ze, Pt) {
            const $t = xe.types;
            if (xe.flags & 1048576 && nh($t, Re))
              return -1;
            const At = $t.length;
            for (let Yt = 0; Yt < At; Yt++) {
              const Lr = en(
                $t[Yt],
                Re,
                1,
                Ze && Yt === At - 1,
                /*headMessage*/
                void 0,
                Pt
              );
              if (Lr)
                return Lr;
            }
            return 0;
          }
          function Cc(xe, Re) {
            return xe.flags & 1048576 && Re.flags & 1048576 && !(xe.types[0].flags & 32768) && Re.types[0].flags & 32768 ? yP(
              Re,
              -32769
              /* Undefined */
            ) : Re;
          }
          function Ep(xe, Re, Ze, Pt) {
            let $t = -1;
            const At = xe.types, Yt = Cc(xe, Re);
            for (let Lr = 0; Lr < At.length; Lr++) {
              const $r = At[Lr];
              if (Yt.flags & 1048576 && At.length >= Yt.types.length && At.length % Yt.types.length === 0) {
                const qn = en(
                  $r,
                  Yt.types[Lr % Yt.types.length],
                  3,
                  /*reportErrors*/
                  false,
                  /*headMessage*/
                  void 0,
                  Pt
                );
                if (qn) {
                  $t &= qn;
                  continue;
                }
              }
              const Sn = en(
                $r,
                Re,
                1,
                Ze,
                /*headMessage*/
                void 0,
                Pt
              );
              if (!Sn)
                return 0;
              $t &= Sn;
            }
            return $t;
          }
          function PP(xe = Ge, Re = Ge, Ze = Ge, Pt, $t) {
            if (xe.length !== Re.length && l === mu)
              return 0;
            const At = xe.length <= Re.length ? xe.length : Re.length;
            let Yt = -1;
            for (let Lr = 0; Lr < At; Lr++) {
              const $r = Lr < Ze.length ? Ze[Lr] : 1, Sn = $r & 7;
              if (Sn !== 4) {
                const qn = xe[Lr], Yn = Re[Lr];
                let Ur = -1;
                if ($r & 8 ? Ur = l === mu ? en(
                  qn,
                  Yn,
                  3,
                  /*reportErrors*/
                  false
                ) : aI(qn, Yn) : Sn === 1 ? Ur = en(
                  qn,
                  Yn,
                  3,
                  Pt,
                  /*headMessage*/
                  void 0,
                  $t
                ) : Sn === 2 ? Ur = en(
                  Yn,
                  qn,
                  3,
                  Pt,
                  /*headMessage*/
                  void 0,
                  $t
                ) : Sn === 3 ? (Ur = en(
                  Yn,
                  qn,
                  3,
                  /*reportErrors*/
                  false
                ), Ur || (Ur = en(
                  qn,
                  Yn,
                  3,
                  Pt,
                  /*headMessage*/
                  void 0,
                  $t
                ))) : (Ur = en(
                  qn,
                  Yn,
                  3,
                  Pt,
                  /*headMessage*/
                  void 0,
                  $t
                ), Ur && (Ur &= en(
                  Yn,
                  qn,
                  3,
                  Pt,
                  /*headMessage*/
                  void 0,
                  $t
                ))), !Ur)
                  return 0;
                Yt &= Ur;
              }
            }
            return Yt;
          }
          function zI(xe, Re, Ze, Pt, $t) {
            var At, Yt, Lr;
            if (jr)
              return 0;
            const $r = T$(
              xe,
              Re,
              Pt,
              l,
              /*ignoreConstraints*/
              false
            ), Sn = l.get($r);
            if (Sn !== void 0 && !(Ze && Sn & 2 && !(Sn & 96))) {
              if (gs) {
                const sr = Sn & 24;
                sr & 8 && Mi(xe, To), sr & 16 && Mi(xe, Vc);
              }
              if (Ze && Sn & 96) {
                const sr = Sn & 32 ? p.Excessive_complexity_comparing_types_0_and_1 : p.Excessive_stack_depth_comparing_types_0_and_1;
                Vi(sr, Wr(xe), Wr(Re)), Kr++;
              }
              return Sn & 1 ? -1 : 0;
            }
            if (Qn <= 0)
              return jr = true, 0;
            if (!G)
              G = [], ve = /* @__PURE__ */ new Set(), de = [], We = [];
            else {
              if (ve.has($r))
                return 3;
              const sr = $r.startsWith("*") ? T$(
                xe,
                Re,
                Pt,
                l,
                /*ignoreConstraints*/
                true
              ) : void 0;
              if (sr && ve.has(sr))
                return 3;
              if (gt === 100 || jt === 100)
                return jr = true, 0;
            }
            const qn = lt;
            G[lt] = $r, ve.add($r), lt++;
            const Yn = ar;
            $t & 1 && (de[gt] = xe, gt++, !(ar & 1) && Kk(xe, de, gt) && (ar |= 1)), $t & 2 && (We[jt] = Re, jt++, !(ar & 2) && Kk(Re, We, jt) && (ar |= 2));
            let Ur, ci = 0;
            gs && (Ur = gs, gs = (sr) => (ci |= sr ? 16 : 8, Ur(sr)));
            let qi;
            return ar === 3 ? ((At = on) == null || At.instant(on.Phase.CheckTypes, "recursiveTypeRelatedTo_DepthLimit", {
              sourceId: xe.id,
              sourceIdStack: de.map((sr) => sr.id),
              targetId: Re.id,
              targetIdStack: We.map((sr) => sr.id),
              depth: gt,
              targetDepth: jt
            }), qi = 3) : ((Yt = on) == null || Yt.push(on.Phase.CheckTypes, "structuredTypeRelatedTo", { sourceId: xe.id, targetId: Re.id }), qi = NP(xe, Re, Ze, Pt), (Lr = on) == null || Lr.pop()), gs && (gs = Ur), $t & 1 && gt--, $t & 2 && jt--, ar = Yn, qi ? (qi === -1 || gt === 0 && jt === 0) && wa(
              qi === -1 || qi === 3
            ) : (l.set($r, 2 | ci), Qn--, wa(
              /*markAllAsSucceeded*/
              false
            )), qi;
            function wa(sr) {
              for (let Fn = qn; Fn < lt; Fn++)
                ve.delete(G[Fn]), sr && (l.set(G[Fn], 1 | ci), Qn--);
              lt = qn;
            }
          }
          function NP(xe, Re, Ze, Pt) {
            const $t = bi();
            let At = WI(xe, Re, Ze, Pt, $t);
            if (l !== mu) {
              if (!At && (xe.flags & 2097152 || xe.flags & 262144 && Re.flags & 1048576)) {
                const Yt = Jet(xe.flags & 2097152 ? xe.types : [xe], !!(Re.flags & 1048576));
                Yt && U_(Yt, (Lr) => Lr !== xe) && (At = en(
                  Yt,
                  Re,
                  1,
                  /*reportErrors*/
                  false,
                  /*headMessage*/
                  void 0,
                  Pt
                ));
              }
              At && !(Pt & 2) && Re.flags & 2097152 && !xT(Re) && xe.flags & 2621440 ? (At &= sa(
                xe,
                Re,
                Ze,
                /*excludedProperties*/
                void 0,
                /*optionalsOnly*/
                false,
                0
                /* None */
              ), At && ey(xe) && Dn(xe) & 8192 && (At &= we(
                xe,
                Re,
                /*sourceIsPrimitive*/
                false,
                Ze,
                0
                /* None */
              ))) : At && _$(Re) && !tb(Re) && xe.flags & 2097152 && Qu(xe).flags & 3670016 && !ot(xe.types, (Yt) => Yt === Re || !!(Dn(Yt) & 262144)) && (At &= sa(
                xe,
                Re,
                Ze,
                /*excludedProperties*/
                void 0,
                /*optionalsOnly*/
                true,
                Pt
              ));
            }
            return At && zn($t), At;
          }
          function Cf(xe, Re) {
            const Ze = Qu($v(Re)), Pt = [];
            return Afe(
              Ze,
              8576,
              /*stringsOnly*/
              false,
              ($t) => void Pt.push(Mi(xe, nI(Re.mapper, hd(Re), $t)))
            ), Xn(Pt);
          }
          function WI(xe, Re, Ze, Pt, $t) {
            let At, Yt, Lr = false, $r = xe.flags;
            const Sn = Re.flags;
            if (l === mu) {
              if ($r & 3145728) {
                let Ur = Jc(xe, Re);
                return Ur && (Ur &= Jc(Re, xe)), Ur;
              }
              if ($r & 4194304)
                return en(
                  xe.type,
                  Re.type,
                  3,
                  /*reportErrors*/
                  false
                );
              if ($r & 8388608 && (At = en(
                xe.objectType,
                Re.objectType,
                3,
                /*reportErrors*/
                false
              )) && (At &= en(
                xe.indexType,
                Re.indexType,
                3,
                /*reportErrors*/
                false
              )) || $r & 16777216 && xe.root.isDistributive === Re.root.isDistributive && (At = en(
                xe.checkType,
                Re.checkType,
                3,
                /*reportErrors*/
                false
              )) && (At &= en(
                xe.extendsType,
                Re.extendsType,
                3,
                /*reportErrors*/
                false
              )) && (At &= en(
                S1(xe),
                S1(Re),
                3,
                /*reportErrors*/
                false
              )) && (At &= en(
                T1(xe),
                T1(Re),
                3,
                /*reportErrors*/
                false
              )) || $r & 33554432 && (At = en(
                xe.baseType,
                Re.baseType,
                3,
                /*reportErrors*/
                false
              )) && (At &= en(
                xe.constraint,
                Re.constraint,
                3,
                /*reportErrors*/
                false
              )))
                return At;
              if ($r & 134217728 && yf(xe.texts, Re.texts)) {
                const Ur = xe.types, ci = Re.types;
                At = -1;
                for (let qi = 0; qi < Ur.length && (At &= en(
                  Ur[qi],
                  ci[qi],
                  3,
                  /*reportErrors*/
                  false
                )); qi++)
                  ;
                return At;
              }
              if ($r & 268435456 && xe.symbol === Re.symbol)
                return en(
                  xe.type,
                  Re.type,
                  3,
                  /*reportErrors*/
                  false
                );
              if (!($r & 524288))
                return 0;
            } else if ($r & 3145728 || Sn & 3145728) {
              if (At = Ac(xe, Re, Ze, Pt))
                return At;
              if (!($r & 465829888 || $r & 524288 && Sn & 1048576 || $r & 2097152 && Sn & 467402752))
                return 0;
            }
            if ($r & 17301504 && xe.aliasSymbol && xe.aliasTypeArguments && xe.aliasSymbol === Re.aliasSymbol && !(b$(xe) || b$(Re))) {
              const Ur = HNe(xe.aliasSymbol);
              if (Ur === Ge)
                return 1;
              const ci = Pn(xe.aliasSymbol).typeParameters, qi = fg(ci), wa = Q0(xe.aliasTypeArguments, ci, qi, an(xe.aliasSymbol.valueDeclaration)), sr = Q0(Re.aliasTypeArguments, ci, qi, an(xe.aliasSymbol.valueDeclaration)), Fn = Yn(wa, sr, Ur, Pt);
              if (Fn !== void 0)
                return Fn;
            }
            if (t8e(xe) && !xe.target.readonly && (At = en(
              wo(xe)[0],
              Re,
              1
              /* Source */
            )) || t8e(Re) && (Re.target.readonly || bM(nu(xe) || xe)) && (At = en(
              xe,
              wo(Re)[0],
              2
              /* Target */
            )))
              return At;
            if (Sn & 262144) {
              if (Dn(xe) & 32 && !xe.declaration.nameType && en(
                Om(Re),
                Vf(xe),
                3
                /* Both */
              ) && !(_g(xe) & 4)) {
                const Ur = eh(xe), ci = mf(Re, hd(xe));
                if (At = en(Ur, ci, 3, Ze))
                  return At;
              }
              if (l === w_ && $r & 262144) {
                let Ur = __(xe);
                if (Ur)
                  for (; Ur && kp(Ur, (ci) => !!(ci.flags & 262144)); ) {
                    if (At = en(
                      Ur,
                      Re,
                      1,
                      /*reportErrors*/
                      false
                    ))
                      return At;
                    Ur = __(Ur);
                  }
                return 0;
              }
            } else if (Sn & 4194304) {
              const Ur = Re.type;
              if ($r & 4194304 && (At = en(
                Ur,
                xe.type,
                3,
                /*reportErrors*/
                false
              )))
                return At;
              if (ba(Ur)) {
                if (At = en(xe, Y3e(Ur), 2, Ze))
                  return At;
              } else {
                const ci = Ife(Ur);
                if (ci) {
                  if (en(xe, Om(
                    ci,
                    Re.indexFlags | 4
                    /* NoReducibleCheck */
                  ), 2, Ze) === -1)
                    return -1;
                } else if (A_(Ur)) {
                  const qi = $0(Ur), wa = Vf(Ur);
                  let sr;
                  if (qi && EE(Ur)) {
                    const Fn = Cf(qi, Ur);
                    sr = Xn([Fn, qi]);
                  } else
                    sr = qi || wa;
                  if (en(xe, sr, 2, Ze) === -1)
                    return -1;
                }
              }
            } else if (Sn & 8388608) {
              if ($r & 8388608) {
                if ((At = en(xe.objectType, Re.objectType, 3, Ze)) && (At &= en(xe.indexType, Re.indexType, 3, Ze)), At)
                  return At;
                Ze && (Yt = J);
              }
              if (l === du || l === w_) {
                const Ur = Re.objectType, ci = Re.indexType, qi = nu(Ur) || Ur, wa = nu(ci) || ci;
                if (!xT(qi) && !kT(wa)) {
                  const sr = 4 | (qi !== Ur ? 2 : 0), Fn = b1(qi, wa, sr);
                  if (Fn) {
                    if (Ze && Yt && zn($t), At = en(
                      xe,
                      Fn,
                      2,
                      Ze,
                      /*headMessage*/
                      void 0,
                      Pt
                    ))
                      return At;
                    Ze && Yt && J && (J = qn([Yt]) <= qn([J]) ? Yt : J);
                  }
                }
              }
              Ze && (Yt = void 0);
            } else if (A_(Re) && l !== mu) {
              const Ur = !!Re.declaration.nameType, ci = eh(Re), qi = _g(Re);
              if (!(qi & 8)) {
                if (!Ur && ci.flags & 8388608 && ci.objectType === xe && ci.indexType === hd(Re))
                  return -1;
                if (!A_(xe)) {
                  const wa = Ur ? $0(Re) : Vf(Re), sr = Om(
                    xe,
                    2
                    /* NoIndexSignatures */
                  ), Fn = qi & 4, fs = Fn ? QL(wa, sr) : void 0;
                  if (Fn ? !(fs.flags & 131072) : en(
                    wa,
                    sr,
                    3
                    /* Both */
                  )) {
                    const Xi = eh(Re), Ta = hd(Re), za = yP(
                      Xi,
                      -98305
                      /* Nullable */
                    );
                    if (!Ur && za.flags & 8388608 && za.indexType === Ta) {
                      if (At = en(xe, za.objectType, 2, Ze))
                        return At;
                    } else {
                      const is = Ur ? fs || wa : fs ? ia([fs, Ta]) : Ta, rl = mf(xe, is);
                      if (At = en(rl, Xi, 3, Ze))
                        return At;
                    }
                  }
                  Yt = J, zn($t);
                }
              }
            } else if (Sn & 16777216) {
              if (Kk(Re, We, jt, 10))
                return 3;
              const Ur = Re;
              if (!Ur.root.inferTypeParameters && !Crt(Ur.root) && !(xe.flags & 16777216 && xe.root === Ur.root)) {
                const ci = !Ls(sI(Ur.checkType), sI(Ur.extendsType)), qi = !ci && Ls(DT(Ur.checkType), DT(Ur.extendsType));
                if ((At = ci ? -1 : en(
                  xe,
                  S1(Ur),
                  2,
                  /*reportErrors*/
                  false,
                  /*headMessage*/
                  void 0,
                  Pt
                )) && (At &= qi ? -1 : en(
                  xe,
                  T1(Ur),
                  2,
                  /*reportErrors*/
                  false,
                  /*headMessage*/
                  void 0,
                  Pt
                ), At))
                  return At;
              }
            } else if (Sn & 134217728) {
              if ($r & 134217728) {
                if (l === w_)
                  return Knt(xe, Re) ? 0 : -1;
                Mi(xe, Vc);
              }
              if (R$(xe, Re))
                return -1;
            } else if (Re.flags & 268435456 && !(xe.flags & 268435456) && M$(xe, Re))
              return -1;
            if ($r & 8650752) {
              if (!($r & 8388608 && Sn & 8388608)) {
                const Ur = hT(xe) || yt;
                if (At = en(
                  Ur,
                  Re,
                  1,
                  /*reportErrors*/
                  false,
                  /*headMessage*/
                  void 0,
                  Pt
                ))
                  return At;
                if (At = en(
                  df(Ur, xe),
                  Re,
                  1,
                  Ze && Ur !== yt && !(Sn & $r & 262144),
                  /*headMessage*/
                  void 0,
                  Pt
                ))
                  return At;
                if (Mfe(xe)) {
                  const ci = hT(xe.indexType);
                  if (ci && (At = en(mf(xe.objectType, ci), Re, 1, Ze)))
                    return At;
                }
              }
            } else if ($r & 4194304) {
              const Ur = _pe(xe.type, xe.indexFlags) && Dn(xe.type) & 32;
              if (At = en(oi, Re, 1, Ze && !Ur))
                return At;
              if (Ur) {
                const ci = xe.type, qi = $0(ci), wa = qi && EE(ci) ? Cf(qi, ci) : qi || Vf(ci);
                if (At = en(wa, Re, 1, Ze))
                  return At;
              }
            } else if ($r & 134217728 && !(Sn & 524288)) {
              if (!(Sn & 134217728)) {
                const Ur = nu(xe);
                if (Ur && Ur !== xe && (At = en(Ur, Re, 1, Ze)))
                  return At;
              }
            } else if ($r & 268435456)
              if (Sn & 268435456) {
                if (xe.symbol !== Re.symbol)
                  return 0;
                if (At = en(xe.type, Re.type, 3, Ze))
                  return At;
              } else {
                const Ur = nu(xe);
                if (Ur && (At = en(Ur, Re, 1, Ze)))
                  return At;
              }
            else if ($r & 16777216) {
              if (Kk(xe, de, gt, 10))
                return 3;
              if (Sn & 16777216) {
                const qi = xe.root.inferTypeParameters;
                let wa = xe.extendsType, sr;
                if (qi) {
                  const Fn = pI(
                    qi,
                    /*signature*/
                    void 0,
                    0,
                    xi
                  );
                  sh(
                    Fn.inferences,
                    Re.extendsType,
                    wa,
                    1536
                    /* AlwaysStrict */
                  ), wa = Mi(wa, Fn.mapper), sr = Fn.mapper;
                }
                if (ih(wa, Re.extendsType) && (en(
                  xe.checkType,
                  Re.checkType,
                  3
                  /* Both */
                ) || en(
                  Re.checkType,
                  xe.checkType,
                  3
                  /* Both */
                )) && ((At = en(Mi(S1(xe), sr), S1(Re), 3, Ze)) && (At &= en(T1(xe), T1(Re), 3, Ze)), At))
                  return At;
              }
              const Ur = Ffe(xe);
              if (Ur && (At = en(Ur, Re, 1, Ze)))
                return At;
              const ci = !(Sn & 16777216) && KL(xe) ? s3e(xe) : void 0;
              if (ci && (zn($t), At = en(ci, Re, 1, Ze)))
                return At;
            } else {
              if (l !== ig && l !== Oo && Fet(Re) && Qh(xe))
                return -1;
              if (A_(Re))
                return A_(xe) && (At = It(xe, Re, Ze)) ? At : 0;
              const Ur = !!($r & 402784252);
              if (l !== mu)
                xe = Qu(xe), $r = xe.flags;
              else if (A_(xe))
                return 0;
              if (Dn(xe) & 4 && Dn(Re) & 4 && xe.target === Re.target && !ba(xe) && !(b$(xe) || b$(Re))) {
                if (C$(xe))
                  return -1;
                const ci = Lpe(xe.target);
                if (ci === Ge)
                  return 1;
                const qi = Yn(wo(xe), wo(Re), ci, Pt);
                if (qi !== void 0)
                  return qi;
              } else {
                if (pP(Re) ? U_(xe, tb) : Tp(Re) && U_(xe, (ci) => ba(ci) && !ci.target.readonly))
                  return l !== mu ? en(Xv(xe, wt) || Le, Xv(Re, wt) || Le, 3, Ze) : 0;
                if (x1(xe) && ba(Re) && !x1(Re)) {
                  const ci = Fm(xe);
                  if (ci !== xe)
                    return en(ci, Re, 1, Ze);
                } else if ((l === ig || l === Oo) && Qh(Re) && Dn(Re) & 8192 && !Qh(xe))
                  return 0;
              }
              if ($r & 2621440 && Sn & 524288) {
                const ci = Ze && J === $t.errorInfo && !Ur;
                if (At = sa(
                  xe,
                  Re,
                  ci,
                  /*excludedProperties*/
                  void 0,
                  /*optionalsOnly*/
                  false,
                  Pt
                ), At && (At &= _o(xe, Re, 0, ci, Pt), At && (At &= _o(xe, Re, 1, ci, Pt), At && (At &= we(xe, Re, Ur, ci, Pt)))), Lr && At)
                  J = Yt || J || $t.errorInfo;
                else if (At)
                  return At;
              }
              if ($r & 2621440 && Sn & 1048576) {
                const ci = yP(
                  Re,
                  36175872
                  /* Substitution */
                );
                if (ci.flags & 1048576) {
                  const qi = gr(xe, ci);
                  if (qi)
                    return qi;
                }
              }
            }
            return 0;
            function qn(Ur) {
              return Ur ? ju(Ur, (ci, qi) => ci + 1 + qn(qi.next), 0) : 0;
            }
            function Yn(Ur, ci, qi, wa) {
              if (At = PP(Ur, ci, qi, Ze, wa))
                return At;
              if (ot(qi, (Fn) => !!(Fn & 24))) {
                Yt = void 0, zn($t);
                return;
              }
              const sr = ci && fnt(ci, qi);
              if (Lr = !sr, qi !== Ge && !sr) {
                if (Lr && !(Ze && ot(
                  qi,
                  (Fn) => (Fn & 7) === 0
                  /* Invariant */
                )))
                  return 0;
                Yt = J, zn($t);
              }
            }
          }
          function It(xe, Re, Ze) {
            if (l === w_ || (l === mu ? _g(xe) === _g(Re) : iP(xe) <= iP(Re))) {
              let $t;
              const At = Vf(Re), Yt = Mi(Vf(xe), iP(xe) < 0 ? To : Vc);
              if ($t = en(At, Yt, 3, Ze)) {
                const Lr = gf([hd(xe)], [hd(Re)]);
                if (Mi($0(xe), Lr) === Mi($0(Re), Lr))
                  return $t & en(Mi(eh(xe), Lr), eh(Re), 3, Ze);
              }
            }
            return 0;
          }
          function gr(xe, Re) {
            var Ze;
            const Pt = qa(xe), $t = b8e(Pt, Re);
            if (!$t) return 0;
            let At = 1;
            for (const Yn of $t)
              if (At *= Dit(Wd(Yn)), At > 25)
                return (Ze = on) == null || Ze.instant(on.Phase.CheckTypes, "typeRelatedToDiscriminatedType_DepthLimit", { sourceId: xe.id, targetId: Re.id, numCombinations: At }), 0;
            const Yt = new Array($t.length), Lr = /* @__PURE__ */ new Set();
            for (let Yn = 0; Yn < $t.length; Yn++) {
              const Ur = $t[Yn], ci = Wd(Ur);
              Yt[Yn] = ci.flags & 1048576 ? ci.types : [ci], Lr.add(Ur.escapedName);
            }
            const $r = dQ(Yt), Sn = [];
            for (const Yn of $r) {
              let Ur = false;
              e:
                for (const ci of Re.types) {
                  for (let qi = 0; qi < $t.length; qi++) {
                    const wa = $t[qi], sr = Qs(ci, wa.escapedName);
                    if (!sr) continue e;
                    if (wa === sr) continue;
                    if (!Tn(
                      xe,
                      Re,
                      wa,
                      sr,
                      (fs) => Yn[qi],
                      /*reportErrors*/
                      false,
                      0,
                      /*skipOptional*/
                      K || l === w_
                    ))
                      continue e;
                  }
                  Yf(Sn, ci, _y), Ur = true;
                }
              if (!Ur)
                return 0;
            }
            let qn = -1;
            for (const Yn of Sn)
              if (qn &= sa(
                xe,
                Yn,
                /*reportErrors*/
                false,
                Lr,
                /*optionalsOnly*/
                false,
                0
                /* None */
              ), qn && (qn &= _o(
                xe,
                Yn,
                0,
                /*reportErrors*/
                false,
                0
                /* None */
              ), qn && (qn &= _o(
                xe,
                Yn,
                1,
                /*reportErrors*/
                false,
                0
                /* None */
              ), qn && !(ba(xe) && ba(Yn)) && (qn &= we(
                xe,
                Yn,
                /*sourceIsPrimitive*/
                false,
                /*reportErrors*/
                false,
                0
                /* None */
              )))), !qn)
                return qn;
            return qn;
          }
          function Fr(xe, Re) {
            if (!Re || xe.length === 0) return xe;
            let Ze;
            for (let Pt = 0; Pt < xe.length; Pt++)
              Re.has(xe[Pt].escapedName) ? Ze || (Ze = xe.slice(0, Pt)) : Ze && Ze.push(xe[Pt]);
            return Ze || xe;
          }
          function Qr(xe, Re, Ze, Pt, $t) {
            const At = K && !!(oc(Re) & 48), Yt = Fu(
              Wd(Re),
              /*isProperty*/
              false,
              At
            );
            if (Yt.flags & (l === Oo ? 1 : 3))
              return -1;
            const Lr = Ze(xe);
            return en(
              Lr,
              Yt,
              3,
              Pt,
              /*headMessage*/
              void 0,
              $t
            );
          }
          function Tn(xe, Re, Ze, Pt, $t, At, Yt, Lr) {
            const $r = ap(Ze), Sn = ap(Pt);
            if ($r & 2 || Sn & 2) {
              if (Ze.valueDeclaration !== Pt.valueDeclaration)
                return At && ($r & 2 && Sn & 2 ? Vi(p.Types_have_separate_declarations_of_a_private_property_0, Wi(Pt)) : Vi(p.Property_0_is_private_in_type_1_but_not_in_type_2, Wi(Pt), Wr($r & 2 ? xe : Re), Wr($r & 2 ? Re : xe))), 0;
            } else if (Sn & 4) {
              if (!hnt(Ze, Pt))
                return At && Vi(p.Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2, Wi(Pt), Wr(Zk(Ze) || xe), Wr(Zk(Pt) || Re)), 0;
            } else if ($r & 4)
              return At && Vi(p.Property_0_is_protected_in_type_1_but_public_in_type_2, Wi(Pt), Wr(xe), Wr(Re)), 0;
            if (l === Oo && Yd(Ze) && !Yd(Pt))
              return 0;
            const qn = Qr(Ze, Pt, $t, At, Yt);
            return qn ? !Lr && Ze.flags & 16777216 && Pt.flags & 106500 && !(Pt.flags & 16777216) ? (At && Vi(p.Property_0_is_optional_in_type_1_but_required_in_type_2, Wi(Pt), Wr(xe), Wr(Re)), 0) : qn : (At && xs(p.Types_of_property_0_are_incompatible, Wi(Pt)), 0);
          }
          function Kn(xe, Re, Ze, Pt) {
            let $t = false;
            if (Ze.valueDeclaration && kl(Ze.valueDeclaration) && Ai(Ze.valueDeclaration.name) && xe.symbol && xe.symbol.flags & 32) {
              const Yt = Ze.valueDeclaration.name.escapedText, Lr = X3(xe.symbol, Yt);
              if (Lr && Qs(xe, Lr)) {
                const $r = N.getDeclarationName(xe.symbol.valueDeclaration), Sn = N.getDeclarationName(Re.symbol.valueDeclaration);
                Vi(
                  p.Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2,
                  B_(Yt),
                  B_($r.escapedText === "" ? CW : $r),
                  B_(Sn.escapedText === "" ? CW : Sn)
                );
                return;
              }
            }
            const At = ns(Ype(
              xe,
              Re,
              Pt,
              /*matchDiscriminantProperties*/
              false
            ));
            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) && ($t = true), At.length === 1) {
              const Yt = Wi(
                Ze,
                /*enclosingDeclaration*/
                void 0,
                0,
                20
                /* WriteComputedProps */
              );
              Vi(p.Property_0_is_missing_in_type_1_but_required_in_type_2, Yt, ...Qw(xe, Re)), wr(Ze.declarations) && yc(sn(Ze.declarations[0], p._0_is_declared_here, Yt)), $t && J && Kr++;
            } else Br(
              xe,
              Re,
              /*reportErrors*/
              false
            ) && (At.length > 5 ? Vi(p.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more, Wr(xe), Wr(Re), hr(At.slice(0, 4), (Yt) => Wi(Yt)).join(", "), At.length - 4) : Vi(p.Type_0_is_missing_the_following_properties_from_type_1_Colon_2, Wr(xe), Wr(Re), hr(At, (Yt) => Wi(Yt)).join(", ")), $t && J && Kr++);
          }
          function sa(xe, Re, Ze, Pt, $t, At) {
            if (l === mu)
              return la(xe, Re, Pt);
            let Yt = -1;
            if (ba(Re)) {
              if (tb(xe)) {
                if (!Re.target.readonly && (pP(xe) || ba(xe) && xe.target.readonly))
                  return 0;
                const Yn = Y0(xe), Ur = Y0(Re), ci = ba(xe) ? xe.target.combinedFlags & 4 : 4, qi = !!(Re.target.combinedFlags & 12), wa = ba(xe) ? xe.target.minLength : 0, sr = Re.target.minLength;
                if (!ci && Yn < sr)
                  return Ze && Vi(p.Source_has_0_element_s_but_target_requires_1, Yn, sr), 0;
                if (!qi && Ur < wa)
                  return Ze && Vi(p.Source_has_0_element_s_but_target_allows_only_1, wa, Ur), 0;
                if (!qi && (ci || Ur < Yn))
                  return Ze && (wa < sr ? Vi(p.Target_requires_0_element_s_but_source_may_have_fewer, sr) : Vi(p.Target_allows_only_0_element_s_but_source_may_have_more, Ur)), 0;
                const Fn = wo(xe), fs = wo(Re), Xi = Vtt(
                  Re.target,
                  11
                  /* NonRest */
                ), Ta = eI(
                  Re.target,
                  11
                  /* NonRest */
                );
                let za = !!Pt;
                for (let is = 0; is < Yn; is++) {
                  const rl = ba(xe) ? xe.target.elementFlags[is] : 4, nl = Yn - 1 - is, au = qi && is >= Xi ? Ur - 1 - Math.min(nl, Ta) : is, Ru = Re.target.elementFlags[au];
                  if (Ru & 8 && !(rl & 8))
                    return Ze && Vi(p.Source_provides_no_match_for_variadic_element_at_position_0_in_target, au), 0;
                  if (rl & 8 && !(Ru & 12))
                    return Ze && Vi(p.Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target, is, au), 0;
                  if (Ru & 1 && !(rl & 1))
                    return Ze && Vi(p.Source_provides_no_match_for_required_element_at_position_0_in_target, au), 0;
                  if (za && ((rl & 12 || Ru & 12) && (za = false), za && Pt?.has("" + is)))
                    continue;
                  const p_ = Kh(Fn[is], !!(rl & Ru & 2)), n0 = fs[au], lb = rl & 8 && Ru & 4 ? yu(n0) : Kh(n0, !!(Ru & 2)), j2 = en(
                    p_,
                    lb,
                    3,
                    Ze,
                    /*headMessage*/
                    void 0,
                    At
                  );
                  if (!j2)
                    return Ze && (Ur > 1 || Yn > 1) && (qi && is >= Xi && nl >= Ta && Xi !== Yn - Ta - 1 ? xs(p.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target, Xi, Yn - Ta - 1, au) : xs(p.Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target, is, au)), 0;
                  Yt &= j2;
                }
                return Yt;
              }
              if (Re.target.combinedFlags & 12)
                return 0;
            }
            const Lr = (l === ig || l === Oo) && !ey(xe) && !C$(xe) && !ba(xe), $r = Zpe(
              xe,
              Re,
              Lr,
              /*matchDiscriminantProperties*/
              false
            );
            if ($r)
              return Ze && Sl(xe, Re) && Kn(xe, Re, $r, Lr), 0;
            if (ey(Re)) {
              for (const Yn of Fr(qa(xe), Pt))
                if (!k2(Re, Yn.escapedName) && !(Yr(Yn).flags & 32768))
                  return Ze && Vi(p.Property_0_does_not_exist_on_type_1, Wi(Yn), Wr(Re)), 0;
            }
            const Sn = qa(Re), qn = ba(xe) && ba(Re);
            for (const Yn of Fr(Sn, Pt)) {
              const Ur = Yn.escapedName;
              if (!(Yn.flags & 4194304) && (!qn || Mg(Ur) || Ur === "length") && (!$t || Yn.flags & 16777216)) {
                const ci = Qs(xe, Ur);
                if (ci && ci !== Yn) {
                  const qi = Tn(xe, Re, ci, Yn, Wd, Ze, At, l === w_);
                  if (!qi)
                    return 0;
                  Yt &= qi;
                }
              }
            }
            return Yt;
          }
          function la(xe, Re, Ze) {
            if (!(xe.flags & 524288 && Re.flags & 524288))
              return 0;
            const Pt = Fr(X0(xe), Ze), $t = Fr(X0(Re), Ze);
            if (Pt.length !== $t.length)
              return 0;
            let At = -1;
            for (const Yt of Pt) {
              const Lr = k2(Re, Yt.escapedName);
              if (!Lr)
                return 0;
              const $r = Rpe(Yt, Lr, en);
              if (!$r)
                return 0;
              At &= $r;
            }
            return At;
          }
          function _o(xe, Re, Ze, Pt, $t) {
            var At, Yt;
            if (l === mu)
              return cb(xe, Re, Ze);
            if (Re === Xa || xe === Xa)
              return -1;
            const Lr = xe.symbol && Rm(xe.symbol.valueDeclaration), $r = Re.symbol && Rm(Re.symbol.valueDeclaration), Sn = As(
              xe,
              Lr && Ze === 1 ? 0 : Ze
            ), qn = As(
              Re,
              $r && Ze === 1 ? 0 : Ze
            );
            if (Ze === 1 && Sn.length && qn.length) {
              const wa = !!(Sn[0].flags & 4), sr = !!(qn[0].flags & 4);
              if (wa && !sr)
                return Pt && Vi(p.Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type), 0;
              if (!Zt(Sn[0], qn[0], Pt))
                return 0;
            }
            let Yn = -1;
            const Ur = Ze === 1 ? I_ : Mu, ci = Dn(xe), qi = Dn(Re);
            if (ci & 64 && qi & 64 && xe.symbol === Re.symbol || ci & 4 && qi & 4 && xe.target === Re.target) {
              E.assertEqual(Sn.length, qn.length);
              for (let wa = 0; wa < qn.length; wa++) {
                const sr = ob(
                  Sn[wa],
                  qn[wa],
                  /*erase*/
                  true,
                  Pt,
                  $t,
                  Ur(Sn[wa], qn[wa])
                );
                if (!sr)
                  return 0;
                Yn &= sr;
              }
            } else if (Sn.length === 1 && qn.length === 1) {
              const wa = l === w_, sr = ka(Sn), Fn = ka(qn);
              if (Yn = ob(sr, Fn, wa, Pt, $t, Ur(sr, Fn)), !Yn && Pt && Ze === 1 && ci & qi && (((At = Fn.declaration) == null ? void 0 : At.kind) === 177 || ((Yt = sr.declaration) == null ? void 0 : Yt.kind) === 177)) {
                const fs = (Xi) => m1(
                  Xi,
                  /*enclosingDeclaration*/
                  void 0,
                  262144,
                  Ze
                );
                return Vi(p.Type_0_is_not_assignable_to_type_1, fs(sr), fs(Fn)), Vi(p.Types_of_construct_signatures_are_incompatible), Yn;
              }
            } else
              e:
                for (const wa of qn) {
                  const sr = bi();
                  let Fn = Pt;
                  for (const fs of Sn) {
                    const Xi = ob(
                      fs,
                      wa,
                      /*erase*/
                      true,
                      Fn,
                      $t,
                      Ur(fs, wa)
                    );
                    if (Xi) {
                      Yn &= Xi, zn(sr);
                      continue e;
                    }
                    Fn = false;
                  }
                  return Fn && Vi(p.Type_0_provides_no_match_for_the_signature_1, Wr(xe), m1(
                    wa,
                    /*enclosingDeclaration*/
                    void 0,
                    /*flags*/
                    void 0,
                    Ze
                  )), 0;
                }
            return Yn;
          }
          function Sl(xe, Re) {
            const Ze = tM(
              xe,
              0
              /* Call */
            ), Pt = tM(
              xe,
              1
              /* Construct */
            ), $t = X0(xe);
            return (Ze.length || Pt.length) && !$t.length ? !!(As(
              Re,
              0
              /* Call */
            ).length && Ze.length || As(
              Re,
              1
              /* Construct */
            ).length && Pt.length) : true;
          }
          function Mu(xe, Re) {
            return xe.parameters.length === 0 && Re.parameters.length === 0 ? (Ze, Pt) => xs(p.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1, Wr(Ze), Wr(Pt)) : (Ze, Pt) => xs(p.Call_signature_return_types_0_and_1_are_incompatible, Wr(Ze), Wr(Pt));
          }
          function I_(xe, Re) {
            return xe.parameters.length === 0 && Re.parameters.length === 0 ? (Ze, Pt) => xs(p.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1, Wr(Ze), Wr(Pt)) : (Ze, Pt) => xs(p.Construct_signature_return_types_0_and_1_are_incompatible, Wr(Ze), Wr(Pt));
          }
          function ob(xe, Re, Ze, Pt, $t, At) {
            const Yt = l === ig ? 16 : l === Oo ? 24 : 0;
            return Ppe(Ze ? KA(xe) : xe, Ze ? KA(Re) : Re, Yt, Pt, Vi, At, Lr, Vc);
            function Lr($r, Sn, qn) {
              return en(
                $r,
                Sn,
                3,
                qn,
                /*headMessage*/
                void 0,
                $t
              );
            }
          }
          function cb(xe, Re, Ze) {
            const Pt = As(xe, Ze), $t = As(Re, Ze);
            if (Pt.length !== $t.length)
              return 0;
            let At = -1;
            for (let Yt = 0; Yt < Pt.length; Yt++) {
              const Lr = vM(
                Pt[Yt],
                $t[Yt],
                /*partialMatch*/
                false,
                /*ignoreThisTypes*/
                false,
                /*ignoreReturnTypes*/
                false,
                en
              );
              if (!Lr)
                return 0;
              At &= Lr;
            }
            return At;
          }
          function dR(xe, Re, Ze, Pt) {
            let $t = -1;
            const At = Re.keyType, Yt = xe.flags & 2097152 ? ZL(xe) : X0(xe);
            for (const Lr of Yt)
              if (!UNe(xe, Lr) && Hk($k(
                Lr,
                8576
                /* StringOrNumberLiteralOrUnique */
              ), At)) {
                const $r = Wd(Lr), Sn = be || $r.flags & 32768 || At === wt || !(Lr.flags & 16777216) ? $r : xp(
                  $r,
                  524288
                  /* NEUndefined */
                ), qn = en(
                  Sn,
                  Re.type,
                  3,
                  Ze,
                  /*headMessage*/
                  void 0,
                  Pt
                );
                if (!qn)
                  return Ze && Vi(p.Property_0_is_incompatible_with_index_signature, Wi(Lr)), 0;
                $t &= qn;
              }
            for (const Lr of hu(xe))
              if (Hk(Lr.keyType, At)) {
                const $r = qX(Lr, Re, Ze, Pt);
                if (!$r)
                  return 0;
                $t &= $r;
              }
            return $t;
          }
          function qX(xe, Re, Ze, Pt) {
            const $t = en(
              xe.type,
              Re.type,
              3,
              Ze,
              /*headMessage*/
              void 0,
              Pt
            );
            return !$t && Ze && (xe.keyType === Re.keyType ? Vi(p._0_index_signatures_are_incompatible, Wr(xe.keyType)) : Vi(p._0_and_1_index_signatures_are_incompatible, Wr(xe.keyType), Wr(Re.keyType))), $t;
          }
          function we(xe, Re, Ze, Pt, $t) {
            if (l === mu)
              return Ht(xe, Re);
            const At = hu(Re), Yt = ot(At, ($r) => $r.keyType === at);
            let Lr = -1;
            for (const $r of At) {
              const Sn = l !== Oo && !Ze && Yt && $r.type.flags & 1 ? -1 : A_(xe) && Yt ? en(eh(xe), $r.type, 3, Pt) : te(xe, $r, Pt, $t);
              if (!Sn)
                return 0;
              Lr &= Sn;
            }
            return Lr;
          }
          function te(xe, Re, Ze, Pt) {
            const $t = XA(xe, Re.keyType);
            return $t ? qX($t, Re, Ze, Pt) : !(Pt & 1) && (l !== Oo || Dn(xe) & 8192) && A$(xe) ? dR(xe, Re, Ze, Pt) : (Ze && Vi(p.Index_signature_for_type_0_is_missing_in_type_1, Wr(Re.keyType), Wr(xe)), 0);
          }
          function Ht(xe, Re) {
            const Ze = hu(xe), Pt = hu(Re);
            if (Ze.length !== Pt.length)
              return 0;
            for (const $t of Pt) {
              const At = th(xe, $t.keyType);
              if (!(At && en(
                At.type,
                $t.type,
                3
                /* Both */
              ) && At.isReadonly === $t.isReadonly))
                return 0;
            }
            return -1;
          }
          function Zt(xe, Re, Ze) {
            if (!xe.declaration || !Re.declaration)
              return true;
            const Pt = gx(
              xe.declaration,
              6
              /* NonPublicAccessibilityModifier */
            ), $t = gx(
              Re.declaration,
              6
              /* NonPublicAccessibilityModifier */
            );
            return $t === 2 || $t === 4 && Pt !== 2 || $t !== 4 && !Pt ? true : (Ze && Vi(p.Cannot_assign_a_0_constructor_type_to_a_1_constructor_type, qv(Pt), qv($t)), false);
          }
        }
        function Ipe(r) {
          if (r.flags & 16)
            return false;
          if (r.flags & 3145728)
            return !!lr(r.types, Ipe);
          if (r.flags & 465829888) {
            const a = hT(r);
            if (a && a !== r)
              return Ipe(a);
          }
          return Hd(r) || !!(r.flags & 134217728) || !!(r.flags & 268435456);
        }
        function VNe(r, a) {
          return ba(r) && ba(a) ? Ge : qa(a).filter((l) => v$(rr(r, l.escapedName), Yr(l)));
        }
        function v$(r, a) {
          return !!r && !!a && kc(
            r,
            32768
            /* Undefined */
          ) && !!_I(a);
        }
        function unt(r) {
          return qa(r).filter((a) => _I(Yr(a)));
        }
        function qNe(r, a, l = Dpe) {
          return b5e(r, a, l) || Fft(r, a) || Oft(r, a) || Lft(r, a) || Mft(r, a);
        }
        function Fpe(r, a, l) {
          const f = r.types, d = f.map(
            (x) => x.flags & 402784252 ? 0 : -1
            /* True */
          );
          for (const [x, I] of a) {
            let J = false;
            for (let z = 0; z < f.length; z++)
              if (d[z]) {
                const G = Rn(f[z], I);
                G && (kp(x(), (ve) => !!l(ve, G)) ? J = true : d[z] = 3);
              }
            for (let z = 0; z < f.length; z++)
              d[z] === 3 && (d[z] = J ? 0 : -1);
          }
          const y = ds(
            d,
            0
            /* False */
          ) ? Xn(
            f.filter((x, I) => d[I]),
            0
            /* None */
          ) : r;
          return y.flags & 131072 ? r : y;
        }
        function Ope(r) {
          if (r.flags & 524288) {
            const a = Vd(r);
            return a.callSignatures.length === 0 && a.constructSignatures.length === 0 && a.indexInfos.length === 0 && a.properties.length > 0 && Ni(a.properties, (l) => !!(l.flags & 16777216));
          }
          return r.flags & 33554432 ? Ope(r.baseType) : r.flags & 2097152 ? Ni(r.types, Ope) : false;
        }
        function _nt(r, a, l) {
          for (const f of qa(r))
            if (nX(a, f.escapedName, l))
              return true;
          return false;
        }
        function Lpe(r) {
          return r === Da || r === da || r.objectFlags & 8 ? O : GNe(r.symbol, r.typeParameters);
        }
        function HNe(r) {
          return GNe(r, Pn(r).typeParameters);
        }
        function GNe(r, a = Ge) {
          var l, f;
          const d = Pn(r);
          if (!d.variances) {
            (l = on) == null || l.push(on.Phase.CheckTypes, "getVariancesWorker", { arity: a.length, id: Ol(ho(r)) });
            const y = qS, x = I0;
            qS || (qS = true, I0 = Vg.length), d.variances = Ge;
            const I = [];
            for (const J of a) {
              const z = Mpe(J);
              let G = z & 16384 ? z & 8192 ? 0 : 1 : z & 8192 ? 2 : void 0;
              if (G === void 0) {
                let ve = false, de = false;
                const We = gs;
                gs = (jt) => jt ? de = true : ve = true;
                const lt = hM(r, J, co), gt = hM(r, J, ge);
                G = (Ls(gt, lt) ? 1 : 0) | (Ls(lt, gt) ? 2 : 0), G === 3 && Ls(hM(r, J, H), lt) && (G = 4), gs = We, (ve || de) && (ve && (G |= 8), de && (G |= 16));
              }
              I.push(G);
            }
            y || (qS = false, I0 = x), d.variances = I, (f = on) == null || f.pop({ variances: I.map(E.formatVariance) });
          }
          return d.variances;
        }
        function hM(r, a, l) {
          const f = N2(a, l), d = ho(r);
          if (Gr(d))
            return d;
          const y = r.flags & 524288 ? PE(r, Xh(Pn(r).typeParameters, f)) : qh(d, Xh(d.typeParameters, f));
          return it.add(Ol(y)), y;
        }
        function b$(r) {
          return it.has(Ol(r));
        }
        function Mpe(r) {
          var a;
          return ju(
            (a = r.symbol) == null ? void 0 : a.declarations,
            (l, f) => l | lu(f),
            0
            /* None */
          ) & 28672;
        }
        function fnt(r, a) {
          for (let l = 0; l < a.length; l++)
            if ((a[l] & 7) === 1 && r[l].flags & 16384)
              return true;
          return false;
        }
        function pnt(r) {
          return r.flags & 262144 && !__(r);
        }
        function dnt(r) {
          return !!(Dn(r) & 4) && !r.node;
        }
        function S$(r) {
          return dnt(r) && ot(wo(r), (a) => !!(a.flags & 262144) || S$(a));
        }
        function mnt(r, a, l, f) {
          const d = [];
          let y = "";
          const x = J(r, 0), I = J(a, 0);
          return `${y}${x},${I}${l}`;
          function J(z, G = 0) {
            let ve = "" + z.target.id;
            for (const de of wo(z)) {
              if (de.flags & 262144) {
                if (f || pnt(de)) {
                  let We = d.indexOf(de);
                  We < 0 && (We = d.length, d.push(de)), ve += "=" + We;
                  continue;
                }
                y = "*";
              } else if (G < 4 && S$(de)) {
                ve += "<" + J(de, G + 1) + ">";
                continue;
              }
              ve += "-" + de.id;
            }
            return ve;
          }
        }
        function T$(r, a, l, f, d) {
          if (f === mu && r.id > a.id) {
            const x = r;
            r = a, a = x;
          }
          const y = l ? ":" + l : "";
          return S$(r) && S$(a) ? mnt(r, a, y, d) : `${r.id},${a.id}${y}`;
        }
        function yM(r, a) {
          if (oc(r) & 6) {
            for (const l of r.links.containingType.types) {
              const f = Qs(l, r.escapedName), d = f && yM(f, a);
              if (d)
                return d;
            }
            return;
          }
          return a(r);
        }
        function Zk(r) {
          return r.parent && r.parent.flags & 32 ? ho(vl(r)) : void 0;
        }
        function x$(r) {
          const a = Zk(r), l = a && gd(a)[0];
          return l && rr(l, r.escapedName);
        }
        function gnt(r, a) {
          return yM(r, (l) => {
            const f = Zk(l);
            return f ? En(f, a) : false;
          });
        }
        function hnt(r, a) {
          return !yM(a, (l) => ap(l) & 4 ? !gnt(r, Zk(l)) : false);
        }
        function $Ne(r, a, l) {
          return yM(a, (f) => ap(f, l) & 4 ? !En(r, Zk(f)) : false) ? void 0 : r;
        }
        function Kk(r, a, l, f = 3) {
          if (l >= f) {
            if ((Dn(r) & 96) === 96 && (r = XNe(r)), r.flags & 2097152)
              return ot(r.types, (I) => Kk(I, a, l, f));
            const d = k$(r);
            let y = 0, x = 0;
            for (let I = 0; I < l; I++) {
              const J = a[I];
              if (QNe(J, d)) {
                if (J.id >= x && (y++, y >= f))
                  return true;
                x = J.id;
              }
            }
          }
          return false;
        }
        function XNe(r) {
          let a;
          for (; (Dn(r) & 96) === 96 && (a = $v(r)) && (a.symbol || a.flags & 2097152 && ot(a.types, (l) => !!l.symbol)); )
            r = a;
          return r;
        }
        function QNe(r, a) {
          return (Dn(r) & 96) === 96 && (r = XNe(r)), r.flags & 2097152 ? ot(r.types, (l) => QNe(l, a)) : k$(r) === a;
        }
        function k$(r) {
          if (r.flags & 524288 && !ede(r)) {
            if (Dn(r) & 4 && r.node)
              return r.node;
            if (r.symbol && !(Dn(r) & 16 && r.symbol.flags & 32))
              return r.symbol;
            if (ba(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 ynt(r, a) {
          return Rpe(r, a, aI) !== 0;
        }
        function Rpe(r, a, l) {
          if (r === a)
            return -1;
          const f = ap(r) & 6, d = ap(a) & 6;
          if (f !== d)
            return 0;
          if (f) {
            if (UE(r) !== UE(a))
              return 0;
          } else if ((r.flags & 16777216) !== (a.flags & 16777216))
            return 0;
          return Yd(r) !== Yd(a) ? 0 : l(Yr(r), Yr(a));
        }
        function vnt(r, a, l) {
          const f = V_(r), d = V_(a), y = Qd(r), x = Qd(a), I = mg(r), J = mg(a);
          return !!(f === d && y === x && I === J || l && y <= x);
        }
        function vM(r, a, l, f, d, y) {
          if (r === a)
            return -1;
          if (!vnt(r, a, l) || wr(r.typeParameters) !== wr(a.typeParameters))
            return 0;
          if (a.typeParameters) {
            const J = gf(r.typeParameters, a.typeParameters);
            for (let z = 0; z < a.typeParameters.length; z++) {
              const G = r.typeParameters[z], ve = a.typeParameters[z];
              if (!(G === ve || y(Mi(cP(G), J) || yt, cP(ve) || yt) && y(Mi(C2(G), J) || yt, C2(ve) || yt)))
                return 0;
            }
            r = ET(
              r,
              J,
              /*eraseTypeParameters*/
              true
            );
          }
          let x = -1;
          if (!f) {
            const J = Qv(r);
            if (J) {
              const z = Qv(a);
              if (z) {
                const G = y(J, z);
                if (!G)
                  return 0;
                x &= G;
              }
            }
          }
          const I = V_(a);
          for (let J = 0; J < I; J++) {
            const z = Xd(r, J), G = Xd(a, J), ve = y(G, z);
            if (!ve)
              return 0;
            x &= ve;
          }
          if (!d) {
            const J = bp(r), z = bp(a);
            x &= J || z ? bnt(J, z, y) : y(Ba(r), Ba(a));
          }
          return x;
        }
        function bnt(r, a, l) {
          return r && a && cpe(r, a) ? r.type === a.type ? -1 : r.type && a.type ? l(r.type, a.type) : 0 : 0;
        }
        function Snt(r) {
          let a;
          for (const l of r)
            if (!(l.flags & 131072)) {
              const f = Yh(l);
              if (a ?? (a = f), f === l || f !== a)
                return false;
            }
          return true;
        }
        function YNe(r) {
          return ju(r, (a, l) => a | (l.flags & 1048576 ? YNe(l.types) : l.flags), 0);
        }
        function Tnt(r) {
          if (r.length === 1)
            return r[0];
          const a = K ? Gc(r, (f) => Hc(f, (d) => !(d.flags & 98304))) : r, l = Snt(a) ? Xn(a) : xnt(a);
          return a === r ? l : TM(
            l,
            YNe(r) & 98304
            /* Nullable */
          );
        }
        function xnt(r) {
          const a = ju(r, (l, f) => fP(l, f) ? f : l);
          return Ni(r, (l) => l === a || fP(l, a)) ? a : ju(r, (l, f) => A2(l, f) ? f : l);
        }
        function knt(r) {
          return ju(r, (a, l) => A2(l, a) ? l : a);
        }
        function Tp(r) {
          return !!(Dn(r) & 4) && (r.target === Da || r.target === da);
        }
        function pP(r) {
          return !!(Dn(r) & 4) && r.target === da;
        }
        function tb(r) {
          return Tp(r) || ba(r);
        }
        function bM(r) {
          return Tp(r) && !pP(r) || ba(r) && !r.target.readonly;
        }
        function SM(r) {
          return Tp(r) ? wo(r)[0] : void 0;
        }
        function K0(r) {
          return Tp(r) || !(r.flags & 98304) && Ls(r, lf);
        }
        function jpe(r) {
          return bM(r) || !(r.flags & 98305) && Ls(r, Ul);
        }
        function Bpe(r) {
          if (!(Dn(r) & 4) || !(Dn(r.target) & 3))
            return;
          if (Dn(r) & 33554432)
            return Dn(r) & 67108864 ? r.cachedEquivalentBaseType : void 0;
          r.objectFlags |= 33554432;
          const a = r.target;
          if (Dn(a) & 1) {
            const d = Qp(a);
            if (d && d.expression.kind !== 80 && d.expression.kind !== 212)
              return;
          }
          const l = gd(a);
          if (l.length !== 1 || ug(r.symbol).size)
            return;
          let f = wr(a.typeParameters) ? Mi(l[0], gf(a.typeParameters, wo(r).slice(0, a.typeParameters.length))) : l[0];
          return wr(wo(r)) > wr(a.typeParameters) && (f = df(f, fa(wo(r)))), r.objectFlags |= 67108864, r.cachedEquivalentBaseType = f;
        }
        function ZNe(r) {
          return K ? r === cr : r === M;
        }
        function C$(r) {
          const a = SM(r);
          return !!a && ZNe(a);
        }
        function dP(r) {
          let a;
          return ba(r) || !!Qs(r, "0") || K0(r) && !!(a = rr(r, "length")) && U_(a, (l) => !!(l.flags & 256));
        }
        function E$(r) {
          return K0(r) || dP(r);
        }
        function Cnt(r, a) {
          const l = rr(r, "" + a);
          if (l)
            return l;
          if (U_(r, ba))
            return r8e(r, a, F.noUncheckedIndexedAccess ? ue : void 0);
        }
        function Ent(r) {
          return !(r.flags & 240544);
        }
        function Hd(r) {
          return !!(r.flags & 109472);
        }
        function KNe(r) {
          const a = Fm(r);
          return a.flags & 2097152 ? ot(a.types, Hd) : Hd(a);
        }
        function Dnt(r) {
          return r.flags & 2097152 && Nn(r.types, Hd) || r;
        }
        function lI(r) {
          return r.flags & 16 ? true : r.flags & 1048576 ? r.flags & 1024 ? true : Ni(r.types, Hd) : Hd(r);
        }
        function Yh(r) {
          return r.flags & 1056 ? HG(r) : r.flags & 402653312 ? at : r.flags & 256 ? wt : r.flags & 2048 ? Zr : r.flags & 512 ? Nt : r.flags & 1048576 ? wnt(r) : r;
        }
        function wnt(r) {
          const a = `B${Ol(r)}`;
          return c_(a) ?? Gp(a, Vo(r, Yh));
        }
        function Jpe(r) {
          return r.flags & 402653312 ? at : r.flags & 288 ? wt : r.flags & 2048 ? Zr : r.flags & 512 ? Nt : r.flags & 1048576 ? Vo(r, Jpe) : r;
        }
        function rb(r) {
          return r.flags & 1056 && P2(r) ? HG(r) : r.flags & 128 && P2(r) ? at : r.flags & 256 && P2(r) ? wt : r.flags & 2048 && P2(r) ? Zr : r.flags & 512 && P2(r) ? Nt : r.flags & 1048576 ? Vo(r, rb) : r;
        }
        function e8e(r) {
          return r.flags & 8192 ? Jt : r.flags & 1048576 ? Vo(r, e8e) : r;
        }
        function zpe(r, a) {
          return yX(r, a) || (r = e8e(rb(r))), Yu(r);
        }
        function Pnt(r, a, l) {
          if (r && Hd(r)) {
            const f = a ? l ? II(a) : a : void 0;
            r = zpe(r, f);
          }
          return r;
        }
        function Wpe(r, a, l, f) {
          if (r && Hd(r)) {
            const d = a ? ry(l, a, f) : void 0;
            r = zpe(r, d);
          }
          return r;
        }
        function ba(r) {
          return !!(Dn(r) & 4 && r.target.objectFlags & 8);
        }
        function x1(r) {
          return ba(r) && !!(r.target.combinedFlags & 8);
        }
        function t8e(r) {
          return x1(r) && r.target.elementFlags.length === 1;
        }
        function D$(r) {
          return mP(r, r.target.fixedLength);
        }
        function r8e(r, a, l) {
          return Vo(r, (f) => {
            const d = f, y = D$(d);
            return y ? l && a >= ape(d.target) ? Xn([y, l]) : y : ue;
          });
        }
        function Nnt(r) {
          const a = D$(r);
          return a && yu(a);
        }
        function mP(r, a, l = 0, f = false, d = false) {
          const y = Y0(r) - l;
          if (a < y) {
            const x = wo(r), I = [];
            for (let J = a; J < y; J++) {
              const z = x[J];
              I.push(r.target.elementFlags[J] & 8 ? mf(z, wt) : z);
            }
            return f ? ia(I) : Xn(
              I,
              d ? 0 : 1
              /* Literal */
            );
          }
        }
        function Ant(r, a) {
          return Y0(r) === Y0(a) && Ni(r.target.elementFlags, (l, f) => (l & 12) === (a.target.elementFlags[f] & 12));
        }
        function n8e({ value: r }) {
          return r.base10Value === "0";
        }
        function i8e(r) {
          return Hc(r, (a) => Gd2(
            a,
            4194304
            /* Truthy */
          ));
        }
        function Int(r) {
          return Vo(r, Fnt);
        }
        function Fnt(r) {
          return r.flags & 4 ? cE : r.flags & 8 ? zw : r.flags & 64 ? lE : r === Pr || r === Rr || r.flags & 114691 || r.flags & 128 && r.value === "" || r.flags & 256 && r.value === 0 || r.flags & 2048 && n8e(r) ? r : nr;
        }
        function TM(r, a) {
          const l = a & ~r.flags & 98304;
          return l === 0 ? r : Xn(l === 32768 ? [r, ue] : l === 65536 ? [r, Mt] : [r, ue, Mt]);
        }
        function k1(r, a = false) {
          E.assert(K);
          const l = a ? Q : ue;
          return r === l || r.flags & 1048576 && r.types[0] === l ? r : Xn([r, l]);
        }
        function Ont(r) {
          return Hu || (Hu = AE(
            "NonNullable",
            524288,
            /*diagnostic*/
            void 0
          ) || Y), Hu !== Y ? PE(Hu, [r]) : ia([r, ea]);
        }
        function Zh(r) {
          return K ? AT(
            r,
            2097152
            /* NEUndefinedOrNull */
          ) : r;
        }
        function s8e(r) {
          return K ? Xn([r, dt]) : r;
        }
        function w$(r) {
          return K ? B$(r, dt) : r;
        }
        function P$(r, a, l) {
          return l ? v4(a) ? k1(r) : s8e(r) : r;
        }
        function uI(r, a) {
          return T7(a) ? Zh(r) : Tu(a) ? w$(r) : r;
        }
        function Kh(r, a) {
          return be && a ? B$(r, ye) : r;
        }
        function _I(r) {
          return r === ye || !!(r.flags & 1048576) && r.types[0] === ye;
        }
        function N$(r) {
          return be ? B$(r, ye) : xp(
            r,
            524288
            /* NEUndefined */
          );
        }
        function Lnt(r, a) {
          return (r.flags & 524) !== 0 && (a.flags & 28) !== 0;
        }
        function A$(r) {
          const a = Dn(r);
          return r.flags & 2097152 ? Ni(r.types, A$) : !!(r.symbol && (r.symbol.flags & 7040) !== 0 && !(r.symbol.flags & 32) && !RX(r)) || !!(a & 4194304) || !!(a & 1024 && A$(r.source));
        }
        function wT(r, a) {
          const l = ma(
            r.flags,
            r.escapedName,
            oc(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 = Pn(r).nameType;
          return f && (l.links.nameType = f), l;
        }
        function Mnt(r, a) {
          const l = js();
          for (const f of X0(r)) {
            const d = Yr(f), y = a(d);
            l.set(f.escapedName, y === d ? f : wT(f, y));
          }
          return l;
        }
        function fI(r) {
          if (!(ey(r) && Dn(r) & 8192))
            return r;
          const a = r.regularType;
          if (a)
            return a;
          const l = r, f = Mnt(r, fI), d = Uo(l.symbol, f, l.callSignatures, l.constructSignatures, l.indexInfos);
          return d.flags = l.flags, d.objectFlags |= l.objectFlags & -8193, r.regularType = d, d;
        }
        function a8e(r, a, l) {
          return { parent: r, propertyName: a, siblings: l, resolvedProperties: void 0 };
        }
        function o8e(r) {
          if (!r.siblings) {
            const a = [];
            for (const l of o8e(r.parent))
              if (ey(l)) {
                const f = k2(l, r.propertyName);
                f && IT(Yr(f), (d) => {
                  a.push(d);
                });
              }
            r.siblings = a;
          }
          return r.siblings;
        }
        function Rnt(r) {
          if (!r.resolvedProperties) {
            const a = /* @__PURE__ */ new Map();
            for (const l of o8e(r))
              if (ey(l) && !(Dn(l) & 2097152))
                for (const f of qa(l))
                  a.set(f.escapedName, f);
            r.resolvedProperties = ns(a.values());
          }
          return r.resolvedProperties;
        }
        function jnt(r, a) {
          if (!(r.flags & 4))
            return r;
          const l = Yr(r), f = a && a8e(
            a,
            r.escapedName,
            /*siblings*/
            void 0
          ), d = Upe(l, f);
          return d === l ? r : wT(r, d);
        }
        function Bnt(r) {
          const a = re.get(r.escapedName);
          if (a)
            return a;
          const l = wT(r, Q);
          return l.flags |= 16777216, re.set(r.escapedName, l), l;
        }
        function Jnt(r, a) {
          const l = js();
          for (const d of X0(r))
            l.set(d.escapedName, jnt(d, a));
          if (a)
            for (const d of Rnt(a))
              l.has(d.escapedName) || l.set(d.escapedName, Bnt(d));
          const f = Uo(r.symbol, l, Ge, Ge, Gc(hu(r), (d) => rh(d.keyType, hf(d.type), d.isReadonly, d.declaration, d.components)));
          return f.objectFlags |= Dn(r) & 266240, f;
        }
        function hf(r) {
          return Upe(
            r,
            /*context*/
            void 0
          );
        }
        function Upe(r, a) {
          if (Dn(r) & 196608) {
            if (a === void 0 && r.widened)
              return r.widened;
            let l;
            if (r.flags & 98305)
              l = Le;
            else if (ey(r))
              l = Jnt(r, a);
            else if (r.flags & 1048576) {
              const f = a || a8e(
                /*parent*/
                void 0,
                /*propertyName*/
                void 0,
                r.types
              ), d = Gc(r.types, (y) => y.flags & 98304 ? y : Upe(y, f));
              l = Xn(
                d,
                ot(d, Qh) ? 2 : 1
                /* Literal */
              );
            } else r.flags & 2097152 ? l = ia(Gc(r.types, hf)) : tb(r) && (l = qh(r.target, Gc(wo(r), hf)));
            return l && a === void 0 && (r.widened = l), l || r;
          }
          return r;
        }
        function I$(r) {
          var a;
          let l = false;
          if (Dn(r) & 65536) {
            if (r.flags & 1048576)
              if (ot(r.types, Qh))
                l = true;
              else
                for (const f of r.types)
                  l || (l = I$(f));
            else if (tb(r))
              for (const f of wo(r))
                l || (l = I$(f));
            else if (ey(r))
              for (const f of X0(r)) {
                const d = Yr(f);
                if (Dn(d) & 65536 && (l = I$(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 && (ze(y, p.Object_literal_s_property_0_implicitly_has_an_1_type, Wi(f), Wr(hf(d))), l = true);
                }
              }
          }
          return l;
        }
        function nb(r, a, l) {
          const f = Wr(hf(a));
          if (an(r) && !_D(xr(r), F))
            return;
          let d;
          switch (r.kind) {
            case 227:
            case 173:
            case 172:
              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 170:
              const y = r;
              if (Me(y.name)) {
                const x = q2(y.name);
                if ((Mx(y.parent) || id(y.parent) || $m(y.parent)) && y.parent.parameters.includes(y) && (st(
                  y,
                  y.name.escapedText,
                  788968,
                  /*nameNotFoundMessage*/
                  void 0,
                  /*isUse*/
                  true
                ) || x && gJ(x))) {
                  const I = "arg" + y.parent.parameters.indexOf(y), J = so(y.name) + (y.dotDotDotToken ? "[]" : "");
                  ud(fe, r, p.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1, I, J);
                  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 209:
              if (d = p.Binding_element_0_implicitly_has_an_1_type, !fe)
                return;
              break;
            case 318:
              ze(r, p.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, f);
              return;
            case 324:
              fe && g6(r.parent) && ze(r.parent.tagName, p.This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation, f);
              return;
            case 263:
            case 175:
            case 174:
            case 178:
            case 179:
            case 219:
            case 220:
              if (fe && !r.name) {
                l === 3 ? ze(r, p.Generator_implicitly_has_yield_type_0_Consider_supplying_a_return_type_annotation, f) : ze(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 201:
              fe && ze(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;
          }
          ud(fe, r, d, so(us(r)), f);
        }
        function znt(r, a) {
          const l = Z$(r);
          if (!l)
            return true;
          let f = Ba(l);
          const d = Fc(r);
          switch (a) {
            case 1:
              return d & 1 ? f = ry(1, f, !!(d & 2)) ?? f : d & 2 && (f = t0(f) ?? f), Zv(f);
            case 3:
              const y = ry(0, f, !!(d & 2));
              return !!y && Zv(y);
            case 2:
              const x = ry(2, f, !!(d & 2));
              return !!x && Zv(x);
          }
          return false;
        }
        function F$(r, a, l) {
          n(() => {
            fe && Dn(a) & 65536 && (!l || to(r) && znt(r, l)) && (I$(a) || nb(r, a, l));
          });
        }
        function Vpe(r, a, l) {
          const f = V_(r), d = V_(a), y = CI(r), x = CI(a), I = x ? d - 1 : d, J = y ? I : Math.min(f, I), z = Qv(r);
          if (z) {
            const G = Qv(a);
            G && l(z, G);
          }
          for (let G = 0; G < J; G++)
            l(Xd(r, G), Xd(a, G));
          x && l(GM(
            r,
            J,
            /*readonly*/
            yT(x) && !kp(x, jpe)
          ), x);
        }
        function qpe(r, a, l) {
          const f = bp(a);
          if (f) {
            const y = bp(r);
            if (y && cpe(y, f) && y.type && f.type) {
              l(y.type, f.type);
              return;
            }
          }
          const d = Ba(a);
          C1(d) && l(Ba(r), d);
        }
        function pI(r, a, l, f) {
          return Hpe(r.map($pe), a, l, f || Dpe);
        }
        function c8e(r, a = 0) {
          return r && Hpe(hr(r.inferences, l8e), r.signature, r.flags | a, r.compareTypes);
        }
        function Hpe(r, a, l, f) {
          const d = {
            inferences: r,
            signature: a,
            flags: l,
            compareTypes: f,
            mapper: To,
            // initialize to a noop mapper so the context object is available, but the underlying object shape is right upon construction
            nonFixingMapper: To
          };
          return d.mapper = Wnt(d), d.nonFixingMapper = Unt(d), d;
        }
        function Wnt(r) {
          return Tpe(
            hr(r.inferences, (a) => a.typeParameter),
            hr(r.inferences, (a, l) => () => (a.isFixed || (Vnt(r), O$(r.inferences), a.isFixed = true), tde(r, l)))
          );
        }
        function Unt(r) {
          return Tpe(
            hr(r.inferences, (a) => a.typeParameter),
            hr(r.inferences, (a, l) => () => tde(r, l))
          );
        }
        function O$(r) {
          for (const a of r)
            a.isFixed || (a.inferredType = void 0);
        }
        function Gpe(r, a, l) {
          (r.intraExpressionInferenceSites ?? (r.intraExpressionInferenceSites = [])).push({ node: a, type: l });
        }
        function Vnt(r) {
          if (r.intraExpressionInferenceSites) {
            for (const { node: a, type: l } of r.intraExpressionInferenceSites) {
              const f = a.kind === 175 ? pAe(
                a,
                2
                /* NoConstraints */
              ) : f_(
                a,
                2
                /* NoConstraints */
              );
              f && sh(r.inferences, l, f);
            }
            r.intraExpressionInferenceSites = void 0;
          }
        }
        function $pe(r) {
          return {
            typeParameter: r,
            candidates: void 0,
            contraCandidates: void 0,
            inferredType: void 0,
            priority: void 0,
            topLevel: true,
            isFixed: false,
            impliedArity: void 0
          };
        }
        function l8e(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 qnt(r) {
          const a = kn(r.inferences, WE);
          return a.length ? Hpe(hr(a, l8e), r.signature, r.flags, r.compareTypes) : void 0;
        }
        function Xpe(r) {
          return r && r.mapper;
        }
        function C1(r) {
          const a = Dn(r);
          if (a & 524288)
            return !!(a & 1048576);
          const l = !!(r.flags & 465829888 || r.flags & 524288 && !u8e(r) && (a & 4 && (r.node || ot(wo(r), C1)) || a & 16 && r.symbol && r.symbol.flags & 14384 && r.symbol.declarations || a & 12583968) || r.flags & 3145728 && !(r.flags & 1024) && !u8e(r) && ot(r.types, C1));
          return r.flags & 3899393 && (r.objectFlags |= 524288 | (l ? 1048576 : 0)), l;
        }
        function u8e(r) {
          if (r.aliasSymbol && !r.aliasTypeArguments) {
            const a = Ao(
              r.aliasSymbol,
              266
              /* TypeAliasDeclaration */
            );
            return !!(a && dr(a.parent, (l) => l.kind === 308 ? true : l.kind === 268 ? false : "quit"));
          }
          return false;
        }
        function dI(r, a, l = 0) {
          return !!(r === a || r.flags & 3145728 && ot(r.types, (f) => dI(f, a, l)) || l < 3 && r.flags & 16777216 && (dI(S1(r), a, l + 1) || dI(T1(r), a, l + 1)));
        }
        function Hnt(r, a) {
          const l = bp(r);
          return l ? !!l.type && dI(l.type, a) : dI(Ba(r), a);
        }
        function Gnt(r) {
          const a = js();
          IT(r, (f) => {
            if (!(f.flags & 128))
              return;
            const d = Zo(f.value), y = ma(4, d);
            y.links.type = Le, f.symbol && (y.declarations = f.symbol.declarations, y.valueDeclaration = f.symbol.valueDeclaration), a.set(d, y);
          });
          const l = r.flags & 4 ? [rh(
            at,
            ea,
            /*isReadonly*/
            false
          )] : Ge;
          return Uo(
            /*symbol*/
            void 0,
            a,
            Ge,
            Ge,
            l
          );
        }
        function _8e(r, a, l) {
          const f = r.id + "," + a.id + "," + l.id;
          if (ru.has(f))
            return ru.get(f);
          const d = $nt(r, a, l);
          return ru.set(f, d), d;
        }
        function Qpe(r) {
          return !(Dn(r) & 262144) || ey(r) && ot(qa(r), (a) => Qpe(Yr(a))) || ba(r) && ot(D2(r), Qpe);
        }
        function $nt(r, a, l) {
          if (!(th(r, at) || qa(r).length !== 0 && Qpe(r)))
            return;
          if (Tp(r)) {
            const d = L$(wo(r)[0], a, l);
            return d ? yu(d, pP(r)) : void 0;
          }
          if (ba(r)) {
            const d = hr(D2(r), (x) => L$(x, a, l));
            if (!Ni(d, (x) => !!x))
              return;
            const y = _g(a) & 4 ? Gc(r.target.elementFlags, (x) => x & 2 ? 1 : x) : r.target.elementFlags;
            return pg(d, y, r.target.readonly, r.target.labeledElementDeclarations);
          }
          const f = Bc(
            1040,
            /*symbol*/
            void 0
          );
          return f.source = r, f.mappedType = a, f.constraintType = l, f;
        }
        function Xnt(r) {
          const a = Pn(r);
          return a.type || (a.type = L$(r.links.propertyType, r.links.mappedType, r.links.constraintType) || yt), a.type;
        }
        function Qnt(r, a, l) {
          const f = mf(l.type, hd(a)), d = eh(a), y = $pe(f);
          return sh([y], r, d), f8e(y) || yt;
        }
        function L$(r, a, l) {
          const f = r.id + "," + a.id + "," + l.id;
          if (Ld.has(f))
            return Ld.get(f) || yt;
          Dv.push(r), $S.push(a);
          const d = wv;
          Kk(r, Dv, Dv.length, 2) && (wv |= 1), Kk(a, $S, $S.length, 2) && (wv |= 2);
          let y;
          return wv !== 3 && (y = Qnt(r, a, l)), Dv.pop(), $S.pop(), wv = d, Ld.set(f, y), y;
        }
        function* Ype(r, a, l, f) {
          const d = qa(a);
          for (const y of d)
            if (!UPe(y) && (l || !(y.flags & 16777216 || oc(y) & 48))) {
              const x = Qs(r, y.escapedName);
              if (!x)
                yield y;
              else if (f) {
                const I = Yr(y);
                if (I.flags & 109472) {
                  const J = Yr(x);
                  J.flags & 1 || Yu(J) === Yu(I) || (yield y);
                }
              }
            }
        }
        function Zpe(r, a, l, f) {
          return $I(Ype(r, a, l, f));
        }
        function Ynt(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 Znt(r, a) {
          return ba(r) && ba(a) ? Ynt(r, a) : !!Zpe(
            r,
            a,
            /*requireOptionalProperties*/
            false,
            /*matchDiscriminantProperties*/
            true
          ) && !!Zpe(
            a,
            r,
            /*requireOptionalProperties*/
            false,
            /*matchDiscriminantProperties*/
            false
          );
        }
        function f8e(r) {
          return r.candidates ? Xn(
            r.candidates,
            2
            /* Subtype */
          ) : r.contraCandidates ? ia(r.contraCandidates) : void 0;
        }
        function Kpe(r) {
          return !!xn(r).skipDirectInference;
        }
        function p8e(r) {
          return !!(r.symbol && ot(r.symbol.declarations, Kpe));
        }
        function Knt(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 d8e(r, a) {
          if (r === "") return false;
          const l = +r;
          return isFinite(l) && (!a || "" + l === r);
        }
        function eit(r) {
          return uM(RJ(r));
        }
        function M$(r, a) {
          if (a.flags & 1)
            return true;
          if (a.flags & 134217732)
            return Ls(r, a);
          if (a.flags & 268435456) {
            const l = [];
            for (; a.flags & 268435456; )
              l.unshift(a.symbol), a = a.type;
            return ju(l, (d, y) => Xk(y, d), r) === r && M$(r, a);
          }
          return false;
        }
        function m8e(r, a) {
          if (a.flags & 2097152)
            return Ni(a.types, (l) => l === zs || m8e(r, l));
          if (a.flags & 4 || Ls(r, a))
            return true;
          if (r.flags & 128) {
            const l = r.value;
            return !!(a.flags & 8 && d8e(
              l,
              /*roundTripOnly*/
              false
            ) || a.flags & 64 && iF(
              l,
              /*roundTripOnly*/
              false
            ) || a.flags & 98816 && l === a.intrinsicName || a.flags & 268435456 && M$(r, a) || a.flags & 134217728 && R$(r, a));
          }
          if (r.flags & 134217728) {
            const l = r.texts;
            return l.length === 2 && l[0] === "" && l[1] === "" && Ls(r.types[0], a);
          }
          return false;
        }
        function g8e(r, a) {
          return r.flags & 128 ? h8e([r.value], Ge, a) : r.flags & 134217728 ? yf(r.texts, a.texts) ? hr(r.types, (l, f) => Ls(Fm(l), Fm(a.types[f])) ? l : tit(l)) : h8e(r.texts, r.types, a) : void 0;
        }
        function R$(r, a) {
          const l = g8e(r, a);
          return !!l && Ni(l, (f, d) => m8e(f, a.types[d]));
        }
        function tit(r) {
          return r.flags & 402653317 ? r : ST(["", ""], [r]);
        }
        function h8e(r, a, l) {
          const f = r.length - 1, d = r[0], y = r[f], x = l.texts, I = x.length - 1, J = x[0], z = x[I];
          if (f === 0 && d.length < J.length + z.length || !d.startsWith(J) || !y.endsWith(z)) return;
          const G = y.slice(0, y.length - z.length), ve = [];
          let de = 0, We = J.length;
          for (let jt = 1; jt < I; jt++) {
            const ar = x[jt];
            if (ar.length > 0) {
              let jr = de, Kr = We;
              for (; Kr = lt(jr).indexOf(ar, Kr), !(Kr >= 0); ) {
                if (jr++, jr === r.length) return;
                Kr = 0;
              }
              gt(jr, Kr), We += ar.length;
            } else if (We < lt(de).length)
              gt(de, We + 1);
            else if (de < f)
              gt(de + 1, 0);
            else
              return;
          }
          return gt(f, lt(f).length), ve;
          function lt(jt) {
            return jt < f ? r[jt] : G;
          }
          function gt(jt, ar) {
            const jr = jt === de ? W_(lt(jt).slice(We, ar)) : ST(
              [r[de].slice(We), ...r.slice(de + 1, jt), lt(jt).slice(0, ar)],
              a.slice(de, jt)
            );
            ve.push(jr), de = jt, We = ar;
          }
        }
        function sh(r, a, l, f = 0, d = false) {
          let y = false, x, I = 2048, J, z, G, ve = 0;
          de(a, l);
          function de(Dr, Br) {
            if (!(!C1(Br) || NE(Br))) {
              if (Dr === pt || Dr === Ct) {
                const xi = x;
                x = Dr, de(Br, Br), x = xi;
                return;
              }
              if (Dr.aliasSymbol && Dr.aliasSymbol === Br.aliasSymbol) {
                if (Dr.aliasTypeArguments) {
                  const xi = Pn(Dr.aliasSymbol).typeParameters, en = fg(xi), ls = Q0(Dr.aliasTypeArguments, xi, en, an(Dr.aliasSymbol.valueDeclaration)), Va = Q0(Br.aliasTypeArguments, xi, en, an(Dr.aliasSymbol.valueDeclaration));
                  jr(ls, Va, HNe(Dr.aliasSymbol));
                }
                return;
              }
              if (Dr === Br && Dr.flags & 3145728) {
                for (const xi of Dr.types)
                  de(xi, xi);
                return;
              }
              if (Br.flags & 1048576) {
                const [xi, en] = ar(Dr.flags & 1048576 ? Dr.types : [Dr], Br.types, rit), [ls, Va] = ar(xi, en, nit);
                if (Va.length === 0)
                  return;
                if (Br = Xn(Va), ls.length === 0) {
                  We(
                    Dr,
                    Br,
                    1
                    /* NakedTypeVariable */
                  );
                  return;
                }
                Dr = Xn(ls);
              } else if (Br.flags & 2097152 && !Ni(Br.types, _$) && !(Dr.flags & 1048576)) {
                const [xi, en] = ar(Dr.flags & 2097152 ? Dr.types : [Dr], Br.types, ih);
                if (xi.length === 0 || en.length === 0)
                  return;
                Dr = ia(xi), Br = ia(en);
              }
              if (Br.flags & 41943040) {
                if (NE(Br))
                  return;
                Br = $h(Br);
              }
              if (Br.flags & 8650752) {
                if (p8e(Dr))
                  return;
                const xi = ir(Br);
                if (xi) {
                  if (Dn(Dr) & 262144 || Dr === rn)
                    return;
                  if (!xi.isFixed) {
                    const ls = x || Dr;
                    if (ls === Ct)
                      return;
                    (xi.priority === void 0 || f < xi.priority) && (xi.candidates = void 0, xi.contraCandidates = void 0, xi.topLevel = true, xi.priority = f), f === xi.priority && (d && !y ? ds(xi.contraCandidates, ls) || (xi.contraCandidates = Er(xi.contraCandidates, ls), O$(r)) : ds(xi.candidates, ls) || (xi.candidates = Er(xi.candidates, ls), O$(r))), !(f & 128) && Br.flags & 262144 && xi.topLevel && !dI(l, Br) && (xi.topLevel = false, O$(r));
                  }
                  I = Math.min(I, f);
                  return;
                }
                const en = Gh(
                  Br,
                  /*writing*/
                  false
                );
                if (en !== Br)
                  de(Dr, en);
                else if (Br.flags & 8388608) {
                  const ls = Gh(
                    Br.indexType,
                    /*writing*/
                    false
                  );
                  if (ls.flags & 465829888) {
                    const Va = dNe(
                      Gh(
                        Br.objectType,
                        /*writing*/
                        false
                      ),
                      ls,
                      /*writing*/
                      false
                    );
                    Va && Va !== Br && de(Dr, Va);
                  }
                }
              }
              if (Dn(Dr) & 4 && Dn(Br) & 4 && (Dr.target === Br.target || Tp(Dr) && Tp(Br)) && !(Dr.node && Br.node))
                jr(wo(Dr), wo(Br), Lpe(Dr.target));
              else if (Dr.flags & 4194304 && Br.flags & 4194304)
                Kr(Dr.type, Br.type);
              else if ((lI(Dr) || Dr.flags & 4) && Br.flags & 4194304) {
                const xi = Gnt(Dr);
                lt(
                  xi,
                  Br.type,
                  256
                  /* LiteralKeyof */
                );
              } else if (Dr.flags & 8388608 && Br.flags & 8388608)
                de(Dr.objectType, Br.objectType), de(Dr.indexType, Br.indexType);
              else if (Dr.flags & 268435456 && Br.flags & 268435456)
                Dr.symbol === Br.symbol && de(Dr.type, Br.type);
              else if (Dr.flags & 33554432)
                de(Dr.baseType, Br), We(
                  Xfe(Dr),
                  Br,
                  4
                  /* SubstituteSource */
                );
              else if (Br.flags & 16777216)
                jt(Dr, Br, zn);
              else if (Br.flags & 3145728)
                Qn(Dr, Br.types, Br.flags);
              else if (Dr.flags & 1048576) {
                const xi = Dr.types;
                for (const en of xi)
                  de(en, Br);
              } else if (Br.flags & 134217728)
                bi(Dr, Br);
              else {
                if (Dr = Yp(Dr), A_(Dr) && A_(Br) && jt(Dr, Br, xs), !(f & 512 && Dr.flags & 467927040)) {
                  const xi = Qu(Dr);
                  if (xi !== Dr && !(xi.flags & 2621440))
                    return de(xi, Br);
                  Dr = xi;
                }
                Dr.flags & 2621440 && jt(Dr, Br, Ja);
              }
            }
          }
          function We(Dr, Br, xi) {
            const en = f;
            f |= xi, de(Dr, Br), f = en;
          }
          function lt(Dr, Br, xi) {
            const en = f;
            f |= xi, Kr(Dr, Br), f = en;
          }
          function gt(Dr, Br, xi, en) {
            const ls = f;
            f |= en, Qn(Dr, Br, xi), f = ls;
          }
          function jt(Dr, Br, xi) {
            const en = Dr.id + "," + Br.id, ls = J && J.get(en);
            if (ls !== void 0) {
              I = Math.min(I, ls);
              return;
            }
            (J || (J = /* @__PURE__ */ new Map())).set(
              en,
              -1
              /* Circularity */
            );
            const Va = I;
            I = 2048;
            const Po = ve;
            (z ?? (z = [])).push(Dr), (G ?? (G = [])).push(Br), Kk(Dr, z, z.length, 2) && (ve |= 1), Kk(Br, G, G.length, 2) && (ve |= 2), ve !== 3 ? xi(Dr, Br) : I = -1, G.pop(), z.pop(), ve = Po, J.set(en, I), I = Math.min(I, Va);
          }
          function ar(Dr, Br, xi) {
            let en, ls;
            for (const Va of Br)
              for (const Po of Dr)
                xi(Po, Va) && (de(Po, Va), en = lh(en, Po), ls = lh(ls, Va));
            return [
              en ? kn(Dr, (Va) => !ds(en, Va)) : Dr,
              ls ? kn(Br, (Va) => !ds(ls, Va)) : Br
            ];
          }
          function jr(Dr, Br, xi) {
            const en = Dr.length < Br.length ? Dr.length : Br.length;
            for (let ls = 0; ls < en; ls++)
              ls < xi.length && (xi[ls] & 7) === 2 ? Kr(Dr[ls], Br[ls]) : de(Dr[ls], Br[ls]);
          }
          function Kr(Dr, Br) {
            d = !d, de(Dr, Br), d = !d;
          }
          function or(Dr, Br) {
            V || f & 1024 ? Kr(Dr, Br) : de(Dr, Br);
          }
          function ir(Dr) {
            if (Dr.flags & 8650752) {
              for (const Br of r)
                if (Dr === Br.typeParameter)
                  return Br;
            }
          }
          function nn(Dr) {
            let Br;
            for (const xi of Dr) {
              const en = xi.flags & 2097152 && Nn(xi.types, (ls) => !!ir(ls));
              if (!en || Br && en !== Br)
                return;
              Br = en;
            }
            return Br;
          }
          function Qn(Dr, Br, xi) {
            let en = 0;
            if (xi & 1048576) {
              let ls;
              const Va = Dr.flags & 1048576 ? Dr.types : [Dr], Po = new Array(Va.length);
              let Ml = false;
              for (const Sa of Br)
                if (ir(Sa))
                  ls = Sa, en++;
                else
                  for (let Ac = 0; Ac < Va.length; Ac++) {
                    const Jc = I;
                    I = 2048, de(Va[Ac], Sa), I === f && (Po[Ac] = true), Ml = Ml || I === -1, I = Math.min(I, Jc);
                  }
              if (en === 0) {
                const Sa = nn(Br);
                Sa && We(
                  Dr,
                  Sa,
                  1
                  /* NakedTypeVariable */
                );
                return;
              }
              if (en === 1 && !Ml) {
                const Sa = xa(Va, (Ac, Jc) => Po[Jc] ? void 0 : Ac);
                if (Sa.length) {
                  de(Xn(Sa), ls);
                  return;
                }
              }
            } else
              for (const ls of Br)
                ir(ls) ? en++ : de(Dr, ls);
            if (xi & 2097152 ? en === 1 : en > 0)
              for (const ls of Br)
                ir(ls) && We(
                  Dr,
                  ls,
                  1
                  /* NakedTypeVariable */
                );
          }
          function Ri(Dr, Br, xi) {
            if (xi.flags & 1048576 || xi.flags & 2097152) {
              let en = false;
              for (const ls of xi.types)
                en = Ri(Dr, Br, ls) || en;
              return en;
            }
            if (xi.flags & 4194304) {
              const en = ir(xi.type);
              if (en && !en.isFixed && !p8e(Dr)) {
                const ls = _8e(Dr, Br, xi);
                ls && We(
                  ls,
                  en.typeParameter,
                  Dn(Dr) & 262144 ? 16 : 8
                  /* HomomorphicMappedType */
                );
              }
              return true;
            }
            if (xi.flags & 262144) {
              We(
                Om(
                  Dr,
                  /*indexFlags*/
                  Dr.pattern ? 2 : 0
                  /* None */
                ),
                xi,
                32
                /* MappedTypeConstraint */
              );
              const en = hT(xi);
              if (en && Ri(Dr, Br, en))
                return true;
              const ls = hr(qa(Dr), Yr), Va = hr(hu(Dr), (Po) => Po !== Li ? Po.type : nr);
              return de(Xn(Bi(ls, Va)), eh(Br)), true;
            }
            return false;
          }
          function zn(Dr, Br) {
            if (Dr.flags & 16777216)
              de(Dr.checkType, Br.checkType), de(Dr.extendsType, Br.extendsType), de(S1(Dr), S1(Br)), de(T1(Dr), T1(Br));
            else {
              const xi = [S1(Br), T1(Br)];
              gt(Dr, xi, Br.flags, d ? 64 : 0);
            }
          }
          function bi(Dr, Br) {
            const xi = g8e(Dr, Br), en = Br.types;
            if (xi || Ni(Br.texts, (ls) => ls.length === 0))
              for (let ls = 0; ls < en.length; ls++) {
                const Va = xi ? xi[ls] : nr, Po = en[ls];
                if (Va.flags & 128 && Po.flags & 8650752) {
                  const Ml = ir(Po), Sa = Ml ? nu(Ml.typeParameter) : void 0;
                  if (Sa && !gn(Sa)) {
                    const Ac = Sa.flags & 1048576 ? Sa.types : [Sa];
                    let Jc = ju(Ac, (Ha, Gf) => Ha | Gf.flags, 0);
                    if (!(Jc & 4)) {
                      const Ha = Va.value;
                      Jc & 296 && !d8e(
                        Ha,
                        /*roundTripOnly*/
                        true
                      ) && (Jc &= -297), Jc & 2112 && !iF(
                        Ha,
                        /*roundTripOnly*/
                        true
                      ) && (Jc &= -2113);
                      const Gf = ju(Ac, (qo, Cc) => Cc.flags & Jc ? qo.flags & 4 ? qo : Cc.flags & 4 ? Va : qo.flags & 134217728 ? qo : Cc.flags & 134217728 && R$(Va, Cc) ? Va : qo.flags & 268435456 ? qo : Cc.flags & 268435456 && Ha === uNe(Cc.symbol, Ha) ? Va : qo.flags & 128 ? qo : Cc.flags & 128 && Cc.value === Ha ? Cc : qo.flags & 8 ? qo : Cc.flags & 8 ? qd(+Ha) : qo.flags & 32 ? qo : Cc.flags & 32 ? qd(+Ha) : qo.flags & 256 ? qo : Cc.flags & 256 && Cc.value === +Ha ? Cc : qo.flags & 64 ? qo : Cc.flags & 64 ? eit(Ha) : qo.flags & 2048 ? qo : Cc.flags & 2048 && Rb(Cc.value) === Ha ? Cc : qo.flags & 16 ? qo : Cc.flags & 16 ? Ha === "true" ? rt : Ha === "false" ? Rr : Nt : qo.flags & 512 ? qo : Cc.flags & 512 && Cc.intrinsicName === Ha ? Cc : qo.flags & 32768 ? qo : Cc.flags & 32768 && Cc.intrinsicName === Ha ? Cc : qo.flags & 65536 ? qo : Cc.flags & 65536 && Cc.intrinsicName === Ha ? Cc : qo : qo, nr);
                      if (!(Gf.flags & 131072)) {
                        de(Gf, Po);
                        continue;
                      }
                    }
                  }
                }
                de(Va, Po);
              }
          }
          function xs(Dr, Br) {
            de(Vf(Dr), Vf(Br)), de(eh(Dr), eh(Br));
            const xi = $0(Dr), en = $0(Br);
            xi && en && de(xi, en);
          }
          function Ja(Dr, Br) {
            var xi, en;
            if (Dn(Dr) & 4 && Dn(Br) & 4 && (Dr.target === Br.target || Tp(Dr) && Tp(Br))) {
              jr(wo(Dr), wo(Br), Lpe(Dr.target));
              return;
            }
            if (A_(Dr) && A_(Br) && xs(Dr, Br), Dn(Br) & 32 && !Br.declaration.nameType) {
              const ls = Vf(Br);
              if (Ri(Dr, Br, ls))
                return;
            }
            if (!Znt(Dr, Br)) {
              if (tb(Dr)) {
                if (ba(Br)) {
                  const ls = Y0(Dr), Va = Y0(Br), Po = wo(Br), Ml = Br.target.elementFlags;
                  if (ba(Dr) && Ant(Dr, Br)) {
                    for (let Jc = 0; Jc < Va; Jc++)
                      de(wo(Dr)[Jc], Po[Jc]);
                    return;
                  }
                  const Sa = ba(Dr) ? Math.min(Dr.target.fixedLength, Br.target.fixedLength) : 0, Ac = Math.min(ba(Dr) ? eI(
                    Dr.target,
                    3
                    /* Fixed */
                  ) : 0, Br.target.combinedFlags & 12 ? eI(
                    Br.target,
                    3
                    /* Fixed */
                  ) : 0);
                  for (let Jc = 0; Jc < Sa; Jc++)
                    de(wo(Dr)[Jc], Po[Jc]);
                  if (!ba(Dr) || ls - Sa - Ac === 1 && Dr.target.elementFlags[Sa] & 4) {
                    const Jc = wo(Dr)[Sa];
                    for (let Ha = Sa; Ha < Va - Ac; Ha++)
                      de(Ml[Ha] & 8 ? yu(Jc) : Jc, Po[Ha]);
                  } else {
                    const Jc = Va - Sa - Ac;
                    if (Jc === 2) {
                      if (Ml[Sa] & Ml[Sa + 1] & 8) {
                        const Ha = ir(Po[Sa]);
                        Ha && Ha.impliedArity !== void 0 && (de(_P(Dr, Sa, Ac + ls - Ha.impliedArity), Po[Sa]), de(_P(Dr, Sa + Ha.impliedArity, Ac), Po[Sa + 1]));
                      } else if (Ml[Sa] & 8 && Ml[Sa + 1] & 4) {
                        const Ha = (xi = ir(Po[Sa])) == null ? void 0 : xi.typeParameter, Gf = Ha && nu(Ha);
                        if (Gf && ba(Gf) && !(Gf.target.combinedFlags & 12)) {
                          const qo = Gf.target.fixedLength;
                          de(_P(Dr, Sa, ls - (Sa + qo)), Po[Sa]), de(mP(Dr, Sa + qo, Ac), Po[Sa + 1]);
                        }
                      } else if (Ml[Sa] & 4 && Ml[Sa + 1] & 8) {
                        const Ha = (en = ir(Po[Sa + 1])) == null ? void 0 : en.typeParameter, Gf = Ha && nu(Ha);
                        if (Gf && ba(Gf) && !(Gf.target.combinedFlags & 12)) {
                          const qo = Gf.target.fixedLength, Cc = ls - eI(
                            Br.target,
                            3
                            /* Fixed */
                          ), Ep = Cc - qo, PP = pg(
                            wo(Dr).slice(Ep, Cc),
                            Dr.target.elementFlags.slice(Ep, Cc),
                            /*readonly*/
                            false,
                            Dr.target.labeledElementDeclarations && Dr.target.labeledElementDeclarations.slice(Ep, Cc)
                          );
                          de(mP(Dr, Sa, Ac + qo), Po[Sa]), de(PP, Po[Sa + 1]);
                        }
                      }
                    } else if (Jc === 1 && Ml[Sa] & 8) {
                      const Ha = Br.target.elementFlags[Va - 1] & 2, Gf = _P(Dr, Sa, Ac);
                      We(Gf, Po[Sa], Ha ? 2 : 0);
                    } else if (Jc === 1 && Ml[Sa] & 4) {
                      const Ha = mP(Dr, Sa, Ac);
                      Ha && de(Ha, Po[Sa]);
                    }
                  }
                  for (let Jc = 0; Jc < Ac; Jc++)
                    de(wo(Dr)[ls - Jc - 1], Po[Va - Jc - 1]);
                  return;
                }
                if (Tp(Br)) {
                  Lu(Dr, Br);
                  return;
                }
              }
              Vi(Dr, Br), Lo(
                Dr,
                Br,
                0
                /* Call */
              ), Lo(
                Dr,
                Br,
                1
                /* Construct */
              ), Lu(Dr, Br);
            }
          }
          function Vi(Dr, Br) {
            const xi = X0(Br);
            for (const en of xi) {
              const ls = Qs(Dr, en.escapedName);
              ls && !ot(ls.declarations, Kpe) && de(
                Kh(Yr(ls), !!(ls.flags & 16777216)),
                Kh(Yr(en), !!(en.flags & 16777216))
              );
            }
          }
          function Lo(Dr, Br, xi) {
            const en = As(Dr, xi), ls = en.length;
            if (ls > 0) {
              const Va = As(Br, xi), Po = Va.length;
              for (let Ml = 0; Ml < Po; Ml++) {
                const Sa = Math.max(ls - Po + Ml, 0);
                yc(stt(en[Sa]), KA(Va[Ml]));
              }
            }
          }
          function yc(Dr, Br) {
            if (!(Dr.flags & 64)) {
              const xi = y, en = Br.declaration ? Br.declaration.kind : 0;
              y = y || en === 175 || en === 174 || en === 177, Vpe(Dr, Br, or), y = xi;
            }
            qpe(Dr, Br, de);
          }
          function Lu(Dr, Br) {
            const xi = Dn(Dr) & Dn(Br) & 32 ? 8 : 0, en = hu(Br);
            if (A$(Dr))
              for (const ls of en) {
                const Va = [];
                for (const Po of qa(Dr))
                  if (Hk($k(
                    Po,
                    8576
                    /* StringOrNumberLiteralOrUnique */
                  ), ls.keyType)) {
                    const Ml = Yr(Po);
                    Va.push(Po.flags & 16777216 ? N$(Ml) : Ml);
                  }
                for (const Po of hu(Dr))
                  Hk(Po.keyType, ls.keyType) && Va.push(Po.type);
                Va.length && We(Xn(Va), ls.type, xi);
              }
            for (const ls of en) {
              const Va = XA(Dr, ls.keyType);
              Va && We(Va.type, ls.type, xi);
            }
          }
        }
        function rit(r, a) {
          return a === ye ? r === a : ih(r, a) || !!(a.flags & 4 && r.flags & 128 || a.flags & 8 && r.flags & 256);
        }
        function nit(r, a) {
          return !!(r.flags & 524288 && a.flags & 524288 && r.symbol && r.symbol === a.symbol || r.aliasSymbol && r.aliasTypeArguments && r.aliasSymbol === a.aliasSymbol);
        }
        function iit(r) {
          const a = __(r);
          return !!a && kc(
            a.flags & 16777216 ? Ffe(a) : a,
            406978556
            /* StringMapping */
          );
        }
        function ey(r) {
          return !!(Dn(r) & 128);
        }
        function ede(r) {
          return !!(Dn(r) & 16512);
        }
        function sit(r) {
          if (r.length > 1) {
            const a = kn(r, ede);
            if (a.length) {
              const l = Xn(
                a,
                2
                /* Subtype */
              );
              return Bi(kn(r, (f) => !ede(f)), [l]);
            }
          }
          return r;
        }
        function ait(r) {
          return r.priority & 416 ? ia(r.contraCandidates) : knt(r.contraCandidates);
        }
        function oit(r, a) {
          const l = sit(r.candidates), f = iit(r.typeParameter) || yT(r.typeParameter), d = !f && r.topLevel && (r.isFixed || !Hnt(a, r.typeParameter)), y = f ? Gc(l, Yu) : d ? Gc(l, rb) : l, x = r.priority & 416 ? Xn(
            y,
            2
            /* Subtype */
          ) : Tnt(y);
          return hf(x);
        }
        function tde(r, a) {
          const l = r.inferences[a];
          if (!l.inferredType) {
            let f, d;
            if (r.signature) {
              const x = l.candidates ? oit(l, r.signature) : void 0, I = l.contraCandidates ? ait(l) : void 0;
              if (x || I) {
                const J = x && (!I || !(x.flags & 131073) && ot(l.contraCandidates, (z) => Ls(x, z)) && Ni(r.inferences, (z) => z !== l && __(z.typeParameter) !== l.typeParameter || Ni(z.candidates, (G) => Ls(G, x))));
                f = J ? x : I, d = J ? I : x;
              } else if (r.flags & 1)
                f = kt;
              else {
                const J = C2(l.typeParameter);
                J && (f = Mi(J, PNe(Ort(r, a), r.nonFixingMapper)));
              }
            } else
              f = f8e(l);
            l.inferredType = f || rde(!!(r.flags & 2));
            const y = __(l.typeParameter);
            if (y) {
              const x = Mi(y, r.nonFixingMapper);
              (!f || !r.compareTypes(f, df(x, f))) && (l.inferredType = d && r.compareTypes(d, df(x, d)) ? d : x);
            }
            wst();
          }
          return l.inferredType;
        }
        function rde(r) {
          return r ? Le : yt;
        }
        function nde(r) {
          const a = [];
          for (let l = 0; l < r.inferences.length; l++)
            a.push(tde(r, l));
          return a;
        }
        function y8e(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 (ws(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 === 305 ? p.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer : p.Cannot_find_name_0;
          }
        }
        function Ou(r) {
          const a = xn(r);
          return a.resolvedSymbol || (a.resolvedSymbol = !ac(r) && st(
            r,
            r,
            1160127,
            y8e(r),
            !M5(r),
            /*excludeGlobals*/
            false
          ) || Y), a.resolvedSymbol;
        }
        function ide(r) {
          return !!(r.flags & 33554432 || dr(r, (a) => Jl(a) || jp(a) || r_(a)));
        }
        function xM(r, a, l, f) {
          switch (r.kind) {
            case 80:
              if (!Ib(r)) {
                const x = Ou(r);
                return x !== Y ? `${f ? Oa(f) : "-1"}|${Ol(a)}|${Ol(l)}|${$s(x)}` : void 0;
              }
            // falls through
            case 110:
              return `0|${f ? Oa(f) : "-1"}|${Ol(a)}|${Ol(l)}`;
            case 236:
            case 218:
              return xM(r.expression, a, l, f);
            case 167:
              const d = xM(r.left, a, l, f);
              return d && `${d}.${r.right.escapedText}`;
            case 212:
            case 213:
              const y = PT(r);
              if (y !== void 0) {
                const x = xM(r.expression, a, l, f);
                return x && `${x}.${y}`;
              }
              if (oo(r) && Me(r.argumentExpression)) {
                const x = Ou(r.argumentExpression);
                if (eC(x) || hI(x) && !gI(x)) {
                  const I = xM(r.expression, a, l, f);
                  return I && `${I}.@${$s(x)}`;
                }
              }
              break;
            case 207:
            case 208:
            case 263:
            case 219:
            case 220:
            case 175:
              return `${Oa(r)}#${Ol(a)}`;
          }
        }
        function Gl(r, a) {
          switch (a.kind) {
            case 218:
            case 236:
              return Gl(r, a.expression);
            case 227:
              return El(a) && Gl(r, a.left) || _n(a) && a.operatorToken.kind === 28 && Gl(r, a.right);
          }
          switch (r.kind) {
            case 237:
              return a.kind === 237 && r.keywordToken === a.keywordToken && r.name.escapedText === a.name.escapedText;
            case 80:
            case 81:
              return Ib(r) ? a.kind === 110 : a.kind === 80 && Ou(r) === Ou(a) || (ei(a) || ha(a)) && _t(Ou(r)) === yn(a);
            case 110:
              return a.kind === 110;
            case 108:
              return a.kind === 108;
            case 236:
            case 218:
            case 239:
              return Gl(r.expression, a);
            case 212:
            case 213:
              const l = PT(r);
              if (l !== void 0) {
                const f = vo(a) ? PT(a) : void 0;
                if (f !== void 0)
                  return f === l && Gl(r.expression, a.expression);
              }
              if (oo(r) && oo(a) && Me(r.argumentExpression) && Me(a.argumentExpression)) {
                const f = Ou(r.argumentExpression);
                if (f === Ou(a.argumentExpression) && (eC(f) || hI(f) && !gI(f)))
                  return Gl(r.expression, a.expression);
              }
              break;
            case 167:
              return vo(a) && r.right.escapedText === PT(a) && Gl(r.left, a.expression);
            case 227:
              return _n(r) && r.operatorToken.kind === 28 && Gl(r.right, a);
          }
          return false;
        }
        function PT(r) {
          if (wn(r))
            return r.name.escapedText;
          if (oo(r))
            return cit(r);
          if (ha(r)) {
            const a = V0(r);
            return a ? Zo(a) : void 0;
          }
          if (Ii(r))
            return "" + r.parent.parameters.indexOf(r);
        }
        function sde(r) {
          return r.flags & 8192 ? r.escapedName : r.flags & 384 ? Zo("" + r.value) : void 0;
        }
        function cit(r) {
          return wf(r.argumentExpression) ? Zo(r.argumentExpression.text) : Za(r.argumentExpression) ? lit(r.argumentExpression) : void 0;
        }
        function lit(r) {
          const a = _c2(
            r,
            111551,
            /*ignoreErrors*/
            true
          );
          if (!a || !(eC(a) || a.flags & 8)) return;
          const l = a.valueDeclaration;
          if (l === void 0) return;
          const f = y1(l);
          if (f) {
            const d = sde(f);
            if (d !== void 0)
              return d;
          }
          if (Y2(l) && Jh(l, r)) {
            const d = L3(l);
            if (d) {
              const y = Ds(l.parent) ? Yg(l) : su(d);
              return y && sde(y);
            }
            if (kh(l))
              return ox(l.name);
          }
        }
        function v8e(r, a) {
          for (; vo(r); )
            if (r = r.expression, Gl(r, a))
              return true;
          return false;
        }
        function NT(r, a) {
          for (; Tu(r); )
            if (r = r.expression, Gl(r, a))
              return true;
          return false;
        }
        function gP(r, a) {
          if (r && r.flags & 1048576) {
            const l = f3e(r, a);
            if (l && oc(l) & 2)
              return l.links.isDiscriminantProperty === void 0 && (l.links.isDiscriminantProperty = (l.links.checkFlags & 192) === 192 && !Zv(Yr(l))), !!l.links.isDiscriminantProperty;
          }
          return false;
        }
        function b8e(r, a) {
          let l;
          for (const f of r)
            if (gP(a, f.escapedName)) {
              if (l) {
                l.push(f);
                continue;
              }
              l = [f];
            }
          return l;
        }
        function uit(r, a) {
          const l = /* @__PURE__ */ new Map();
          let f = 0;
          for (const d of r)
            if (d.flags & 61603840) {
              const y = rr(d, a);
              if (y) {
                if (!lI(y))
                  return;
                let x = false;
                IT(y, (I) => {
                  const J = Ol(Yu(I)), z = l.get(J);
                  z ? z !== yt && (l.set(J, yt), x = true) : l.set(J, d);
                }), x || f++;
              }
            }
          return f >= 10 && f * 2 >= r.length ? l : void 0;
        }
        function kM(r) {
          const a = r.types;
          if (!(a.length < 10 || Dn(r) & 32768 || i0(a, (l) => !!(l.flags & 59506688)) < 10)) {
            if (r.keyPropertyName === void 0) {
              const l = lr(a, (d) => d.flags & 59506688 ? lr(qa(d), (y) => Hd(Yr(y)) ? y.escapedName : void 0) : void 0), f = l && uit(a, l);
              r.keyPropertyName = f ? l : "", r.constituentMap = f;
            }
            return r.keyPropertyName.length ? r.keyPropertyName : void 0;
          }
        }
        function CM(r, a) {
          var l;
          const f = (l = r.constituentMap) == null ? void 0 : l.get(Ol(Yu(a)));
          return f !== yt ? f : void 0;
        }
        function S8e(r, a) {
          const l = kM(r), f = l && rr(a, l);
          return f && CM(r, f);
        }
        function _it(r, a) {
          const l = kM(r), f = l && Nn(a.properties, (y) => y.symbol && y.kind === 304 && y.symbol.escapedName === l && OM(y.initializer)), d = f && eR(f.initializer);
          return d && CM(r, d);
        }
        function T8e(r, a) {
          return Gl(r, a) || v8e(r, a);
        }
        function x8e(r, a) {
          if (r.arguments) {
            for (const l of r.arguments)
              if (T8e(a, l) || NT(l, a))
                return true;
          }
          return !!(r.expression.kind === 212 && T8e(a, r.expression.expression));
        }
        function ade(r) {
          return r.id <= 0 && (r.id = M1e, M1e++), r.id;
        }
        function fit(r, a) {
          if (!(r.flags & 1048576))
            return Ls(r, a);
          for (const l of r.types)
            if (Ls(l, a))
              return true;
          return false;
        }
        function pit(r, a) {
          if (r === a)
            return r;
          if (a.flags & 131072)
            return a;
          const l = `A${Ol(r)},${Ol(a)}`;
          return c_(l) ?? Gp(l, dit(r, a));
        }
        function dit(r, a) {
          const l = Hc(r, (d) => fit(a, d)), f = a.flags & 512 && P2(a) ? Vo(l, Yk) : l;
          return Ls(a, f) ? f : r;
        }
        function ode(r) {
          if (Dn(r) & 256)
            return false;
          const a = Vd(r);
          return !!(a.callSignatures.length || a.constructSignatures.length || a.members.get("bind") && A2(r, Mr));
        }
        function OE(r, a) {
          return cde(r, a) & a;
        }
        function Gd2(r, a) {
          return OE(r, a) !== 0;
        }
        function cde(r, a) {
          r.flags & 467927040 && (r = nu(r) || yt);
          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 = n8e(r);
            return K ? f ? 12122884 : 7928580 : f ? 12581636 : 16775940;
          }
          return l & 16 ? K ? 16316168 : 16774920 : l & 528 ? K ? r === Rr || r === Pr ? 12121864 : 7927560 : r === Rr || r === Pr ? 12580616 : 16774920 : l & 524288 ? (a & (K ? 83427327 : 83886079)) === 0 ? 0 : Dn(r) & 16 && Qh(r) ? K ? 83427327 : 83886079 : ode(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 ? ju(
            r.types,
            (f, d) => f | cde(d, a),
            0
            /* None */
          ) : l & 2097152 ? mit(r, a) : 83886079;
        }
        function mit(r, a) {
          const l = kc(
            r,
            402784252
            /* Primitive */
          );
          let f = 0, d = 134217727;
          for (const y of r.types)
            if (!(l && y.flags & 524288)) {
              const x = cde(y, a);
              f |= x, d &= x;
            }
          return f & 8256 | d & 134209471;
        }
        function xp(r, a) {
          return Hc(r, (l) => Gd2(l, a));
        }
        function AT(r, a) {
          const l = lde(xp(K && r.flags & 2 ? ya : r, a));
          if (K)
            switch (a) {
              case 524288:
                return k8e(l, 65536, 131072, 33554432, Mt);
              case 1048576:
                return k8e(l, 131072, 65536, 16777216, ue);
              case 2097152:
              case 4194304:
                return Vo(l, (f) => Gd2(
                  f,
                  262144
                  /* EQUndefinedOrNull */
                ) ? Ont(f) : f);
            }
          return l;
        }
        function k8e(r, a, l, f, d) {
          const y = OE(
            r,
            50528256
            /* IsNull */
          );
          if (!(y & a))
            return r;
          const x = Xn([ea, d]);
          return Vo(r, (I) => Gd2(I, a) ? ia([I, !(y & f) && Gd2(I, l) ? x : ea]) : I);
        }
        function lde(r) {
          return r === ya ? yt : r;
        }
        function ude(r, a) {
          return a ? Xn([Qa(r), su(a)]) : r;
        }
        function C8e(r, a) {
          var l;
          const f = Hh(a);
          if (!op(f)) return qe;
          const d = cp(f);
          return rr(r, d) || mI((l = Gk(r, d)) == null ? void 0 : l.type) || qe;
        }
        function E8e(r, a) {
          return U_(r, dP) && Cnt(r, a) || mI(ty(
            65,
            r,
            ue,
            /*errorNode*/
            void 0
          )) || qe;
        }
        function mI(r) {
          return r && (F.noUncheckedIndexedAccess ? Xn([r, ye]) : r);
        }
        function D8e(r) {
          return yu(ty(
            65,
            r,
            ue,
            /*errorNode*/
            void 0
          ) || qe);
        }
        function git(r) {
          return r.parent.kind === 210 && _de(r.parent) || r.parent.kind === 304 && _de(r.parent.parent) ? ude(EM(r), r.right) : su(r.right);
        }
        function _de(r) {
          return r.parent.kind === 227 && r.parent.left === r || r.parent.kind === 251 && r.parent.initializer === r;
        }
        function hit(r, a) {
          return E8e(EM(r), r.elements.indexOf(a));
        }
        function yit(r) {
          return D8e(EM(r.parent));
        }
        function w8e(r) {
          return C8e(EM(r.parent), r.name);
        }
        function vit(r) {
          return ude(w8e(r), r.objectAssignmentInitializer);
        }
        function EM(r) {
          const { parent: a } = r;
          switch (a.kind) {
            case 250:
              return at;
            case 251:
              return oR(a) || qe;
            case 227:
              return git(a);
            case 221:
              return ue;
            case 210:
              return hit(a, r);
            case 231:
              return yit(a);
            case 304:
              return w8e(a);
            case 305:
              return vit(a);
          }
          return qe;
        }
        function bit(r) {
          const a = r.parent, l = N8e(a.parent), f = a.kind === 207 ? C8e(l, r.propertyName || r.name) : r.dotDotDotToken ? D8e(l) : E8e(l, a.elements.indexOf(r));
          return ude(f, r.initializer);
        }
        function P8e(r) {
          return xn(r).resolvedType || su(r);
        }
        function Sit(r) {
          return r.initializer ? P8e(r.initializer) : r.parent.parent.kind === 250 ? at : r.parent.parent.kind === 251 && oR(r.parent.parent) || qe;
        }
        function N8e(r) {
          return r.kind === 261 ? Sit(r) : bit(r);
        }
        function Tit(r) {
          return r.kind === 261 && r.initializer && H0(r.initializer) || r.kind !== 209 && r.parent.kind === 227 && H0(r.parent.right);
        }
        function F2(r) {
          switch (r.kind) {
            case 218:
              return F2(r.expression);
            case 227:
              switch (r.operatorToken.kind) {
                case 64:
                case 76:
                case 77:
                case 78:
                  return F2(r.left);
                case 28:
                  return F2(r.right);
              }
          }
          return r;
        }
        function A8e(r) {
          const { parent: a } = r;
          return a.kind === 218 || a.kind === 227 && a.operatorToken.kind === 64 && a.left === r || a.kind === 227 && a.operatorToken.kind === 28 && a.right === r ? A8e(a) : r;
        }
        function xit(r) {
          return r.kind === 297 ? Yu(su(r.expression)) : nr;
        }
        function j$(r) {
          const a = xn(r);
          if (!a.switchTypes) {
            a.switchTypes = [];
            for (const l of r.caseBlock.clauses)
              a.switchTypes.push(xit(l));
          }
          return a.switchTypes;
        }
        function I8e(r) {
          if (ot(r.caseBlock.clauses, (l) => l.kind === 297 && !Ma(l.expression)))
            return;
          const a = [];
          for (const l of r.caseBlock.clauses) {
            const f = l.kind === 297 ? l.expression.text : void 0;
            a.push(f && !ds(a, f) ? f : void 0);
          }
          return a;
        }
        function kit(r, a) {
          return r.flags & 1048576 ? !lr(r.types, (l) => !ds(a, l)) : ds(a, r);
        }
        function hP(r, a) {
          return !!(r === a || r.flags & 131072 || a.flags & 1048576 && Cit(r, a));
        }
        function Cit(r, a) {
          if (r.flags & 1048576) {
            for (const l of r.types)
              if (!nh(a.types, l))
                return false;
            return true;
          }
          return r.flags & 1056 && HG(r) === a ? true : nh(a.types, r);
        }
        function IT(r, a) {
          return r.flags & 1048576 ? lr(r.types, a) : a(r);
        }
        function kp(r, a) {
          return r.flags & 1048576 ? ot(r.types, a) : a(r);
        }
        function U_(r, a) {
          return r.flags & 1048576 ? Ni(r.types, a) : a(r);
        }
        function Eit(r, a) {
          return r.flags & 3145728 ? Ni(r.types, a) : a(r);
        }
        function Hc(r, a) {
          if (r.flags & 1048576) {
            const l = r.types, f = kn(l, a);
            if (f === l)
              return r;
            const d = r.origin;
            let y;
            if (d && d.flags & 1048576) {
              const x = d.types, I = kn(x, (J) => !!(J.flags & 1048576) || a(J));
              if (x.length - I.length === l.length - f.length) {
                if (I.length === 1)
                  return I[0];
                y = ope(1048576, I);
              }
            }
            return lpe(
              f,
              r.objectFlags & 16809984,
              /*aliasSymbol*/
              void 0,
              /*aliasTypeArguments*/
              void 0,
              y
            );
          }
          return r.flags & 131072 || a(r) ? r : nr;
        }
        function B$(r, a) {
          return Hc(r, (l) => l !== a);
        }
        function Dit(r) {
          return r.flags & 1048576 ? r.types.length : 1;
        }
        function Vo(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 = false;
          for (const I of d) {
            const J = I.flags & 1048576 ? Vo(I, a, l) : a(I);
            x || (x = I !== J), J && (y ? y.push(J) : y = [J]);
          }
          return x ? y && Xn(
            y,
            l ? 0 : 1
            /* Literal */
          ) : r;
        }
        function F8e(r, a, l, f) {
          return r.flags & 1048576 && l ? Xn(hr(r.types, a), 1, l, f) : Vo(r, a);
        }
        function yP(r, a) {
          return Hc(r, (l) => (l.flags & a) !== 0);
        }
        function O8e(r, a) {
          return kc(
            r,
            134217804
            /* BigInt */
          ) && kc(
            a,
            402655616
            /* BigIntLiteral */
          ) ? Vo(r, (l) => l.flags & 4 ? yP(
            a,
            402653316
            /* StringMapping */
          ) : TT(l) && !kc(
            a,
            402653188
            /* StringMapping */
          ) ? yP(
            a,
            128
            /* StringLiteral */
          ) : l.flags & 8 ? yP(
            a,
            264
            /* NumberLiteral */
          ) : l.flags & 64 ? yP(
            a,
            2112
            /* BigIntLiteral */
          ) : l) : r;
        }
        function LE(r) {
          return r.flags === 0;
        }
        function FT(r) {
          return r.flags === 0 ? r.type : r;
        }
        function ME(r, a) {
          return a ? { flags: 0, type: r.flags & 131072 ? kt : r } : r;
        }
        function wit(r) {
          const a = Bc(
            256
            /* EvolvingArray */
          );
          return a.elementType = r, a;
        }
        function fde(r) {
          return Et[r.id] || (Et[r.id] = wit(r));
        }
        function L8e(r, a) {
          const l = fI(Yh(eR(a)));
          return hP(l, r.elementType) ? r : fde(Xn([r.elementType, l]));
        }
        function Pit(r) {
          return r.flags & 131072 ? Nl : yu(
            r.flags & 1048576 ? Xn(
              r.types,
              2
              /* Subtype */
            ) : r
          );
        }
        function Nit(r) {
          return r.finalArrayType || (r.finalArrayType = Pit(r.elementType));
        }
        function DM(r) {
          return Dn(r) & 256 ? Nit(r) : r;
        }
        function Ait(r) {
          return Dn(r) & 256 ? r.elementType : nr;
        }
        function Iit(r) {
          let a = false;
          for (const l of r)
            if (!(l.flags & 131072)) {
              if (!(Dn(l) & 256))
                return false;
              a = true;
            }
          return a;
        }
        function M8e(r) {
          const a = A8e(r), l = a.parent, f = wn(l) && (l.name.escapedText === "length" || l.parent.kind === 214 && Me(l.name) && BB(l.name)), d = l.kind === 213 && l.expression === a && l.parent.kind === 227 && l.parent.operatorToken.kind === 64 && l.parent.left === l && !Ny(l.parent) && iu(
            su(l.argumentExpression),
            296
            /* NumberLike */
          );
          return f || d;
        }
        function Fit(r) {
          return (ei(r) || as(r) || Vu(r) || Ii(r)) && !!(Qc(r) || an(r) && l0(r) && r.initializer && My(r.initializer) && K_(r.initializer));
        }
        function J$(r, a) {
          if (r = jc(r), r.flags & 8752)
            return Yr(r);
          if (r.flags & 7) {
            if (oc(r) & 262144) {
              const f = r.links.syntheticOrigin;
              if (f && J$(f))
                return Yr(r);
            }
            const l = r.valueDeclaration;
            if (l) {
              if (Fit(l))
                return Yr(r);
              if (ei(l) && l.parent.parent.kind === 251) {
                const f = l.parent.parent, d = wM(
                  f.expression,
                  /*diagnostic*/
                  void 0
                );
                if (d) {
                  const y = f.awaitModifier ? 15 : 13;
                  return ty(
                    y,
                    d,
                    ue,
                    /*errorNode*/
                    void 0
                  );
                }
              }
              a && Js(a, sn(l, p._0_needs_an_explicit_type_annotation, Wi(r)));
            }
          }
        }
        function wM(r, a) {
          if (!(r.flags & 67108864))
            switch (r.kind) {
              case 80:
                const l = _t(Ou(r));
                return J$(l, a);
              case 110:
                return est(r);
              case 108:
                return H$(r);
              case 212: {
                const f = wM(r.expression, a);
                if (f) {
                  const d = r.name;
                  let y;
                  if (Ai(d)) {
                    if (!f.symbol)
                      return;
                    y = Qs(f, X3(f.symbol, d.escapedText));
                  } else
                    y = Qs(f, d.escapedText);
                  return y && J$(y, a);
                }
                return;
              }
              case 218:
                return wM(r.expression, a);
            }
        }
        function PM(r) {
          const a = xn(r);
          let l = a.effectsSignature;
          if (l === void 0) {
            let f;
            if (_n(r)) {
              const x = jE(r.right);
              f = fme(x);
            } else r.parent.kind === 245 ? f = wM(
              r.expression,
              /*diagnostic*/
              void 0
            ) : r.expression.kind !== 108 && (Tu(r) ? f = Mm(
              uI(Hi(r.expression), r.expression),
              r.expression
            ) : f = jE(r.expression));
            const d = As(
              f && Qu(f) || yt,
              0
              /* Call */
            ), y = d.length === 1 && !d[0].typeParameters ? d[0] : ot(d, R8e) ? JE(r) : void 0;
            l = a.effectsSignature = y && R8e(y) ? y : Vn;
          }
          return l === Vn ? void 0 : l;
        }
        function R8e(r) {
          return !!(bp(r) || r.declaration && (DE(r.declaration) || yt).flags & 131072);
        }
        function Oit(r, a) {
          if (r.kind === 1 || r.kind === 3)
            return a.arguments[r.parameterIndex];
          const l = Ra(a.expression);
          return vo(l) ? Ra(l.expression) : void 0;
        }
        function Lit(r) {
          const a = dr(r, Wj), l = xr(r), f = nm(l, a.statements.pos);
          Pa.add(al(l, f.start, f.length, p.The_containing_function_or_module_body_is_too_large_for_control_flow_analysis));
        }
        function NM(r) {
          const a = z$(
            r,
            /*noCacheCheck*/
            false
          );
          return Zn = r, rs = a, a;
        }
        function AM(r) {
          const a = Ra(
            r,
            /*excludeJSDocTypeAssertions*/
            true
          );
          return a.kind === 97 || a.kind === 227 && (a.operatorToken.kind === 56 && (AM(a.left) || AM(a.right)) || a.operatorToken.kind === 57 && AM(a.left) && AM(a.right));
        }
        function z$(r, a) {
          for (; ; ) {
            if (r === Zn)
              return rs;
            const l = r.flags;
            if (l & 4096) {
              if (!a) {
                const f = ade(r), d = kk[f];
                return d !== void 0 ? d : kk[f] = z$(
                  r,
                  /*noCacheCheck*/
                  true
                );
              }
              a = false;
            }
            if (l & 368)
              r = r.antecedent;
            else if (l & 512) {
              const f = PM(r.node);
              if (f) {
                const d = bp(f);
                if (d && d.kind === 3 && !d.type) {
                  const y = r.node.arguments[d.parameterIndex];
                  if (y && AM(y))
                    return false;
                }
                if (Ba(f).flags & 131072)
                  return false;
              }
              r = r.antecedent;
            } else {
              if (l & 4)
                return ot(r.antecedent, (f) => z$(
                  f,
                  /*noCacheCheck*/
                  false
                ));
              if (l & 8) {
                const f = r.antecedent;
                if (f === void 0 || f.length === 0)
                  return false;
                r = f[0];
              } else if (l & 128) {
                const f = r.node;
                if (f.clauseStart === f.clauseEnd && PIe(f.switchStatement))
                  return false;
                r = r.antecedent;
              } else if (l & 1024) {
                Zn = void 0;
                const f = r.node.target, d = f.antecedent;
                f.antecedent = r.node.antecedents;
                const y = z$(
                  r.antecedent,
                  /*noCacheCheck*/
                  false
                );
                return f.antecedent = d, y;
              } else
                return !(l & 1);
            }
          }
        }
        function W$(r, a) {
          for (; ; ) {
            const l = r.flags;
            if (l & 4096) {
              if (!a) {
                const f = ade(r), d = _2[f];
                return d !== void 0 ? d : _2[f] = W$(
                  r,
                  /*noCacheCheck*/
                  true
                );
              }
              a = false;
            }
            if (l & 496)
              r = r.antecedent;
            else if (l & 512) {
              if (r.node.expression.kind === 108)
                return true;
              r = r.antecedent;
            } else {
              if (l & 4)
                return Ni(r.antecedent, (f) => W$(
                  f,
                  /*noCacheCheck*/
                  false
                ));
              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 = W$(
                  r.antecedent,
                  /*noCacheCheck*/
                  false
                );
                return f.antecedent = d, y;
              } else
                return !!(l & 1);
            }
          }
        }
        function pde(r) {
          switch (r.kind) {
            case 110:
              return true;
            case 80:
              if (!Ib(r)) {
                const l = Ou(r);
                return eC(l) || hI(l) && !gI(l) || !!l.valueDeclaration && mo(l.valueDeclaration);
              }
              break;
            case 212:
            case 213:
              return pde(r.expression) && Yd(xn(r).resolvedSymbol || Y);
            case 207:
            case 208:
              const a = om(r.parent);
              return Ii(a) || Gee(a) ? !dde(a) : ei(a) && JI(a);
          }
          return false;
        }
        function e0(r, a, l = a, f, d = ((y) => (y = Bn(r, zC)) == null ? void 0 : y.flowNode)()) {
          let y, x = false, I = 0;
          if (hi)
            return qe;
          if (!d)
            return a;
          ts++;
          const J = Vr, z = FT(de(d));
          Vr = J;
          const G = Dn(z) & 256 && M8e(r) ? Nl : DM(z);
          if (G === fr || r.parent && r.parent.kind === 236 && !(G.flags & 131072) && xp(
            G,
            2097152
            /* NEUndefinedOrNull */
          ).flags & 131072)
            return a;
          return G;
          function ve() {
            return x ? y : (x = true, y = xM(r, a, l, f));
          }
          function de(It) {
            var gr;
            if (I === 2e3)
              return (gr = on) == null || gr.instant(on.Phase.CheckTypes, "getTypeAtFlowNode_DepthLimit", { flowId: It.id }), hi = true, Lit(r), qe;
            I++;
            let Fr;
            for (; ; ) {
              const Qr = It.flags;
              if (Qr & 4096) {
                for (let Kn = J; Kn < Vr; Kn++)
                  if (t1[Kn] === It)
                    return I--, xk[Kn];
                Fr = It;
              }
              let Tn;
              if (Qr & 16) {
                if (Tn = lt(It), !Tn) {
                  It = It.antecedent;
                  continue;
                }
              } else if (Qr & 512) {
                if (Tn = jt(It), !Tn) {
                  It = It.antecedent;
                  continue;
                }
              } else if (Qr & 96)
                Tn = jr(It);
              else if (Qr & 128)
                Tn = Kr(It);
              else if (Qr & 12) {
                if (It.antecedent.length === 1) {
                  It = It.antecedent[0];
                  continue;
                }
                Tn = Qr & 4 ? or(It) : ir(It);
              } else if (Qr & 256) {
                if (Tn = ar(It), !Tn) {
                  It = It.antecedent;
                  continue;
                }
              } else if (Qr & 1024) {
                const Kn = It.node.target, sa = Kn.antecedent;
                Kn.antecedent = It.node.antecedents, Tn = de(It.antecedent), Kn.antecedent = sa;
              } else if (Qr & 2) {
                const Kn = It.node;
                if (Kn && Kn !== f && r.kind !== 212 && r.kind !== 213 && !(r.kind === 110 && Kn.kind !== 220)) {
                  It = Kn.flowNode;
                  continue;
                }
                Tn = l;
              } else
                Tn = MI(a);
              return Fr && (t1[Vr] = Fr, xk[Vr] = Tn, Vr++), I--, Tn;
            }
          }
          function We(It) {
            const gr = It.node;
            return mde(
              gr.kind === 261 || gr.kind === 209 ? N8e(gr) : EM(gr),
              r
            );
          }
          function lt(It) {
            const gr = It.node;
            if (Gl(r, gr)) {
              if (!NM(It))
                return fr;
              if (Py(gr) === 2) {
                const Qr = de(It.antecedent);
                return ME(Yh(FT(Qr)), LE(Qr));
              }
              if (a === mt || a === Nl) {
                if (Tit(gr))
                  return fde(nr);
                const Qr = rb(We(It));
                return Ls(Qr, a) ? Qr : Ul;
              }
              const Fr = AB(gr) ? Yh(a) : a;
              return Fr.flags & 1048576 ? pit(Fr, We(It)) : Fr;
            }
            if (v8e(r, gr)) {
              if (!NM(It))
                return fr;
              if (ei(gr) && (an(gr) || JI(gr))) {
                const Fr = j4(gr);
                if (Fr && (Fr.kind === 219 || Fr.kind === 220))
                  return de(It.antecedent);
              }
              return a;
            }
            if (ei(gr) && gr.parent.parent.kind === 250 && (Gl(r, gr.parent.parent.expression) || NT(gr.parent.parent.expression, r)))
              return Lde(DM(FT(de(It.antecedent))));
          }
          function gt(It, gr) {
            const Fr = Ra(
              gr,
              /*excludeJSDocTypeAssertions*/
              true
            );
            if (Fr.kind === 97)
              return fr;
            if (Fr.kind === 227) {
              if (Fr.operatorToken.kind === 56)
                return gt(gt(It, Fr.left), Fr.right);
              if (Fr.operatorToken.kind === 57)
                return Xn([gt(It, Fr.left), gt(It, Fr.right)]);
            }
            return Cf(
              It,
              Fr,
              /*assumeTrue*/
              true
            );
          }
          function jt(It) {
            const gr = PM(It.node);
            if (gr) {
              const Fr = bp(gr);
              if (Fr && (Fr.kind === 2 || Fr.kind === 3)) {
                const Qr = de(It.antecedent), Tn = DM(FT(Qr)), Kn = Fr.type ? NP(
                  Tn,
                  Fr,
                  It.node,
                  /*assumeTrue*/
                  true
                ) : Fr.kind === 3 && Fr.parameterIndex >= 0 && Fr.parameterIndex < It.node.arguments.length ? gt(Tn, It.node.arguments[Fr.parameterIndex]) : Tn;
                return Kn === Tn ? Qr : ME(Kn, LE(Qr));
              }
              if (Ba(gr).flags & 131072)
                return fr;
            }
          }
          function ar(It) {
            if (a === mt || a === Nl) {
              const gr = It.node, Fr = gr.kind === 214 ? gr.expression.expression : gr.left.expression;
              if (Gl(r, F2(Fr))) {
                const Qr = de(It.antecedent), Tn = FT(Qr);
                if (Dn(Tn) & 256) {
                  let Kn = Tn;
                  if (gr.kind === 214)
                    for (const sa of gr.arguments)
                      Kn = L8e(Kn, sa);
                  else {
                    const sa = eR(gr.left.argumentExpression);
                    iu(
                      sa,
                      296
                      /* NumberLike */
                    ) && (Kn = L8e(Kn, gr.right));
                  }
                  return Kn === Tn ? Qr : ME(Kn, LE(Qr));
                }
                return Qr;
              }
            }
          }
          function jr(It) {
            const gr = de(It.antecedent), Fr = FT(gr);
            if (Fr.flags & 131072)
              return gr;
            const Qr = (It.flags & 32) !== 0, Tn = DM(Fr), Kn = Cf(Tn, It.node, Qr);
            return Kn === Tn ? gr : ME(Kn, LE(gr));
          }
          function Kr(It) {
            const gr = Ra(It.node.switchStatement.expression), Fr = de(It.antecedent);
            let Qr = FT(Fr);
            if (Gl(r, gr))
              Qr = Po(Qr, It.node);
            else if (gr.kind === 222 && Gl(r, gr.expression))
              Qr = Ac(Qr, It.node);
            else if (gr.kind === 112)
              Qr = Jc(Qr, It.node);
            else {
              K && (NT(gr, r) ? Qr = Va(Qr, It.node, (Kn) => !(Kn.flags & 163840)) : gr.kind === 222 && NT(gr.expression, r) && (Qr = Va(Qr, It.node, (Kn) => !(Kn.flags & 131072 || Kn.flags & 128 && Kn.value === "undefined"))));
              const Tn = Ri(gr, Qr);
              Tn && (Qr = xs(Qr, Tn, It.node));
            }
            return ME(Qr, LE(Fr));
          }
          function or(It) {
            const gr = [];
            let Fr = false, Qr = false, Tn;
            for (const Kn of It.antecedent) {
              if (!Tn && Kn.flags & 128 && Kn.node.clauseStart === Kn.node.clauseEnd) {
                Tn = Kn;
                continue;
              }
              const sa = de(Kn), la = FT(sa);
              if (la === a && a === l)
                return la;
              Yf(gr, la), hP(la, l) || (Fr = true), LE(sa) && (Qr = true);
            }
            if (Tn) {
              const Kn = de(Tn), sa = FT(Kn);
              if (!(sa.flags & 131072) && !ds(gr, sa) && !PIe(Tn.node.switchStatement)) {
                if (sa === a && a === l)
                  return sa;
                gr.push(sa), hP(sa, l) || (Fr = true), LE(Kn) && (Qr = true);
              }
            }
            return ME(nn(
              gr,
              Fr ? 2 : 1
              /* Literal */
            ), Qr);
          }
          function ir(It) {
            const gr = ade(It), Fr = uE[gr] || (uE[gr] = /* @__PURE__ */ new Map()), Qr = ve();
            if (!Qr)
              return a;
            const Tn = Fr.get(Qr);
            if (Tn)
              return Tn;
            for (let Sl = dn; Sl < Ir; Sl++)
              if (GS[Sl] === It && Tk[Sl] === Qr && u2[Sl].length)
                return ME(
                  nn(
                    u2[Sl],
                    1
                    /* Literal */
                  ),
                  /*incomplete*/
                  true
                );
            const Kn = [];
            let sa = false, la;
            for (const Sl of It.antecedent) {
              let Mu;
              if (!la)
                Mu = la = de(Sl);
              else {
                GS[Ir] = It, Tk[Ir] = Qr, u2[Ir] = Kn, Ir++;
                const ob = Pi;
                Pi = void 0, Mu = de(Sl), Pi = ob, Ir--;
                const cb = Fr.get(Qr);
                if (cb)
                  return cb;
              }
              const I_ = FT(Mu);
              if (Yf(Kn, I_), hP(I_, l) || (sa = true), I_ === a)
                break;
            }
            const _o = nn(
              Kn,
              sa ? 2 : 1
              /* Literal */
            );
            return LE(la) ? ME(
              _o,
              /*incomplete*/
              true
            ) : (Fr.set(Qr, _o), _o);
          }
          function nn(It, gr) {
            if (Iit(It))
              return fde(Xn(hr(It, Ait)));
            const Fr = lde(Xn(Gc(It, DM), gr));
            return Fr !== a && Fr.flags & a.flags & 1048576 && yf(Fr.types, a.types) ? a : Fr;
          }
          function Qn(It) {
            if (Ds(r) || My(r) || Fp(r)) {
              if (Me(It)) {
                const gr = Ou(It), Fr = _t(gr).valueDeclaration;
                if (Fr && (ha(Fr) || Ii(Fr)) && r === Fr.parent && !Fr.initializer && !Fr.dotDotDotToken)
                  return Fr;
              }
            } else if (vo(It)) {
              if (Gl(r, It.expression))
                return It;
            } else if (Me(It)) {
              const gr = Ou(It);
              if (eC(gr)) {
                const Fr = gr.valueDeclaration;
                if (ei(Fr) && !Fr.type && Fr.initializer && vo(Fr.initializer) && Gl(r, Fr.initializer.expression))
                  return Fr.initializer;
                if (ha(Fr) && !Fr.initializer) {
                  const Qr = Fr.parent.parent;
                  if (ei(Qr) && !Qr.type && Qr.initializer && (Me(Qr.initializer) || vo(Qr.initializer)) && Gl(r, Qr.initializer))
                    return Fr;
                }
              }
            }
          }
          function Ri(It, gr) {
            if (a.flags & 1048576 || gr.flags & 1048576) {
              const Fr = Qn(It);
              if (Fr) {
                const Qr = PT(Fr);
                if (Qr) {
                  const Tn = a.flags & 1048576 && hP(gr, a) ? a : gr;
                  if (gP(Tn, Qr))
                    return Fr;
                }
              }
            }
          }
          function zn(It, gr, Fr) {
            const Qr = PT(gr);
            if (Qr === void 0)
              return It;
            const Tn = Tu(gr), Kn = K && (Tn || Xee(gr)) && kc(
              It,
              98304
              /* Nullable */
            );
            let sa = rr(Kn ? xp(
              It,
              2097152
              /* NEUndefinedOrNull */
            ) : It, Qr);
            if (!sa)
              return It;
            sa = Kn && Tn ? k1(sa) : sa;
            const la = Fr(sa);
            return Hc(It, (_o) => {
              const Sl = Rn(_o, Qr) || yt;
              return !(Sl.flags & 131072) && !(la.flags & 131072) && dM(la, Sl);
            });
          }
          function bi(It, gr, Fr, Qr, Tn) {
            if ((Fr === 37 || Fr === 38) && It.flags & 1048576) {
              const Kn = kM(It);
              if (Kn && Kn === PT(gr)) {
                const sa = CM(It, su(Qr));
                if (sa)
                  return Fr === (Tn ? 37 : 38) ? sa : Hd(rr(sa, Kn) || yt) ? B$(It, sa) : It;
              }
            }
            return zn(It, gr, (Kn) => xi(Kn, Fr, Qr, Tn));
          }
          function xs(It, gr, Fr) {
            if (Fr.clauseStart < Fr.clauseEnd && It.flags & 1048576 && kM(It) === PT(gr)) {
              const Qr = j$(Fr.switchStatement).slice(Fr.clauseStart, Fr.clauseEnd), Tn = Xn(hr(Qr, (Kn) => CM(It, Kn) || yt));
              if (Tn !== yt)
                return Tn;
            }
            return zn(It, gr, (Qr) => Po(Qr, Fr));
          }
          function Ja(It, gr, Fr) {
            if (Gl(r, gr))
              return AT(
                It,
                Fr ? 4194304 : 8388608
                /* Falsy */
              );
            K && Fr && NT(gr, r) && (It = AT(
              It,
              2097152
              /* NEUndefinedOrNull */
            ));
            const Qr = Ri(gr, It);
            return Qr ? zn(It, Qr, (Tn) => xp(
              Tn,
              Fr ? 4194304 : 8388608
              /* Falsy */
            )) : It;
          }
          function Vi(It, gr, Fr) {
            const Qr = Qs(It, gr);
            return Qr ? !!(Qr.flags & 16777216 || oc(Qr) & 48) || Fr : !!Gk(It, gr) || !Fr;
          }
          function Lo(It, gr, Fr) {
            const Qr = cp(gr);
            if (kp(It, (Kn) => Vi(
              Kn,
              Qr,
              /*assumeTrue*/
              true
            )))
              return Hc(It, (Kn) => Vi(Kn, Qr, Fr));
            if (Fr) {
              const Kn = jtt();
              if (Kn)
                return ia([It, PE(Kn, [gr, yt])]);
            }
            return It;
          }
          function yc(It, gr, Fr, Qr, Tn) {
            return Tn = Tn !== (Fr.kind === 112) != (Qr !== 38 && Qr !== 36), Cf(It, gr, Tn);
          }
          function Lu(It, gr, Fr) {
            switch (gr.operatorToken.kind) {
              case 64:
              case 76:
              case 77:
              case 78:
                return Ja(Cf(It, gr.right, Fr), gr.left, Fr);
              case 35:
              case 36:
              case 37:
              case 38:
                const Qr = gr.operatorToken.kind, Tn = F2(gr.left), Kn = F2(gr.right);
                if (Tn.kind === 222 && Ma(Kn))
                  return en(It, Tn, Qr, Kn, Fr);
                if (Kn.kind === 222 && Ma(Tn))
                  return en(It, Kn, Qr, Tn, Fr);
                if (Gl(r, Tn))
                  return xi(It, Qr, Kn, Fr);
                if (Gl(r, Kn))
                  return xi(It, Qr, Tn, Fr);
                K && (NT(Tn, r) ? It = Br(It, Qr, Kn, Fr) : NT(Kn, r) && (It = Br(It, Qr, Tn, Fr)));
                const sa = Ri(Tn, It);
                if (sa)
                  return bi(It, sa, Qr, Kn, Fr);
                const la = Ri(Kn, It);
                if (la)
                  return bi(It, la, Qr, Tn, Fr);
                if (Ha(Tn))
                  return Gf(It, Qr, Kn, Fr);
                if (Ha(Kn))
                  return Gf(It, Qr, Tn, Fr);
                if (k4(Kn) && !vo(Tn))
                  return yc(It, Tn, Kn, Qr, Fr);
                if (k4(Tn) && !vo(Kn))
                  return yc(It, Kn, Tn, Qr, Fr);
                break;
              case 104:
                return qo(It, gr, Fr);
              case 103:
                if (Ai(gr.left))
                  return Dr(It, gr, Fr);
                const _o = F2(gr.right);
                if (_I(It) && vo(r) && Gl(r.expression, _o)) {
                  const Sl = su(gr.left);
                  if (op(Sl) && PT(r) === cp(Sl))
                    return xp(
                      It,
                      Fr ? 524288 : 65536
                      /* EQUndefined */
                    );
                }
                if (Gl(r, _o)) {
                  const Sl = su(gr.left);
                  if (op(Sl))
                    return Lo(It, Sl, Fr);
                }
                break;
              case 28:
                return Cf(It, gr.right, Fr);
              // 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 Fr ? Cf(
                  Cf(
                    It,
                    gr.left,
                    /*assumeTrue*/
                    true
                  ),
                  gr.right,
                  /*assumeTrue*/
                  true
                ) : Xn([Cf(
                  It,
                  gr.left,
                  /*assumeTrue*/
                  false
                ), Cf(
                  It,
                  gr.right,
                  /*assumeTrue*/
                  false
                )]);
              case 57:
                return Fr ? Xn([Cf(
                  It,
                  gr.left,
                  /*assumeTrue*/
                  true
                ), Cf(
                  It,
                  gr.right,
                  /*assumeTrue*/
                  true
                )]) : Cf(
                  Cf(
                    It,
                    gr.left,
                    /*assumeTrue*/
                    false
                  ),
                  gr.right,
                  /*assumeTrue*/
                  false
                );
            }
            return It;
          }
          function Dr(It, gr, Fr) {
            const Qr = F2(gr.right);
            if (!Gl(r, Qr))
              return It;
            E.assertNode(gr.left, Ai);
            const Tn = sX(gr.left);
            if (Tn === void 0)
              return It;
            const Kn = Tn.parent, sa = sl(E.checkDefined(Tn.valueDeclaration, "should always have a declaration")) ? Yr(Kn) : ho(Kn);
            return Ep(
              It,
              sa,
              Fr,
              /*checkDerived*/
              true
            );
          }
          function Br(It, gr, Fr, Qr) {
            const Tn = gr === 35 || gr === 37, Kn = gr === 35 || gr === 36 ? 98304 : 32768, sa = su(Fr);
            return Tn !== Qr && U_(sa, (_o) => !!(_o.flags & Kn)) || Tn === Qr && U_(sa, (_o) => !(_o.flags & (3 | Kn))) ? AT(
              It,
              2097152
              /* NEUndefinedOrNull */
            ) : It;
          }
          function xi(It, gr, Fr, Qr) {
            if (It.flags & 1)
              return It;
            (gr === 36 || gr === 38) && (Qr = !Qr);
            const Tn = su(Fr), Kn = gr === 35 || gr === 36;
            if (Tn.flags & 98304) {
              if (!K)
                return It;
              const sa = Kn ? Qr ? 262144 : 2097152 : Tn.flags & 65536 ? Qr ? 131072 : 1048576 : Qr ? 65536 : 524288;
              return AT(It, sa);
            }
            if (Qr) {
              if (!Kn && (It.flags & 2 || kp(It, dg))) {
                if (Tn.flags & 469893116 || dg(Tn))
                  return Tn;
                if (Tn.flags & 524288)
                  return vr;
              }
              const sa = Hc(It, (la) => dM(la, Tn) || Kn && Lnt(la, Tn));
              return O8e(sa, Tn);
            }
            return Hd(Tn) ? Hc(It, (sa) => !(KNe(sa) && dM(sa, Tn))) : It;
          }
          function en(It, gr, Fr, Qr, Tn) {
            (Fr === 36 || Fr === 38) && (Tn = !Tn);
            const Kn = F2(gr.expression);
            if (!Gl(r, Kn)) {
              K && NT(Kn, r) && Tn === (Qr.text !== "undefined") && (It = AT(
                It,
                2097152
                /* NEUndefinedOrNull */
              ));
              const sa = Ri(Kn, It);
              return sa ? zn(It, sa, (la) => ls(la, Qr, Tn)) : It;
            }
            return ls(It, Qr, Tn);
          }
          function ls(It, gr, Fr) {
            return Fr ? Ml(It, gr.text) : AT(
              It,
              Tne.get(gr.text) || 32768
              /* TypeofNEHostObject */
            );
          }
          function Va(It, { switchStatement: gr, clauseStart: Fr, clauseEnd: Qr }, Tn) {
            return Fr !== Qr && Ni(j$(gr).slice(Fr, Qr), Tn) ? xp(
              It,
              2097152
              /* NEUndefinedOrNull */
            ) : It;
          }
          function Po(It, { switchStatement: gr, clauseStart: Fr, clauseEnd: Qr }) {
            const Tn = j$(gr);
            if (!Tn.length)
              return It;
            const Kn = Tn.slice(Fr, Qr), sa = Fr === Qr || ds(Kn, nr);
            if (It.flags & 2 && !sa) {
              let Mu;
              for (let I_ = 0; I_ < Kn.length; I_ += 1) {
                const ob = Kn[I_];
                if (ob.flags & 469893116)
                  Mu !== void 0 && Mu.push(ob);
                else if (ob.flags & 524288)
                  Mu === void 0 && (Mu = Kn.slice(0, I_)), Mu.push(vr);
                else
                  return It;
              }
              return Xn(Mu === void 0 ? Kn : Mu);
            }
            const la = Xn(Kn), _o = la.flags & 131072 ? nr : O8e(Hc(It, (Mu) => dM(la, Mu)), la);
            if (!sa)
              return _o;
            const Sl = Hc(It, (Mu) => !(KNe(Mu) && ds(Tn, Mu.flags & 32768 ? ue : Yu(Dnt(Mu)))));
            return _o.flags & 131072 ? Sl : Xn([_o, Sl]);
          }
          function Ml(It, gr) {
            switch (gr) {
              case "string":
                return Sa(
                  It,
                  at,
                  1
                  /* TypeofEQString */
                );
              case "number":
                return Sa(
                  It,
                  wt,
                  2
                  /* TypeofEQNumber */
                );
              case "bigint":
                return Sa(
                  It,
                  Zr,
                  4
                  /* TypeofEQBigInt */
                );
              case "boolean":
                return Sa(
                  It,
                  Nt,
                  8
                  /* TypeofEQBoolean */
                );
              case "symbol":
                return Sa(
                  It,
                  Jt,
                  16
                  /* TypeofEQSymbol */
                );
              case "object":
                return It.flags & 1 ? It : Xn([Sa(
                  It,
                  vr,
                  32
                  /* TypeofEQObject */
                ), Sa(
                  It,
                  Mt,
                  131072
                  /* EQNull */
                )]);
              case "function":
                return It.flags & 1 ? It : Sa(
                  It,
                  Mr,
                  64
                  /* TypeofEQFunction */
                );
              case "undefined":
                return Sa(
                  It,
                  ue,
                  65536
                  /* EQUndefined */
                );
            }
            return Sa(
              It,
              vr,
              128
              /* TypeofEQHostObject */
            );
          }
          function Sa(It, gr, Fr) {
            return Vo(It, (Qr) => (
              // 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(Qr, gr, Oo) ? Gd2(Qr, Fr) ? Qr : nr : (
                // 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 }`.
                A2(gr, Qr) ? gr : (
                  // 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.
                  Gd2(Qr, Fr) ? ia([Qr, gr]) : nr
                )
              )
            ));
          }
          function Ac(It, { switchStatement: gr, clauseStart: Fr, clauseEnd: Qr }) {
            const Tn = I8e(gr);
            if (!Tn)
              return It;
            const Kn = ic(
              gr.caseBlock.clauses,
              (_o) => _o.kind === 298
              /* DefaultClause */
            );
            if (Fr === Qr || Kn >= Fr && Kn < Qr) {
              const _o = wIe(Fr, Qr, Tn);
              return Hc(It, (Sl) => OE(Sl, _o) === _o);
            }
            const la = Tn.slice(Fr, Qr);
            return Xn(hr(la, (_o) => _o ? Ml(It, _o) : nr));
          }
          function Jc(It, { switchStatement: gr, clauseStart: Fr, clauseEnd: Qr }) {
            const Tn = ic(
              gr.caseBlock.clauses,
              (la) => la.kind === 298
              /* DefaultClause */
            ), Kn = Fr === Qr || Tn >= Fr && Tn < Qr;
            for (let la = 0; la < Fr; la++) {
              const _o = gr.caseBlock.clauses[la];
              _o.kind === 297 && (It = Cf(
                It,
                _o.expression,
                /*assumeTrue*/
                false
              ));
            }
            if (Kn) {
              for (let la = Qr; la < gr.caseBlock.clauses.length; la++) {
                const _o = gr.caseBlock.clauses[la];
                _o.kind === 297 && (It = Cf(
                  It,
                  _o.expression,
                  /*assumeTrue*/
                  false
                ));
              }
              return It;
            }
            const sa = gr.caseBlock.clauses.slice(Fr, Qr);
            return Xn(hr(sa, (la) => la.kind === 297 ? Cf(
              It,
              la.expression,
              /*assumeTrue*/
              true
            ) : nr));
          }
          function Ha(It) {
            return (wn(It) && An(It.name) === "constructor" || oo(It) && Ma(It.argumentExpression) && It.argumentExpression.text === "constructor") && Gl(r, It.expression);
          }
          function Gf(It, gr, Fr, Qr) {
            if (Qr ? gr !== 35 && gr !== 37 : gr !== 36 && gr !== 38)
              return It;
            const Tn = su(Fr);
            if (!Wme(Tn) && !Ud(Tn))
              return It;
            const Kn = Qs(Tn, "prototype");
            if (!Kn)
              return It;
            const sa = Yr(Kn), la = gn(sa) ? void 0 : sa;
            if (!la || la === Ot || la === Mr)
              return It;
            if (gn(It))
              return la;
            return Hc(It, (Sl) => _o(Sl, la));
            function _o(Sl, Mu) {
              return Sl.flags & 524288 && Dn(Sl) & 1 || Mu.flags & 524288 && Dn(Mu) & 1 ? Sl.symbol === Mu.symbol : A2(Sl, Mu);
            }
          }
          function qo(It, gr, Fr) {
            const Qr = F2(gr.left);
            if (!Gl(r, Qr))
              return Fr && K && NT(Qr, r) ? AT(
                It,
                2097152
                /* NEUndefinedOrNull */
              ) : It;
            const Tn = gr.right, Kn = su(Tn);
            if (!eb(Kn, Ot))
              return It;
            const sa = PM(gr), la = sa && bp(sa);
            if (la && la.kind === 1 && la.parameterIndex === 0)
              return Ep(
                It,
                la.type,
                Fr,
                /*checkDerived*/
                true
              );
            if (!eb(Kn, Mr))
              return It;
            const _o = Vo(Kn, Cc);
            return gn(It) && (_o === Ot || _o === Mr) || !Fr && !(_o.flags & 524288 && !dg(_o)) ? It : Ep(
              It,
              _o,
              Fr,
              /*checkDerived*/
              true
            );
          }
          function Cc(It) {
            const gr = rr(It, "prototype");
            if (gr && !gn(gr))
              return gr;
            const Fr = As(
              It,
              1
              /* Construct */
            );
            return Fr.length ? Xn(hr(Fr, (Qr) => Ba(KA(Qr)))) : ea;
          }
          function Ep(It, gr, Fr, Qr) {
            const Tn = It.flags & 1048576 ? `N${Ol(It)},${Ol(gr)},${(Fr ? 1 : 0) | (Qr ? 2 : 0)}` : void 0;
            return c_(Tn) ?? Gp(Tn, PP(It, gr, Fr, Qr));
          }
          function PP(It, gr, Fr, Qr) {
            if (!Fr) {
              if (It === gr)
                return nr;
              if (Qr)
                return Hc(It, (_o) => !eb(_o, gr));
              It = It.flags & 2 ? ya : It;
              const la = Ep(
                It,
                gr,
                /*assumeTrue*/
                true,
                /*checkDerived*/
                false
              );
              return lde(Hc(It, (_o) => !hP(_o, la)));
            }
            if (It.flags & 3 || It === gr)
              return gr;
            const Tn = Qr ? eb : A2, Kn = It.flags & 1048576 ? kM(It) : void 0, sa = Vo(gr, (la) => {
              const _o = Kn && rr(la, Kn), Sl = _o && CM(It, _o), Mu = Vo(
                Sl || It,
                Qr ? (I_) => eb(I_, la) ? I_ : eb(la, I_) ? la : nr : (I_) => fP(I_, la) ? I_ : fP(la, I_) ? la : A2(I_, la) ? I_ : A2(la, I_) ? la : nr
              );
              return Mu.flags & 131072 ? Vo(It, (I_) => kc(
                I_,
                465829888
                /* Instantiable */
              ) && Tn(la, nu(I_) || yt) ? ia([I_, la]) : nr) : Mu;
            });
            return sa.flags & 131072 ? A2(gr, It) ? gr : Ls(It, gr) ? It : Ls(gr, It) ? gr : ia([It, gr]) : sa;
          }
          function zI(It, gr, Fr) {
            if (x8e(gr, r)) {
              const Qr = Fr || !H2(gr) ? PM(gr) : void 0, Tn = Qr && bp(Qr);
              if (Tn && (Tn.kind === 0 || Tn.kind === 1))
                return NP(It, Tn, gr, Fr);
            }
            if (_I(It) && vo(r) && wn(gr.expression)) {
              const Qr = gr.expression;
              if (Gl(r.expression, F2(Qr.expression)) && Me(Qr.name) && Qr.name.escapedText === "hasOwnProperty" && gr.arguments.length === 1) {
                const Tn = gr.arguments[0];
                if (Ma(Tn) && PT(r) === Zo(Tn.text))
                  return xp(
                    It,
                    Fr ? 524288 : 65536
                    /* EQUndefined */
                  );
              }
            }
            return It;
          }
          function NP(It, gr, Fr, Qr) {
            if (gr.type && !(gn(It) && (gr.type === Ot || gr.type === Mr))) {
              const Tn = Oit(gr, Fr);
              if (Tn) {
                if (Gl(r, Tn))
                  return Ep(
                    It,
                    gr.type,
                    Qr,
                    /*checkDerived*/
                    false
                  );
                K && NT(Tn, r) && (Qr && !Gd2(
                  gr.type,
                  65536
                  /* EQUndefined */
                ) || !Qr && U_(gr.type, BM)) && (It = AT(
                  It,
                  2097152
                  /* NEUndefinedOrNull */
                ));
                const Kn = Ri(Tn, It);
                if (Kn)
                  return zn(It, Kn, (sa) => Ep(
                    sa,
                    gr.type,
                    Qr,
                    /*checkDerived*/
                    false
                  ));
              }
            }
            return It;
          }
          function Cf(It, gr, Fr) {
            if (T7(gr) || _n(gr.parent) && (gr.parent.operatorToken.kind === 61 || gr.parent.operatorToken.kind === 78) && gr.parent.left === gr)
              return WI(It, gr, Fr);
            switch (gr.kind) {
              case 80:
                if (!Gl(r, gr) && T < 5) {
                  const Qr = Ou(gr);
                  if (eC(Qr)) {
                    const Tn = Qr.valueDeclaration;
                    if (Tn && ei(Tn) && !Tn.type && Tn.initializer && pde(r)) {
                      T++;
                      const Kn = Cf(It, Tn.initializer, Fr);
                      return T--, Kn;
                    }
                  }
                }
              // falls through
              case 110:
              case 108:
              case 212:
              case 213:
                return Ja(It, gr, Fr);
              case 214:
                return zI(It, gr, Fr);
              case 218:
              case 236:
              case 239:
                return Cf(It, gr.expression, Fr);
              case 227:
                return Lu(It, gr, Fr);
              case 225:
                if (gr.operator === 54)
                  return Cf(It, gr.operand, !Fr);
                break;
            }
            return It;
          }
          function WI(It, gr, Fr) {
            if (Gl(r, gr))
              return AT(
                It,
                Fr ? 2097152 : 262144
                /* EQUndefinedOrNull */
              );
            const Qr = Ri(gr, It);
            return Qr ? zn(It, Qr, (Tn) => xp(
              Tn,
              Fr ? 2097152 : 262144
              /* EQUndefinedOrNull */
            )) : It;
          }
        }
        function Mit(r, a) {
          if (r = _t(r), (a.kind === 80 || a.kind === 81) && (K4(a) && (a = a.parent), qm(a) && (!Ny(a) || vx(a)))) {
            const l = w$(
              vx(a) && a.kind === 212 ? iX(
                a,
                /*checkMode*/
                void 0,
                /*writeOnly*/
                true
              ) : su(a)
            );
            if (_t(xn(a).resolvedSymbol) === r)
              return l;
          }
          return Hm(a) && rm(a.parent) && x2(a.parent) ? zG(a.parent.symbol) : aJ(a) && vx(a.parent) ? G0(r) : Wd(r);
        }
        function vP(r) {
          return dr(
            r.parent,
            (a) => Cs(a) && !J1(a) || a.kind === 269 || a.kind === 308 || a.kind === 173
            /* PropertyDeclaration */
          );
        }
        function Rit(r) {
          return (r.lastAssignmentPos !== void 0 || gI(r) && r.lastAssignmentPos !== void 0) && r.lastAssignmentPos < 0;
        }
        function gI(r) {
          return !j8e(
            r,
            /*location*/
            void 0
          );
        }
        function j8e(r, a) {
          const l = dr(r.valueDeclaration, U$);
          if (!l)
            return false;
          const f = xn(l);
          return f.flags & 131072 || (f.flags |= 131072, jit(l) || J8e(l)), !r.lastAssignmentPos || a && Math.abs(r.lastAssignmentPos) < a.pos;
        }
        function dde(r) {
          return E.assert(ei(r) || Ii(r)), B8e(r.name);
        }
        function B8e(r) {
          return r.kind === 80 ? gI(yn(r.parent)) : ot(r.elements, (a) => a.kind !== 233 && B8e(a.name));
        }
        function jit(r) {
          return !!dr(r.parent, (a) => U$(a) && !!(xn(a).flags & 131072));
        }
        function U$(r) {
          return to(r) || Di(r);
        }
        function J8e(r) {
          switch (r.kind) {
            case 80:
              const a = Py(r);
              if (a !== 0) {
                const d = Ou(r), y = a === 1 || d.lastAssignmentPos !== void 0 && d.lastAssignmentPos < 0;
                if (hI(d)) {
                  if (d.lastAssignmentPos === void 0 || Math.abs(d.lastAssignmentPos) !== Number.MAX_VALUE) {
                    const x = dr(r, U$), I = dr(d.valueDeclaration, U$);
                    d.lastAssignmentPos = x === I ? Bit(r, d.valueDeclaration) : Number.MAX_VALUE;
                  }
                  y && d.lastAssignmentPos > 0 && (d.lastAssignmentPos *= -1);
                }
              }
              return;
            case 282:
              const l = r.parent.parent, f = r.propertyName || r.name;
              if (!r.isTypeOnly && !l.isTypeOnly && !l.moduleSpecifier && f.kind !== 11) {
                const d = _c2(
                  f,
                  111551,
                  /*ignoreErrors*/
                  true,
                  /*dontResolveAlias*/
                  true
                );
                if (d && hI(d)) {
                  const y = d.lastAssignmentPos !== void 0 && d.lastAssignmentPos < 0 ? -1 : 1;
                  d.lastAssignmentPos = y * Number.MAX_VALUE;
                }
              }
              return;
            case 265:
            case 266:
            case 267:
              return;
          }
          li(r) || Ts(r, J8e);
        }
        function Bit(r, a) {
          let l = r.pos;
          for (; r && r.pos > a.pos; ) {
            switch (r.kind) {
              case 244:
              case 245:
              case 246:
              case 247:
              case 248:
              case 249:
              case 250:
              case 251:
              case 255:
              case 256:
              case 259:
              case 264:
                l = r.end;
            }
            r = r.parent;
          }
          return l;
        }
        function eC(r) {
          return r.flags & 3 && (Ide(r) & 6) !== 0;
        }
        function hI(r) {
          const a = r.valueDeclaration && om(r.valueDeclaration);
          return !!a && (Ii(a) || ei(a) && (Hb(a.parent) || z8e(a)));
        }
        function z8e(r) {
          return !!(r.parent.flags & 1) && !(L1(r) & 32 || r.parent.parent.kind === 244 && u0(r.parent.parent.parent));
        }
        function Jit(r) {
          const a = xn(r);
          if (a.parameterInitializerContainsUndefined === void 0) {
            if (!Am(
              r,
              8
              /* ParameterInitializerContainsUndefined */
            ))
              return gT(r.symbol), true;
            const l = !!Gd2(
              SP(
                r,
                0
                /* Normal */
              ),
              16777216
              /* IsUndefined */
            );
            if (!He())
              return gT(r.symbol), true;
            a.parameterInitializerContainsUndefined ?? (a.parameterInitializerContainsUndefined = l);
          }
          return a.parameterInitializerContainsUndefined;
        }
        function zit(r, a) {
          return K && a.kind === 170 && a.initializer && Gd2(
            r,
            16777216
            /* IsUndefined */
          ) && !Jit(a) ? xp(
            r,
            524288
            /* NEUndefined */
          ) : r;
        }
        function Wit(r, a) {
          const l = a.parent;
          return l.kind === 212 || l.kind === 167 || l.kind === 214 && l.expression === a || l.kind === 215 && l.expression === a || l.kind === 213 && l.expression === a && !(kp(r, U8e) && kT(su(l.argumentExpression)));
        }
        function W8e(r) {
          return r.flags & 2097152 ? ot(r.types, W8e) : !!(r.flags & 465829888 && Fm(r).flags & 1146880);
        }
        function U8e(r) {
          return r.flags & 2097152 ? ot(r.types, U8e) : !!(r.flags & 465829888 && !kc(
            Fm(r),
            98304
            /* Nullable */
          ));
        }
        function Uit(r, a) {
          const l = (Me(r) || wn(r) || oo(r)) && !((wd(r.parent) || xS(r.parent)) && r.parent.tagName === r) && (a && a & 32 ? f_(
            r,
            8
            /* SkipBindingPatterns */
          ) : f_(
            r,
            /*contextFlags*/
            void 0
          ));
          return l && !Zv(l);
        }
        function mde(r, a, l) {
          return NE(r) && (r = r.baseType), !(l && l & 2) && kp(r, W8e) && (Wit(r, a) || Uit(a, l)) ? Vo(r, Fm) : r;
        }
        function V8e(r) {
          return !!dr(r, (a) => {
            const l = a.parent;
            return l === void 0 ? "quit" : Fo(l) ? l.expression === a && Za(a) : Eu(l) ? l.name === a || l.propertyName === a : false;
          });
        }
        function tC(r, a, l, f) {
          if (Ce && !(r.flags & 33554432 && !Vu(r) && !as(r)))
            switch (a) {
              case 1:
                return V$(r);
              case 2:
                return q8e(r, l, f);
              case 3:
                return H8e(r);
              case 4:
                return gde(r);
              case 5:
                return G8e(r);
              case 6:
                return $8e(r);
              case 7:
                return X8e(r);
              case 8:
                return Q8e(r);
              case 0: {
                if (Me(r) && (qm(r) || fu(r.parent) || cl(r.parent) && r.parent.moduleReference === r) && eAe(r)) {
                  if (l3(r.parent) && (wn(r.parent) ? r.parent.expression : r.parent.left) !== r)
                    return;
                  V$(r);
                  return;
                }
                if (l3(r)) {
                  let d = r;
                  for (; l3(d); ) {
                    if (sm(d)) return;
                    d = d.parent;
                  }
                  return q8e(r);
                }
                return Fo(r) ? H8e(r) : ku(r) || ad(r) ? gde(r) : cl(r) ? tS(r) || NX(r) ? $8e(r) : void 0 : Eu(r) ? X8e(r) : ((to(r) || id(r)) && G8e(r), !F.emitDecoratorMetadata || !$b(r) || !Pf(r) || !r.modifiers || !N3(U, r, r.parent, r.parent.parent) ? void 0 : Q8e(r));
              }
              default:
                E.assertNever(a, `Unhandled reference hint: ${a}`);
            }
        }
        function V$(r) {
          const a = Ou(r);
          a && a !== ie && a !== Y && !Ib(r) && IM(a, r);
        }
        function q8e(r, a, l) {
          const f = wn(r) ? r.expression : r.left;
          if (Iy(f) || !Me(f))
            return;
          const d = Ou(f);
          if (!d || d === Y)
            return;
          if (Rp(F) || Oy(F) && V8e(r)) {
            IM(d, r);
            return;
          }
          const y = l || fc(f);
          if (gn(y) || y === kt) {
            IM(d, r);
            return;
          }
          let x = a;
          if (!x && !l) {
            const I = wn(r) ? r.name : r.right, J = Ai(I) && JM(I.escapedText, I), z = Py(r), G = Qu(z !== 0 || Mde(r) ? hf(y) : y);
            x = Ai(I) ? J && aX(G, J) || void 0 : Qs(G, I.escapedText);
          }
          x && (jI(x) || x.flags & 8 && r.parent.kind === 307) || IM(d, r);
        }
        function H8e(r) {
          if (Me(r.expression)) {
            const a = r.expression, l = _t(_c2(
              a,
              -1,
              /*ignoreErrors*/
              true,
              /*dontResolveAlias*/
              true,
              r
            ));
            l && IM(l, a);
          }
        }
        function gde(r) {
          if (!rX(r)) {
            const a = Pa && F.jsx === 2 ? p.This_JSX_tag_requires_0_to_be_in_scope_but_it_could_not_be_found : void 0, l = ld(r), f = ku(r) ? r.tagName : r, d = F.jsx !== 1 && F.jsx !== 3;
            let y;
            if (ad(r) && l === "null" || (y = st(
              f,
              l,
              d ? 111551 : 111167,
              a,
              /*isUse*/
              true
            )), y && (y.isReferenced = -1, Ce && y.flags & 2097152 && !Jd(y) && q$(y)), ad(r)) {
              const x = xr(r), I = Vme(x);
              if (I) {
                const J = e_(I).escapedText;
                st(
                  f,
                  J,
                  d ? 111551 : 111167,
                  a,
                  /*isUse*/
                  true
                );
              }
            }
          }
        }
        function G8e(r) {
          if (R < 2 && Fc(r) & 2) {
            const a = K_(r);
            Vit(a);
          }
        }
        function $8e(r) {
          Gn(
            r,
            32
            /* Export */
          ) && Y8e(r);
        }
        function X8e(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 = st(
              a,
              a.escapedText,
              2998271,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              true
            );
            if (!(l && (l === ne || l === Se || l.declarations && u0(bt(l.declarations[0]))))) {
              const f = l && (l.flags & 2097152 ? Fl(l) : l);
              (!f || N_(f) & 111551) && (Y8e(r), V$(a));
            }
            return;
          }
        }
        function Q8e(r) {
          if (F.emitDecoratorMetadata) {
            const a = Nn(r.modifiers, ol);
            if (!a)
              return;
            switch (bl(
              a,
              16
              /* Metadata */
            ), r.kind) {
              case 264:
                const l = Ag(r);
                if (l)
                  for (const x of l.parameters)
                    RE(xX(x));
                break;
              case 178:
              case 179:
                const f = r.kind === 178 ? 179 : 178, d = Ao(yn(r), f);
                RE(x2(r) || d && x2(d));
                break;
              case 175:
                for (const x of r.parameters)
                  RE(xX(x));
                RE(K_(r));
                break;
              case 173:
                RE(Qc(r));
                break;
              case 170:
                RE(xX(r));
                const y = r.parent;
                for (const x of y.parameters)
                  RE(xX(x));
                RE(K_(y));
                break;
            }
          }
        }
        function IM(r, a) {
          if (Ce && rT(
            r,
            /*excludes*/
            111551
            /* Value */
          ) && !mx(a)) {
            const l = Fl(r);
            N_(
              r,
              /*excludeTypeOnlyMeanings*/
              true
            ) & 1160127 && (Rp(F) || Oy(F) && V8e(a) || !jI(_t(l))) && q$(r);
          }
        }
        function q$(r) {
          E.assert(Ce);
          const a = Pn(r);
          if (!a.referenced) {
            a.referenced = true;
            const l = P_(r);
            if (!l) return E.fail();
            if (tS(l) && N_(jc(r)) & 111551) {
              const f = e_(l.moduleReference);
              V$(f);
            }
          }
        }
        function Y8e(r) {
          const a = yn(r), l = Fl(a);
          l && (l === Y || N_(
            a,
            /*excludeTypeOnlyMeanings*/
            true
          ) & 111551 && !jI(l)) && q$(a);
        }
        function Z8e(r, a) {
          if (!r) return;
          const l = e_(r), f = (r.kind === 80 ? 788968 : 1920) | 2097152, d = st(
            l,
            l.escapedText,
            f,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            true
          );
          if (d && d.flags & 2097152) {
            if (Ce && ur(d) && !jI(Fl(d)) && !Jd(d))
              q$(d);
            else if (a && Rp(F) && Wu(F) >= 5 && !ur(d) && !ot(d.declarations, c0)) {
              const y = ze(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 = Nn(d.declarations || Ge, j0);
              x && Js(y, sn(x, p._0_was_imported_here, An(l)));
            }
          }
        }
        function Vit(r) {
          Z8e(
            r && P3(r),
            /*forDecoratorMetadata*/
            false
          );
        }
        function RE(r) {
          const a = Tme(r);
          a && Zu(a) && Z8e(
            a,
            /*forDecoratorMetadata*/
            true
          );
        }
        function qit(r, a) {
          var l;
          const f = Yr(r), d = r.valueDeclaration;
          if (d) {
            if (ha(d) && !d.initializer && !d.dotDotDotToken && d.parent.elements.length >= 2) {
              const y = d.parent.parent, x = om(y);
              if (x.kind === 261 && R2(x) & 6 || x.kind === 170) {
                const I = xn(y);
                if (!(I.flags & 4194304)) {
                  I.flags |= 4194304;
                  const J = ii(
                    y,
                    0
                    /* Normal */
                  ), z = J && Vo(J, Fm);
                  if (I.flags &= -4194305, z && z.flags & 1048576 && !(x.kind === 170 && dde(x))) {
                    const G = d.parent, ve = e0(
                      G,
                      z,
                      z,
                      /*flowContainer*/
                      void 0,
                      a.flowNode
                    );
                    return ve.flags & 131072 ? nr : g1(
                      d,
                      ve,
                      /*noTupleBoundsCheck*/
                      true
                    );
                  }
                }
              }
            }
            if (Ii(d) && !d.type && !d.initializer && !d.dotDotDotToken) {
              const y = d.parent;
              if (y.parameters.length >= 2 && g$(y)) {
                const x = vI(y);
                if (x && x.parameters.length === 1 && wu(x)) {
                  const I = sP(Mi(Yr(x.parameters[0]), (l = O2(y)) == null ? void 0 : l.nonFixingMapper));
                  if (I.flags & 1048576 && U_(I, ba) && !ot(y.parameters, dde)) {
                    const J = e0(
                      y,
                      I,
                      I,
                      /*flowContainer*/
                      void 0,
                      a.flowNode
                    ), z = y.parameters.indexOf(d) - (Ab(y) ? 1 : 0);
                    return mf(J, qd(z));
                  }
                }
              }
            }
          }
          return f;
        }
        function K8e(r, a) {
          if (Ib(r)) return;
          if (a === ie) {
            if (Bde(
              r,
              /*ignoreArrowFunctions*/
              true
            )) {
              ze(r, p.arguments_cannot_be_referenced_in_property_initializers_or_class_static_initialization_blocks);
              return;
            }
            let y = Df(r);
            if (y)
              for (R < 2 && (y.kind === 220 ? ze(r, p.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES5_Consider_using_a_standard_function_expression) : Gn(
                y,
                1024
                /* Async */
              ) && ze(r, p.The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES5_Consider_using_a_standard_function_or_method)), xn(y).flags |= 512; y && bo(y); )
                y = Df(y), y && (xn(y).flags |= 512);
            return;
          }
          const l = _t(a), f = Lme(l, r);
          $u(f) && fpe(r, f) && f.declarations && $p(r, f.declarations, r.escapedText);
          const d = l.valueDeclaration;
          if (d && l.flags & 32 && $n(d) && d.name !== r) {
            let y = zu(
              r,
              /*includeArrowFunctions*/
              false,
              /*includeClassComputedPropertyName*/
              false
            );
            for (; y.kind !== 308 && y.parent !== d; )
              y = zu(
                y,
                /*includeArrowFunctions*/
                false,
                /*includeClassComputedPropertyName*/
                false
              );
            y.kind !== 308 && (xn(d).flags |= 262144, xn(y).flags |= 262144, xn(r).flags |= 536870912);
          }
          Qit(r, a);
        }
        function Hit(r, a) {
          if (Ib(r))
            return FM(r);
          const l = Ou(r);
          if (l === Y)
            return qe;
          if (K8e(r, l), l === ie)
            return Bde(r) ? qe : Yr(l);
          eAe(r) && tC(
            r,
            1
            /* Identifier */
          );
          const f = _t(l);
          let d = f.valueDeclaration;
          const y = d;
          if (d && d.kind === 209 && ds(Hp, d.parent) && dr(r, (ir) => ir === d.parent))
            return rn;
          let x = qit(f, r);
          const I = Py(r);
          if (I) {
            if (!(f.flags & 3) && !(an(r) && f.flags & 512)) {
              const ir = 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 ze(r, ir, Wi(l)), qe;
            }
            if (Yd(f))
              return f.flags & 3 ? ze(r, p.Cannot_assign_to_0_because_it_is_a_constant, Wi(l)) : ze(r, p.Cannot_assign_to_0_because_it_is_a_read_only_property, Wi(l)), qe;
          }
          const J = f.flags & 2097152;
          if (f.flags & 3) {
            if (I === 1)
              return AB(r) ? Yh(x) : x;
          } else if (J)
            d = P_(l);
          else
            return x;
          if (!d)
            return x;
          x = mde(x, r, a);
          const z = om(d).kind === 170, G = vP(d);
          let ve = vP(r);
          const de = ve !== G, We = r.parent && r.parent.parent && Bg(r.parent) && _de(r.parent.parent), lt = l.flags & 134217728, gt = x === mt || x === Nl, jt = gt && r.parent.kind === 236;
          for (; ve !== G && (ve.kind === 219 || ve.kind === 220 || Z7(ve)) && (eC(f) && x !== Nl || hI(f) && j8e(f, r)); )
            ve = vP(ve);
          const ar = y && ei(y) && !y.initializer && !y.exclamationToken && z8e(y) && !Rit(l), jr = z || J || de && !ar || We || lt || Git(r, d) || x !== mt && x !== Nl && (!K || (x.flags & 16387) !== 0 || mx(r) || ide(r) || r.parent.kind === 282) || r.parent.kind === 236 || d.kind === 261 && d.exclamationToken || d.flags & 33554432, Kr = jt ? ue : jr ? z ? zit(x, d) : x : gt ? ue : k1(x), or = jt ? Zh(e0(r, x, Kr, ve)) : e0(r, x, Kr, ve);
          if (!M8e(r) && (x === mt || x === Nl)) {
            if (or === mt || or === Nl)
              return fe && (ze(us(d), p.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined, Wi(l), Wr(or)), ze(r, p.Variable_0_implicitly_has_an_1_type, Wi(l), Wr(or))), MI(or);
          } else if (!jr && !FE(x) && FE(or))
            return ze(r, p.Variable_0_is_used_before_being_assigned, Wi(l)), x;
          return I ? Yh(or) : or;
        }
        function Git(r, a) {
          if (ha(a)) {
            const l = dr(r, ha);
            return l && om(l) === om(a);
          }
        }
        function eAe(r) {
          var a;
          const l = r.parent;
          if (l) {
            if (wn(l) && l.expression === r || Eu(l) && l.isTypeOnly)
              return false;
            const f = (a = l.parent) == null ? void 0 : a.parent;
            if (f && Mc(f) && f.isTypeOnly)
              return false;
          }
          return true;
        }
        function $it(r, a) {
          return !!dr(r, (l) => l === a ? "quit" : Cs(l) || l.parent && as(l.parent) && !sl(l.parent) && l.parent.initializer === l);
        }
        function Xit(r, a) {
          return dr(r, (l) => l === a ? "quit" : l === a.initializer || l === a.condition || l === a.incrementor || l === a.statement);
        }
        function hde(r) {
          return dr(r, (a) => !a || JB(a) ? "quit" : xy(
            a,
            /*lookInLabeledStatements*/
            false
          ));
        }
        function Qit(r, a) {
          if (R >= 2 || (a.flags & 34) === 0 || !a.valueDeclaration || Di(a.valueDeclaration) || a.valueDeclaration.parent.kind === 300)
            return;
          const l = xd(a.valueDeclaration), f = $it(r, l), d = hde(l);
          if (d) {
            if (f) {
              let y = true;
              if (tv(l)) {
                const x = q1(
                  a.valueDeclaration,
                  262
                  /* VariableDeclarationList */
                );
                if (x && x.parent === l) {
                  const I = Xit(r.parent, l);
                  if (I) {
                    const J = xn(I);
                    J.flags |= 8192;
                    const z = J.capturedBlockScopeBindings || (J.capturedBlockScopeBindings = []);
                    Yf(z, a), I === l.initializer && (y = false);
                  }
                }
              }
              y && (xn(d).flags |= 4096);
            }
            if (tv(l)) {
              const y = q1(
                a.valueDeclaration,
                262
                /* VariableDeclarationList */
              );
              y && y.parent === l && Zit(r, l) && (xn(a.valueDeclaration).flags |= 65536);
            }
            xn(a.valueDeclaration).flags |= 32768;
          }
          f && (xn(a.valueDeclaration).flags |= 16384);
        }
        function Yit(r, a) {
          const l = xn(r);
          return !!l && ds(l.capturedBlockScopeBindings, yn(a));
        }
        function Zit(r, a) {
          let l = r;
          for (; l.parent.kind === 218; )
            l = l.parent;
          let f = false;
          if (Ny(l))
            f = true;
          else if (l.parent.kind === 225 || l.parent.kind === 226) {
            const d = l.parent;
            f = d.operator === 46 || d.operator === 47;
          }
          return f ? !!dr(l, (d) => d === a ? "quit" : d === a.statement) : false;
        }
        function yde(r, a) {
          if (xn(r).flags |= 2, a.kind === 173 || a.kind === 177) {
            const l = a.parent;
            xn(l).flags |= 4;
          } else
            xn(a).flags |= 4;
        }
        function tAe(r) {
          return eS(r) ? r : Cs(r) ? void 0 : Ts(r, tAe);
        }
        function vde(r) {
          const a = yn(r), l = ho(a);
          return Vh(l) === ke;
        }
        function rAe(r, a, l) {
          const f = a.parent;
          Pb(f) && !vde(f) && zC(r) && r.flowNode && !W$(
            r.flowNode,
            /*noCacheCheck*/
            false
          ) && ze(r, l);
        }
        function Kit(r, a) {
          as(a) && sl(a) && U && a.initializer && QP(a.initializer, r.pos) && Pf(a.parent) && ze(r, p.Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class);
        }
        function FM(r) {
          const a = mx(r);
          let l = zu(
            r,
            /*includeArrowFunctions*/
            true,
            /*includeClassComputedPropertyName*/
            true
          ), f = false, d = false;
          for (l.kind === 177 && rAe(r, l, p.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class); ; ) {
            if (l.kind === 220 && (l = zu(
              l,
              /*includeArrowFunctions*/
              false,
              !d
            ), f = true), l.kind === 168) {
              l = zu(
                l,
                !f,
                /*includeClassComputedPropertyName*/
                false
              ), d = true;
              continue;
            }
            break;
          }
          if (Kit(r, l), d)
            ze(r, p.this_cannot_be_referenced_in_a_computed_property_name);
          else
            switch (l.kind) {
              case 268:
                ze(r, p.this_cannot_be_referenced_in_a_module_or_namespace_body);
                break;
              case 267:
                ze(r, p.this_cannot_be_referenced_in_current_location);
                break;
            }
          !a && f && R < 2 && yde(r, l);
          const y = bde(
            r,
            /*includeGlobalThis*/
            true,
            l
          );
          if (he) {
            const x = Yr(Se);
            if (y === x && f)
              ze(r, p.The_containing_arrow_function_captures_the_global_value_of_this);
            else if (!y) {
              const I = ze(r, p.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);
              if (!Di(l)) {
                const J = bde(l);
                J && J !== x && Js(I, sn(l, p.An_outer_value_of_this_is_shadowed_by_this_container));
              }
            }
          }
          return y || Le;
        }
        function bde(r, a = true, l = zu(
          r,
          /*includeArrowFunctions*/
          false,
          /*includeClassComputedPropertyName*/
          false
        )) {
          const f = an(r);
          if (Cs(l) && (!xde(r) || Ab(l))) {
            let d = JG(l) || f && rst(l);
            if (!d) {
              const y = tst(l);
              if (f && y) {
                const x = Hi(y).symbol;
                x && x.members && x.flags & 16 && (d = ho(x).thisType);
              } else Rm(l) && (d = ho(Ia(l.symbol)).thisType);
              d || (d = Sde(l));
            }
            if (d)
              return e0(r, d);
          }
          if ($n(l.parent)) {
            const d = yn(l.parent), y = Bs(l) ? Yr(d) : ho(d).thisType;
            return e0(r, y);
          }
          if (Di(l))
            if (l.commonJsModuleIndicator) {
              const d = yn(l);
              return d && Yr(d);
            } else {
              if (l.externalModuleIndicator)
                return ue;
              if (a)
                return Yr(Se);
            }
        }
        function est(r) {
          const a = zu(
            r,
            /*includeArrowFunctions*/
            false,
            /*includeClassComputedPropertyName*/
            false
          );
          if (Cs(a)) {
            const l = qf(a);
            if (l.thisParameter)
              return J$(l.thisParameter);
          }
          if ($n(a.parent)) {
            const l = yn(a.parent);
            return Bs(a) ? Yr(l) : ho(l).thisType;
          }
        }
        function tst(r) {
          if (r.kind === 219 && _n(r.parent) && wc(r.parent) === 3)
            return r.parent.left.expression.expression;
          if (r.kind === 175 && r.parent.kind === 211 && _n(r.parent.parent) && wc(r.parent.parent) === 6)
            return r.parent.parent.left.expression;
          if (r.kind === 219 && r.parent.kind === 304 && r.parent.parent.kind === 211 && _n(r.parent.parent.parent) && wc(r.parent.parent.parent) === 6)
            return r.parent.parent.parent.left.expression;
          if (r.kind === 219 && Kc(r.parent) && Me(r.parent.name) && (r.parent.name.escapedText === "value" || r.parent.name.escapedText === "get" || r.parent.name.escapedText === "set") && ua(r.parent.parent) && ws(r.parent.parent.parent) && r.parent.parent.parent.arguments[2] === r.parent.parent && wc(r.parent.parent.parent) === 9)
            return r.parent.parent.parent.arguments[0].expression;
          if (Ko(r) && Me(r.name) && (r.name.escapedText === "value" || r.name.escapedText === "get" || r.name.escapedText === "set") && ua(r.parent) && ws(r.parent.parent) && r.parent.parent.arguments[2] === r.parent && wc(r.parent.parent) === 9)
            return r.parent.parent.arguments[0].expression;
        }
        function rst(r) {
          const a = y7(r);
          if (a && a.typeExpression)
            return Ci(a.typeExpression);
          const l = oP(r);
          if (l)
            return Qv(l);
        }
        function nst(r, a) {
          return !!dr(r, (l) => to(l) ? "quit" : l.kind === 170 && l.parent === a);
        }
        function H$(r) {
          const a = r.parent.kind === 214 && r.parent.expression === r, l = D3(
            r,
            /*stopOnFunctions*/
            true
          );
          let f = l, d = false, y = false;
          if (!a) {
            for (; f && f.kind === 220; )
              Gn(
                f,
                1024
                /* Async */
              ) && (y = true), f = D3(
                f,
                /*stopOnFunctions*/
                true
              ), d = R < 2;
            f && Gn(
              f,
              1024
              /* Async */
            ) && (y = true);
          }
          let x = 0;
          if (!f || !G(f)) {
            const ve = dr(
              r,
              (de) => de === f ? "quit" : de.kind === 168
              /* ComputedPropertyName */
            );
            return ve && ve.kind === 168 ? ze(r, p.super_cannot_be_referenced_in_a_computed_property_name) : a ? ze(r, p.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors) : !f || !f.parent || !($n(f.parent) || f.parent.kind === 211) ? ze(r, p.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions) : ze(r, p.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class), qe;
          }
          if (!a && l.kind === 177 && rAe(r, f, p.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class), Bs(f) || a ? (x = 32, !a && R >= 2 && R <= 8 && (as(f) || Sc(f)) && rK(r.parent, (ve) => {
            (!Di(ve) || Y_(ve)) && (xn(ve).flags |= 2097152);
          })) : x = 16, xn(r).flags |= x, f.kind === 175 && y && (O_(r.parent) && Ny(r.parent) ? xn(f).flags |= 256 : xn(f).flags |= 128), d && yde(r.parent, f), f.parent.kind === 211)
            return R < 2 ? (ze(r, p.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher), qe) : Le;
          const I = f.parent;
          if (!Pb(I))
            return ze(r, p.super_can_only_be_referenced_in_a_derived_class), qe;
          if (vde(I))
            return a ? qe : ke;
          const J = ho(yn(I)), z = J && gd(J)[0];
          if (!z)
            return qe;
          if (f.kind === 177 && nst(r, f))
            return ze(r, p.super_cannot_be_referenced_in_constructor_arguments), qe;
          return x === 32 ? Vh(J) : df(z, J.thisType);
          function G(ve) {
            return a ? ve.kind === 177 : $n(ve.parent) || ve.parent.kind === 211 ? Bs(ve) ? ve.kind === 175 || ve.kind === 174 || ve.kind === 178 || ve.kind === 179 || ve.kind === 173 || ve.kind === 176 : ve.kind === 175 || ve.kind === 174 || ve.kind === 178 || ve.kind === 179 || ve.kind === 173 || ve.kind === 172 || ve.kind === 177 : false;
          }
        }
        function nAe(r) {
          return (r.kind === 175 || r.kind === 178 || r.kind === 179) && r.parent.kind === 211 ? r.parent : r.kind === 219 && r.parent.kind === 304 ? r.parent.parent : void 0;
        }
        function iAe(r) {
          return Dn(r) & 4 && r.target === xf ? wo(r)[0] : void 0;
        }
        function ist(r) {
          return Vo(r, (a) => a.flags & 2097152 ? lr(a.types, iAe) : iAe(a));
        }
        function sAe(r, a) {
          let l = r, f = a;
          for (; f; ) {
            const d = ist(f);
            if (d)
              return d;
            if (l.parent.kind !== 304)
              break;
            l = l.parent.parent, f = sb(
              l,
              /*contextFlags*/
              void 0
            );
          }
        }
        function Sde(r) {
          if (r.kind === 220)
            return;
          if (g$(r)) {
            const l = vI(r);
            if (l) {
              const f = l.thisParameter;
              if (f)
                return Yr(f);
            }
          }
          const a = an(r);
          if (he || a) {
            const l = nAe(r);
            if (l) {
              const d = sb(
                l,
                /*contextFlags*/
                void 0
              ), y = sAe(l, d);
              return y ? Mi(y, Xpe(O2(l))) : hf(d ? Zh(d) : fc(l));
            }
            const f = rd(r.parent);
            if (El(f)) {
              const d = f.left;
              if (vo(d)) {
                const { expression: y } = d;
                if (a && Me(y)) {
                  const x = xr(f);
                  if (x.commonJsModuleIndicator && Ou(y) === x.symbol)
                    return;
                }
                return hf(fc(y));
              }
            }
          }
        }
        function aAe(r) {
          const a = r.parent;
          if (!g$(a))
            return;
          const l = J1(a);
          if (l && l.arguments) {
            const d = uX(l), y = a.parameters.indexOf(r);
            if (r.dotDotDotToken)
              return Gde(
                d,
                y,
                d.length,
                Le,
                /*context*/
                void 0,
                0
                /* Normal */
              );
            const x = xn(l), I = x.resolvedSignature;
            x.resolvedSignature = Hr;
            const J = y < d.length ? rb(Hi(d[y])) : r.initializer ? void 0 : M;
            return x.resolvedSignature = I, J;
          }
          const f = vI(a);
          if (f) {
            const d = a.parameters.indexOf(r) - (Ab(a) ? 1 : 0);
            return r.dotDotDotToken && ko(a.parameters) === r ? GM(f, d) : M2(f, d);
          }
        }
        function Tde(r, a) {
          const l = Qc(r) || (an(r) ? cF(r) : void 0);
          if (l)
            return Ci(l);
          switch (r.kind) {
            case 170:
              return aAe(r);
            case 209:
              return sst(r, a);
            case 173:
              if (Bs(r))
                return ast(r, a);
          }
        }
        function sst(r, a) {
          const l = r.parent.parent, f = r.propertyName || r.name, d = Tde(l, a) || l.kind !== 209 && l.initializer && SP(
            l,
            r.dotDotDotToken ? 32 : 0
            /* Normal */
          );
          if (!d || Ds(f) || b3(f)) return;
          if (l.name.kind === 208) {
            const x = AC(r.parent.elements, r);
            return x < 0 ? void 0 : wde(d, x);
          }
          const y = Hh(f);
          if (op(y)) {
            const x = cp(y);
            return rr(d, x);
          }
        }
        function ast(r, a) {
          const l = ut(r.parent) && f_(r.parent, a);
          if (l)
            return ib(l, yn(r).escapedName);
        }
        function ost(r, a) {
          const l = r.parent;
          if (l0(l) && r === l.initializer) {
            const f = Tde(l, a);
            if (f)
              return f;
            if (!(a & 8) && Ds(l.name) && l.name.elements.length > 0)
              return Kw(
                l.name,
                /*includePatternInType*/
                true,
                /*reportErrors*/
                false
              );
          }
        }
        function cst(r, a) {
          const l = Df(r);
          if (l) {
            let f = G$(l, a);
            if (f) {
              const d = Fc(l);
              if (d & 1) {
                const y = (d & 2) !== 0;
                f.flags & 1048576 && (f = Hc(f, (I) => !!ry(1, I, y)));
                const x = ry(1, f, (d & 2) !== 0);
                if (!x)
                  return;
                f = x;
              }
              if (d & 2) {
                const y = Vo(f, t0);
                return y && Xn([y, EIe(y)]);
              }
              return f;
            }
          }
        }
        function lst(r, a) {
          const l = f_(r, a);
          if (l) {
            const f = t0(l);
            return f && Xn([f, EIe(f)]);
          }
        }
        function ust(r, a) {
          const l = Df(r);
          if (l) {
            const f = Fc(l);
            let d = G$(l, a);
            if (d) {
              const y = (f & 2) !== 0;
              if (!r.asteriskToken && d.flags & 1048576 && (d = Hc(d, (x) => !!ry(1, x, y))), r.asteriskToken) {
                const x = Fme(d, y), I = x?.yieldType ?? kt, J = f_(r, a) ?? kt, z = x?.nextType ?? yt, G = mX(
                  I,
                  J,
                  z,
                  /*isAsyncGenerator*/
                  false
                );
                if (y) {
                  const ve = mX(
                    I,
                    J,
                    z,
                    /*isAsyncGenerator*/
                    true
                  );
                  return Xn([G, ve]);
                }
                return G;
              }
              return ry(0, d, y);
            }
          }
        }
        function xde(r) {
          let a = false;
          for (; r.parent && !Cs(r.parent); ) {
            if (Ii(r.parent) && (a || r.parent.initializer === r))
              return true;
            ha(r.parent) && r.parent.initializer === r && (a = true), r = r.parent;
          }
          return false;
        }
        function oAe(r, a) {
          const l = !!(Fc(a) & 2), f = G$(
            a,
            /*contextFlags*/
            void 0
          );
          if (f)
            return ry(r, f, l) || void 0;
        }
        function G$(r, a) {
          const l = DE(r);
          if (l)
            return l;
          const f = Z$(r);
          if (f && !QG(f)) {
            const y = Ba(f), x = Fc(r);
            return x & 1 ? Hc(y, (I) => !!(I.flags & 58998787) || hme(
              I,
              x,
              /*errorNode*/
              void 0
            )) : x & 2 ? Hc(y, (I) => !!(I.flags & 58998787) || !!kP(I)) : y;
          }
          const d = J1(r);
          if (d)
            return f_(d, a);
        }
        function cAe(r, a) {
          const f = uX(r).indexOf(a);
          return f === -1 ? void 0 : kde(r, f);
        }
        function kde(r, a) {
          if (y_(r))
            return a === 0 ? at : a === 1 ? j3e(
              /*reportErrors*/
              false
            ) : Le;
          const l = xn(r).resolvedSignature === ln ? ln : JE(r);
          if (ku(r) && a === 0)
            return Y$(l, r);
          const f = l.parameters.length - 1;
          return wu(l) && a >= f ? mf(
            Yr(l.parameters[f]),
            qd(a - f),
            256
            /* Contextual */
          ) : Xd(l, a);
        }
        function _st(r) {
          const a = ome(r);
          return a ? vT(a) : void 0;
        }
        function fst(r, a) {
          if (r.parent.kind === 216)
            return cAe(r.parent, a);
        }
        function pst(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 ? mst(l) : void 0;
            case 57:
            case 61:
              const x = f_(l, a);
              return r === y && (x && x.pattern || !x && !kK(l)) ? su(f) : x;
            case 56:
            case 28:
              return r === y ? f_(l, a) : void 0;
            default:
              return;
          }
        }
        function dst(r) {
          if (Td(r) && r.symbol)
            return r.symbol;
          if (Me(r))
            return Ou(r);
          if (wn(r)) {
            const l = su(r.expression);
            return Ai(r.name) ? a(l, r.name) : Qs(l, r.name.escapedText);
          }
          if (oo(r)) {
            const l = fc(r.argumentExpression);
            if (!op(l))
              return;
            const f = su(r.expression);
            return Qs(f, cp(l));
          }
          return;
          function a(l, f) {
            const d = JM(f.escapedText, f);
            return d && aX(l, d);
          }
        }
        function mst(r) {
          var a, l;
          const f = wc(r);
          switch (f) {
            case 0:
            case 4:
              const d = dst(r.left), y = d && d.valueDeclaration;
              if (y && (as(y) || Vu(y))) {
                const J = Qc(y);
                return J && Mi(Ci(J), Pn(d).mapper) || (as(y) ? y.initializer && su(r.left) : void 0);
              }
              return f === 0 ? su(r.left) : lAe(r);
            case 5:
              if ($$(r, f))
                return lAe(r);
              if (!Td(r.left) || !r.left.symbol)
                return su(r.left);
              {
                const J = r.left.symbol.valueDeclaration;
                if (!J)
                  return;
                const z = Ws(r.left, vo), G = Qc(J);
                if (G)
                  return Ci(G);
                if (Me(z.expression)) {
                  const ve = z.expression, de = st(
                    ve,
                    ve.escapedText,
                    111551,
                    /*nameNotFoundMessage*/
                    void 0,
                    /*isUse*/
                    true
                  );
                  if (de) {
                    const We = de.valueDeclaration && Qc(de.valueDeclaration);
                    if (We) {
                      const lt = gh(z);
                      if (lt !== void 0)
                        return ib(Ci(We), lt);
                    }
                    return;
                  }
                }
                return an(J) || J === r.left ? void 0 : su(r.left);
              }
            case 1:
            case 6:
            case 3:
            case 2:
              let x;
              f !== 2 && (x = Td(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 && Qc(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 $$(r, a = wc(r)) {
          if (a === 4)
            return true;
          if (!an(r) || a !== 5 || !Me(r.left.expression))
            return false;
          const l = r.left.expression.escapedText, f = st(
            r.left,
            l,
            111551,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            true,
            /*excludeGlobals*/
            true
          );
          return n5(f?.valueDeclaration);
        }
        function lAe(r) {
          if (!r.symbol) return su(r.left);
          if (r.symbol.valueDeclaration) {
            const d = Qc(r.symbol.valueDeclaration);
            if (d) {
              const y = Ci(d);
              if (y)
                return y;
            }
          }
          const a = Ws(r.left, vo);
          if (!Fp(zu(
            a.expression,
            /*includeArrowFunctions*/
            false,
            /*includeClassComputedPropertyName*/
            false
          )))
            return;
          const l = FM(a.expression), f = gh(a);
          return f !== void 0 && ib(l, f) || void 0;
        }
        function gst(r) {
          return !!(oc(r) & 262144 && !r.links.type && X(
            r,
            0
            /* Type */
          ) >= 0);
        }
        function Cde(r, a) {
          if (r.flags & 16777216) {
            const l = r;
            return !!(Yp(S1(l)).flags & 131072) && $h(T1(l)) === $h(l.checkType) && Ls(a, l.extendsType);
          }
          return r.flags & 2097152 ? ot(r.types, (l) => Cde(l, a)) : false;
        }
        function ib(r, a, l) {
          return Vo(
            r,
            (f) => {
              if (f.flags & 2097152) {
                let d, y, x = false;
                for (const I of f.types) {
                  if (!(I.flags & 524288))
                    continue;
                  if (A_(I) && $A(I) !== 2) {
                    const z = uAe(I, a, l);
                    d = Ede(d, z);
                    continue;
                  }
                  const J = _Ae(I, a);
                  if (!J) {
                    x || (y = Er(y, I));
                    continue;
                  }
                  x = true, y = void 0, d = Ede(d, J);
                }
                if (y)
                  for (const I of y) {
                    const J = fAe(I, a, l);
                    d = Ede(d, J);
                  }
                return d ? d.length === 1 ? d[0] : ia(d) : void 0;
              }
              if (f.flags & 524288)
                return A_(f) && $A(f) !== 2 ? uAe(f, a, l) : _Ae(f, a) ?? fAe(f, a, l);
            },
            /*noReductions*/
            true
          );
        }
        function Ede(r, a) {
          return a ? Er(r, a.flags & 1 ? yt : a) : r;
        }
        function uAe(r, a, l) {
          const f = l || W_(Si(a)), d = Vf(r);
          if (r.nameType && Cde(r.nameType, f) || Cde(d, f))
            return;
          const y = nu(d) || d;
          if (Ls(f, y))
            return u$(r, f);
        }
        function _Ae(r, a) {
          const l = Qs(r, a);
          if (!(!l || gst(l)))
            return Kh(Yr(l), !!(l.flags & 16777216));
        }
        function fAe(r, a, l) {
          var f;
          if (ba(r) && Mg(a) && +a >= 0) {
            const d = mP(
              r,
              r.target.fixedLength,
              /*endSkipCount*/
              0,
              /*writing*/
              false,
              /*noReductions*/
              true
            );
            if (d)
              return d;
          }
          return (f = Bfe(Jfe(r), l || W_(Si(a)))) == null ? void 0 : f.type;
        }
        function pAe(r, a) {
          if (E.assert(Fp(r)), !(r.flags & 67108864))
            return Dde(r, a);
        }
        function Dde(r, a) {
          const l = r.parent, f = Kc(r) && Tde(r, a);
          if (f)
            return f;
          const d = sb(l, a);
          if (d) {
            if (CE(r)) {
              const y = yn(r);
              return ib(d, y.escapedName, Pn(y).nameType);
            }
            if (hh(r)) {
              const y = us(r);
              if (y && Hs(y)) {
                const x = Hi(y.expression), I = op(x) && ib(d, cp(x));
                if (I)
                  return I;
              }
            }
            if (r.name) {
              const y = Hh(r.name);
              return Vo(
                d,
                (x) => {
                  var I;
                  return (I = Bfe(Jfe(x), y)) == null ? void 0 : I.type;
                },
                /*noReductions*/
                true
              );
            }
          }
        }
        function hst(r) {
          let a, l;
          for (let f = 0; f < r.length; f++)
            up(r[f]) && (a ?? (a = f), l = f);
          return { first: a, last: l };
        }
        function wde(r, a, l, f, d) {
          return r && Vo(
            r,
            (y) => {
              if (ba(y)) {
                if ((f === void 0 || a < f) && a < y.target.fixedLength)
                  return Kh(wo(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 ? eI(
                  y.target,
                  3
                  /* Fixed */
                ) : 0;
                return x > 0 && x <= I ? wo(y)[Y0(y) - x] : mP(
                  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*/
                  false,
                  /*noReductions*/
                  true
                );
              }
              return (!f || a < f) && ib(y, "" + a) || wme(
                1,
                y,
                ue,
                /*errorNode*/
                void 0,
                /*checkAssignability*/
                false
              );
            },
            /*noReductions*/
            true
          );
        }
        function yst(r, a) {
          const l = r.parent;
          return r === l.whenTrue || r === l.whenFalse ? f_(l, a) : void 0;
        }
        function vst(r, a, l) {
          const f = sb(r.openingElement.attributes, l), d = RM(OT(r));
          if (!(f && !gn(f) && d && d !== ""))
            return;
          const y = qC(r.children), x = y.indexOf(a), I = ib(f, d);
          return I && (y.length === 1 ? I : Vo(
            I,
            (J) => K0(J) ? mf(J, qd(x)) : J,
            /*noReductions*/
            true
          ));
        }
        function bst(r, a) {
          const l = r.parent;
          return N7(l) ? f_(r, a) : hm(l) ? vst(l, r, a) : void 0;
        }
        function dAe(r, a) {
          if (ym(r)) {
            const l = sb(r.parent, a);
            return !l || gn(l) ? void 0 : ib(l, yD(r.name));
          } else
            return f_(r.parent, a);
        }
        function OM(r) {
          switch (r.kind) {
            case 11:
            case 9:
            case 10:
            case 15:
            case 229:
            case 112:
            case 97:
            case 106:
            case 80:
            case 157:
              return true;
            case 212:
            case 218:
              return OM(r.expression);
            case 295:
              return !r.expression || OM(r.expression);
          }
          return false;
        }
        function Sst(r, a) {
          const l = `D${Oa(r)},${Ol(a)}`;
          return c_(l) ?? Gp(
            l,
            _it(a, r) ?? Fpe(
              a,
              Bi(
                hr(
                  kn(r.properties, (f) => f.symbol ? f.kind === 304 ? OM(f.initializer) && gP(a, f.symbol.escapedName) : f.kind === 305 ? gP(a, f.symbol.escapedName) : false : false),
                  (f) => [() => eR(f.kind === 304 ? f.initializer : f.name), f.symbol.escapedName]
                ),
                hr(
                  kn(qa(a), (f) => {
                    var d;
                    return !!(f.flags & 16777216) && !!((d = r?.symbol) != null && d.members) && !r.symbol.members.has(f.escapedName) && gP(a, f.escapedName);
                  }),
                  (f) => [() => ue, f.escapedName]
                )
              ),
              Ls
            )
          );
        }
        function Tst(r, a) {
          const l = `D${Oa(r)},${Ol(a)}`, f = c_(l);
          if (f) return f;
          const d = RM(OT(r));
          return Gp(
            l,
            Fpe(
              a,
              Bi(
                hr(
                  kn(r.properties, (y) => !!y.symbol && y.kind === 292 && gP(a, y.symbol.escapedName) && (!y.initializer || OM(y.initializer))),
                  (y) => [y.initializer ? () => eR(y.initializer) : () => rt, y.symbol.escapedName]
                ),
                hr(
                  kn(qa(a), (y) => {
                    var x;
                    if (!(y.flags & 16777216) || !((x = r?.symbol) != null && x.members))
                      return false;
                    const I = r.parent.parent;
                    return y.escapedName === d && hm(I) && qC(I.children).length ? false : !r.symbol.members.has(y.escapedName) && gP(a, y.escapedName);
                  }),
                  (y) => [() => ue, y.escapedName]
                )
              ),
              Ls
            )
          );
        }
        function sb(r, a) {
          const l = Fp(r) ? pAe(r, a) : f_(r, a), f = X$(l, r, a);
          if (f && !(a && a & 2 && f.flags & 8650752)) {
            const d = Vo(
              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) => Dn(y) & 32 ? y : Qu(y),
              /*noReductions*/
              true
            );
            return d.flags & 1048576 && ua(r) ? Sst(r, d) : d.flags & 1048576 && qb(r) ? Tst(r, d) : d;
          }
        }
        function X$(r, a, l) {
          if (r && kc(
            r,
            465829888
            /* Instantiable */
          )) {
            const f = O2(a);
            if (f && l & 1 && ot(f.inferences, yct))
              return Q$(r, f.nonFixingMapper);
            if (f?.returnMapper) {
              const d = Q$(r, f.returnMapper);
              return d.flags & 1048576 && nh(d.types, Pr) && nh(d.types, vt) ? Hc(d, (y) => y !== Pr && y !== vt) : d;
            }
          }
          return r;
        }
        function Q$(r, a) {
          return r.flags & 465829888 ? Mi(r, a) : r.flags & 1048576 ? Xn(
            hr(r.types, (l) => Q$(l, a)),
            0
            /* None */
          ) : r.flags & 2097152 ? ia(hr(r.types, (l) => Q$(l, a))) : r;
        }
        function f_(r, a) {
          var l;
          if (r.flags & 67108864)
            return;
          const f = gAe(
            r,
            /*includeCaches*/
            !a
          );
          if (f >= 0)
            return D_[f];
          const { parent: d } = r;
          switch (d.kind) {
            case 261:
            case 170:
            case 173:
            case 172:
            case 209:
              return ost(r, a);
            case 220:
            case 254:
              return cst(r, a);
            case 230:
              return ust(d, a);
            case 224:
              return lst(d, a);
            case 214:
            case 215:
              return cAe(d, r);
            case 171:
              return _st(d);
            case 217:
            case 235:
              return Kp(d.type) ? f_(d, a) : Ci(d.type);
            case 227:
              return pst(r, a);
            case 304:
            case 305:
              return Dde(d, a);
            case 306:
              return f_(d.parent, a);
            case 210: {
              const y = d, x = sb(y, a), I = AC(y.elements, r), J = (l = xn(y)).spreadIndices ?? (l.spreadIndices = hst(y.elements));
              return wde(x, I, y.elements.length, J.first, J.last);
            }
            case 228:
              return yst(r, a);
            case 240:
              return E.assert(
                d.parent.kind === 229
                /* TemplateExpression */
              ), fst(d.parent, r);
            case 218: {
              if (an(d)) {
                if (zJ(d))
                  return Ci(WJ(d));
                const y = M1(d);
                if (y && !Kp(y.typeExpression.type))
                  return Ci(y.typeExpression.type);
              }
              return f_(d, a);
            }
            case 236:
              return f_(d, a);
            case 239:
              return Ci(d.type);
            case 278:
              return y1(d);
            case 295:
              return bst(d, a);
            case 292:
            case 294:
              return dAe(d, a);
            case 287:
            case 286:
              return Nst(d, a);
            case 302:
              return Pst(d);
          }
        }
        function mAe(r) {
          LM(
            r,
            f_(
              r,
              /*contextFlags*/
              void 0
            ),
            /*isCache*/
            true
          );
        }
        function LM(r, a, l) {
          Bo[Vl] = r, D_[Vl] = a, qp[Vl] = l, Vl++;
        }
        function yI() {
          Vl--, Bo[Vl] = void 0, D_[Vl] = void 0, qp[Vl] = void 0;
        }
        function gAe(r, a) {
          for (let l = Vl - 1; l >= 0; l--)
            if (r === Bo[l] && (a || !qp[l]))
              return l;
          return -1;
        }
        function xst(r, a) {
          _f[Dm] = r, xv[Dm] = a, Dm++;
        }
        function kst() {
          Dm--, _f[Dm] = void 0, xv[Dm] = void 0;
        }
        function O2(r) {
          for (let a = Dm - 1; a >= 0; a--)
            if (wb(r, _f[a]))
              return xv[a];
        }
        function Cst(r) {
          rg[ng] = r, kv[ng] ?? (kv[ng] = /* @__PURE__ */ new Map()), ng++;
        }
        function Est() {
          ng--, rg[ng] = void 0, kv[ng].clear();
        }
        function Dst(r) {
          for (let a = ng - 1; a >= 0; a--)
            if (r === rg[a])
              return a;
          return -1;
        }
        function wst() {
          for (let r = ng - 1; r >= 0; r--)
            kv[r].clear();
        }
        function Pst(r) {
          return ib(Zfe(
            /*reportErrors*/
            false
          ), lF(r));
        }
        function Nst(r, a) {
          if (wd(r) && a !== 4) {
            const l = gAe(
              r.parent,
              /*includeCaches*/
              !a
            );
            if (l >= 0)
              return D_[l];
          }
          return kde(r, 0);
        }
        function Y$(r, a) {
          return ad(a) || eIe(a) !== 0 ? Ast(r, a) : Ost(r, a);
        }
        function Ast(r, a) {
          let l = sme(r, yt);
          l = hAe(a, OT(a), l);
          const f = L2(Ff.IntrinsicAttributes, a);
          return Gr(f) || (l = QL(f, l)), l;
        }
        function Ist(r, a) {
          if (r.compositeSignatures) {
            const f = [];
            for (const d of r.compositeSignatures) {
              const y = Ba(d);
              if (gn(y))
                return y;
              const x = rr(y, a);
              if (!x)
                return;
              f.push(x);
            }
            return ia(f);
          }
          const l = Ba(r);
          return gn(l) ? l : rr(l, a);
        }
        function Fst(r) {
          if (ad(r)) return uIe(r);
          if (nC(r.tagName)) {
            const l = DAe(r), f = _X(r, l);
            return vT(f);
          }
          const a = fc(r.tagName);
          if (a.flags & 128) {
            const l = EAe(a, r);
            if (!l)
              return qe;
            const f = _X(r, l);
            return vT(f);
          }
          return a;
        }
        function hAe(r, a, l) {
          const f = nat(a);
          if (f) {
            const d = Fst(r), y = NAe(f, an(r), d, l);
            if (y)
              return y;
          }
          return l;
        }
        function Ost(r, a) {
          const l = OT(a), f = sat(l);
          let d = f === void 0 ? sme(r, yt) : f === "" ? Ba(r) : Ist(r, f);
          if (!d)
            return f && wr(a.attributes.properties) && ze(a, p.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property, Si(f)), yt;
          if (d = hAe(a, l, d), gn(d))
            return d;
          {
            let y = d;
            const x = L2(Ff.IntrinsicClassAttributes, a);
            if (!Gr(x)) {
              const J = na(x.symbol), z = Ba(r);
              let G;
              if (J) {
                const ve = Q0([z], J, fg(J), an(a));
                G = Mi(x, gf(J, ve));
              } else G = x;
              y = QL(G, y);
            }
            const I = L2(Ff.IntrinsicAttributes, a);
            return Gr(I) || (y = QL(I, y)), y;
          }
        }
        function Lst(r) {
          return uu(F, "noImplicitAny") ? ju(
            r,
            (a, l) => a === l || !a ? a : ZPe(a.typeParameters, l.typeParameters) ? jst(a, l) : void 0
          ) : void 0;
        }
        function Mst(r, a, l) {
          if (!r || !a)
            return r || a;
          const f = Xn([Yr(r), Mi(Yr(a), l)]);
          return wT(r, f);
        }
        function Rst(r, a, l) {
          const f = V_(r), d = V_(a), y = f >= d ? r : a, x = y === r ? a : r, I = y === r ? f : d, J = mg(r) || mg(a), z = J && !mg(y), G = new Array(I + (z ? 1 : 0));
          for (let ve = 0; ve < I; ve++) {
            let de = M2(y, ve);
            y === a && (de = Mi(de, l));
            let We = M2(x, ve) || yt;
            x === a && (We = Mi(We, l));
            const lt = Xn([de, We]), gt = J && !z && ve === I - 1, jt = ve >= Qd(y) && ve >= Qd(x), ar = ve >= f ? void 0 : bP(r, ve), jr = ve >= d ? void 0 : bP(a, ve), Kr = ar === jr ? ar : ar ? jr ? void 0 : ar : jr, or = ma(
              1 | (jt && !gt ? 16777216 : 0),
              Kr || `arg${ve}`,
              gt ? 32768 : jt ? 16384 : 0
            );
            or.links.type = gt ? yu(lt) : lt, G[ve] = or;
          }
          if (z) {
            const ve = ma(
              1,
              "args",
              32768
              /* RestParameter */
            );
            ve.links.type = yu(Xd(x, I)), x === a && (ve.links.type = Mi(ve.links.type, l)), G[I] = ve;
          }
          return G;
        }
        function jst(r, a) {
          const l = r.typeParameters || a.typeParameters;
          let f;
          r.typeParameters && a.typeParameters && (f = gf(a.typeParameters, r.typeParameters));
          let d = (r.flags | a.flags) & 166;
          const y = r.declaration, x = Rst(r, a, f), I = ko(x);
          I && oc(I) & 32768 && (d |= 1);
          const J = Mst(r.thisParameter, a.thisParameter, f), z = Math.max(r.minArgumentCount, a.minArgumentCount), G = Im(
            y,
            l,
            J,
            x,
            /*resolvedReturnType*/
            void 0,
            /*resolvedTypePredicate*/
            void 0,
            z,
            d
          );
          return G.compositeKind = 2097152, G.compositeSignatures = Bi(r.compositeKind === 2097152 && r.compositeSignatures || [r], [a]), f && (G.mapper = r.compositeKind === 2097152 && r.mapper && r.compositeSignatures ? Kv(r.mapper, f) : f), G;
        }
        function Pde(r, a) {
          const l = As(
            r,
            0
            /* Call */
          ), f = kn(l, (d) => !Bst(d, a));
          return f.length === 1 ? f[0] : Lst(f);
        }
        function Bst(r, a) {
          let l = 0;
          for (; l < a.parameters.length; l++) {
            const f = a.parameters[l];
            if (f.initializer || f.questionToken || f.dotDotDotToken || oF(f))
              break;
          }
          return a.parameters.length && Ay(a.parameters[0]) && l--, !mg(r) && V_(r) < l;
        }
        function Z$(r) {
          return My(r) || Fp(r) ? vI(r) : void 0;
        }
        function vI(r) {
          E.assert(r.kind !== 175 || Fp(r));
          const a = oP(r);
          if (a)
            return a;
          const l = sb(
            r,
            1
            /* Signature */
          );
          if (!l)
            return;
          if (!(l.flags & 1048576))
            return Pde(l, r);
          let f;
          const d = l.types;
          for (const y of d) {
            const x = Pde(y, r);
            if (x)
              if (!f)
                f = [x];
              else if (vM(
                f[0],
                x,
                /*partialMatch*/
                false,
                /*ignoreThisTypes*/
                true,
                /*ignoreReturnTypes*/
                true,
                aI
              ))
                f.push(x);
              else
                return;
          }
          if (f)
            return f.length === 1 ? f[0] : QPe(f[0], f);
        }
        function Jst(r) {
          const a = xr(r);
          if (!w1(a) && !r.isUnterminated) {
            let l;
            s ?? (s = Tg(
              99,
              /*skipTrivia*/
              true
            )), 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 = Sx(a.fileName, a.text, x, d, f, y);
                Js(l, I);
              } else (!l || x !== l.start) && (l = al(a, x, d, f, y), Pa.add(l));
            }), s.setText(a.text, r.pos, r.end - r.pos);
            try {
              return s.scan(), E.assert(s.reScanSlashToken(
                /*reportErrors*/
                true
              ) === 14, "Expected scanner to rescan RegularExpressionLiteral"), !!l;
            } finally {
              s.setText(""), s.setOnError(
                /*onError*/
                void 0
              );
            }
          }
          return false;
        }
        function zst(r) {
          const a = xn(r);
          return a.flags & 1 || (a.flags |= 1, n(() => Jst(r))), gc;
        }
        function Wst(r, a) {
          R < Tl.SpreadElements && bl(
            r,
            F.downlevelIteration ? 1536 : 1024
            /* SpreadArray */
          );
          const l = Hi(r.expression, a);
          return ty(33, l, ue, r.expression);
        }
        function Ust(r) {
          return r.isSpread ? mf(r.type, wt) : r.type;
        }
        function rC(r) {
          return r.kind === 209 && !!r.initializer || r.kind === 304 && rC(r.initializer) || r.kind === 305 && !!r.objectAssignmentInitializer || r.kind === 227 && r.operatorToken.kind === 64;
        }
        function Vst(r) {
          const a = rd(r.parent);
          return up(a) && tm(a.parent);
        }
        function yAe(r, a, l) {
          const f = r.elements, d = f.length, y = [], x = [];
          mAe(r);
          const I = Ny(r), J = TP(r), z = sb(
            r,
            /*contextFlags*/
            void 0
          ), G = Vst(r) || !!z && kp(z, (de) => dP(de) || A_(de) && !de.nameType && !!iI(de.target || de));
          let ve = false;
          for (let de = 0; de < d; de++) {
            const We = f[de];
            if (We.kind === 231) {
              R < Tl.SpreadElements && bl(
                We,
                F.downlevelIteration ? 1536 : 1024
                /* SpreadArray */
              );
              const lt = Hi(We.expression, a, l);
              if (K0(lt))
                y.push(lt), x.push(
                  8
                  /* Variadic */
                );
              else if (I) {
                const gt = Xv(lt, wt) || wme(
                  65,
                  lt,
                  ue,
                  /*errorNode*/
                  void 0,
                  /*checkAssignability*/
                  false
                ) || yt;
                y.push(gt), x.push(
                  4
                  /* Rest */
                );
              } else
                y.push(ty(33, lt, ue, We.expression)), x.push(
                  4
                  /* Rest */
                );
            } else if (be && We.kind === 233)
              ve = true, y.push(Q), x.push(
                2
                /* Optional */
              );
            else {
              const lt = xP(We, a, l);
              if (y.push(Fu(
                lt,
                /*isProperty*/
                true,
                ve
              )), x.push(
                ve ? 2 : 1
                /* Required */
              ), G && a && a & 2 && !(a & 4) && Hf(We)) {
                const gt = O2(r);
                E.assert(gt), Gpe(gt, We, lt);
              }
            }
          }
          return yI(), I ? pg(y, x) : vAe(l || J || G ? pg(
            y,
            x,
            /*readonly*/
            J && !(z && kp(z, jpe))
          ) : yu(
            y.length ? Xn(
              Gc(y, (de, We) => x[We] & 8 ? b1(de, wt) || Le : de),
              2
              /* Subtype */
            ) : K ? cr : M,
            J
          ));
        }
        function vAe(r) {
          if (!(Dn(r) & 4))
            return r;
          let a = r.literalType;
          return a || (a = r.literalType = C3e(r), a.objectFlags |= 147456), a;
        }
        function qst(r) {
          switch (r.kind) {
            case 168:
              return Hst(r);
            case 80:
              return Mg(r.escapedText);
            case 9:
            case 11:
              return Mg(r.text);
            default:
              return false;
          }
        }
        function Hst(r) {
          return iu(
            yd(r),
            296
            /* NumberLike */
          );
        }
        function yd(r) {
          const a = xn(r.expression);
          if (!a.resolvedType) {
            if ((r_(r.parent.parent) || $n(r.parent.parent) || Jl(r.parent.parent)) && _n(r.expression) && r.expression.operatorToken.kind === 103 && r.parent.kind !== 178 && r.parent.kind !== 179)
              return a.resolvedType = qe;
            if (a.resolvedType = Hi(r.expression), as(r.parent) && !sl(r.parent) && Oc(r.parent.parent)) {
              const l = xd(r.parent.parent), f = hde(l);
              f && (xn(f).flags |= 4096, xn(r).flags |= 32768, xn(r.parent.parent).flags |= 32768);
            }
            (a.resolvedType.flags & 98304 || !iu(
              a.resolvedType,
              402665900
              /* ESSymbolLike */
            ) && !Ls(a.resolvedType, oi)) && ze(r, p.A_computed_property_name_must_be_of_type_string_number_symbol_or_any);
          }
          return a.resolvedType;
        }
        function Gst(r) {
          var a;
          const l = (a = r.declarations) == null ? void 0 : a[0];
          return Mg(r.escapedName) || l && kl(l) && qst(l.name);
        }
        function bAe(r) {
          var a;
          const l = (a = r.declarations) == null ? void 0 : a[0];
          return G4(r) || l && kl(l) && Hs(l.name) && iu(
            yd(l.name),
            4096
            /* ESSymbol */
          );
        }
        function $st(r) {
          var a;
          const l = (a = r.declarations) == null ? void 0 : a[0];
          return l && kl(l) && Hs(l.name);
        }
        function bI(r, a, l, f) {
          var d;
          const y = [];
          let x;
          for (let J = a; J < l.length; J++) {
            const z = l[J];
            (f === at && !bAe(z) || f === wt && Gst(z) || f === Jt && bAe(z)) && (y.push(Yr(l[J])), $st(l[J]) && (x = Er(x, (d = l[J].declarations) == null ? void 0 : d[0])));
          }
          const I = y.length ? Xn(
            y,
            2
            /* Subtype */
          ) : ue;
          return rh(
            f,
            I,
            r,
            /*declaration*/
            void 0,
            x
          );
        }
        function K$(r) {
          E.assert((r.flags & 2097152) !== 0, "Should only get Alias here.");
          const a = Pn(r);
          if (!a.immediateTarget) {
            const l = P_(r);
            if (!l) return E.fail();
            a.immediateTarget = Jv(
              l,
              /*dontRecursivelyResolve*/
              true
            );
          }
          return a.immediateTarget;
        }
        function Xst(r, a = 0) {
          const l = Ny(r);
          cft(r, l);
          const f = K ? js() : void 0;
          let d = js(), y = [], x = ea;
          mAe(r);
          const I = sb(
            r,
            /*contextFlags*/
            void 0
          ), J = I && I.pattern && (I.pattern.kind === 207 || I.pattern.kind === 211), z = TP(r), G = z ? 8 : 0, ve = an(r) && !o5(r), de = ve ? Fj(r) : void 0, We = !I && ve && !de;
          let lt = 8192, gt = false, jt = false, ar = false, jr = false;
          for (const ir of r.properties)
            ir.name && Hs(ir.name) && yd(ir.name);
          let Kr = 0;
          for (const ir of r.properties) {
            let nn = yn(ir);
            const Qn = ir.name && ir.name.kind === 168 ? yd(ir.name) : void 0;
            if (ir.kind === 304 || ir.kind === 305 || Fp(ir)) {
              let Ri = ir.kind === 304 ? zIe(ir, 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'".
                ir.kind === 305 ? xP(!l && ir.objectAssignmentInitializer ? ir.objectAssignmentInitializer : ir.name, a) : WIe(ir, a)
              );
              if (ve) {
                const xs = La(ir);
                xs ? (vu(Ri, xs, ir), Ri = xs) : de && de.typeExpression && vu(Ri, Ci(de.typeExpression), ir);
              }
              lt |= Dn(Ri) & 458752;
              const zn = Qn && op(Qn) ? Qn : void 0, bi = zn ? ma(
                4 | nn.flags,
                cp(zn),
                G | 4096
                /* Late */
              ) : ma(4 | nn.flags, nn.escapedName, G);
              if (zn && (bi.links.nameType = zn), l && rC(ir))
                bi.flags |= 16777216;
              else if (J && !(Dn(I) & 512)) {
                const xs = Qs(I, nn.escapedName);
                xs ? bi.flags |= xs.flags & 16777216 : th(I, at) || ze(ir.name, p.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, Wi(nn), Wr(I));
              }
              if (bi.declarations = nn.declarations, bi.parent = nn.parent, nn.valueDeclaration && (bi.valueDeclaration = nn.valueDeclaration), bi.links.type = Ri, bi.links.target = nn, nn = bi, f?.set(bi.escapedName, bi), I && a & 2 && !(a & 4) && (ir.kind === 304 || ir.kind === 175) && Hf(ir)) {
                const xs = O2(r);
                E.assert(xs);
                const Ja = ir.kind === 304 ? ir.initializer : ir;
                Gpe(xs, Ja, Ri);
              }
            } else if (ir.kind === 306) {
              R < Tl.ObjectAssign && bl(
                ir,
                2
                /* Assign */
              ), y.length > 0 && (x = w2(x, or(), r.symbol, lt, z), y = [], d = js(), jt = false, ar = false, jr = false);
              const Ri = Yp(Hi(
                ir.expression,
                a & 2
                /* Inferential */
              ));
              if (MM(Ri)) {
                const zn = ype(Ri, z);
                if (f && xAe(zn, f, ir), Kr = y.length, Gr(x))
                  continue;
                x = w2(x, zn, r.symbol, lt, z);
              } else
                ze(ir, p.Spread_types_may_only_be_created_from_object_types), x = qe;
              continue;
            } else
              E.assert(
                ir.kind === 178 || ir.kind === 179
                /* SetAccessor */
              ), sC(ir);
            Qn && !(Qn.flags & 8576) ? Ls(Qn, oi) && (Ls(Qn, wt) ? ar = true : Ls(Qn, Jt) ? jr = true : jt = true, l && (gt = true)) : d.set(nn.escapedName, nn), y.push(nn);
          }
          if (yI(), Gr(x))
            return qe;
          if (x !== ea)
            return y.length > 0 && (x = w2(x, or(), r.symbol, lt, z), y = [], d = js(), jt = false, ar = false), Vo(x, (ir) => ir === ea ? or() : ir);
          return or();
          function or() {
            const ir = [], nn = TP(r);
            jt && ir.push(bI(nn, Kr, y, at)), ar && ir.push(bI(nn, Kr, y, wt)), jr && ir.push(bI(nn, Kr, y, Jt));
            const Qn = Uo(r.symbol, d, Ge, Ge, ir);
            return Qn.objectFlags |= lt | 128 | 131072, We && (Qn.objectFlags |= 4096), gt && (Qn.objectFlags |= 512), l && (Qn.pattern = r), Qn;
          }
        }
        function MM(r) {
          const a = i8e(Vo(r, Fm));
          return !!(a.flags & 126615553 || a.flags & 3145728 && Ni(a.types, MM));
        }
        function Qst(r) {
          Ade(r);
        }
        function Yst(r, a) {
          return sC(r), jM(r) || Le;
        }
        function Zst(r) {
          Ade(r.openingElement), nC(r.closingElement.tagName) ? tX(r.closingElement) : Hi(r.closingElement.tagName), eX(r);
        }
        function Kst(r, a) {
          return sC(r), jM(r) || Le;
        }
        function eat(r) {
          Ade(r.openingFragment);
          const a = xr(r);
          H5(F) && (F.jsxFactory || a.pragmas.has("jsx")) && !F.jsxFragmentFactory && !a.pragmas.has("jsxfrag") && ze(
            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
          ), eX(r);
          const l = jM(r);
          return Gr(l) ? Le : l;
        }
        function Nde(r) {
          return r.includes("-");
        }
        function nC(r) {
          return Me(r) && HC(r.escapedText) || Pd(r);
        }
        function SAe(r, a) {
          return r.initializer ? xP(r.initializer, a) : rt;
        }
        function TAe(r, a = 0) {
          const l = K ? js() : void 0;
          let f = js(), d = xc, y = false, x, I = false, J = 2048;
          const z = RM(OT(r)), G = ad(r);
          let ve, de = r;
          if (!G) {
            const gt = r.attributes;
            ve = gt.symbol, de = gt;
            const jt = f_(
              gt,
              0
              /* None */
            );
            for (const ar of gt.properties) {
              const jr = ar.symbol;
              if (ym(ar)) {
                const Kr = SAe(ar, a);
                J |= Dn(Kr) & 458752;
                const or = ma(4 | jr.flags, jr.escapedName);
                if (or.declarations = jr.declarations, or.parent = jr.parent, jr.valueDeclaration && (or.valueDeclaration = jr.valueDeclaration), or.links.type = Kr, or.links.target = jr, f.set(or.escapedName, or), l?.set(or.escapedName, or), yD(ar.name) === z && (I = true), jt) {
                  const ir = Qs(jt, jr.escapedName);
                  ir && ir.declarations && $u(ir) && Me(ar.name) && $p(ar.name, ir.declarations, ar.name.escapedText);
                }
                if (jt && a & 2 && !(a & 4) && Hf(ar)) {
                  const ir = O2(gt);
                  E.assert(ir);
                  const nn = ar.initializer.expression;
                  Gpe(ir, nn, Kr);
                }
              } else {
                E.assert(
                  ar.kind === 294
                  /* JsxSpreadAttribute */
                ), f.size > 0 && (d = w2(
                  d,
                  lt(),
                  gt.symbol,
                  J,
                  /*readonly*/
                  false
                ), f = js());
                const Kr = Yp(Hi(
                  ar.expression,
                  a & 2
                  /* Inferential */
                ));
                gn(Kr) && (y = true), MM(Kr) ? (d = w2(
                  d,
                  Kr,
                  gt.symbol,
                  J,
                  /*readonly*/
                  false
                ), l && xAe(Kr, l, ar)) : (ze(ar.expression, p.Spread_types_may_only_be_created_from_object_types), x = x ? ia([x, Kr]) : Kr);
              }
            }
            y || f.size > 0 && (d = w2(
              d,
              lt(),
              gt.symbol,
              J,
              /*readonly*/
              false
            ));
          }
          const We = r.parent;
          if ((hm(We) && We.openingElement === r || nv(We) && We.openingFragment === r) && qC(We.children).length > 0) {
            const gt = eX(We, a);
            if (!y && z && z !== "") {
              I && ze(de, p._0_are_specified_twice_The_attribute_named_0_will_be_overwritten, Si(z));
              const jt = wd(r) ? sb(
                r.attributes,
                /*contextFlags*/
                void 0
              ) : void 0, ar = jt && ib(jt, z), jr = ma(4, z);
              jr.links.type = gt.length === 1 ? gt[0] : ar && kp(ar, dP) ? pg(gt) : yu(Xn(gt)), jr.valueDeclaration = N.createPropertySignature(
                /*modifiers*/
                void 0,
                Si(z),
                /*questionToken*/
                void 0,
                /*type*/
                void 0
              ), ja(jr.valueDeclaration, de), jr.valueDeclaration.symbol = jr;
              const Kr = js();
              Kr.set(z, jr), d = w2(
                d,
                Uo(ve, Kr, Ge, Ge, Ge),
                ve,
                J,
                /*readonly*/
                false
              );
            }
          }
          if (y)
            return Le;
          if (x && d !== xc)
            return ia([x, d]);
          return x || (d === xc ? lt() : d);
          function lt() {
            return J |= 8192, tat(J, ve, f);
          }
        }
        function tat(r, a, l) {
          const f = Uo(a, l, Ge, Ge, Ge);
          return f.objectFlags |= r | 8192 | 128 | 131072, f;
        }
        function eX(r, a) {
          const l = [];
          for (const f of r.children)
            if (f.kind === 12)
              f.containsOnlyTriviaWhiteSpaces || l.push(at);
            else {
              if (f.kind === 295 && !f.expression)
                continue;
              l.push(xP(f, a));
            }
          return l;
        }
        function xAe(r, a, l) {
          for (const f of qa(r))
            if (!(f.flags & 16777216)) {
              const d = a.get(f.escapedName);
              if (d) {
                const y = ze(d.valueDeclaration, p._0_is_specified_more_than_once_so_this_usage_will_be_overwritten, Si(d.escapedName));
                Js(y, sn(l, p.This_spread_always_overwrites_this_property));
              }
            }
        }
        function rat(r, a) {
          return TAe(r.parent, a);
        }
        function L2(r, a) {
          const l = OT(a), f = l && ff(l), d = f && ql(
            f,
            r,
            788968
            /* Type */
          );
          return d ? ho(d) : qe;
        }
        function tX(r) {
          const a = xn(r);
          if (!a.resolvedSymbol) {
            const l = L2(Ff.IntrinsicElements, r);
            if (Gr(l))
              return fe && ze(r, p.JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists, Si(Ff.IntrinsicElements)), a.resolvedSymbol = Y;
            {
              if (!Me(r.tagName) && !Pd(r.tagName)) return E.fail();
              const f = Pd(r.tagName) ? wx(r.tagName) : r.tagName.escapedText, d = Qs(l, f);
              if (d)
                return a.jsxFlags |= 1, a.resolvedSymbol = d;
              const y = X7e(l, W_(Si(f)));
              return y ? (a.jsxFlags |= 2, a.resolvedSymbol = y) : Rn(l, f) ? (a.jsxFlags |= 2, a.resolvedSymbol = l.symbol) : (ze(r, p.Property_0_does_not_exist_on_type_1, UJ(r.tagName), "JSX." + Ff.IntrinsicElements), a.resolvedSymbol = Y);
            }
          }
          return a.resolvedSymbol;
        }
        function rX(r) {
          const a = r && xr(r), l = a && xn(a);
          if (l && l.jsxImplicitImportContainer === false)
            return;
          if (l && l.jsxImplicitImportContainer)
            return l.jsxImplicitImportContainer;
          const f = G5(mN(F, a), F);
          if (!f)
            return;
          const y = Cu(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 = jft(a, f), I = iT(x || r, f, y, r), J = I && I !== Y ? Ia(jc(I)) : void 0;
          return l && (l.jsxImplicitImportContainer = J || false), J;
        }
        function OT(r) {
          const a = r && xn(r);
          if (a && a.jsxNamespace)
            return a.jsxNamespace;
          if (!a || a.jsxNamespace !== false) {
            let f = rX(r);
            if (!f || f === Y) {
              const d = ld(r);
              f = st(
                r,
                d,
                1920,
                /*nameNotFoundMessage*/
                void 0,
                /*isUse*/
                false
              );
            }
            if (f) {
              const d = jc(ql(
                ff(jc(f)),
                Ff.JSX,
                1920
                /* Namespace */
              ));
              if (d && d !== Y)
                return a && (a.jsxNamespace = d), d;
            }
            a && (a.jsxNamespace = false);
          }
          const l = jc(AE(
            Ff.JSX,
            1920,
            /*diagnostic*/
            void 0
          ));
          if (l !== Y)
            return l;
        }
        function kAe(r, a) {
          const l = a && ql(
            a.exports,
            r,
            788968
            /* Type */
          ), f = l && ho(l), d = f && qa(f);
          if (d) {
            if (d.length === 0)
              return "";
            if (d.length === 1)
              return d[0].escapedName;
            d.length > 1 && l.declarations && ze(l.declarations[0], p.The_global_type_JSX_0_may_not_have_more_than_one_property, Si(r));
          }
        }
        function nat(r) {
          return r && ql(
            r.exports,
            Ff.LibraryManagedAttributes,
            788968
            /* Type */
          );
        }
        function iat(r) {
          return r && ql(
            r.exports,
            Ff.ElementType,
            788968
            /* Type */
          );
        }
        function sat(r) {
          return kAe(Ff.ElementAttributesPropertyNameContainer, r);
        }
        function RM(r) {
          return F.jsx === 4 || F.jsx === 5 ? "children" : kAe(Ff.ElementChildrenAttributeNameContainer, r);
        }
        function CAe(r, a) {
          if (r.flags & 4)
            return [Hr];
          if (r.flags & 128) {
            const d = EAe(r, a);
            return d ? [_X(a, d)] : (ze(a, p.Property_0_does_not_exist_on_type_1, r.value, "JSX." + Ff.IntrinsicElements), Ge);
          }
          const l = Qu(r);
          let f = As(
            l,
            1
            /* Construct */
          );
          return f.length === 0 && (f = As(
            l,
            0
            /* Call */
          )), f.length === 0 && l.flags & 1048576 && (f = Pfe(hr(l.types, (d) => CAe(d, a)))), f;
        }
        function EAe(r, a) {
          const l = L2(Ff.IntrinsicElements, a);
          if (!Gr(l)) {
            const f = r.value, d = Qs(l, Zo(f));
            if (d)
              return Yr(d);
            const y = Xv(l, at);
            return y || void 0;
          }
          return Le;
        }
        function aat(r, a, l) {
          if (r === 1) {
            const d = PAe(l);
            d && Sp(a, d, du, l.tagName, p.Its_return_type_0_is_not_a_valid_JSX_element, f);
          } else if (r === 0) {
            const d = wAe(l);
            d && Sp(a, d, du, l.tagName, p.Its_instance_type_0_is_not_a_valid_JSX_element, f);
          } else {
            const d = PAe(l), y = wAe(l);
            if (!d || !y)
              return;
            const x = Xn([d, y]);
            Sp(a, x, du, l.tagName, p.Its_element_type_0_is_not_a_valid_JSX_element, f);
          }
          function f() {
            const d = Go(l.tagName);
            return Ss(
              /*details*/
              void 0,
              p._0_cannot_be_used_as_a_JSX_component,
              d
            );
          }
        }
        function DAe(r) {
          var a;
          E.assert(nC(r.tagName));
          const l = xn(r);
          if (!l.resolvedJsxElementAttributesType) {
            const f = tX(r);
            if (l.jsxFlags & 1)
              return l.resolvedJsxElementAttributesType = Yr(f) || qe;
            if (l.jsxFlags & 2) {
              const d = Pd(r.tagName) ? wx(r.tagName) : r.tagName.escapedText;
              return l.resolvedJsxElementAttributesType = ((a = Gk(L2(Ff.IntrinsicElements, r), d)) == null ? void 0 : a.type) || qe;
            } else
              return l.resolvedJsxElementAttributesType = qe;
          }
          return l.resolvedJsxElementAttributesType;
        }
        function wAe(r) {
          const a = L2(Ff.ElementClass, r);
          if (!Gr(a))
            return a;
        }
        function jM(r) {
          return L2(Ff.Element, r);
        }
        function PAe(r) {
          const a = jM(r);
          if (a)
            return Xn([a, Mt]);
        }
        function oat(r) {
          const a = OT(r);
          if (!a) return;
          const l = iat(a);
          if (!l) return;
          const f = NAe(l, an(r));
          if (!(!f || Gr(f)))
            return f;
        }
        function NAe(r, a, ...l) {
          const f = ho(r);
          if (r.flags & 524288) {
            const d = Pn(r).typeParameters;
            if (wr(d) >= l.length) {
              const y = Q0(l, d, l.length, a);
              return wr(y) === 0 ? f : PE(r, y);
            }
          }
          if (wr(f.typeParameters) >= l.length) {
            const d = Q0(l, f.typeParameters, l.length, a);
            return qh(f, d);
          }
        }
        function cat(r) {
          const a = L2(Ff.IntrinsicElements, r);
          return a ? qa(a) : Ge;
        }
        function lat(r) {
          (F.jsx || 0) === 0 && ze(r, p.Cannot_use_JSX_unless_the_jsx_flag_is_provided), jM(r) === void 0 && fe && ze(r, p.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist);
        }
        function Ade(r) {
          const a = ku(r);
          a && lft(r), lat(r), gde(r);
          const l = JE(r);
          if (pX(l, r), a) {
            const f = r, d = oat(f);
            if (d !== void 0) {
              const y = f.tagName, x = nC(y) ? W_(UJ(y)) : Hi(y);
              Sp(x, d, du, y, p.Its_type_0_is_not_a_valid_JSX_element_type, () => {
                const I = Go(y);
                return Ss(
                  /*details*/
                  void 0,
                  p._0_cannot_be_used_as_a_JSX_component,
                  I
                );
              });
            } else
              aat(eIe(f), Ba(l), f);
          }
        }
        function nX(r, a, l) {
          if (r.flags & 524288 && (k2(r, a) || Gk(r, a) || HA(a) && th(r, at) || l && Nde(a)))
            return true;
          if (r.flags & 33554432)
            return nX(r.baseType, a, l);
          if (r.flags & 3145728 && SI(r)) {
            for (const f of r.types)
              if (nX(f, a, l))
                return true;
          }
          return false;
        }
        function SI(r) {
          return !!(r.flags & 524288 && !(Dn(r) & 512) || r.flags & 67108864 || r.flags & 33554432 && SI(r.baseType) || r.flags & 1048576 && ot(r.types, SI) || r.flags & 2097152 && Ni(r.types, SI));
        }
        function uat(r, a) {
          if (_ft(r), r.expression) {
            const l = Hi(r.expression, a);
            return r.dotDotDotToken && l !== Le && !Tp(l) && ze(r, p.JSX_spread_child_must_be_an_array_type), l;
          } else
            return qe;
        }
        function Ide(r) {
          return r.valueDeclaration ? R2(r.valueDeclaration) : 0;
        }
        function Fde(r) {
          if (r.flags & 8192 || oc(r) & 4)
            return true;
          if (an(r.valueDeclaration)) {
            const a = r.valueDeclaration.parent;
            return a && _n(a) && wc(a) === 3;
          }
        }
        function Ode(r, a, l, f, d, y = true) {
          const x = y ? r.kind === 167 ? r.right : r.kind === 206 ? r : r.kind === 209 && r.propertyName ? r.propertyName : r.name : void 0;
          return AAe(r, a, l, f, d, x);
        }
        function AAe(r, a, l, f, d, y) {
          var x;
          const I = ap(d, l);
          if (a) {
            if (R < 2 && IAe(d))
              return y && ze(y, p.Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword), false;
            if (I & 64)
              return y && ze(y, p.Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression, Wi(d), Wr(Zk(d))), false;
            if (!(I & 256) && ((x = d.declarations) != null && x.some(SZ)))
              return y && ze(y, p.Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super, Wi(d)), false;
          }
          if (I & 64 && IAe(d) && (w3(r) || SK(r) || Nf(r.parent) && n5(r.parent.parent))) {
            const z = Sh(vl(d));
            if (z && o_t(r))
              return y && ze(y, p.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor, Wi(d), np(z.name)), false;
          }
          if (!(I & 6))
            return true;
          if (I & 2) {
            const z = Sh(vl(d));
            return Bme(r, z) ? true : (y && ze(y, p.Property_0_is_private_and_only_accessible_within_class_1, Wi(d), Wr(Zk(d))), false);
          }
          if (a)
            return true;
          let J = G7e(r, (z) => {
            const G = ho(yn(z));
            return $Ne(G, d, l);
          });
          return !J && (J = _at(r), J = J && $Ne(J, d, l), I & 256 || !J) ? (y && ze(y, p.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses, Wi(d), Wr(Zk(d) || f)), false) : I & 256 ? true : (f.flags & 262144 && (f = f.isThisType ? __(f) : nu(f)), !f || !En(f, J) ? (y && ze(y, p.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2, Wi(d), Wr(J), Wr(f)), false) : true);
        }
        function _at(r) {
          const a = fat(r);
          let l = a?.type && Ci(a.type);
          if (l)
            l.flags & 262144 && (l = __(l));
          else {
            const f = zu(
              r,
              /*includeArrowFunctions*/
              false,
              /*includeClassComputedPropertyName*/
              false
            );
            Cs(f) && (l = Sde(f));
          }
          if (l && Dn(l) & 7)
            return Cr(l);
        }
        function fat(r) {
          const a = zu(
            r,
            /*includeArrowFunctions*/
            false,
            /*includeClassComputedPropertyName*/
            false
          );
          return a && Cs(a) ? Ab(a) : void 0;
        }
        function IAe(r) {
          return !!yM(r, (a) => !(a.flags & 8192));
        }
        function jE(r) {
          return Mm(Hi(r), r);
        }
        function BM(r) {
          return Gd2(
            r,
            50331648
            /* IsUndefinedOrNull */
          );
        }
        function Lde(r) {
          return BM(r) ? Zh(r) : r;
        }
        function pat(r, a) {
          const l = Za(r) ? Q_(r) : void 0;
          if (r.kind === 106) {
            ze(r, p.The_value_0_cannot_be_used_here, "null");
            return;
          }
          if (l !== void 0 && l.length < 100) {
            if (Me(r) && l === "undefined") {
              ze(r, p.The_value_0_cannot_be_used_here, "undefined");
              return;
            }
            ze(
              r,
              a & 16777216 ? a & 33554432 ? p._0_is_possibly_null_or_undefined : p._0_is_possibly_undefined : p._0_is_possibly_null,
              l
            );
          } else
            ze(
              r,
              a & 16777216 ? a & 33554432 ? p.Object_is_possibly_null_or_undefined : p.Object_is_possibly_undefined : p.Object_is_possibly_null
            );
        }
        function dat(r, a) {
          ze(
            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 FAe(r, a, l) {
          if (K && r.flags & 2) {
            if (Za(a)) {
              const d = Q_(a);
              if (d.length < 100)
                return ze(a, p._0_is_of_type_unknown, d), qe;
            }
            return ze(a, p.Object_is_of_type_unknown), qe;
          }
          const f = OE(
            r,
            50331648
            /* IsUndefinedOrNull */
          );
          if (f & 50331648) {
            l(a, f);
            const d = Zh(r);
            return d.flags & 229376 ? qe : d;
          }
          return r;
        }
        function Mm(r, a) {
          return FAe(r, a, pat);
        }
        function OAe(r, a) {
          const l = Mm(r, a);
          if (l.flags & 16384) {
            if (Za(a)) {
              const f = Q_(a);
              if (Me(a) && f === "undefined")
                return ze(a, p.The_value_0_cannot_be_used_here, f), l;
              if (f.length < 100)
                return ze(a, p._0_is_possibly_undefined, f), l;
            }
            ze(a, p.Object_is_possibly_undefined);
          }
          return l;
        }
        function iX(r, a, l) {
          return r.flags & 64 ? mat(r, a) : Rde(r, r.expression, jE(r.expression), r.name, a, l);
        }
        function mat(r, a) {
          const l = Hi(r.expression), f = uI(l, r.expression);
          return P$(Rde(r, r.expression, Mm(f, r.expression), r.name, a), r, f !== l);
        }
        function LAe(r, a) {
          const l = a5(r) && Iy(r.left) ? Mm(FM(r.left), r.left) : jE(r.left);
          return Rde(r, r.left, l, r.right, a);
        }
        function Mde(r) {
          for (; r.parent.kind === 218; )
            r = r.parent;
          return tm(r.parent) && r.parent.expression === r;
        }
        function JM(r, a) {
          for (let l = t5(a); l; l = jl(l)) {
            const { symbol: f } = l, d = X3(f, r), y = f.members && f.members.get(d) || f.exports && f.exports.get(d);
            if (y)
              return y;
          }
        }
        function gat(r) {
          if (!jl(r))
            return mr(r, p.Private_identifiers_are_not_allowed_outside_class_bodies);
          if (!wF(r.parent)) {
            if (!qm(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 (!sX(r) && !a)
              return mr(r, p.Cannot_find_name_0, An(r));
          }
          return false;
        }
        function hat(r) {
          gat(r);
          const a = sX(r);
          return a && WM(
            a,
            /*nodeForCheckWriteOnly*/
            void 0,
            /*isSelfTypeAccess*/
            false
          ), Le;
        }
        function sX(r) {
          if (!qm(r))
            return;
          const a = xn(r);
          return a.resolvedSymbol === void 0 && (a.resolvedSymbol = JM(r.escapedText, r)), a.resolvedSymbol;
        }
        function aX(r, a) {
          return Qs(r, a.escapedName);
        }
        function yat(r, a, l) {
          let f;
          const d = qa(r);
          d && lr(d, (x) => {
            const I = x.valueDeclaration;
            if (I && kl(I) && Ai(I.name) && I.name.escapedText === a.escapedText)
              return f = x, true;
          });
          const y = B_(a);
          if (f) {
            const x = E.checkDefined(f.valueDeclaration), I = E.checkDefined(jl(x));
            if (l?.valueDeclaration) {
              const J = l.valueDeclaration, z = jl(J);
              if (E.assert(!!z), dr(z, (G) => I === G)) {
                const G = ze(
                  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,
                  Wr(r)
                );
                return Js(
                  G,
                  sn(
                    J,
                    p.The_shadowing_declaration_of_0_is_defined_here,
                    y
                  ),
                  sn(
                    x,
                    p.The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here,
                    y
                  )
                ), true;
              }
            }
            return ze(
              a,
              p.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier,
              y,
              B_(I.name || CW)
            ), true;
          }
          return false;
        }
        function MAe(r, a) {
          return (Zg(a) || w3(r) && lg(a)) && zu(
            r,
            /*includeArrowFunctions*/
            true,
            /*includeClassComputedPropertyName*/
            false
          ) === tn(a);
        }
        function Rde(r, a, l, f, d, y) {
          const x = xn(a).resolvedSymbol, I = Py(r), J = Qu(I !== 0 || Mde(r) ? hf(l) : l), z = gn(J) || J === kt;
          let G;
          if (Ai(f)) {
            (R < Tl.PrivateNamesAndClassStaticBlocks || R < Tl.ClassAndClassElementDecorators || !$) && (I !== 0 && bl(
              r,
              1048576
              /* ClassPrivateFieldSet */
            ), I !== 1 && bl(
              r,
              524288
              /* ClassPrivateFieldGet */
            ));
            const de = JM(f.escapedText, f);
            if (I && de && de.valueDeclaration && Ko(de.valueDeclaration) && mr(f, p.Cannot_assign_to_private_method_0_Private_methods_are_not_writable, An(f)), z) {
              if (de)
                return Gr(J) ? qe : J;
              if (t5(f) === void 0)
                return mr(f, p.Private_identifiers_are_not_allowed_outside_class_bodies), Le;
            }
            if (G = de && aX(l, de), G === void 0) {
              if (yat(l, f, de))
                return qe;
              const We = t5(f);
              We && w4(xr(We), F.checkJs) && mr(f, p.Private_field_0_must_be_declared_in_an_enclosing_class, An(f));
            } else
              G.flags & 65536 && !(G.flags & 32768) && I !== 1 && ze(r, p.Private_accessor_was_defined_without_a_getter);
          } else {
            if (z)
              return Me(a) && x && tC(
                r,
                2,
                /*propSymbol*/
                void 0,
                l
              ), Gr(J) ? qe : J;
            G = Qs(
              J,
              f.escapedText,
              /*skipObjectFunctionPropertyAugment*/
              hX(J),
              /*includeTypeOnlyMembers*/
              r.kind === 167
              /* QualifiedName */
            );
          }
          tC(r, 2, G, l);
          let ve;
          if (G) {
            const de = Lme(G, f);
            if ($u(de) && fpe(r, de) && de.declarations && $p(f, de.declarations, f.escapedText), vat(G, r, f), WM(G, r, VAe(a, x)), xn(r).resolvedSymbol = G, Ode(r, a.kind === 108, vx(r), J, G), IIe(r, G, I))
              return ze(f, p.Cannot_assign_to_0_because_it_is_a_read_only_property, An(f)), qe;
            ve = MAe(r, G) ? mt : y || M5(r) ? G0(G) : Yr(G);
          } else {
            const de = !Ai(f) && (I === 0 || !xT(l) || hD(l)) ? Gk(J, f.escapedText) : void 0;
            if (!(de && de.type)) {
              const We = jde(
                r,
                l.symbol,
                /*excludeClasses*/
                true
              );
              return !We && tI(l) ? Le : l.symbol === Se ? (Se.exports.has(f.escapedText) && Se.exports.get(f.escapedText).flags & 418 ? ze(f, p.Property_0_does_not_exist_on_type_1, Si(f.escapedText), Wr(l)) : fe && ze(f, p.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature, Wr(l)), Le) : (f.escapedText && !s1(r) && jAe(f, hD(l) ? J : l, We), qe);
            }
            de.isReadonly && (Ny(r) || IB(r)) && ze(r, p.Index_signature_in_type_0_only_permits_reading, Wr(J)), ve = de.type, F.noUncheckedIndexedAccess && Py(r) !== 1 && (ve = Xn([ve, ye])), F.noPropertyAccessFromIndexSignature && wn(r) && ze(f, p.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0, Si(f.escapedText)), de.declaration && jd(de.declaration) && $p(f, [de.declaration], f.escapedText);
          }
          return RAe(r, G, ve, f, d);
        }
        function jde(r, a, l) {
          var f;
          const d = xr(r);
          if (d && F.checkJs === void 0 && d.checkJsDirective === void 0 && (d.scriptKind === 1 || d.scriptKind === 2)) {
            const y = lr(a?.declarations, xr), x = !a?.valueDeclaration || !$n(a.valueDeclaration) || ((f = a.valueDeclaration.heritageClauses) == null ? void 0 : f.length) || _0(
              /*useLegacyDecorators*/
              false,
              a.valueDeclaration
            );
            return !(d !== y && y && u0(y)) && !(l && a && a.flags & 32 && x) && !(r && l && wn(r) && r.expression.kind === 110 && x);
          }
          return false;
        }
        function RAe(r, a, l, f, d) {
          const y = Py(r);
          if (y === 1)
            return Kh(l, !!(a && a.flags & 16777216));
          if (a && !(a.flags & 98311) && !(a.flags & 8192 && l.flags & 1048576) && !OX(a.declarations))
            return l;
          if (l === mt)
            return oe(r, a);
          l = mde(l, r, d);
          let x = false;
          if (K && se && vo(r) && r.expression.kind === 110) {
            const J = a && a.valueDeclaration;
            if (J && O7e(J) && !Bs(J)) {
              const z = vP(r);
              z.kind === 177 && z.parent === J.parent && !(J.flags & 33554432) && (x = true);
            }
          } else K && a && a.valueDeclaration && wn(a.valueDeclaration) && j3(a.valueDeclaration) && vP(r) === vP(a.valueDeclaration) && (x = true);
          const I = e0(r, l, x ? k1(l) : l);
          return x && !FE(l) && FE(I) ? (ze(f, p.Property_0_is_used_before_being_assigned, Wi(a)), l) : y ? Yh(I) : I;
        }
        function vat(r, a, l) {
          const { valueDeclaration: f } = r;
          if (!f || xr(a).isDeclarationFile)
            return;
          let d;
          const y = An(l);
          Bde(a) && !Xet(f) && !(vo(a) && vo(a.expression)) && !Jh(f, l) && !(Ko(f) && VX(f) & 256) && ($ || !bat(r)) ? d = ze(l, p.Property_0_is_used_before_its_initialization, y) : f.kind === 264 && a.parent.kind !== 184 && !(f.flags & 33554432) && !Jh(f, l) && (d = ze(l, p.Class_0_used_before_its_declaration, y)), d && Js(d, sn(f, p._0_is_declared_here, y));
        }
        function Bde(r, a) {
          return !!dr(r, (l) => {
            switch (l.kind) {
              case 173:
              case 176:
                return true;
              case 187:
              case 288:
                return "quit";
              case 220:
                return a ? false : "quit";
              case 242:
                return to(l.parent) && l.parent.kind !== 220 ? "quit" : false;
              default:
                return false;
            }
          });
        }
        function bat(r) {
          if (!(r.parent.flags & 32))
            return false;
          let a = Yr(r.parent);
          for (; ; ) {
            if (a = a.symbol && Sat(a), !a)
              return false;
            const l = Qs(a, r.escapedName);
            if (l && l.valueDeclaration)
              return true;
          }
        }
        function Sat(r) {
          const a = gd(r);
          if (a.length !== 0)
            return ia(a);
        }
        function jAe(r, a, l) {
          const f = xn(r), d = f.nonExistentPropCheckCache || (f.nonExistentPropCheckCache = /* @__PURE__ */ new Set()), y = `${Ol(a)}|${l}`;
          if (d.has(y))
            return;
          d.add(y);
          let x, I;
          if (!Ai(r) && a.flags & 1048576 && !(a.flags & 402784252)) {
            for (const z of a.types)
              if (!Qs(z, r.escapedText) && !Gk(z, r.escapedText)) {
                x = Ss(x, p.Property_0_does_not_exist_on_type_1, so(r), Wr(z));
                break;
              }
          }
          if (BAe(r.escapedText, a)) {
            const z = so(r), G = Wr(a);
            x = Ss(x, p.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead, z, G, G + "." + z);
          } else {
            const z = II(a);
            if (z && Qs(z, r.escapedText))
              x = Ss(x, p.Property_0_does_not_exist_on_type_1, so(r), Wr(a)), I = sn(r, p.Did_you_forget_to_use_await);
            else {
              const G = so(r), ve = Wr(a), de = kat(G, a);
              if (de !== void 0)
                x = Ss(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, G, ve, de);
              else {
                const We = Jde(r, a);
                if (We !== void 0) {
                  const lt = sc(We), gt = 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 = Ss(x, gt, G, ve, lt), I = We.valueDeclaration && sn(We.valueDeclaration, p._0_is_declared_here, lt);
                } else {
                  const lt = Tat(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 = Ss(jfe(x, a), lt, G, ve);
                }
              }
            }
          }
          const J = wg(xr(r), r, x);
          I && Js(J, I), qg(!l || x.code !== p.Property_0_may_not_exist_on_type_1_Did_you_mean_2.code, J);
        }
        function Tat(r) {
          return F.lib && !F.lib.includes("lib.dom.d.ts") && Eit(r, (a) => a.symbol && /^(?:EventTarget|Node|(?:HTML[a-zA-Z]*)?Element)$/.test(Si(a.symbol.escapedName))) && Qh(r);
        }
        function BAe(r, a) {
          const l = a.symbol && Qs(Yr(a.symbol), r);
          return l !== void 0 && !!l.valueDeclaration && Bs(l.valueDeclaration);
        }
        function xat(r) {
          const a = B_(r), f = sB().get(a);
          return f && NR(f.keys());
        }
        function kat(r, a) {
          const l = Qu(a).symbol;
          if (!l)
            return;
          const f = sc(l), y = sB().get(f);
          if (y) {
            for (const [x, I] of y)
              if (ds(I, r))
                return x;
          }
        }
        function JAe(r, a) {
          return zM(
            r,
            qa(a),
            106500
            /* ClassMember */
          );
        }
        function Jde(r, a) {
          let l = qa(a);
          if (typeof r != "string") {
            const f = r.parent;
            wn(f) && (l = kn(l, (d) => qAe(f, a, d))), r = An(r);
          }
          return zM(
            r,
            l,
            111551
            /* Value */
          );
        }
        function zAe(r, a) {
          const l = ms(r) ? r : An(r), f = qa(a);
          return (l === "for" ? Nn(f, (y) => sc(y) === "htmlFor") : l === "class" ? Nn(f, (y) => sc(y) === "className") : void 0) ?? zM(
            l,
            f,
            111551
            /* Value */
          );
        }
        function WAe(r, a) {
          const l = Jde(r, a);
          return l && sc(l);
        }
        function Cat(r, a, l) {
          const f = ql(r, a, l);
          if (f) return f;
          let d;
          return r === Ye ? d = Fi(
            ["string", "number", "boolean", "object", "bigint", "symbol"],
            (x) => r.has(x.charAt(0).toUpperCase() + x.slice(1)) ? ma(524288, x) : void 0
          ).concat(ns(r.values())) : d = ns(r.values()), zM(Si(a), d, l);
        }
        function UAe(r, a, l) {
          return E.assert(a !== void 0, "outername should always be defined"), Wt(
            r,
            a,
            l,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            false,
            /*excludeGlobals*/
            false
          );
        }
        function zde(r, a) {
          return a.exports && zM(
            An(r),
            Lk(a),
            2623475
            /* ModuleMember */
          );
        }
        function Eat(r, a, l) {
          function f(x) {
            const I = k2(r, x);
            if (I) {
              const J = MT(Yr(I));
              return !!J && Qd(J) >= 1 && Ls(l, Xd(J, 0));
            }
            return false;
          }
          const d = Ny(a) ? "set" : "get";
          if (!f(d))
            return;
          let y = sN(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 mb(r.value, l, (f) => f.value);
        }
        function zM(r, a, l) {
          return mb(r, a, f);
          function f(d) {
            const y = sc(d);
            if (!Ui(y, '"')) {
              if (d.flags & l)
                return y;
              if (d.flags & 2097152) {
                const x = Ak(d);
                if (x && x.flags & l)
                  return y;
              }
            }
          }
        }
        function WM(r, a, l) {
          const f = r && r.flags & 106500 && r.valueDeclaration;
          if (!f)
            return;
          const d = ef(
            f,
            2
            /* Private */
          ), y = r.valueDeclaration && kl(r.valueDeclaration) && Ai(r.valueDeclaration.name);
          if (!(!d && !y) && !(a && M5(a) && !(r.flags & 65536))) {
            if (l) {
              const x = dr(a, to);
              if (x && x.symbol === r)
                return;
            }
            (oc(r) & 1 ? Pn(r).target : r).isReferenced = -1;
          }
        }
        function VAe(r, a) {
          return r.kind === 110 || !!a && Za(r) && a === Ou(e_(r));
        }
        function wat(r, a) {
          switch (r.kind) {
            case 212:
              return Wde(r, r.expression.kind === 108, a, hf(Hi(r.expression)));
            case 167:
              return Wde(
                r,
                /*isSuper*/
                false,
                a,
                hf(Hi(r.left))
              );
            case 206:
              return Wde(
                r,
                /*isSuper*/
                false,
                a,
                Ci(r)
              );
          }
        }
        function qAe(r, a, l) {
          return Ude(
            r,
            r.kind === 212 && r.expression.kind === 108,
            /*isWrite*/
            false,
            a,
            l
          );
        }
        function Wde(r, a, l, f) {
          if (gn(f))
            return true;
          const d = Qs(f, l);
          return !!d && Ude(
            r,
            a,
            /*isWrite*/
            false,
            f,
            d
          );
        }
        function Ude(r, a, l, f, d) {
          if (gn(f))
            return true;
          if (d.valueDeclaration && xu(d.valueDeclaration)) {
            const y = jl(d.valueDeclaration);
            return !Tu(r) && !!dr(r, (x) => x === y);
          }
          return AAe(r, a, l, f, d);
        }
        function Pat(r) {
          const a = r.initializer;
          if (a.kind === 262) {
            const l = a.declarations[0];
            if (l && !Ds(l.name))
              return yn(l);
          } else if (a.kind === 80)
            return Ou(a);
        }
        function Nat(r) {
          return hu(r).length === 1 && !!th(r, wt);
        }
        function Aat(r) {
          const a = Ra(r);
          if (a.kind === 80) {
            const l = Ou(a);
            if (l.flags & 3) {
              let f = r, d = r.parent;
              for (; d; ) {
                if (d.kind === 250 && f === d.statement && Pat(d) === l && Nat(su(d.expression)))
                  return true;
                f = d, d = d.parent;
              }
            }
          }
          return false;
        }
        function Iat(r, a) {
          return r.flags & 64 ? Fat(r, a) : HAe(r, jE(r.expression), a);
        }
        function Fat(r, a) {
          const l = Hi(r.expression), f = uI(l, r.expression);
          return P$(HAe(r, Mm(f, r.expression), a), r, f !== l);
        }
        function HAe(r, a, l) {
          const f = Py(r) !== 0 || Mde(r) ? hf(a) : a, d = r.argumentExpression, y = Hi(d);
          if (Gr(f) || f === kt)
            return f;
          if (hX(f) && !Ma(d))
            return ze(d, p.A_const_enum_member_can_only_be_accessed_using_a_string_literal), qe;
          const x = Aat(d) ? wt : y, I = Py(r);
          let J;
          I === 0 ? J = 32 : (J = 4 | (xT(f) && !hD(f) ? 2 : 0), I === 2 && (J |= 32));
          const z = b1(f, x, J, r) || qe;
          return t7e(RAe(r, xn(r).resolvedSymbol, z, d, l), r);
        }
        function GAe(r) {
          return tm(r) || Z1(r) || ku(r);
        }
        function LT(r) {
          return GAe(r) && lr(r.typeArguments, ca), r.kind === 216 ? Hi(r.template) : ku(r) ? Hi(r.attributes) : _n(r) ? Hi(r.left) : tm(r) && lr(r.arguments, (a) => {
            Hi(a);
          }), Hr;
        }
        function $d(r) {
          return LT(r), Vn;
        }
        function Oat(r, a, l) {
          let f, d, y = 0, x, I = -1, J;
          E.assert(!a.length);
          for (const z of r) {
            const G = z.declaration && yn(z.declaration), ve = z.declaration && z.declaration.parent;
            !d || G === d ? f && ve === f ? x = x + 1 : (f = ve, x = y) : (x = y = a.length, f = ve), d = G, z1e(z) ? (I++, J = I, y++) : J = x, a.splice(J, 0, l ? get(z, l) : z);
          }
        }
        function oX(r) {
          return !!r && (r.kind === 231 || r.kind === 238 && r.isSpread);
        }
        function Vde(r) {
          return ic(r, oX);
        }
        function $Ae(r) {
          return !!(r.flags & 16384);
        }
        function Lat(r) {
          return !!(r.flags & 49155);
        }
        function cX(r, a, l, f = false) {
          if (ad(r)) return true;
          let d, y = false, x = V_(l), I = Qd(l);
          if (r.kind === 216)
            if (d = a.length, r.template.kind === 229) {
              const J = fa(r.template.templateSpans);
              y = ac(J.literal) || !!J.literal.isUnterminated;
            } else {
              const J = r.template;
              E.assert(
                J.kind === 15
                /* NoSubstitutionTemplateLiteral */
              ), y = !!J.isUnterminated;
            }
          else if (r.kind === 171)
            d = rIe(r, l);
          else if (r.kind === 227)
            d = 1;
          else if (ku(r)) {
            if (y = r.attributes.end === r.end, y)
              return true;
            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 J = Vde(a);
            if (J >= 0)
              return J >= Qd(l) && (mg(l) || J < V_(l));
          } else
            return E.assert(
              r.kind === 215
              /* NewExpression */
            ), Qd(l) === 0;
          if (!mg(l) && d > x)
            return false;
          if (y || d >= I)
            return true;
          for (let J = d; J < I; J++) {
            const z = Xd(l, J);
            if (Hc(z, an(r) && !K ? Lat : $Ae).flags & 131072)
              return false;
          }
          return true;
        }
        function qde(r, a) {
          const l = wr(r.typeParameters), f = fg(r.typeParameters);
          return !ot(a) || a.length >= f && a.length <= l;
        }
        function XAe(r, a) {
          let l;
          return !!(r.target && (l = M2(r.target, a)) && Zv(l));
        }
        function MT(r) {
          return TI(
            r,
            0,
            /*allowMembers*/
            false
          );
        }
        function QAe(r) {
          return TI(
            r,
            0,
            /*allowMembers*/
            false
          ) || TI(
            r,
            1,
            /*allowMembers*/
            false
          );
        }
        function TI(r, a, l) {
          if (r.flags & 524288) {
            const f = Vd(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 YAe(r, a, l, f) {
          const d = pI(S3e(r), r, 0, f), y = CI(a), x = l && (y && y.flags & 262144 ? l.nonFixingMapper : l.mapper), I = x ? ET(a, x) : a;
          return Vpe(I, r, (J, z) => {
            sh(d.inferences, J, z);
          }), l || qpe(a, r, (J, z) => {
            sh(
              d.inferences,
              J,
              z,
              128
              /* ReturnType */
            );
          }), ZA(r, nde(d), an(a.declaration));
        }
        function Mat(r, a, l, f) {
          const d = Y$(a, r), y = zE(r.attributes, d, f, l);
          return sh(f.inferences, y, d), nde(f);
        }
        function ZAe(r) {
          if (!r)
            return _r;
          const a = Hi(r);
          return nee(r) ? a : y4(r.parent) ? Zh(a) : Tu(r.parent) ? w$(a) : a;
        }
        function Hde(r, a, l, f, d) {
          if (ku(r))
            return Mat(r, a, f, d);
          if (r.kind !== 171 && r.kind !== 227) {
            const J = Ni(a.typeParameters, (G) => !!C2(G)), z = f_(
              r,
              J ? 8 : 0
              /* None */
            );
            if (z) {
              const G = Ba(a);
              if (C1(G)) {
                const ve = O2(r);
                if (!(!J && f_(
                  r,
                  8
                  /* SkipBindingPatterns */
                ) !== z)) {
                  const gt = Xpe(c8e(
                    ve,
                    1
                    /* NoDefault */
                  )), jt = Mi(z, gt), ar = MT(jt), jr = ar && ar.typeParameters ? vT(Vfe(ar, ar.typeParameters)) : jt;
                  sh(
                    d.inferences,
                    jr,
                    G,
                    128
                    /* ReturnType */
                  );
                }
                const We = pI(a.typeParameters, a, d.flags), lt = Mi(z, ve && Lrt(ve));
                sh(We.inferences, lt, G), d.returnMapper = ot(We.inferences, WE) ? Xpe(qnt(We)) : void 0;
              }
            }
          }
          const y = EI(a), x = y ? Math.min(V_(a) - 1, l.length) : l.length;
          if (y && y.flags & 262144) {
            const J = Nn(d.inferences, (z) => z.typeParameter === y);
            J && (J.impliedArity = ic(l, oX, x) < 0 ? l.length - x : void 0);
          }
          const I = Qv(a);
          if (I && C1(I)) {
            const J = tIe(r);
            sh(d.inferences, ZAe(J), I);
          }
          for (let J = 0; J < x; J++) {
            const z = l[J];
            if (z.kind !== 233) {
              const G = Xd(a, J);
              if (C1(G)) {
                const ve = zE(z, G, d, f);
                sh(d.inferences, ve, G);
              }
            }
          }
          if (y && C1(y)) {
            const J = Gde(l, x, l.length, y, d, f);
            sh(d.inferences, J, y);
          }
          return nde(d);
        }
        function KAe(r) {
          return r.flags & 1048576 ? Vo(r, KAe) : r.flags & 1 || bM(nu(r) || r) ? r : ba(r) ? pg(
            D2(r),
            r.target.elementFlags,
            /*readonly*/
            false,
            r.target.labeledElementDeclarations
          ) : pg([r], [
            8
            /* Variadic */
          ]);
        }
        function Gde(r, a, l, f, d, y) {
          const x = yT(f);
          if (a >= l - 1) {
            const G = r[l - 1];
            if (oX(G)) {
              const ve = G.kind === 238 ? G.type : zE(G.expression, f, d, y);
              return K0(ve) ? KAe(ve) : yu(ty(33, ve, ue, G.kind === 231 ? G.expression : G), x);
            }
          }
          const I = [], J = [], z = [];
          for (let G = a; G < l; G++) {
            const ve = r[G];
            if (oX(ve)) {
              const de = ve.kind === 238 ? ve.type : Hi(ve.expression);
              K0(de) ? (I.push(de), J.push(
                8
                /* Variadic */
              )) : (I.push(ty(33, de, ue, ve.kind === 231 ? ve.expression : ve)), J.push(
                4
                /* Rest */
              ));
            } else {
              const de = ba(f) ? wde(f, G - a, l - a) || yt : mf(
                f,
                qd(G - a),
                256
                /* Contextual */
              ), We = zE(ve, de, d, y), lt = x || kc(
                de,
                406978556
                /* StringMapping */
              );
              I.push(lt ? Yu(We) : rb(We)), J.push(
                1
                /* Required */
              );
            }
            ve.kind === 238 && ve.tupleNameSource ? z.push(ve.tupleNameSource) : z.push(void 0);
          }
          return pg(I, J, x && !kp(f, jpe), z);
        }
        function $de(r, a, l, f) {
          const d = an(r.declaration), y = r.typeParameters, x = Q0(hr(a, Ci), y, fg(y), d);
          let I;
          for (let J = 0; J < a.length; J++) {
            E.assert(y[J] !== void 0, "Should not call checkTypeArguments with too many type arguments");
            const z = __(y[J]);
            if (z) {
              const G = l && f ? () => Ss(
                /*details*/
                void 0,
                p.Type_0_does_not_satisfy_the_constraint_1
              ) : void 0, ve = f || p.Type_0_does_not_satisfy_the_constraint_1;
              I || (I = gf(y, x));
              const de = x[J];
              if (!vu(
                de,
                df(Mi(z, I), de),
                l ? a[J] : void 0,
                ve,
                G
              ))
                return;
            }
          }
          return x;
        }
        function eIe(r) {
          if (nC(r.tagName))
            return 2;
          const a = Qu(Hi(r.tagName));
          return wr(As(
            a,
            1
            /* Construct */
          )) ? 0 : wr(As(
            a,
            0
            /* Call */
          )) ? 1 : 2;
        }
        function Rat(r, a, l, f, d, y, x) {
          const I = Y$(a, r), J = ad(r) ? TAe(r) : zE(
            r.attributes,
            I,
            /*inferenceContext*/
            void 0,
            f
          ), z = f & 4 ? fI(J) : J;
          return G() && wpe(
            z,
            I,
            l,
            d ? ad(r) ? r : r.tagName : void 0,
            ad(r) ? void 0 : r.attributes,
            /*headMessage*/
            void 0,
            y,
            x
          );
          function G() {
            var ve;
            if (rX(r))
              return true;
            const de = (wd(r) || xS(r)) && !(nC(r.tagName) || Pd(r.tagName)) ? Hi(r.tagName) : void 0;
            if (!de)
              return true;
            const We = As(
              de,
              0
              /* Call */
            );
            if (!wr(We))
              return true;
            const lt = Vme(r);
            if (!lt)
              return true;
            const gt = _c2(
              lt,
              111551,
              /*ignoreErrors*/
              true,
              /*dontResolveAlias*/
              false,
              r
            );
            if (!gt)
              return true;
            const jt = Yr(gt), ar = As(
              jt,
              0
              /* Call */
            );
            if (!wr(ar))
              return true;
            let jr = false, Kr = 0;
            for (const ir of ar) {
              const nn = Xd(ir, 0), Qn = As(
                nn,
                0
                /* Call */
              );
              if (wr(Qn))
                for (const Ri of Qn) {
                  if (jr = true, mg(Ri))
                    return true;
                  const zn = V_(Ri);
                  zn > Kr && (Kr = zn);
                }
            }
            if (!jr)
              return true;
            let or = 1 / 0;
            for (const ir of We) {
              const nn = Qd(ir);
              nn < or && (or = nn);
            }
            if (or <= Kr)
              return true;
            if (d) {
              const ir = r.tagName, nn = sn(ir, p.Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3, Q_(ir), or, Q_(lt), Kr), Qn = (ve = Cp(ir)) == null ? void 0 : ve.valueDeclaration;
              Qn && Js(nn, sn(Qn, p._0_is_declared_here, Q_(ir))), x && x.skipLogging && (x.errors || (x.errors = [])).push(nn), x.skipLogging || Pa.add(nn);
            }
            return false;
          }
        }
        function lX(r) {
          const a = an(r) ? -2147483615 : 33;
          return dc(r, a);
        }
        function UM(r, a, l, f, d, y, x) {
          const I = { errors: void 0, skipLogging: true };
          if (LZ(r))
            return Rat(r, l, f, d, y, x, I) ? void 0 : (E.assert(!y || !!I.errors, "jsx should have errors when reporting errors"), I.errors || Ge);
          const J = Qv(l);
          if (J && J !== _r && !(Ub(r) || ws(r) && O_(r.expression))) {
            const We = tIe(r), lt = ZAe(We), gt = y ? We || r : void 0, jt = p.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1;
            if (!Sp(lt, J, f, gt, jt, x, I))
              return E.assert(!y || !!I.errors, "this parameter should have errors when reporting errors"), I.errors || Ge;
          }
          const z = p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1, G = EI(l), ve = G ? Math.min(V_(l) - 1, a.length) : a.length;
          for (let We = 0; We < ve; We++) {
            const lt = a[We];
            if (lt.kind !== 233) {
              const gt = Xd(l, We), jt = zE(
                lt,
                gt,
                /*inferenceContext*/
                void 0,
                d
              ), ar = d & 4 ? fI(jt) : jt, jr = lX(lt);
              if (!wpe(ar, gt, f, y ? jr : void 0, jr, z, x, I))
                return E.assert(!y || !!I.errors, "parameter should have errors when reporting errors"), de(lt, ar, gt), I.errors || Ge;
            }
          }
          if (G) {
            const We = Gde(
              a,
              ve,
              a.length,
              G,
              /*context*/
              void 0,
              d
            ), lt = a.length - ve, gt = y ? lt === 0 ? r : lt === 1 ? lX(a[ve]) : Dd(xI(r, We), a[ve].pos, a[a.length - 1].end) : void 0;
            if (!Sp(
              We,
              G,
              f,
              gt,
              z,
              /*containingMessageChain*/
              void 0,
              I
            ))
              return E.assert(!y || !!I.errors, "rest parameter should have errors when reporting errors"), de(gt, We, G), I.errors || Ge;
          }
          return;
          function de(We, lt, gt) {
            if (We && y && I.errors && I.errors.length) {
              if (kP(gt))
                return;
              const jt = kP(lt);
              jt && Lm(jt, gt, f) && Js(I.errors[0], sn(We, p.Did_you_forget_to_use_await));
            }
          }
        }
        function tIe(r) {
          if (r.kind === 227)
            return r.right;
          const a = r.kind === 214 ? r.expression : r.kind === 216 ? r.tag : r.kind === 171 && !U ? r.expression : void 0;
          if (a) {
            const l = dc(a);
            if (vo(l))
              return l.expression;
          }
        }
        function xI(r, a, l, f) {
          const d = ov.createSyntheticExpression(a, l, f);
          return ct(d, r), ja(d, r), d;
        }
        function uX(r) {
          if (ad(r))
            return [xI(r, Rf)];
          if (r.kind === 216) {
            const f = r.template, d = [xI(f, ftt())];
            return f.kind === 229 && lr(f.templateSpans, (y) => {
              d.push(y.expression);
            }), d;
          }
          if (r.kind === 171)
            return jat(r);
          if (r.kind === 227)
            return [r.left];
          if (ku(r))
            return r.attributes.properties.length > 0 || wd(r) && r.parent.children.length > 0 ? [r.attributes] : Ge;
          const a = r.arguments || Ge, l = Vde(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 === 231 && (Ir ? Hi(y.expression) : fc(y.expression));
              x && ba(x) ? lr(D2(x), (I, J) => {
                var z;
                const G = x.target.elementFlags[J], ve = xI(y, G & 4 ? yu(I) : I, !!(G & 12), (z = x.target.labeledElementDeclarations) == null ? void 0 : z[J]);
                f.push(ve);
              }) : f.push(y);
            }
            return f;
          }
          return a;
        }
        function jat(r) {
          const a = r.expression, l = ome(r);
          if (l) {
            const f = [];
            for (const d of l.parameters) {
              const y = Yr(d);
              f.push(xI(a, y));
            }
            return f;
          }
          return E.fail();
        }
        function rIe(r, a) {
          return F.experimentalDecorators ? Bat(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(V_(a), 1), 2)
          );
        }
        function Bat(r, a) {
          switch (r.parent.kind) {
            case 264:
            case 232:
              return 1;
            case 173:
              return cm(r.parent) ? 3 : 2;
            case 175:
            case 178:
            case 179:
              return a.parameters.length <= 2 ? 2 : 3;
            case 170:
              return 3;
            default:
              return E.fail();
          }
        }
        function nIe(r) {
          const a = xr(r), { start: l, length: f } = K2(a, wn(r.expression) ? r.expression.name : r.expression);
          return { start: l, length: f, sourceFile: a };
        }
        function kI(r, a, ...l) {
          if (ws(r)) {
            const { sourceFile: f, start: d, length: y } = nIe(r);
            return "message" in a ? al(f, d, y, a, ...l) : gB(f, a);
          } else
            return "message" in a ? sn(r, a, ...l) : wg(xr(r), r, a);
        }
        function Jat(r) {
          return tm(r) ? wn(r.expression) ? r.expression.name : r.expression : Z1(r) ? wn(r.tag) ? r.tag.name : r.tag : ku(r) ? r.tagName : r;
        }
        function zat(r) {
          if (!ws(r) || !Me(r.expression)) return false;
          const a = st(
            r.expression,
            r.expression.escapedText,
            111551,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            false
          ), l = a?.valueDeclaration;
          if (!l || !Ii(l) || !My(l.parent) || !Ub(l.parent.parent) || !Me(l.parent.parent.expression))
            return false;
          const f = Kfe(
            /*reportErrors*/
            false
          );
          return f ? Cp(
            l.parent.parent.expression,
            /*ignoreErrors*/
            true
          ) === f : false;
        }
        function iIe(r, a, l, f) {
          var d;
          const y = Vde(l);
          if (y > -1)
            return sn(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, J = Number.NEGATIVE_INFINITY, z = Number.POSITIVE_INFINITY, G;
          for (const gt of a) {
            const jt = Qd(gt), ar = V_(gt);
            jt < x && (x = jt, G = gt), I = Math.max(I, ar), jt < l.length && jt > J && (J = jt), l.length < ar && ar < z && (z = ar);
          }
          const ve = ot(a, mg), de = ve ? x : x < I ? x + "-" + I : x, We = !ve && de === 1 && l.length === 0 && zat(r);
          if (We && an(r))
            return kI(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 lt = ol(r) ? ve ? 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 : ve ? p.Expected_at_least_0_arguments_but_got_1 : We ? 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 gt = Ss(
                /*details*/
                void 0,
                p.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments,
                l.length,
                J,
                z
              );
              return gt = Ss(gt, f), kI(r, gt);
            }
            return kI(r, p.No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments, l.length, J, z);
          } else if (l.length < x) {
            let gt;
            if (f) {
              let ar = Ss(
                /*details*/
                void 0,
                lt,
                de,
                l.length
              );
              ar = Ss(ar, f), gt = kI(r, ar);
            } else
              gt = kI(r, lt, de, l.length);
            const jt = (d = G?.declaration) == null ? void 0 : d.parameters[G.thisParameter ? l.length + 1 : l.length];
            if (jt) {
              const ar = Ds(jt.name) ? [p.An_argument_matching_this_binding_pattern_was_not_provided] : Wm(jt) ? [p.Arguments_for_the_rest_parameter_0_were_not_provided, An(e_(jt.name))] : [p.An_argument_for_0_was_not_provided, jt.name ? An(e_(jt.name)) : l.length], jr = sn(jt, ...ar);
              return Js(gt, jr);
            }
            return gt;
          } else {
            const gt = N.createNodeArray(l.slice(I)), jt = ka(gt).pos;
            let ar = fa(gt).end;
            if (ar === jt && ar++, Dd(gt, jt, ar), f) {
              let jr = Ss(
                /*details*/
                void 0,
                lt,
                de,
                l.length
              );
              return jr = Ss(jr, f), S3(xr(r), gt, jr);
            }
            return FC(xr(r), gt, lt, de, l.length);
          }
        }
        function Wat(r, a, l, f) {
          const d = l.length;
          if (a.length === 1) {
            const I = a[0], J = fg(I.typeParameters), z = wr(I.typeParameters);
            if (f) {
              let G = Ss(
                /*details*/
                void 0,
                p.Expected_0_type_arguments_but_got_1,
                J < z ? J + "-" + z : J,
                d
              );
              return G = Ss(G, f), S3(xr(r), l, G);
            }
            return FC(xr(r), l, p.Expected_0_type_arguments_but_got_1, J < z ? J + "-" + z : J, d);
          }
          let y = -1 / 0, x = 1 / 0;
          for (const I of a) {
            const J = fg(I.typeParameters), z = wr(I.typeParameters);
            J > d ? x = Math.min(x, J) : z < d && (y = Math.max(y, z));
          }
          if (y !== -1 / 0 && x !== 1 / 0) {
            if (f) {
              let I = Ss(
                /*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 = Ss(I, f), S3(xr(r), l, I);
            }
            return FC(xr(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 = Ss(
              /*details*/
              void 0,
              p.Expected_0_type_arguments_but_got_1,
              y === -1 / 0 ? x : y,
              d
            );
            return I = Ss(I, f), S3(xr(r), l, I);
          }
          return FC(xr(r), l, p.Expected_0_type_arguments_but_got_1, y === -1 / 0 ? x : y, d);
        }
        function BE(r, a, l, f, d, y) {
          const x = r.kind === 216, I = r.kind === 171, J = ku(r), z = ad(r), G = r.kind === 227, ve = !P && !l;
          let de, We, lt, gt, jt = 0, ar = [], jr;
          if (!I && !G && !eS(r) && !z && (jr = r.typeArguments, (x || J || r.expression.kind !== 108) && lr(jr, ca)), ar = l || [], Oat(a, ar, d), !z && !ar.length)
            return ve && Pa.add(kI(r, p.Call_target_does_not_contain_any_signatures)), $d(r);
          const Kr = uX(r), or = ar.length === 1 && !ar[0].typeParameters;
          !I && !or && ot(Kr, Hf) && (jt = 4);
          const ir = !!(f & 16) && r.kind === 214 && r.arguments.hasTrailingComma;
          ar.length > 1 && (gt = Ri(ar, ig, or, ir)), gt || (gt = Ri(ar, du, or, ir));
          const nn = xn(r);
          if (nn.resolvedSignature !== ln && !l)
            return E.assert(nn.resolvedSignature), nn.resolvedSignature;
          if (gt)
            return gt;
          if (gt = Uat(r, ar, Kr, !!l, f), nn.resolvedSignature = gt, ve) {
            if (!y && G && (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 zn = de[de.length - 1];
                let bi;
                de.length > 3 && (bi = Ss(bi, p.The_last_overload_gave_the_following_error), bi = Ss(bi, p.No_overload_matches_this_call)), y && (bi = Ss(bi, y));
                const xs = UM(
                  r,
                  Kr,
                  zn,
                  du,
                  0,
                  /*reportErrors*/
                  true,
                  () => bi
                );
                if (xs)
                  for (const Ja of xs)
                    zn.declaration && de.length > 3 && Js(Ja, sn(zn.declaration, p.The_last_overload_is_declared_here)), Qn(zn, Ja), Pa.add(Ja);
                else
                  E.fail("No error for last overload signature");
              } else {
                const zn = [];
                let bi = 0, xs = Number.MAX_VALUE, Ja = 0, Vi = 0;
                for (const Br of de) {
                  const en = UM(
                    r,
                    Kr,
                    Br,
                    du,
                    0,
                    /*reportErrors*/
                    true,
                    () => Ss(
                      /*details*/
                      void 0,
                      p.Overload_0_of_1_2_gave_the_following_error,
                      Vi + 1,
                      ar.length,
                      m1(Br)
                    )
                  );
                  en ? (en.length <= xs && (xs = en.length, Ja = Vi), bi = Math.max(bi, en.length), zn.push(en)) : E.fail("No error for 3 or fewer overload signatures"), Vi++;
                }
                const Lo = bi > 1 ? zn[Ja] : wp(zn);
                E.assert(Lo.length > 0, "No errors reported for 3 or fewer overload signatures");
                let yc = Ss(
                  hr(Lo, sK),
                  p.No_overload_matches_this_call
                );
                y && (yc = Ss(yc, y));
                const Lu = [...xa(Lo, (Br) => Br.relatedInformation)];
                let Dr;
                if (Ni(Lo, (Br) => Br.start === Lo[0].start && Br.length === Lo[0].length && Br.file === Lo[0].file)) {
                  const { file: Br, start: xi, length: en } = Lo[0];
                  Dr = { file: Br, start: xi, length: en, code: yc.code, category: yc.category, messageText: yc, relatedInformation: Lu };
                } else
                  Dr = wg(xr(r), Jat(r), yc, Lu);
                Qn(de[0], Dr), Pa.add(Dr);
              }
            else if (We)
              Pa.add(iIe(r, [We], Kr, y));
            else if (lt)
              $de(
                lt,
                r.typeArguments,
                /*reportErrors*/
                true,
                y
              );
            else if (!z) {
              const zn = kn(a, (bi) => qde(bi, jr));
              zn.length === 0 ? Pa.add(Wat(r, a, jr, y)) : Pa.add(iIe(r, zn, Kr, y));
            }
          }
          return gt;
          function Qn(zn, bi) {
            var xs, Ja;
            const Vi = de, Lo = We, yc = lt, Lu = ((Ja = (xs = zn.declaration) == null ? void 0 : xs.symbol) == null ? void 0 : Ja.declarations) || Ge, Br = Lu.length > 1 ? Nn(Lu, (xi) => to(xi) && Ip(xi.body)) : void 0;
            if (Br) {
              const xi = qf(Br), en = !xi.typeParameters;
              Ri([xi], du, en) && Js(bi, sn(Br, p.The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible));
            }
            de = Vi, We = Lo, lt = yc;
          }
          function Ri(zn, bi, xs, Ja = false) {
            if (de = void 0, We = void 0, lt = void 0, xs) {
              const Vi = zn[0];
              if (ot(jr) || !cX(r, Kr, Vi, Ja))
                return;
              if (UM(
                r,
                Kr,
                Vi,
                bi,
                0,
                /*reportErrors*/
                false,
                /*containingMessageChain*/
                void 0
              )) {
                de = [Vi];
                return;
              }
              return Vi;
            }
            for (let Vi = 0; Vi < zn.length; Vi++) {
              const Lo = zn[Vi];
              if (!qde(Lo, jr) || !cX(r, Kr, Lo, Ja))
                continue;
              let yc, Lu;
              if (Lo.typeParameters) {
                let Dr;
                if (ot(jr)) {
                  if (Dr = $de(
                    Lo,
                    jr,
                    /*reportErrors*/
                    false
                  ), !Dr) {
                    lt = Lo;
                    continue;
                  }
                } else
                  Lu = pI(
                    Lo.typeParameters,
                    Lo,
                    /*flags*/
                    an(r) ? 2 : 0
                    /* None */
                  ), Dr = Hde(r, Lo, Kr, jt | 8, Lu), jt |= Lu.flags & 4 ? 8 : 0;
                if (yc = ZA(Lo, Dr, an(Lo.declaration), Lu && Lu.inferredTypeParameters), EI(Lo) && !cX(r, Kr, yc, Ja)) {
                  We = yc;
                  continue;
                }
              } else
                yc = Lo;
              if (UM(
                r,
                Kr,
                yc,
                bi,
                jt,
                /*reportErrors*/
                false,
                /*containingMessageChain*/
                void 0
              )) {
                (de || (de = [])).push(yc);
                continue;
              }
              if (jt) {
                if (jt = 0, Lu) {
                  const Dr = Hde(r, Lo, Kr, jt, Lu);
                  if (yc = ZA(Lo, Dr, an(Lo.declaration), Lu.inferredTypeParameters), EI(Lo) && !cX(r, Kr, yc, Ja)) {
                    We = yc;
                    continue;
                  }
                }
                if (UM(
                  r,
                  Kr,
                  yc,
                  bi,
                  jt,
                  /*reportErrors*/
                  false,
                  /*containingMessageChain*/
                  void 0
                )) {
                  (de || (de = [])).push(yc);
                  continue;
                }
              }
              return zn[Vi] = yc, yc;
            }
          }
        }
        function Uat(r, a, l, f, d) {
          return E.assert(a.length > 0), sC(r), f || a.length === 1 || a.some((y) => !!y.typeParameters) ? Hat(r, a, l, d) : Vat(a);
        }
        function Vat(r) {
          const a = Fi(r, (J) => J.thisParameter);
          let l;
          a.length && (l = sIe(a, a.map(HM)));
          const { min: f, max: d } = Bee(r, qat), y = [];
          for (let J = 0; J < d; J++) {
            const z = Fi(r, (G) => wu(G) ? J < G.parameters.length - 1 ? G.parameters[J] : fa(G.parameters) : J < G.parameters.length ? G.parameters[J] : void 0);
            E.assert(z.length !== 0), y.push(sIe(z, Fi(r, (G) => M2(G, J))));
          }
          const x = Fi(r, (J) => wu(J) ? fa(J.parameters) : void 0);
          let I = 128;
          if (x.length !== 0) {
            const J = yu(Xn(
              Fi(r, b3e),
              2
              /* Subtype */
            ));
            y.push(aIe(x, J)), I |= 1;
          }
          return r.some(z1e) && (I |= 2), Im(
            r[0].declaration,
            /*typeParameters*/
            void 0,
            // Before calling this we tested for `!candidates.some(c => !!c.typeParameters)`.
            l,
            y,
            /*resolvedReturnType*/
            ia(r.map(Ba)),
            /*resolvedTypePredicate*/
            void 0,
            f,
            I
          );
        }
        function qat(r) {
          const a = r.parameters.length;
          return wu(r) ? a - 1 : a;
        }
        function sIe(r, a) {
          return aIe(r, Xn(
            a,
            2
            /* Subtype */
          ));
        }
        function aIe(r, a) {
          return wT(ka(r), a);
        }
        function Hat(r, a, l, f) {
          const d = Xat(a, Ve === void 0 ? l.length : Ve), y = a[d], { typeParameters: x } = y;
          if (!x)
            return y;
          const I = GAe(r) ? r.typeArguments : void 0, J = I ? YG(y, Gat(I, x, an(r))) : $at(r, x, y, l, f);
          return a[d] = J, J;
        }
        function Gat(r, a, l) {
          const f = r.map(aC);
          for (; f.length > a.length; )
            f.pop();
          for (; f.length < a.length; )
            f.push(C2(a[f.length]) || __(a[f.length]) || rde(l));
          return f;
        }
        function $at(r, a, l, f, d) {
          const y = pI(
            a,
            l,
            /*flags*/
            an(r) ? 2 : 0
            /* None */
          ), x = Hde(r, l, f, d | 4 | 8, y);
          return YG(l, x);
        }
        function Xat(r, a) {
          let l = -1, f = -1;
          for (let d = 0; d < r.length; d++) {
            const y = r[d], x = V_(y);
            if (mg(y) || x >= a)
              return d;
            x > f && (f = x, l = d);
          }
          return l;
        }
        function Qat(r, a, l) {
          if (r.expression.kind === 108) {
            const J = H$(r.expression);
            if (gn(J)) {
              for (const z of r.arguments)
                Hi(z);
              return Hr;
            }
            if (!Gr(J)) {
              const z = kd(jl(r));
              if (z) {
                const G = Kg(J, z.typeArguments, z);
                return BE(
                  r,
                  G,
                  a,
                  l,
                  0
                  /* None */
                );
              }
            }
            return LT(r);
          }
          let f, d = Hi(r.expression);
          if (H2(r)) {
            const J = uI(d, r.expression);
            f = J === d ? 0 : v4(r) ? 16 : 8, d = J;
          } else
            f = 0;
          if (d = FAe(
            d,
            r.expression,
            dat
          ), d === kt)
            return kr;
          const y = Qu(d);
          if (Gr(y))
            return $d(r);
          const x = As(
            y,
            0
            /* Call */
          ), I = As(
            y,
            1
            /* Construct */
          ).length;
          if (VM(d, y, x.length, I))
            return !Gr(d) && r.typeArguments && ze(r, p.Untyped_function_calls_may_not_accept_type_arguments), LT(r);
          if (!x.length) {
            if (I)
              ze(r, p.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new, Wr(d));
            else {
              let J;
              if (r.arguments.length === 1) {
                const z = xr(r).text;
                Su(z.charCodeAt(aa(
                  z,
                  r.expression.end,
                  /*stopAfterLineBreak*/
                  true
                ) - 1)) && (J = sn(r.expression, p.Are_you_missing_a_semicolon));
              }
              Qde(r.expression, y, 0, J);
            }
            return $d(r);
          }
          return l & 8 && !r.typeArguments && x.some(Yat) ? (VIe(r, l), ln) : x.some((J) => an(J.declaration) && !!Aj(J.declaration)) ? (ze(r, p.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new, Wr(d)), $d(r)) : BE(r, x, a, l, f);
        }
        function Yat(r) {
          return !!(r.typeParameters && Wme(Ba(r)));
        }
        function VM(r, a, l, f) {
          return gn(r) || gn(a) && !!(r.flags & 262144) || !l && !f && !(a.flags & 1048576) && !(Yp(a).flags & 131072) && Ls(r, Mr);
        }
        function Zat(r, a, l) {
          let f = jE(r.expression);
          if (f === kt)
            return kr;
          if (f = Qu(f), Gr(f))
            return $d(r);
          if (gn(f))
            return r.typeArguments && ze(r, p.Untyped_function_calls_may_not_accept_type_arguments), LT(r);
          const d = As(
            f,
            1
            /* Construct */
          );
          if (d.length) {
            if (!Kat(r, d[0]))
              return $d(r);
            if (oIe(d, (I) => !!(I.flags & 4)))
              return ze(r, p.Cannot_create_an_instance_of_an_abstract_class), $d(r);
            const x = f.symbol && Sh(f.symbol);
            return x && Gn(
              x,
              64
              /* Abstract */
            ) ? (ze(r, p.Cannot_create_an_instance_of_an_abstract_class), $d(r)) : BE(
              r,
              d,
              a,
              l,
              0
              /* None */
            );
          }
          const y = As(
            f,
            0
            /* Call */
          );
          if (y.length) {
            const x = BE(
              r,
              y,
              a,
              l,
              0
              /* None */
            );
            return fe || (x.declaration && !Rm(x.declaration) && Ba(x) !== _r && ze(r, p.Only_a_void_function_can_be_called_with_the_new_keyword), Qv(x) === _r && ze(r, p.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)), x;
          }
          return Qde(
            r.expression,
            f,
            1
            /* Construct */
          ), $d(r);
        }
        function oIe(r, a) {
          return ss(r) ? ot(r, (l) => oIe(l, a)) : r.compositeKind === 1048576 ? ot(r.compositeSignatures, a) : a(r);
        }
        function Xde(r, a) {
          const l = gd(a);
          if (!wr(l))
            return false;
          const f = l[0];
          if (f.flags & 2097152) {
            const d = f.types, y = e3e(d);
            let x = 0;
            for (const I of f.types) {
              if (!y[x] && Dn(I) & 3 && (I.symbol === r || Xde(r, I)))
                return true;
              x++;
            }
            return false;
          }
          return f.symbol === r ? true : Xde(r, f);
        }
        function Kat(r, a) {
          if (!a || !a.declaration)
            return true;
          const l = a.declaration, f = gx(
            l,
            6
            /* NonPublicAccessibilityModifier */
          );
          if (!f || l.kind !== 177)
            return true;
          const d = Sh(l.parent.symbol), y = ho(l.parent.symbol);
          if (!Bme(r, d)) {
            const x = jl(r);
            if (x && f & 4) {
              const I = aC(x);
              if (Xde(l.parent.symbol, I))
                return true;
            }
            return f & 2 && ze(r, p.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration, Wr(y)), f & 4 && ze(r, p.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration, Wr(y)), false;
          }
          return true;
        }
        function cIe(r, a, l) {
          let f;
          const d = l === 0, y = iC(a), x = y && As(y, l).length > 0;
          if (a.flags & 1048576) {
            const J = a.types;
            let z = false;
            for (const G of J)
              if (As(G, l).length !== 0) {
                if (z = true, f)
                  break;
              } else if (f || (f = Ss(
                f,
                d ? p.Type_0_has_no_call_signatures : p.Type_0_has_no_construct_signatures,
                Wr(G)
              ), f = Ss(
                f,
                d ? p.Not_all_constituents_of_type_0_are_callable : p.Not_all_constituents_of_type_0_are_constructable,
                Wr(a)
              )), z)
                break;
            z || (f = Ss(
              /*details*/
              void 0,
              d ? p.No_constituent_of_type_0_is_callable : p.No_constituent_of_type_0_is_constructable,
              Wr(a)
            )), f || (f = Ss(
              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,
              Wr(a)
            ));
          } else
            f = Ss(
              f,
              d ? p.Type_0_has_no_call_signatures : p.Type_0_has_no_construct_signatures,
              Wr(a)
            );
          let I = d ? p.This_expression_is_not_callable : p.This_expression_is_not_constructable;
          if (ws(r.parent) && r.parent.arguments.length === 0) {
            const { resolvedSymbol: J } = xn(r);
            J && J.flags & 32768 && (I = p.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without);
          }
          return {
            messageChain: Ss(f, I),
            relatedMessage: x ? p.Did_you_forget_to_use_await : void 0
          };
        }
        function Qde(r, a, l, f) {
          const { messageChain: d, relatedMessage: y } = cIe(r, a, l), x = wg(xr(r), r, d);
          if (y && Js(x, sn(r, y)), ws(r.parent)) {
            const { start: I, length: J } = nIe(r.parent);
            x.start = I, x.length = J;
          }
          Pa.add(x), lIe(a, l, f ? Js(x, f) : x);
        }
        function lIe(r, a, l) {
          if (!r.symbol)
            return;
          const f = Pn(r.symbol).originatingImport;
          if (f && !y_(f)) {
            const d = As(Yr(Pn(r.symbol).target), a);
            if (!d || !d.length) return;
            Js(l, sn(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 eot(r, a, l) {
          const f = Hi(r.tag), d = Qu(f);
          if (Gr(d))
            return $d(r);
          const y = As(
            d,
            0
            /* Call */
          ), x = As(
            d,
            1
            /* Construct */
          ).length;
          if (VM(f, d, y.length, x))
            return LT(r);
          if (!y.length) {
            if (Kl(r.parent)) {
              const I = sn(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 Pa.add(I), $d(r);
            }
            return Qde(
              r.tag,
              d,
              0
              /* Call */
            ), $d(r);
          }
          return BE(
            r,
            y,
            a,
            l,
            0
            /* None */
          );
        }
        function tot(r) {
          switch (r.parent.kind) {
            case 264:
            case 232:
              return p.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression;
            case 170:
              return p.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression;
            case 173:
              return p.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression;
            case 175:
            case 178:
            case 179:
              return p.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression;
            default:
              return E.fail();
          }
        }
        function rot(r, a, l) {
          const f = Hi(r.expression), d = Qu(f);
          if (Gr(d))
            return $d(r);
          const y = As(
            d,
            0
            /* Call */
          ), x = As(
            d,
            1
            /* Construct */
          ).length;
          if (VM(f, d, y.length, x))
            return LT(r);
          if (sot(r, y) && !n_(r.expression)) {
            const J = Go(
              r.expression,
              /*includeTrivia*/
              false
            );
            return ze(r, p._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0, J), $d(r);
          }
          const I = tot(r);
          if (!y.length) {
            const J = cIe(
              r.expression,
              d,
              0
              /* Call */
            ), z = Ss(J.messageChain, I), G = wg(xr(r.expression), r.expression, z);
            return J.relatedMessage && Js(G, sn(r.expression, J.relatedMessage)), Pa.add(G), lIe(d, 0, G), $d(r);
          }
          return BE(r, y, a, l, 0, I);
        }
        function _X(r, a) {
          const l = OT(r), f = l && ff(l), d = f && ql(
            f,
            Ff.Element,
            788968
            /* Type */
          ), y = d && pe.symbolToEntityName(d, 788968, r), x = N.createFunctionTypeNode(
            /*typeParameters*/
            void 0,
            [N.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              "props",
              /*questionToken*/
              void 0,
              pe.typeToTypeNode(a, r)
            )],
            y ? N.createTypeReferenceNode(
              y,
              /*typeArguments*/
              void 0
            ) : N.createKeywordTypeNode(
              133
              /* AnyKeyword */
            )
          ), I = ma(1, "props");
          return I.links.type = a, Im(
            x,
            /*typeParameters*/
            void 0,
            /*thisParameter*/
            void 0,
            [I],
            d ? ho(d) : qe,
            /*resolvedTypePredicate*/
            void 0,
            1,
            0
            /* None */
          );
        }
        function uIe(r) {
          const a = xn(xr(r));
          if (a.jsxFragmentType !== void 0) return a.jsxFragmentType;
          const l = ld(r);
          if (!((F.jsx === 2 || F.jsxFragmentFactory !== void 0) && l !== "null")) return a.jsxFragmentType = Le;
          const d = F.jsx !== 1 && F.jsx !== 3, y = Pa ? p.Using_JSX_fragments_requires_fragment_factory_0_to_be_in_scope_but_it_could_not_be_found : void 0, x = rX(r) ?? st(
            r,
            l,
            d ? 111551 : 111167,
            /*nameNotFoundMessage*/
            y,
            /*isUse*/
            true
          );
          if (x === void 0) return a.jsxFragmentType = qe;
          if (x.escapedName === AW.Fragment) return a.jsxFragmentType = Yr(x);
          const I = (x.flags & 2097152) === 0 ? x : Fl(x), J = x && ff(I), z = J && ql(
            J,
            AW.Fragment,
            2
            /* BlockScopedVariable */
          ), G = z && Yr(z);
          return a.jsxFragmentType = G === void 0 ? qe : G;
        }
        function not(r, a, l) {
          const f = ad(r);
          let d;
          if (f)
            d = uIe(r);
          else {
            if (nC(r.tagName)) {
              const I = DAe(r), J = _X(r, I);
              return I2(zE(
                r.attributes,
                Y$(J, r),
                /*inferenceContext*/
                void 0,
                0
                /* Normal */
              ), I, r.tagName, r.attributes), wr(r.typeArguments) && (lr(r.typeArguments, ca), Pa.add(FC(xr(r), r.typeArguments, p.Expected_0_type_arguments_but_got_1, 0, wr(r.typeArguments)))), J;
            }
            d = Hi(r.tagName);
          }
          const y = Qu(d);
          if (Gr(y))
            return $d(r);
          const x = CAe(d, r);
          return VM(
            d,
            y,
            x.length,
            /*constructSignatures*/
            0
          ) ? LT(r) : x.length === 0 ? (f ? ze(r, p.JSX_element_type_0_does_not_have_any_construct_or_call_signatures, Go(r)) : ze(r.tagName, p.JSX_element_type_0_does_not_have_any_construct_or_call_signatures, Go(r.tagName)), $d(r)) : BE(
            r,
            x,
            a,
            l,
            0
            /* None */
          );
        }
        function iot(r, a, l) {
          const f = Hi(r.right);
          if (!gn(f)) {
            const d = fme(f);
            if (d) {
              const y = Qu(d);
              if (Gr(y))
                return $d(r);
              const x = As(
                y,
                0
                /* Call */
              ), I = As(
                y,
                1
                /* Construct */
              );
              if (VM(d, y, x.length, I.length))
                return LT(r);
              if (x.length)
                return BE(
                  r,
                  x,
                  a,
                  l,
                  0
                  /* None */
                );
            } else if (!(RX(f) || A2(f, Mr)))
              return ze(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), $d(r);
          }
          return Hr;
        }
        function sot(r, a) {
          return a.length && Ni(a, (l) => l.minArgumentCount === 0 && !wu(l) && l.parameters.length < rIe(r, l));
        }
        function aot(r, a, l) {
          switch (r.kind) {
            case 214:
              return Qat(r, a, l);
            case 215:
              return Zat(r, a, l);
            case 216:
              return eot(r, a, l);
            case 171:
              return rot(r, a, l);
            case 290:
            case 287:
            case 286:
              return not(r, a, l);
            case 227:
              return iot(r, a, l);
          }
          E.assertNever(r, "Branch in 'resolveSignature' should be unreachable.");
        }
        function JE(r, a, l) {
          const f = xn(r), d = f.resolvedSignature;
          if (d && d !== ln && !a)
            return d;
          const y = I0;
          d || (I0 = Vg.length), f.resolvedSignature = ln;
          const x = aot(
            r,
            a,
            l || 0
            /* Normal */
          );
          return I0 = y, x !== ln && (f.resolvedSignature = dn === Ir ? x : d), x;
        }
        function Rm(r) {
          var a;
          if (!r || !an(r))
            return false;
          const l = Tc(r) || mo(r) ? r : (ei(r) || Kc(r)) && r.initializer && mo(r.initializer) ? r.initializer : void 0;
          if (l) {
            if (Aj(r)) return true;
            if (Kc(rd(l.parent))) return false;
            const f = yn(l);
            return !!((a = f?.members) != null && a.size);
          }
          return false;
        }
        function Yde(r, a) {
          var l, f;
          if (a) {
            const d = Pn(a);
            if (!d.inferredClassSymbol || !d.inferredClassSymbol.has($s(r))) {
              const y = Cg(r) ? r : p2(r);
              return y.exports = y.exports || js(), y.members = y.members || js(), y.flags |= a.flags & 32, (l = a.exports) != null && l.size && wm(y.exports, a.exports), (f = a.members) != null && f.size && wm(y.members, a.members), (d.inferredClassSymbol || (d.inferredClassSymbol = /* @__PURE__ */ new Map())).set($s(y), y), y;
            }
            return d.inferredClassSymbol.get($s(r));
          }
        }
        function oot(r) {
          var a;
          const l = r && fX(
            r,
            /*allowDeclaration*/
            true
          ), f = (a = l?.exports) == null ? void 0 : a.get("prototype"), d = f?.valueDeclaration && cot(f.valueDeclaration);
          return d ? yn(d) : void 0;
        }
        function fX(r, a) {
          if (!r.parent)
            return;
          let l, f;
          if (ei(r.parent) && r.parent.initializer === r) {
            if (!an(r) && !(JI(r.parent) && to(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) && (ei(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 || !iS(l) || !BC(l, d.left)))
              return;
          } else a && Tc(r) && (l = r.name, f = r);
          if (!(!f || !l || !a && !W1(r, Fy(l))))
            return Wf(f);
        }
        function cot(r) {
          if (!r.parent)
            return false;
          let a = r.parent;
          for (; a && a.kind === 212; )
            a = a.parent;
          if (a && _n(a) && Fy(a.left) && a.operatorToken.kind === 64) {
            const l = DB(a);
            return ua(l) && l;
          }
        }
        function lot(r, a) {
          var l, f, d;
          pR(r, r.typeArguments);
          const y = JE(
            r,
            /*candidatesOutArray*/
            void 0,
            a
          );
          if (y === ln)
            return kt;
          if (pX(y, r), r.expression.kind === 108)
            return _r;
          if (r.kind === 215) {
            const I = y.declaration;
            if (I && I.kind !== 177 && I.kind !== 181 && I.kind !== 186 && !(x0(I) && ((f = (l = WC(I)) == null ? void 0 : l.parent) == null ? void 0 : f.kind) === 177) && !fx(I) && !Rm(I))
              return fe && ze(r, p.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type), Le;
          }
          if (an(r) && dIe(r))
            return y3e(r.arguments[0]);
          const x = Ba(y);
          if (x.flags & 12288 && _Ie(r))
            return bpe(rd(r.parent));
          if (r.kind === 214 && !r.questionDotToken && r.parent.kind === 245 && x.flags & 16384 && bp(y)) {
            if (!nN(r.expression))
              ze(r.expression, p.Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name);
            else if (!PM(r)) {
              const I = ze(r.expression, p.Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation);
              wM(r.expression, I);
            }
          }
          if (an(r)) {
            const I = fX(
              r,
              /*allowDeclaration*/
              false
            );
            if ((d = I?.exports) != null && d.size) {
              const J = Uo(I, I.exports, Ge, Ge, Ge);
              return J.objectFlags |= 4096, ia([x, J]);
            }
          }
          return x;
        }
        function pX(r, a) {
          if (!(r.flags & 128) && r.declaration && r.declaration.flags & 536870912) {
            const l = qM(a), f = sN(i5(a));
            Iv(l, r.declaration, f, m1(r));
          }
        }
        function qM(r) {
          switch (r = Ra(r), r.kind) {
            case 214:
            case 171:
            case 215:
              return qM(r.expression);
            case 216:
              return qM(r.tag);
            case 287:
            case 286:
              return qM(r.tagName);
            case 213:
              return r.argumentExpression;
            case 212:
              return r.name;
            case 184:
              const a = r;
              return t_(a.typeName) ? a.typeName.right : a;
            default:
              return r;
          }
        }
        function _Ie(r) {
          if (!ws(r)) return false;
          let a = r.expression;
          if (wn(a) && a.name.escapedText === "for" && (a = a.expression), !Me(a) || a.escapedText !== "Symbol")
            return false;
          const l = B3e(
            /*reportErrors*/
            false
          );
          return l ? l === st(
            a,
            "Symbol",
            111551,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            false
          ) : false;
        }
        function uot(r) {
          if (Ift(r), r.arguments.length === 0)
            return QM(r, Le);
          const a = r.arguments[0], l = fc(a), f = r.arguments.length > 1 ? fc(r.arguments[1]) : void 0;
          for (let y = 2; y < r.arguments.length; ++y)
            fc(r.arguments[y]);
          if ((l.flags & 32768 || l.flags & 65536 || !Ls(l, at)) && ze(a, p.Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0, Wr(l)), f) {
            const y = j3e(
              /*reportErrors*/
              true
            );
            y !== ea && vu(f, TM(
              y,
              32768
              /* Undefined */
            ), r.arguments[1]);
          }
          const d = Iu(r, a);
          if (d) {
            const y = Qg(
              d,
              a,
              /*dontResolveAlias*/
              true,
              /*suppressInteropError*/
              false
            );
            if (y)
              return QM(
                r,
                fIe(Yr(y), y, d, a) || pIe(Yr(y), y, d, a)
              );
          }
          return QM(r, Le);
        }
        function Zde(r, a, l) {
          const f = js(), d = ma(
            2097152,
            "default"
            /* Default */
          );
          return d.parent = a, d.links.nameType = W_("default"), d.links.aliasTarget = jc(r), f.set("default", d), Uo(l, f, Ge, Ge, Ge);
        }
        function fIe(r, a, l, f) {
          if (l1(f) && r && !Gr(r)) {
            const y = r;
            if (!y.defaultOnlyType) {
              const x = Zde(a, l);
              y.defaultOnlyType = x;
            }
            return y.defaultOnlyType;
          }
        }
        function pIe(r, a, l, f) {
          var d;
          if (_e && r && !Gr(r)) {
            const y = r;
            if (!y.syntheticType) {
              const x = (d = l.declarations) == null ? void 0 : d.find(Di);
              if (Rv(
                x,
                l,
                /*dontResolveAlias*/
                false,
                f
              )) {
                const J = ma(
                  2048,
                  "__type"
                  /* Type */
                ), z = Zde(a, l, J);
                J.links.type = z, y.syntheticType = MM(r) ? w2(
                  r,
                  z,
                  J,
                  /*objectFlags*/
                  0,
                  /*readonly*/
                  false
                ) : z;
              } else
                y.syntheticType = r;
            }
            return y.syntheticType;
          }
          return r;
        }
        function dIe(r) {
          if (!v_(
            r,
            /*requireStringLiteralLikeArgument*/
            true
          ))
            return false;
          if (!Me(r.expression)) return E.fail();
          const a = st(
            r.expression,
            r.expression.escapedText,
            111551,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            true
          );
          if (a === Ne)
            return true;
          if (a.flags & 2097152)
            return false;
          const l = a.flags & 16 ? 263 : a.flags & 3 ? 261 : 0;
          if (l !== 0) {
            const f = Ao(a, l);
            return !!f && !!(f.flags & 33554432);
          }
          return false;
        }
        function _ot(r) {
          sft(r) || pR(r, r.typeArguments), R < Tl.TaggedTemplates && bl(
            r,
            262144
            /* MakeTemplateObject */
          );
          const a = JE(r);
          return pX(a, r), Ba(a);
        }
        function fot(r, a) {
          if (r.kind === 217) {
            const l = xr(r);
            if (l && bc(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 = aa(l.text, r.pos), d = r.expression.pos;
              Pa.add(al(l, f, d - f, p.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled));
            }
          }
          return mIe(r, a);
        }
        function Kde(r) {
          switch (r.kind) {
            case 11:
            case 15:
            case 9:
            case 10:
            case 112:
            case 97:
            case 210:
            case 211:
            case 229:
              return true;
            case 218:
              return Kde(r.expression);
            case 225:
              const a = r.operator, l = r.operand;
              return a === 41 && (l.kind === 9 || l.kind === 10) || a === 40 && l.kind === 9;
            case 212:
            case 213:
              const f = Ra(r.expression), d = Za(f) ? _c2(
                f,
                111551,
                /*ignoreErrors*/
                true
              ) : void 0;
              return !!(d && d.flags & 384);
          }
          return false;
        }
        function mIe(r, a) {
          const { type: l, expression: f } = gIe(r), d = Hi(f, a);
          if (Kp(l))
            return Kde(f) || ze(f, p.A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals), Yu(d);
          const y = xn(r);
          return y.assertionExpressionType = d, ca(l), sC(r), Ci(l);
        }
        function gIe(r) {
          let a, l;
          switch (r.kind) {
            case 235:
            case 217:
              a = r.type, l = r.expression;
              break;
            case 218:
              a = y6(r), l = r.expression;
              break;
          }
          return { type: a, expression: l };
        }
        function pot(r) {
          const { type: a } = gIe(r), l = n_(r) ? a : r, f = xn(r);
          E.assertIsDefined(f.assertionExpressionType);
          const d = fI(Yh(f.assertionExpressionType)), y = Ci(a);
          Gr(y) || n(() => {
            const x = hf(d);
            h$(y, x) || zNe(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 dot(r) {
          const a = Hi(r.expression), l = uI(a, r.expression);
          return P$(Zh(l), r, l !== a);
        }
        function mot(r) {
          return r.flags & 64 ? dot(r) : Zh(Hi(r.expression));
        }
        function hIe(r) {
          if (l5e(r), lr(r.typeArguments, ca), r.kind === 234) {
            const l = rd(r.parent);
            l.kind === 227 && l.operatorToken.kind === 104 && wb(r, l.right) && ze(r, p.The_right_hand_side_of_an_instanceof_expression_must_not_be_an_instantiation_expression);
          }
          const a = r.kind === 234 ? Hi(r.expression) : Iy(r.exprName) ? FM(r.exprName) : Hi(r.exprName);
          return yIe(a, r);
        }
        function yIe(r, a) {
          const l = a.typeArguments;
          if (r === kt || Gr(r) || !ot(l))
            return r;
          const f = xn(a);
          if (f.instantiationExpressionTypes || (f.instantiationExpressionTypes = /* @__PURE__ */ new Map()), f.instantiationExpressionTypes.has(r.id))
            return f.instantiationExpressionTypes.get(r.id);
          let d = false, y;
          const x = J(r);
          f.instantiationExpressionTypes.set(r.id, x);
          const I = d ? y : r;
          return I && Pa.add(FC(xr(a), l, p.Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable, Wr(I))), x;
          function J(G) {
            let ve = false, de = false;
            const We = lt(G);
            return d || (d = de), ve && !de && (y ?? (y = G)), We;
            function lt(gt) {
              if (gt.flags & 524288) {
                const jt = Vd(gt), ar = z(jt.callSignatures), jr = z(jt.constructSignatures);
                if (ve || (ve = jt.callSignatures.length !== 0 || jt.constructSignatures.length !== 0), de || (de = ar.length !== 0 || jr.length !== 0), ar !== jt.callSignatures || jr !== jt.constructSignatures) {
                  const Kr = Uo(ma(
                    0,
                    "__instantiationExpression"
                    /* InstantiationExpression */
                  ), jt.members, ar, jr, jt.indexInfos);
                  return Kr.objectFlags |= 8388608, Kr.node = a, Kr;
                }
              } else if (gt.flags & 58982400) {
                const jt = nu(gt);
                if (jt) {
                  const ar = lt(jt);
                  if (ar !== jt)
                    return ar;
                }
              } else {
                if (gt.flags & 1048576)
                  return Vo(gt, J);
                if (gt.flags & 2097152)
                  return ia(Gc(gt.types, lt));
              }
              return gt;
            }
          }
          function z(G) {
            const ve = kn(G, (de) => !!de.typeParameters && qde(de, l));
            return Gc(ve, (de) => {
              const We = $de(
                de,
                l,
                /*reportErrors*/
                true
              );
              return We ? ZA(de, We, an(de.declaration)) : de;
            });
          }
        }
        function got(r) {
          return ca(r.type), eme(r.expression, r.type);
        }
        function eme(r, a, l) {
          const f = Hi(r, l), d = Ci(a);
          if (Gr(d))
            return d;
          const y = dr(
            a.parent,
            (x) => x.kind === 239 || x.kind === 351
            /* JSDocSatisfiesTag */
          );
          return I2(f, d, y, r, p.Type_0_does_not_satisfy_the_expected_type_1), f;
        }
        function hot(r) {
          return Sft(r), r.keywordToken === 105 ? tme(r) : r.keywordToken === 102 ? r.name.escapedText === "defer" ? (E.assert(!ws(r.parent) || r.parent.expression !== r, "Trying to get the type of `import.defer` in `import.defer(...)`"), qe) : yot(r) : E.assertNever(r.keywordToken);
        }
        function vIe(r) {
          switch (r.keywordToken) {
            case 102:
              return R3e();
            case 105:
              const a = tme(r);
              return Gr(a) ? qe : Lot(a);
            default:
              E.assertNever(r.keywordToken);
          }
        }
        function tme(r) {
          const a = bK(r);
          if (a)
            if (a.kind === 177) {
              const l = yn(a.parent);
              return Yr(l);
            } else {
              const l = yn(a);
              return Yr(l);
            }
          else return ze(r, p.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor, "new.target"), qe;
        }
        function yot(r) {
          100 <= B && B <= 199 ? xr(r).impliedNodeFormat !== 99 && ze(r, p.The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output) : B < 6 && B !== 4 && ze(r, p.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_node18_node20_or_nodenext);
          const a = xr(r);
          return E.assert(!!(a.flags & 8388608), "Containing file is missing import meta node flag."), r.name.escapedText === "meta" ? M3e() : qe;
        }
        function HM(r) {
          const a = r.valueDeclaration;
          return Fu(
            Yr(r),
            /*isProperty*/
            false,
            /*isOptional*/
            !!a && (l0(a) || Dx(a))
          );
        }
        function rme(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 208: {
              if (r.dotDotDotToken) {
                const f = r.name.elements, d = Bn(ko(f), ha), y = f.length - (d?.dotDotDotToken ? 1 : 0);
                if (a < y) {
                  const x = f[a];
                  if (ha(x))
                    return rme(x, a, l);
                } else if (d?.dotDotDotToken)
                  return rme(d, a - y, l);
              }
              break;
            }
          }
          return `arg_${a}`;
        }
        function nme(r, a = 0, l = 3, f) {
          if (!r) {
            const d = Bn(f?.valueDeclaration, Ii);
            return d ? rme(d, a, l) : `${f?.escapedName ?? "arg"}_${a}`;
          }
          return E.assert(Me(r.name)), r.name.escapedText;
        }
        function bP(r, a, l) {
          var f;
          const d = r.parameters.length - (wu(r) ? 1 : 0);
          if (a < d)
            return r.parameters[a].escapedName;
          const y = r.parameters[d] || Y, x = l || Yr(y);
          if (ba(x)) {
            const I = x.target, J = a - d, z = (f = I.labeledElementDeclarations) == null ? void 0 : f[J], G = I.elementFlags[J];
            return nme(z, J, G, y);
          }
          return y.escapedName;
        }
        function vot(r, a) {
          var l;
          if (((l = r.declaration) == null ? void 0 : l.kind) === 318)
            return;
          const f = r.parameters.length - (wu(r) ? 1 : 0);
          if (a < f) {
            const I = r.parameters[a], J = bIe(I);
            return J ? {
              parameter: J,
              parameterName: I.escapedName,
              isRestParameter: false
            } : void 0;
          }
          const d = r.parameters[f] || Y, y = bIe(d);
          if (!y)
            return;
          const x = Yr(d);
          if (ba(x)) {
            const I = x.target.labeledElementDeclarations, J = a - f, z = I?.[J], G = !!z?.dotDotDotToken;
            return z ? (E.assert(Me(z.name)), { parameter: z.name, parameterName: z.name.escapedText, isRestParameter: G }) : void 0;
          }
          if (a === f)
            return { parameter: y, parameterName: d.escapedName, isRestParameter: true };
        }
        function bIe(r) {
          return r.valueDeclaration && Ii(r.valueDeclaration) && Me(r.valueDeclaration.name) && r.valueDeclaration.name;
        }
        function SIe(r) {
          return r.kind === 203 || Ii(r) && r.name && Me(r.name);
        }
        function bot(r, a) {
          const l = r.parameters.length - (wu(r) ? 1 : 0);
          if (a < l) {
            const y = r.parameters[a].valueDeclaration;
            return y && SIe(y) ? y : void 0;
          }
          const f = r.parameters[l] || Y, d = Yr(f);
          if (ba(d)) {
            const y = d.target.labeledElementDeclarations, x = a - l;
            return y && y[x];
          }
          return f.valueDeclaration && SIe(f.valueDeclaration) ? f.valueDeclaration : void 0;
        }
        function Xd(r, a) {
          return M2(r, a) || Le;
        }
        function M2(r, a) {
          const l = r.parameters.length - (wu(r) ? 1 : 0);
          if (a < l)
            return HM(r.parameters[a]);
          if (wu(r)) {
            const f = Yr(r.parameters[l]), d = a - l;
            if (!ba(f) || f.target.combinedFlags & 12 || d < f.target.fixedLength)
              return mf(f, qd(d));
          }
        }
        function GM(r, a, l) {
          const f = V_(r), d = Qd(r), y = CI(r);
          if (y && a >= f - 1)
            return a === f - 1 ? y : yu(mf(y, wt));
          const x = [], I = [], J = [];
          for (let z = a; z < f; z++)
            !y || z < f - 1 ? (x.push(Xd(r, z)), I.push(
              z < d ? 1 : 2
              /* Optional */
            )) : (x.push(y), I.push(
              8
              /* Variadic */
            )), J.push(bot(r, z));
          return pg(x, I, l, J);
        }
        function TIe(r, a) {
          const l = GM(r, a), f = l && SM(l);
          return f && gn(f) ? Le : l;
        }
        function V_(r) {
          const a = r.parameters.length;
          if (wu(r)) {
            const l = Yr(r.parameters[a - 1]);
            if (ba(l))
              return a + l.target.fixedLength - (l.target.combinedFlags & 12 ? 0 : 1);
          }
          return a;
        }
        function Qd(r, a) {
          const l = a & 1, f = a & 2;
          if (f || r.resolvedMinArgumentCount === void 0) {
            let d;
            if (wu(r)) {
              const y = Yr(r.parameters[r.parameters.length - 1]);
              if (ba(y)) {
                const x = ic(y.target.elementFlags, (J) => !(J & 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 = Xd(r, y);
              if (Hc(x, $Ae).flags & 131072)
                break;
              d = y;
            }
            r.resolvedMinArgumentCount = d;
          }
          return r.resolvedMinArgumentCount;
        }
        function mg(r) {
          if (wu(r)) {
            const a = Yr(r.parameters[r.parameters.length - 1]);
            return !ba(a) || !!(a.target.combinedFlags & 12);
          }
          return false;
        }
        function CI(r) {
          if (wu(r)) {
            const a = Yr(r.parameters[r.parameters.length - 1]);
            if (!ba(a))
              return gn(a) ? Ul : a;
            if (a.target.combinedFlags & 12)
              return _P(a, a.target.fixedLength);
          }
        }
        function EI(r) {
          const a = CI(r);
          return a && !Tp(a) && !gn(a) ? a : void 0;
        }
        function ime(r) {
          return sme(r, nr);
        }
        function sme(r, a) {
          return r.parameters.length > 0 ? Xd(r, 0) : a;
        }
        function xIe(r, a, l) {
          const f = r.parameters.length - (wu(r) ? 1 : 0);
          for (let y = 0; y < f; y++) {
            const x = r.parameters[y].valueDeclaration, I = Qc(x);
            if (I) {
              const J = Fu(
                Ci(I),
                /*isProperty*/
                false,
                Dx(x)
              ), z = Xd(a, y);
              sh(l.inferences, J, z);
            }
          }
          const d = r.declaration && K_(r.declaration);
          if (d) {
            const y = Ci(d), x = Ba(a);
            sh(l.inferences, y, x);
          }
        }
        function Sot(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 = wT(
              a.thisParameter,
              /*type*/
              void 0
            )), $M(r.thisParameter, Yr(a.thisParameter)));
          }
          const l = r.parameters.length - (wu(r) ? 1 : 0);
          for (let f = 0; f < l; f++) {
            const d = r.parameters[f], y = d.valueDeclaration;
            if (!Qc(y)) {
              let x = M2(a, f);
              if (x && y.initializer) {
                let I = SP(
                  y,
                  0
                  /* Normal */
                );
                !Ls(I, x) && Ls(x, I = dme(y, I)) && (x = I);
              }
              $M(d, x);
            }
          }
          if (wu(r)) {
            const f = fa(r.parameters);
            if (f.valueDeclaration ? !Qc(f.valueDeclaration) : oc(f) & 65536) {
              const d = GM(a, l);
              $M(f, d);
            }
          }
        }
        function Tot(r) {
          r.thisParameter && $M(r.thisParameter);
          for (const a of r.parameters)
            $M(a);
        }
        function $M(r, a) {
          const l = Pn(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 = Fu(
              a || (f ? Vk(
                f,
                /*reportErrors*/
                true
              ) : Yr(r)),
              /*isProperty*/
              false,
              /*isOptional*/
              !!f && !f.initializer && Dx(f)
            ), f && f.name.kind !== 80 && (l.type === yt && (l.type = Kw(f.name)), kIe(f.name, l.type));
          }
        }
        function kIe(r, a) {
          for (const l of r.elements)
            if (!gl(l)) {
              const f = g1(
                l,
                a,
                /*noTupleBoundsCheck*/
                false
              );
              l.name.kind === 80 ? Pn(yn(l)).type = f : kIe(l.name, f);
            }
        }
        function xot(r) {
          return wE(Ptt(
            /*reportErrors*/
            true
          ), [r]);
        }
        function kot(r, a) {
          return wE(Ntt(
            /*reportErrors*/
            true
          ), [r, a]);
        }
        function Cot(r, a) {
          return wE(Att(
            /*reportErrors*/
            true
          ), [r, a]);
        }
        function Eot(r, a) {
          return wE(Itt(
            /*reportErrors*/
            true
          ), [r, a]);
        }
        function Dot(r, a) {
          return wE(Ftt(
            /*reportErrors*/
            true
          ), [r, a]);
        }
        function wot(r, a) {
          return wE(Mtt(
            /*reportErrors*/
            true
          ), [r, a]);
        }
        function Pot(r, a, l) {
          const f = `${a ? "p" : "P"}${l ? "s" : "S"}${r.id}`;
          let d = vs.get(f);
          if (!d) {
            const y = js();
            y.set("name", M0("name", r)), y.set("private", M0("private", a ? rt : Rr)), y.set("static", M0("static", l ? rt : Rr)), d = Uo(
              /*symbol*/
              void 0,
              y,
              Ge,
              Ge,
              Ge
            ), vs.set(f, d);
          }
          return d;
        }
        function CIe(r, a, l) {
          const f = sl(r), d = Ai(r.name), y = d ? W_(An(r.name)) : Hh(r.name), x = Ko(r) ? kot(a, l) : lp(r) ? Cot(a, l) : R_(r) ? Eot(a, l) : g_(r) ? Dot(a, l) : as(r) ? wot(a, l) : E.failBadSyntaxKind(r), I = Pot(y, d, f);
          return ia([x, I]);
        }
        function Not(r, a) {
          return wE(Ott(
            /*reportErrors*/
            true
          ), [r, a]);
        }
        function Aot(r, a) {
          return wE(Ltt(
            /*reportErrors*/
            true
          ), [r, a]);
        }
        function Iot(r, a) {
          const l = Jf("this", r), f = Jf("value", a);
          return Sme(
            /*typeParameters*/
            void 0,
            l,
            [f],
            a,
            /*typePredicate*/
            void 0,
            1
          );
        }
        function ame(r, a, l) {
          const f = Jf("target", r), d = Jf("context", a), y = Xn([l, _r]);
          return FI(
            /*typeParameters*/
            void 0,
            /*thisParameter*/
            void 0,
            [f, d],
            y
          );
        }
        function Fot(r) {
          const { parent: a } = r, l = xn(a);
          if (!l.decoratorSignature)
            switch (l.decoratorSignature = Hr, a.kind) {
              case 264:
              case 232: {
                const d = Yr(yn(a)), y = xot(d);
                l.decoratorSignature = ame(d, y, d);
                break;
              }
              case 175:
              case 178:
              case 179: {
                const f = a;
                if (!$n(f.parent)) break;
                const d = Ko(f) ? vT(qf(f)) : aC(f), y = sl(f) ? Yr(yn(f.parent)) : vp(yn(f.parent)), x = lp(f) ? i7e(d) : R_(f) ? s7e(d) : d, I = CIe(f, y, d), J = lp(f) ? i7e(d) : R_(f) ? s7e(d) : d;
                l.decoratorSignature = ame(x, I, J);
                break;
              }
              case 173: {
                const f = a;
                if (!$n(f.parent)) break;
                const d = aC(f), y = sl(f) ? Yr(yn(f.parent)) : vp(yn(f.parent)), x = cm(f) ? Not(y, d) : ue, I = CIe(f, y, d), J = cm(f) ? Aot(y, d) : Iot(y, d);
                l.decoratorSignature = ame(x, I, J);
                break;
              }
            }
          return l.decoratorSignature === Hr ? void 0 : l.decoratorSignature;
        }
        function Oot(r) {
          const { parent: a } = r, l = xn(a);
          if (!l.decoratorSignature)
            switch (l.decoratorSignature = Hr, a.kind) {
              case 264:
              case 232: {
                const d = Yr(yn(a)), y = Jf("target", d);
                l.decoratorSignature = FI(
                  /*typeParameters*/
                  void 0,
                  /*thisParameter*/
                  void 0,
                  [y],
                  Xn([d, _r])
                );
                break;
              }
              case 170: {
                const f = a;
                if (!ec(f.parent) && !(Ko(f.parent) || R_(f.parent) && $n(f.parent.parent)) || Ab(f.parent) === f)
                  break;
                const d = Ab(f.parent) ? f.parent.parameters.indexOf(f) - 1 : f.parent.parameters.indexOf(f);
                E.assert(d >= 0);
                const y = ec(f.parent) ? Yr(yn(f.parent.parent)) : Y7e(f.parent), x = ec(f.parent) ? ue : Z7e(f.parent), I = qd(d), J = Jf("target", y), z = Jf("propertyKey", x), G = Jf("parameterIndex", I);
                l.decoratorSignature = FI(
                  /*typeParameters*/
                  void 0,
                  /*thisParameter*/
                  void 0,
                  [J, z, G],
                  _r
                );
                break;
              }
              case 175:
              case 178:
              case 179:
              case 173: {
                const f = a;
                if (!$n(f.parent)) break;
                const d = Y7e(f), y = Jf("target", d), x = Z7e(f), I = Jf("propertyKey", x), J = as(f) ? _r : H3e(aC(f));
                if (!as(a) || cm(a)) {
                  const G = H3e(aC(f)), ve = Jf("descriptor", G);
                  l.decoratorSignature = FI(
                    /*typeParameters*/
                    void 0,
                    /*thisParameter*/
                    void 0,
                    [y, I, ve],
                    Xn([J, _r])
                  );
                } else
                  l.decoratorSignature = FI(
                    /*typeParameters*/
                    void 0,
                    /*thisParameter*/
                    void 0,
                    [y, I],
                    Xn([J, _r])
                  );
                break;
              }
            }
          return l.decoratorSignature === Hr ? void 0 : l.decoratorSignature;
        }
        function ome(r) {
          return U ? Oot(r) : Fot(r);
        }
        function XM(r) {
          const a = iM(
            /*reportErrors*/
            true
          );
          return a !== zt ? (r = t0(CP(r)) || yt, qh(a, [r])) : yt;
        }
        function EIe(r) {
          const a = z3e(
            /*reportErrors*/
            true
          );
          return a !== zt ? (r = t0(CP(r)) || yt, qh(a, [r])) : yt;
        }
        function QM(r, a) {
          const l = XM(a);
          return l === yt ? (ze(
            r,
            y_(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
          ), qe) : (Kfe(
            /*reportErrors*/
            true
          ) || ze(
            r,
            y_(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 Lot(r) {
          const a = ma(0, "NewTargetExpression"), l = ma(
            4,
            "target",
            8
            /* Readonly */
          );
          l.parent = a, l.links.type = r;
          const f = js([l]);
          return a.members = f, Uo(a, f, Ge, Ge, Ge);
        }
        function dX(r, a) {
          if (!r.body)
            return qe;
          const l = Fc(r), f = (l & 2) !== 0, d = (l & 1) !== 0;
          let y, x, I, J = _r;
          if (r.body.kind !== 242)
            y = fc(
              r.body,
              a && a & -9
              /* SkipGenericFunctions */
            ), f && (y = CP(rR(
              y,
              /*withAlias*/
              false,
              /*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 z = NIe(r, a);
            z ? z.length > 0 && (y = Xn(
              z,
              2
              /* Subtype */
            )) : J = nr;
            const { yieldTypes: G, nextTypes: ve } = Mot(r, a);
            x = ot(G) ? Xn(
              G,
              2
              /* Subtype */
            ) : void 0, I = ot(ve) ? ia(ve) : void 0;
          } else {
            const z = NIe(r, a);
            if (!z)
              return l & 2 ? QM(r, nr) : nr;
            if (z.length === 0) {
              const G = G$(
                r,
                /*contextFlags*/
                void 0
              ), ve = G && (cR(G, l) || _r).flags & 32768 ? ue : _r;
              return l & 2 ? QM(r, ve) : (
                // Async function
                ve
              );
            }
            y = Xn(
              z,
              2
              /* Subtype */
            );
          }
          if (y || x || I) {
            if (x && F$(
              r,
              x,
              3
              /* GeneratorYield */
            ), y && F$(
              r,
              y,
              1
              /* FunctionReturn */
            ), I && F$(
              r,
              I,
              2
              /* GeneratorNext */
            ), y && Hd(y) || x && Hd(x) || I && Hd(I)) {
              const z = Z$(r), G = z ? z === qf(r) ? d ? void 0 : y : X$(
                Ba(z),
                r,
                /*contextFlags*/
                void 0
              ) : void 0;
              d ? (x = Wpe(x, G, 0, f), y = Wpe(y, G, 1, f), I = Wpe(I, G, 2, f)) : y = Pnt(y, G, f);
            }
            x && (x = hf(x)), y && (y = hf(y)), I && (I = hf(I));
          }
          return d ? mX(
            x || nr,
            y || J,
            I || oAe(2, r) || yt,
            f
          ) : f ? XM(y || J) : y || J;
        }
        function mX(r, a, l, f) {
          const d = f ? Rc : go, y = d.getGlobalGeneratorType(
            /*reportErrors*/
            false
          );
          if (r = d.resolveIterationType(
            r,
            /*errorNode*/
            void 0
          ) || yt, a = d.resolveIterationType(
            a,
            /*errorNode*/
            void 0
          ) || yt, y === zt) {
            const x = d.getGlobalIterableIteratorType(
              /*reportErrors*/
              false
            );
            return x !== zt ? uP(x, [r, a, l]) : (d.getGlobalIterableIteratorType(
              /*reportErrors*/
              true
            ), ea);
          }
          return uP(y, [r, a, l]);
        }
        function Mot(r, a) {
          const l = [], f = [], d = (Fc(r) & 2) !== 0;
          return uK(r.body, (y) => {
            const x = y.expression ? Hi(y.expression, a) : M;
            Yf(l, DIe(y, x, Le, d));
            let I;
            if (y.asteriskToken) {
              const J = DX(
                x,
                d ? 19 : 17,
                y.expression
              );
              I = J && J.nextType;
            } else
              I = f_(
                y,
                /*contextFlags*/
                void 0
              );
            I && Yf(f, I);
          }), { yieldTypes: l, nextTypes: f };
        }
        function DIe(r, a, l, f) {
          if (a === kt)
            return kt;
          const d = r.expression || r, y = r.asteriskToken ? ty(f ? 19 : 17, a, l, d) : a;
          return f ? iC(
            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 wIe(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 ? Tne.get(y) || 32768 : 0;
          }
          return f;
        }
        function PIe(r) {
          const a = xn(r);
          if (a.isExhaustive === void 0) {
            a.isExhaustive = 0;
            const l = Rot(r);
            a.isExhaustive === 0 && (a.isExhaustive = l);
          } else a.isExhaustive === 0 && (a.isExhaustive = false);
          return a.isExhaustive;
        }
        function Rot(r) {
          if (r.expression.kind === 222) {
            const f = I8e(r);
            if (!f)
              return false;
            const d = Fm(fc(r.expression.expression)), y = wIe(0, 0, f);
            return d.flags & 3 ? (556800 & y) === 556800 : !kp(d, (x) => OE(x, y) === y);
          }
          const a = Fm(fc(r.expression));
          if (!lI(a))
            return false;
          const l = j$(r);
          return !l.length || ot(l, Ent) ? false : kit(Vo(a, Yu), l);
        }
        function cme(r) {
          return r.endFlowNode && NM(r.endFlowNode);
        }
        function NIe(r, a) {
          const l = Fc(r), f = [];
          let d = cme(r), y = false;
          if (wy(r.body, (x) => {
            let I = x.expression;
            if (I) {
              if (I = Ra(
                I,
                /*excludeJSDocTypeAssertions*/
                true
              ), l & 2 && I.kind === 224 && (I = Ra(
                I.expression,
                /*excludeJSDocTypeAssertions*/
                true
              )), I.kind === 214 && I.expression.kind === 80 && fc(I.expression).symbol === Ia(r.symbol) && (!My(r.symbol.valueDeclaration) || pde(I.expression))) {
                y = true;
                return;
              }
              let J = fc(
                I,
                a && a & -9
                /* SkipGenericFunctions */
              );
              l & 2 && (J = CP(rR(
                J,
                /*withAlias*/
                false,
                r,
                p.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
              ))), J.flags & 131072 && (y = true), Yf(f, J);
            } else
              d = true;
          }), !(f.length === 0 && !d && (y || jot(r))))
            return K && f.length && d && !(Rm(r) && f.some((x) => x.symbol === r.symbol)) && Yf(f, ue), f;
        }
        function jot(r) {
          switch (r.kind) {
            case 219:
            case 220:
              return true;
            case 175:
              return r.parent.kind === 211;
            default:
              return false;
          }
        }
        function Bot(r) {
          switch (r.kind) {
            case 177:
            case 178:
            case 179:
              return;
          }
          if (Fc(r) !== 0) return;
          let l;
          if (r.body && r.body.kind !== 242)
            l = r.body;
          else if (wy(r.body, (d) => {
            if (l || !d.expression) return true;
            l = d.expression;
          }) || !l || cme(r)) return;
          return Jot(r, l);
        }
        function Jot(r, a) {
          if (a = Ra(
            a,
            /*excludeJSDocTypeAssertions*/
            true
          ), !!(fc(a).flags & 16))
            return lr(r.parameters, (f, d) => {
              const y = Yr(f.symbol);
              if (!y || y.flags & 16 || !Me(f.name) || gI(f.symbol) || Wm(f))
                return;
              const x = zot(r, a, f, y);
              if (x)
                return YA(1, Si(f.name.escapedText), d, x);
            });
        }
        function zot(r, a, l, f) {
          const d = zC(a) && a.flowNode || a.parent.kind === 254 && a.parent.flowNode || Ym(
            2,
            /*node*/
            void 0,
            /*antecedent*/
            void 0
          ), y = Ym(32, a, d), x = e0(l.name, f, f, r, y);
          if (x === f) return;
          const I = Ym(64, a, d);
          return Yp(e0(l.name, f, x, r, I)).flags & 131072 ? x : void 0;
        }
        function lme(r, a) {
          n(l);
          return;
          function l() {
            const f = Fc(r), d = a && cR(a, f);
            if (d && (kc(
              d,
              16384
              /* Void */
            ) || d.flags & 32769) || r.kind === 174 || ac(r.body) || r.body.kind !== 242 || !cme(r))
              return;
            const y = r.flags & 1024, x = K_(r) || r;
            if (d && d.flags & 131072)
              ze(x, p.A_function_returning_never_cannot_have_a_reachable_end_point);
            else if (d && !y)
              ze(x, p.A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value);
            else if (d && K && !Ls(ue, d))
              ze(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 = Ba(qf(r));
                if (k7e(r, I))
                  return;
              }
              ze(x, p.Not_all_code_paths_return_a_value);
            }
          }
        }
        function AIe(r, a) {
          if (E.assert(r.kind !== 175 || Fp(r)), sC(r), mo(r) && EP(r, r.name), a && a & 4 && Hf(r)) {
            if (!K_(r) && !sF(r)) {
              const f = vI(r);
              if (f && C1(Ba(f))) {
                const d = xn(r);
                if (d.contextFreeType)
                  return d.contextFreeType;
                const y = dX(r, a), x = Im(
                  /*declaration*/
                  void 0,
                  /*typeParameters*/
                  void 0,
                  /*thisParameter*/
                  void 0,
                  Ge,
                  y,
                  /*resolvedTypePredicate*/
                  void 0,
                  0,
                  64
                  /* IsNonInferrable */
                ), I = Uo(r.symbol, A, [x], Ge, Ge);
                return I.objectFlags |= 262144, d.contextFreeType = I;
              }
            }
            return Xa;
          }
          return !zX(r) && r.kind === 219 && Gme(r), Wot(r, a), Yr(yn(r));
        }
        function Wot(r, a) {
          const l = xn(r);
          if (!(l.flags & 64)) {
            const f = vI(r);
            if (!(l.flags & 64)) {
              l.flags |= 64;
              const d = $c(As(
                Yr(yn(r)),
                0
                /* Call */
              ));
              if (!d)
                return;
              if (Hf(r))
                if (f) {
                  const y = O2(r);
                  let x;
                  if (a && a & 2) {
                    xIe(d, f, y);
                    const I = CI(f);
                    I && I.flags & 262144 && (x = ET(f, y.nonFixingMapper));
                  }
                  x || (x = y ? ET(f, y.mapper) : f), Sot(d, x);
                } else
                  Tot(d);
              else if (f && !r.typeParameters && f.parameters.length > r.parameters.length) {
                const y = O2(r);
                a && a & 2 && xIe(d, f, y);
              }
              if (f && !DE(r) && !d.resolvedReturnType) {
                const y = dX(r, a);
                d.resolvedReturnType || (d.resolvedReturnType = y);
              }
              PI(r);
            }
          }
        }
        function Uot(r) {
          E.assert(r.kind !== 175 || Fp(r));
          const a = Fc(r), l = DE(r);
          if (lme(r, l), r.body)
            if (K_(r) || Ba(qf(r)), r.body.kind === 242)
              ca(r.body);
            else {
              const f = Hi(r.body), d = l && cR(l, a);
              d && wX(r, d, r.body, r.body, f);
            }
        }
        function gX(r, a, l, f = false) {
          if (!Ls(a, Is)) {
            const d = f && kP(a);
            return L0(
              r,
              !!d && Ls(d, Is),
              l
            ), false;
          }
          return true;
        }
        function Vot(r) {
          if (!ws(r) || !nS(r))
            return false;
          const a = fc(r.arguments[2]);
          if (rr(a, "value")) {
            const d = Qs(a, "writable"), y = d && Yr(d);
            if (!y || y === Rr || y === Pr)
              return true;
            if (d && d.valueDeclaration && Kc(d.valueDeclaration)) {
              const x = d.valueDeclaration.initializer, I = Hi(x);
              if (I === Rr || I === Pr)
                return true;
            }
            return false;
          }
          return !Qs(a, "set");
        }
        function Yd(r) {
          return !!(oc(r) & 8 || r.flags & 4 && ap(r) & 8 || r.flags & 3 && Ide(r) & 6 || r.flags & 98304 && !(r.flags & 65536) || r.flags & 8 || ot(r.declarations, Vot));
        }
        function IIe(r, a, l) {
          var f, d;
          if (l === 0)
            return false;
          if (Yd(a)) {
            if (a.flags & 4 && vo(r) && r.expression.kind === 110) {
              const y = vP(r);
              if (!(y && (y.kind === 177 || Rm(y))))
                return true;
              if (a.valueDeclaration) {
                const x = _n(a.valueDeclaration), I = y.parent === a.valueDeclaration.parent, J = y === a.valueDeclaration.parent, z = x && ((f = a.parent) == null ? void 0 : f.valueDeclaration) === y.parent, G = x && ((d = a.parent) == null ? void 0 : d.valueDeclaration) === y;
                return !(I || J || z || G);
              }
            }
            return true;
          }
          if (vo(r)) {
            const y = Ra(r.expression);
            if (y.kind === 80) {
              const x = xn(y).resolvedSymbol;
              if (x.flags & 2097152) {
                const I = P_(x);
                return !!I && I.kind === 275;
              }
            }
          }
          return false;
        }
        function DI(r, a, l) {
          const f = dc(
            r,
            39
            /* Parentheses */
          );
          return f.kind !== 80 && !vo(f) ? (ze(r, a), false) : f.flags & 64 ? (ze(r, l), false) : true;
        }
        function qot(r) {
          Hi(r.expression);
          const a = Ra(r.expression);
          if (!vo(a))
            return ze(a, p.The_operand_of_a_delete_operator_must_be_a_property_reference), Nt;
          wn(a) && Ai(a.name) && ze(a, p.The_operand_of_a_delete_operator_cannot_be_a_private_identifier);
          const l = xn(a), f = _t(l.resolvedSymbol);
          return f && (Yd(f) ? ze(a, p.The_operand_of_a_delete_operator_cannot_be_a_read_only_property) : Hot(a, f)), Nt;
        }
        function Hot(r, a) {
          const l = Yr(a);
          K && !(l.flags & 131075) && !(be ? a.flags & 16777216 : Gd2(
            l,
            16777216
            /* IsUndefined */
          )) && ze(r, p.The_operand_of_a_delete_operator_must_be_optional);
        }
        function Got(r) {
          return Hi(r.expression), _E;
        }
        function $ot(r) {
          return sC(r), M;
        }
        function FIe(r) {
          let a = false;
          const l = e5(r);
          if (l && Sc(l)) {
            const f = zy(r) ? p.await_expression_cannot_be_used_inside_a_class_static_block : p.await_using_statements_cannot_be_used_inside_a_class_static_block;
            ze(r, f), a = true;
          } else if (!(r.flags & 65536))
            if (r5(r)) {
              const f = xr(r);
              if (!w1(f)) {
                let d;
                if (!IC(f, F)) {
                  d ?? (d = nm(f, r.pos));
                  const y = zy(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);
                  Pa.add(x), a = true;
                }
                switch (B) {
                  case 100:
                  case 101:
                  case 102:
                  case 199:
                    if (f.impliedNodeFormat === 1) {
                      d ?? (d = nm(f, r.pos)), Pa.add(
                        al(f, d.start, d.length, p.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level)
                      ), a = true;
                      break;
                    }
                  // fallthrough
                  case 7:
                  case 99:
                  case 200:
                  case 4:
                    if (R >= 4)
                      break;
                  // fallthrough
                  default:
                    d ?? (d = nm(f, r.pos));
                    const y = zy(r) ? p.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_node20_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_node20_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher;
                    Pa.add(al(f, d.start, d.length, y)), a = true;
                    break;
                }
              }
            } else {
              const f = xr(r);
              if (!w1(f)) {
                const d = nm(f, r.pos), y = zy(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 !== 177 && (Fc(l) & 2) === 0) {
                  const I = sn(l, p.Did_you_mean_to_mark_this_function_as_async);
                  Js(x, I);
                }
                Pa.add(x), a = true;
              }
            }
          return zy(r) && xde(r) && (ze(r, p.await_expressions_cannot_be_used_in_a_parameter_initializer), a = true), a;
        }
        function Xot(r) {
          n(() => FIe(r));
          const a = Hi(r.expression), l = rR(
            a,
            /*withAlias*/
            true,
            r,
            p.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
          );
          return l === a && !Gr(l) && !(a.flags & 3) && qg(
            /*isError*/
            false,
            sn(r, p.await_has_no_effect_on_the_type_of_this_expression)
          ), l;
        }
        function Qot(r) {
          const a = Hi(r.operand);
          if (a === kt)
            return kt;
          switch (r.operand.kind) {
            case 9:
              switch (r.operator) {
                case 41:
                  return Yk(qd(-r.operand.text));
                case 40:
                  return Yk(qd(+r.operand.text));
              }
              break;
            case 10:
              if (r.operator === 41)
                return Yk(uM({
                  negative: true,
                  base10Value: pD(r.operand.text)
                }));
          }
          switch (r.operator) {
            case 40:
            case 41:
            case 55:
              return Mm(a, r.operand), YM(
                a,
                12288
                /* ESSymbolLike */
              ) && ze(r.operand, p.The_0_operator_cannot_be_applied_to_type_symbol, Vs(r.operator)), r.operator === 40 ? (YM(
                a,
                2112
                /* BigIntLike */
              ) && ze(r.operand, p.Operator_0_cannot_be_applied_to_type_1, Vs(r.operator), Wr(Yh(a))), wt) : ume(a);
            case 54:
              Eme(a, r.operand);
              const l = OE(
                a,
                12582912
                /* Falsy */
              );
              return l === 4194304 ? Rr : l === 8388608 ? rt : Nt;
            case 46:
            case 47:
              return gX(r.operand, Mm(a, r.operand), p.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type) && DI(
                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
              ), ume(a);
          }
          return qe;
        }
        function Yot(r) {
          const a = Hi(r.operand);
          return a === kt ? kt : (gX(
            r.operand,
            Mm(a, r.operand),
            p.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type
          ) && DI(
            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
          ), ume(a));
        }
        function ume(r) {
          return kc(
            r,
            2112
            /* BigIntLike */
          ) ? iu(
            r,
            3
            /* AnyOrUnknown */
          ) || kc(
            r,
            296
            /* NumberLike */
          ) ? Is : Zr : wt;
        }
        function YM(r, a) {
          if (kc(r, a))
            return true;
          const l = Fm(r);
          return !!l && kc(l, a);
        }
        function kc(r, a) {
          if (r.flags & a)
            return true;
          if (r.flags & 3145728) {
            const l = r.types;
            for (const f of l)
              if (kc(f, a))
                return true;
          }
          return false;
        }
        function iu(r, a, l) {
          return r.flags & a ? true : l && r.flags & 114691 ? false : !!(a & 296) && Ls(r, wt) || !!(a & 2112) && Ls(r, Zr) || !!(a & 402653316) && Ls(r, at) || !!(a & 528) && Ls(r, Nt) || !!(a & 16384) && Ls(r, _r) || !!(a & 131072) && Ls(r, nr) || !!(a & 65536) && Ls(r, Mt) || !!(a & 32768) && Ls(r, ue) || !!(a & 4096) && Ls(r, Jt) || !!(a & 67108864) && Ls(r, vr);
        }
        function wI(r, a, l) {
          return r.flags & 1048576 ? Ni(r.types, (f) => wI(f, a, l)) : iu(r, a, l);
        }
        function hX(r) {
          return !!(Dn(r) & 16) && !!r.symbol && _me(r.symbol);
        }
        function _me(r) {
          return (r.flags & 128) !== 0;
        }
        function fme(r) {
          const a = b7e("hasInstance");
          if (wI(
            r,
            67108864
            /* NonPrimitive */
          )) {
            const l = Qs(r, a);
            if (l) {
              const f = Yr(l);
              if (f && As(
                f,
                0
                /* Call */
              ).length !== 0)
                return f;
            }
          }
        }
        function Zot(r, a, l, f, d) {
          if (l === kt || f === kt)
            return kt;
          !gn(l) && wI(
            l,
            402784252
            /* Primitive */
          ) && ze(r, p.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter), E.assert(I5(r.parent));
          const y = JE(
            r.parent,
            /*candidatesOutArray*/
            void 0,
            d
          );
          if (y === ln)
            return kt;
          const x = Ba(y);
          return vu(x, Nt, 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), Nt;
        }
        function Kot(r) {
          return kp(r, (a) => a === Aa || !!(a.flags & 2097152) && dg(Fm(a)));
        }
        function ect(r, a, l, f) {
          if (l === kt || f === kt)
            return kt;
          if (Ai(r)) {
            if ((R < Tl.PrivateNamesAndClassStaticBlocks || R < Tl.ClassAndClassElementDecorators || !$) && bl(
              r,
              2097152
              /* ClassPrivateFieldIn */
            ), !xn(r).resolvedSymbol && jl(r)) {
              const d = jde(
                r,
                f.symbol,
                /*excludeClasses*/
                true
              );
              jAe(r, f, d);
            }
          } else
            vu(Mm(l, r), oi, r);
          return vu(Mm(f, a), vr, a) && Kot(f) && ze(a, p.Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator, Wr(f)), Nt;
        }
        function tct(r, a, l) {
          const f = r.properties;
          if (K && f.length === 0)
            return Mm(a, r);
          for (let d = 0; d < f.length; d++)
            OIe(r, a, d, f, l);
          return a;
        }
        function OIe(r, a, l, f, d = false) {
          const y = r.properties, x = y[l];
          if (x.kind === 304 || x.kind === 305) {
            const I = x.name, J = Hh(I);
            if (op(J)) {
              const ve = cp(J), de = Qs(a, ve);
              de && (WM(de, x, d), Ode(
                x,
                /*isSuper*/
                false,
                /*writing*/
                true,
                a,
                de
              ));
            }
            const z = mf(a, J, 32 | (rC(x) ? 16 : 0), I), G = Fa(x, z);
            return RT(x.kind === 305 ? x : x.initializer, G);
          } else if (x.kind === 306)
            if (l < y.length - 1)
              ze(x, p.A_rest_element_must_be_last_in_a_destructuring_pattern);
            else {
              R < Tl.ObjectSpreadRest && bl(
                x,
                4
                /* Rest */
              );
              const I = [];
              if (f)
                for (const z of f)
                  Bg(z) || I.push(z.name);
              const J = ji(a, I, a.symbol);
              return cC(f, p.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma), RT(x.expression, J);
            }
          else
            ze(x, p.Property_assignment_expected);
        }
        function rct(r, a, l) {
          const f = r.elements;
          R < Tl.DestructuringAssignment && F.downlevelIteration && bl(
            r,
            512
            /* Read */
          );
          const d = ty(193, a, ue, r) || qe;
          let y = F.noUncheckedIndexedAccess ? void 0 : d;
          for (let x = 0; x < f.length; x++) {
            let I = d;
            r.elements[x].kind === 231 && (I = y = y ?? (ty(65, a, ue, r) || qe)), LIe(r, a, x, I, l);
          }
          return a;
        }
        function LIe(r, a, l, f, d) {
          const y = r.elements, x = y[l];
          if (x.kind !== 233) {
            if (x.kind !== 231) {
              const I = qd(l);
              if (K0(a)) {
                const J = 32 | (rC(x) ? 16 : 0), z = b1(a, I, J, xI(x, I)) || qe, G = rC(x) ? xp(
                  z,
                  524288
                  /* NEUndefined */
                ) : z, ve = Fa(x, G);
                return RT(x, ve, d);
              }
              return RT(x, f, d);
            }
            if (l < y.length - 1)
              ze(x, p.A_rest_element_must_be_last_in_a_destructuring_pattern);
            else {
              const I = x.expression;
              if (I.kind === 227 && I.operatorToken.kind === 64)
                ze(I.operatorToken, p.A_rest_element_cannot_have_an_initializer);
              else {
                cC(r.elements, p.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma);
                const J = U_(a, ba) ? Vo(a, (z) => _P(z, l)) : yu(f);
                return RT(I, J, d);
              }
            }
          }
        }
        function RT(r, a, l, f) {
          let d;
          if (r.kind === 305) {
            const y = r;
            y.objectAssignmentInitializer && (K && !Gd2(
              Hi(y.objectAssignmentInitializer),
              16777216
              /* IsUndefined */
            ) && (a = xp(
              a,
              524288
              /* NEUndefined */
            )), lct(y.name, y.equalsToken, y.objectAssignmentInitializer, l)), d = r.name;
          } else
            d = r;
          return d.kind === 227 && d.operatorToken.kind === 64 && (me(d, l), d = d.left, K && (a = xp(
            a,
            524288
            /* NEUndefined */
          ))), d.kind === 211 ? tct(d, a, f) : d.kind === 210 ? rct(d, a, l) : nct(d, a, l);
        }
        function nct(r, a, l) {
          const f = Hi(r, l), d = r.parent.kind === 306 ? 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 === 306 ? 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 DI(r, d, y) && I2(a, f, r, r), EC(r) && bl(
            r.parent,
            1048576
            /* ClassPrivateFieldSet */
          ), a;
        }
        function ZM(r) {
          switch (r = Ra(r), r.kind) {
            case 80:
            case 11:
            case 14:
            case 216:
            case 229:
            case 15:
            case 9:
            case 10:
            case 112:
            case 97:
            case 106:
            case 157:
            case 219:
            case 232:
            case 220:
            case 210:
            case 211:
            case 222:
            case 236:
            case 286:
            case 285:
              return true;
            case 228:
              return ZM(r.whenTrue) && ZM(r.whenFalse);
            case 227:
              return vh(r.operatorToken.kind) ? false : ZM(r.left) && ZM(r.right);
            case 225:
            case 226:
              switch (r.operator) {
                case 54:
                case 40:
                case 41:
                case 55:
                  return true;
              }
              return false;
            // Some forms listed here for clarity
            case 223:
            // Explicit opt-out
            case 217:
            // Not SEF, but can produce useful type warnings
            case 235:
            // Not SEF, but can produce useful type warnings
            default:
              return false;
          }
        }
        function pme(r, a) {
          return (a.flags & 98304) !== 0 || h$(r, a);
        }
        function ict() {
          const r = zF(a, l, f, d, y, x);
          return (de, We) => {
            const lt = r(de, We);
            return E.assertIsDefined(lt), lt;
          };
          function a(de, We, lt) {
            return We ? (We.stackIndex++, We.skip = false, z(
              We,
              /*type*/
              void 0
            ), ve(
              We,
              /*type*/
              void 0
            )) : We = {
              checkMode: lt,
              skip: false,
              stackIndex: 0,
              typeStack: [void 0, void 0]
            }, an(de) && cx(de) ? (We.skip = true, ve(We, Hi(de.right, lt)), We) : (sct(de), de.operatorToken.kind === 64 && (de.left.kind === 211 || de.left.kind === 210) && (We.skip = true, ve(We, RT(
              de.left,
              Hi(de.right, lt),
              lt,
              de.right.kind === 110
              /* ThisKeyword */
            ))), We);
          }
          function l(de, We, lt) {
            if (!We.skip)
              return I(We, de);
          }
          function f(de, We, lt) {
            if (!We.skip) {
              const gt = G(We);
              E.assertIsDefined(gt), z(We, gt), ve(
                We,
                /*type*/
                void 0
              );
              const jt = de.kind;
              if (N5(jt)) {
                let ar = lt.parent;
                for (; ar.kind === 218 || rN(ar); )
                  ar = ar.parent;
                (jt === 56 || ev(ar)) && Cme(lt.left, gt, ev(ar) ? ar.thenStatement : void 0), tN(jt) && Eme(gt, lt.left);
              }
            }
          }
          function d(de, We, lt) {
            if (!We.skip)
              return I(We, de);
          }
          function y(de, We) {
            let lt;
            if (We.skip)
              lt = G(We);
            else {
              const gt = J(We);
              E.assertIsDefined(gt);
              const jt = G(We);
              E.assertIsDefined(jt), lt = MIe(de.left, de.operatorToken, de.right, gt, jt, We.checkMode, de);
            }
            return We.skip = false, z(
              We,
              /*type*/
              void 0
            ), ve(
              We,
              /*type*/
              void 0
            ), We.stackIndex--, lt;
          }
          function x(de, We, lt) {
            return ve(de, We), de;
          }
          function I(de, We) {
            if (_n(We))
              return We;
            ve(de, Hi(We, de.checkMode));
          }
          function J(de) {
            return de.typeStack[de.stackIndex];
          }
          function z(de, We) {
            de.typeStack[de.stackIndex] = We;
          }
          function G(de) {
            return de.typeStack[de.stackIndex + 1];
          }
          function ve(de, We) {
            de.typeStack[de.stackIndex + 1] = We;
          }
        }
        function sct(r) {
          if (r.operatorToken.kind === 61) {
            if (_n(r.parent)) {
              const { left: a, operatorToken: l } = r.parent;
              _n(a) && l.kind === 57 && mr(a, p._0_and_1_operations_cannot_be_mixed_without_parentheses, Vs(
                61
                /* QuestionQuestionToken */
              ), Vs(l.kind));
            } else if (_n(r.left)) {
              const { operatorToken: a } = r.left;
              (a.kind === 57 || a.kind === 56) && mr(r.left, p._0_and_1_operations_cannot_be_mixed_without_parentheses, Vs(a.kind), Vs(
                61
                /* QuestionQuestionToken */
              ));
            } else if (_n(r.right)) {
              const { operatorToken: a } = r.right;
              a.kind === 56 && mr(r.right, p._0_and_1_operations_cannot_be_mixed_without_parentheses, Vs(
                61
                /* QuestionQuestionToken */
              ), Vs(a.kind));
            }
            act(r), oct(r);
          }
        }
        function act(r) {
          const a = dc(
            r.left,
            63
            /* All */
          ), l = KM(a);
          l !== 3 && (l === 1 ? ze(a, p.This_expression_is_always_nullish) : ze(a, p.Right_operand_of_is_unreachable_because_the_left_operand_is_never_nullish));
        }
        function oct(r) {
          const a = dc(
            r.right,
            63
            /* All */
          ), l = KM(a);
          cct(r) || (l === 1 ? ze(a, p.This_expression_is_always_nullish) : l === 2 && ze(a, p.This_expression_is_never_nullish));
        }
        function cct(r) {
          return !_n(r.parent) || r.parent.operatorToken.kind !== 61;
        }
        function KM(r) {
          switch (r = dc(r), r.kind) {
            case 224:
            case 214:
            case 216:
            case 213:
            case 237:
            case 215:
            case 212:
            case 230:
            case 110:
              return 3;
            case 227:
              switch (r.operatorToken.kind) {
                case 64:
                case 61:
                case 78:
                case 57:
                case 76:
                case 56:
                case 77:
                  return 3;
                case 28:
                  return KM(r.right);
              }
              return 2;
            case 228:
              return KM(r.whenTrue) | KM(r.whenFalse);
            case 106:
              return 1;
            case 80:
              return Ou(r) === ne ? 1 : 3;
          }
          return 2;
        }
        function lct(r, a, l, f, d) {
          const y = a.kind;
          if (y === 64 && (r.kind === 211 || r.kind === 210))
            return RT(
              r,
              Hi(l, f),
              f,
              l.kind === 110
              /* ThisKeyword */
            );
          let x;
          tN(y) ? x = RI(r, f) : x = Hi(r, f);
          const I = Hi(l, f);
          return MIe(r, a, l, x, I, f, d);
        }
        function MIe(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 === kt || d === kt)
                return kt;
              f = Mm(f, r), d = Mm(d, l);
              let or;
              if (f.flags & 528 && d.flags & 528 && (or = de(a.kind)) !== void 0)
                return ze(x || a, p.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead, Vs(a.kind), Vs(or)), wt;
              {
                const Qn = gX(
                  r,
                  f,
                  p.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,
                  /*isAwaitValid*/
                  true
                ), Ri = gX(
                  l,
                  d,
                  p.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,
                  /*isAwaitValid*/
                  true
                );
                let zn;
                if (iu(
                  f,
                  3
                  /* AnyOrUnknown */
                ) && iu(
                  d,
                  3
                  /* AnyOrUnknown */
                ) || // Or, if neither could be bigint, implicit coercion results in a number result
                !(kc(
                  f,
                  2112
                  /* BigIntLike */
                ) || kc(
                  d,
                  2112
                  /* BigIntLike */
                )))
                  zn = wt;
                else if (J(f, d)) {
                  switch (I) {
                    case 50:
                    case 73:
                      jt();
                      break;
                    case 43:
                    case 68:
                      R < 3 && ze(x, p.Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later);
                  }
                  zn = Zr;
                } else
                  jt(J), zn = qe;
                if (Qn && Ri)
                  switch (We(zn), I) {
                    case 48:
                    case 71:
                    case 49:
                    case 72:
                    case 50:
                    case 73:
                      const bi = Fe(l);
                      typeof bi.value == "number" && Math.abs(bi.value) >= 32 && ud(
                        kh(rd(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),
                        Vs(I),
                        bi.value % 32
                      );
                      break;
                  }
                return zn;
              }
            case 40:
            case 65:
              if (f === kt || d === kt)
                return kt;
              !iu(
                f,
                402653316
                /* StringLike */
              ) && !iu(
                d,
                402653316
                /* StringLike */
              ) && (f = Mm(f, r), d = Mm(d, l));
              let ir;
              return iu(
                f,
                296,
                /*strict*/
                true
              ) && iu(
                d,
                296,
                /*strict*/
                true
              ) ? ir = wt : iu(
                f,
                2112,
                /*strict*/
                true
              ) && iu(
                d,
                2112,
                /*strict*/
                true
              ) ? ir = Zr : iu(
                f,
                402653316,
                /*strict*/
                true
              ) || iu(
                d,
                402653316,
                /*strict*/
                true
              ) ? ir = at : (gn(f) || gn(d)) && (ir = Gr(f) || Gr(d) ? qe : Le), ir && !ve(I) ? ir : ir ? (I === 65 && We(ir), ir) : (jt(
                (Ri, zn) => iu(Ri, 402655727) && iu(zn, 402655727)
              ), Le);
            case 30:
            case 32:
            case 33:
            case 34:
              return ve(I) && (f = Jpe(Mm(f, r)), d = Jpe(Mm(d, l)), gt((Qn, Ri) => {
                if (gn(Qn) || gn(Ri))
                  return true;
                const zn = Ls(Qn, Is), bi = Ls(Ri, Is);
                return zn && bi || !zn && !bi && dM(Qn, Ri);
              })), Nt;
            case 35:
            case 36:
            case 37:
            case 38:
              if (!(y && y & 64)) {
                if ((Bj(r) || Bj(l)) && // only report for === and !== in JS, not == or !=
                (!an(r) || I === 37 || I === 38)) {
                  const Qn = I === 35 || I === 37;
                  ze(x, p.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, Qn ? "false" : "true");
                }
                jr(x, I, r, l), gt((Qn, Ri) => pme(Qn, Ri) || pme(Ri, Qn));
              }
              return Nt;
            case 104:
              return Zot(r, l, f, d, y);
            case 103:
              return ect(r, l, f, d);
            case 56:
            case 77: {
              const Qn = Gd2(
                f,
                4194304
                /* Truthy */
              ) ? Xn([Int(K ? f : Yh(d)), d]) : f;
              return I === 77 && We(d), Qn;
            }
            case 57:
            case 76: {
              const Qn = Gd2(
                f,
                8388608
                /* Falsy */
              ) ? Xn(
                [Zh(i8e(f)), d],
                2
                /* Subtype */
              ) : f;
              return I === 76 && We(d), Qn;
            }
            case 61:
            case 78: {
              const Qn = Gd2(
                f,
                262144
                /* EQUndefinedOrNull */
              ) ? Xn(
                [Zh(f), d],
                2
                /* Subtype */
              ) : f;
              return I === 78 && We(d), Qn;
            }
            case 64:
              const nn = _n(r.parent) ? wc(r.parent) : 0;
              return z(nn, d), lt(nn) ? ((!(d.flags & 524288) || nn !== 2 && nn !== 6 && !Qh(d) && !ode(d) && !(Dn(d) & 1)) && We(d), f) : (We(d), d);
            case 28:
              if (!F.allowUnreachableCode && ZM(r) && !G(r.parent)) {
                const Qn = xr(r), Ri = Qn.text, zn = aa(Ri, r.pos);
                Qn.parseDiagnostics.some((xs) => xs.code !== p.JSX_expressions_must_have_one_parent_element.code ? false : Cj(xs, zn)) || ze(r, p.Left_side_of_comma_operator_is_unused_and_has_no_side_effects);
              }
              return d;
            default:
              return E.fail();
          }
          function J(or, ir) {
            return iu(
              or,
              2112
              /* BigIntLike */
            ) && iu(
              ir,
              2112
              /* BigIntLike */
            );
          }
          function z(or, ir) {
            if (or === 2)
              for (const nn of X0(ir)) {
                const Qn = Yr(nn);
                if (Qn.symbol && Qn.symbol.flags & 32) {
                  const Ri = nn.escapedName, zn = st(
                    nn.valueDeclaration,
                    Ri,
                    788968,
                    /*nameNotFoundMessage*/
                    void 0,
                    /*isUse*/
                    false
                  );
                  zn?.declarations && zn.declarations.some(CS) && (Hg(zn, p.Duplicate_identifier_0, Si(Ri), nn), Hg(nn, p.Duplicate_identifier_0, Si(Ri), zn));
                }
              }
          }
          function G(or) {
            return or.parent.kind === 218 && T_(or.left) && or.left.text === "0" && (ws(or.parent.parent) && or.parent.parent.expression === or.parent || or.parent.parent.kind === 216) && // special-case for "eval" because it's the only non-access case where an indirect call actually affects behavior.
            (vo(or.right) || Me(or.right) && or.right.escapedText === "eval");
          }
          function ve(or) {
            const ir = YM(
              f,
              12288
              /* ESSymbolLike */
            ) ? r : YM(
              d,
              12288
              /* ESSymbolLike */
            ) ? l : void 0;
            return ir ? (ze(ir, p.The_0_operator_cannot_be_applied_to_type_symbol, Vs(or)), false) : true;
          }
          function de(or) {
            switch (or) {
              case 52:
              case 75:
                return 57;
              case 53:
              case 79:
                return 38;
              case 51:
              case 74:
                return 56;
              default:
                return;
            }
          }
          function We(or) {
            vh(I) && n(ir);
            function ir() {
              let nn = f;
              if (XD(a.kind) && r.kind === 212 && (nn = iX(
                r,
                /*checkMode*/
                void 0,
                /*writeOnly*/
                true
              )), DI(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 Qn;
                if (be && wn(r) && kc(
                  or,
                  32768
                  /* Undefined */
                )) {
                  const Ri = rr(su(r.expression), r.name.escapedText);
                  v$(or, Ri) && (Qn = p.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target);
                }
                I2(or, nn, r, l, Qn);
              }
            }
          }
          function lt(or) {
            var ir;
            switch (or) {
              case 2:
                return true;
              case 1:
              case 5:
              case 6:
              case 3:
              case 4:
                const nn = Wf(r), Qn = cx(l);
                return !!Qn && ua(Qn) && !!((ir = nn?.exports) != null && ir.size);
              default:
                return false;
            }
          }
          function gt(or) {
            return or(f, d) ? false : (jt(or), true);
          }
          function jt(or) {
            let ir = false;
            const nn = x || a;
            if (or) {
              const xs = t0(f), Ja = t0(d);
              ir = !(xs === f && Ja === d) && !!(xs && Ja) && or(xs, Ja);
            }
            let Qn = f, Ri = d;
            !ir && or && ([Qn, Ri] = uct(f, d, or));
            const [zn, bi] = Qw(Qn, Ri);
            ar(nn, ir, zn, bi) || L0(
              nn,
              ir,
              p.Operator_0_cannot_be_applied_to_types_1_and_2,
              Vs(a.kind),
              zn,
              bi
            );
          }
          function ar(or, ir, nn, Qn) {
            switch (a.kind) {
              case 37:
              case 35:
              case 38:
              case 36:
                return L0(
                  or,
                  ir,
                  p.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap,
                  nn,
                  Qn
                );
              default:
                return;
            }
          }
          function jr(or, ir, nn, Qn) {
            const Ri = Kr(Ra(nn)), zn = Kr(Ra(Qn));
            if (Ri || zn) {
              const bi = ze(or, p.This_condition_will_always_return_0, Vs(
                ir === 37 || ir === 35 ? 97 : 112
                /* TrueKeyword */
              ));
              if (Ri && zn) return;
              const xs = ir === 38 || ir === 36 ? Vs(
                54
                /* ExclamationToken */
              ) : "", Ja = Ri ? Qn : nn, Vi = Ra(Ja);
              Js(bi, sn(Ja, p.Did_you_mean_0, `${xs}Number.isNaN(${Za(Vi) ? Q_(Vi) : "..."})`));
            }
          }
          function Kr(or) {
            if (Me(or) && or.escapedText === "NaN") {
              const ir = Rtt();
              return !!ir && ir === Ou(or);
            }
            return false;
          }
        }
        function uct(r, a, l) {
          let f = r, d = a;
          const y = Yh(r), x = Yh(a);
          return l(y, x) || (f = y, d = x), [f, d];
        }
        function _ct(r) {
          n(ve);
          const a = Df(r);
          if (!a) return Le;
          const l = Fc(a);
          if (!(l & 1))
            return Le;
          const f = (l & 2) !== 0;
          r.asteriskToken && (f && R < Tl.AsyncGenerators && bl(
            r,
            26624
            /* AsyncDelegatorIncludes */
          ), !f && R < Tl.Generators && F.downlevelIteration && bl(
            r,
            256
            /* Values */
          ));
          let d = DE(a);
          d && d.flags & 1048576 && (d = Hc(d, (de) => hme(
            de,
            l,
            /*errorNode*/
            void 0
          )));
          const y = d && Fme(d, f), x = y && y.yieldType || Le, I = y && y.nextType || Le, J = r.expression ? Hi(r.expression) : M, z = DIe(r, J, I, f);
          if (d && z && I2(z, x, r.expression || r, r.expression), r.asteriskToken)
            return Pme(f ? 19 : 17, 1, J, r.expression) || Le;
          if (d)
            return ry(2, d, f) || Le;
          let G = oAe(2, a);
          return G || (G = Le, n(() => {
            if (fe && !qee(r)) {
              const de = f_(
                r,
                /*contextFlags*/
                void 0
              );
              (!de || gn(de)) && ze(r, p.yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation);
            }
          })), G;
          function ve() {
            r.flags & 16384 || Ll(r, p.A_yield_expression_is_only_allowed_in_a_generator_body), xde(r) && ze(r, p.yield_expressions_cannot_be_used_in_a_parameter_initializer);
          }
        }
        function fct(r, a) {
          const l = RI(r.condition, a);
          Cme(r.condition, l, r.whenTrue);
          const f = Hi(r.whenTrue, a), d = Hi(r.whenFalse, a);
          return Xn(
            [f, d],
            2
            /* Subtype */
          );
        }
        function RIe(r) {
          const a = r.parent;
          return n_(a) && RIe(a) || oo(a) && a.argumentExpression === r;
        }
        function pct(r) {
          const a = [r.head.text], l = [];
          for (const d of r.templateSpans) {
            const y = Hi(d.expression);
            YM(
              y,
              12288
              /* ESSymbolLike */
            ) && ze(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(Ls(y, Ms) ? y : at);
          }
          const f = r.parent.kind !== 216 && Fe(r).value;
          return f ? Yk(W_(f)) : TP(r) || RIe(r) || kp(f_(
            r,
            /*contextFlags*/
            void 0
          ) || yt, dct) ? ST(a, l) : at;
        }
        function dct(r) {
          return !!(r.flags & 134217856 || r.flags & 58982400 && kc(
            nu(r) || yt,
            402653316
            /* StringLike */
          ));
        }
        function mct(r) {
          return qb(r) && !xS(r.parent) ? r.parent.parent : r;
        }
        function zE(r, a, l, f) {
          const d = mct(r);
          LM(
            d,
            a,
            /*isCache*/
            false
          ), xst(d, l);
          const y = Hi(r, f | 1 | (l ? 2 : 0));
          l && l.intraExpressionInferenceSites && (l.intraExpressionInferenceSites = void 0);
          const x = kc(
            y,
            2944
            /* Literal */
          ) && yX(y, X$(
            a,
            r,
            /*contextFlags*/
            void 0
          )) ? Yu(y) : y;
          return kst(), yI(), x;
        }
        function fc(r, a) {
          if (a)
            return Hi(r, a);
          const l = xn(r);
          if (!l.resolvedType) {
            const f = dn, d = Pi;
            dn = Ir, Pi = void 0, l.resolvedType = Hi(r, a), Pi = d, dn = f;
          }
          return l.resolvedType;
        }
        function jIe(r) {
          return r = Ra(
            r,
            /*excludeJSDocTypeAssertions*/
            true
          ), r.kind === 217 || r.kind === 235 || Gb(r);
        }
        function SP(r, a, l) {
          const f = L3(r);
          if (an(r)) {
            const y = cF(r);
            if (y)
              return eme(f, y, a);
          }
          const d = gme(f) || (l ? zE(
            f,
            l,
            /*inferenceContext*/
            void 0,
            a || 0
            /* Normal */
          ) : fc(f, a));
          if (Ii(ha(r) ? V2(r) : r)) {
            if (r.name.kind === 207 && ey(d))
              return gct(d, r.name);
            if (r.name.kind === 208 && ba(d))
              return hct(d, r.name);
          }
          return d;
        }
        function gct(r, a) {
          let l;
          for (const y of a.elements)
            if (y.initializer) {
              const x = BIe(y);
              x && !Qs(r, x) && (l = Er(l, y));
            }
          if (!l)
            return r;
          const f = js();
          for (const y of X0(r))
            f.set(y.escapedName, y);
          for (const y of l) {
            const x = ma(16777220, BIe(y));
            x.links.type = zd(
              y,
              /*includePatternInType*/
              false,
              /*reportErrors*/
              false
            ), f.set(x.escapedName, x);
          }
          const d = Uo(r.symbol, f, Ge, Ge, hu(r));
          return d.objectFlags = r.objectFlags, d;
        }
        function BIe(r) {
          const a = Hh(r.propertyName || r.name);
          return op(a) ? cp(a) : void 0;
        }
        function hct(r, a) {
          if (r.target.combinedFlags & 12 || Y0(r) >= a.elements.length)
            return r;
          const l = a.elements, f = D2(r).slice(), d = r.target.elementFlags.slice();
          for (let y = Y0(r); y < l.length; y++) {
            const x = l[y];
            (y < l.length - 1 || !(x.kind === 209 && x.dotDotDotToken)) && (f.push(!gl(x) && rC(x) ? zd(
              x,
              /*includePatternInType*/
              false,
              /*reportErrors*/
              false
            ) : Le), d.push(
              2
              /* Optional */
            ), !gl(x) && !rC(x) && nb(x, Le));
          }
          return pg(f, d, r.target.readonly);
        }
        function dme(r, a) {
          const l = JIe(r, a);
          if (an(r)) {
            if (ZNe(l))
              return nb(r, Le), Le;
            if (C$(l))
              return nb(r, Ul), Ul;
          }
          return l;
        }
        function JIe(r, a) {
          return R2(r) & 6 || T3(r) ? a : rb(a);
        }
        function yX(r, a) {
          if (a) {
            if (a.flags & 3145728) {
              const l = a.types;
              return ot(l, (f) => yX(r, f));
            }
            if (a.flags & 58982400) {
              const l = nu(a) || yt;
              return kc(
                l,
                4
                /* String */
              ) && kc(
                r,
                128
                /* StringLiteral */
              ) || kc(
                l,
                8
                /* Number */
              ) && kc(
                r,
                256
                /* NumberLiteral */
              ) || kc(
                l,
                64
                /* BigInt */
              ) && kc(
                r,
                2048
                /* BigIntLiteral */
              ) || kc(
                l,
                4096
                /* ESSymbol */
              ) && kc(
                r,
                8192
                /* UniqueESSymbol */
              ) || yX(r, l);
            }
            return !!(a.flags & 406847616 && kc(
              r,
              128
              /* StringLiteral */
            ) || a.flags & 256 && kc(
              r,
              256
              /* NumberLiteral */
            ) || a.flags & 2048 && kc(
              r,
              2048
              /* BigIntLiteral */
            ) || a.flags & 512 && kc(
              r,
              512
              /* BooleanLiteral */
            ) || a.flags & 8192 && kc(
              r,
              8192
              /* UniqueESSymbol */
            ));
          }
          return false;
        }
        function TP(r) {
          const a = r.parent;
          return bb(a) && Kp(a.type) || Gb(a) && Kp(y6(a)) || Kde(r) && yT(f_(
            r,
            0
            /* None */
          )) || (n_(a) || Kl(a) || up(a)) && TP(a) || (Kc(a) || fu(a) || _6(a)) && TP(a.parent);
        }
        function xP(r, a, l) {
          const f = Hi(r, a, l);
          return TP(r) || fK(r) ? Yu(f) : jIe(r) ? f : zpe(f, X$(
            f_(
              r,
              /*contextFlags*/
              void 0
            ),
            r,
            /*contextFlags*/
            void 0
          ));
        }
        function zIe(r, a) {
          return r.name.kind === 168 && yd(r.name), xP(r.initializer, a);
        }
        function WIe(r, a) {
          f5e(r), r.name.kind === 168 && yd(r.name);
          const l = AIe(r, a);
          return UIe(r, l, a);
        }
        function UIe(r, a, l) {
          if (l && l & 10) {
            const f = TI(
              a,
              0,
              /*allowMembers*/
              true
            ), d = TI(
              a,
              1,
              /*allowMembers*/
              true
            ), y = f || d;
            if (y && y.typeParameters) {
              const x = sb(
                r,
                2
                /* NoConstraints */
              );
              if (x) {
                const I = TI(
                  Zh(x),
                  f ? 0 : 1,
                  /*allowMembers*/
                  false
                );
                if (I && !I.typeParameters) {
                  if (l & 8)
                    return VIe(r, l), Xa;
                  const J = O2(r), z = J.signature && Ba(J.signature), G = z && QAe(z);
                  if (G && !G.typeParameters && !Ni(J.inferences, WE)) {
                    const ve = Sct(J, y.typeParameters), de = Vfe(y, ve), We = hr(J.inferences, (lt) => $pe(lt.typeParameter));
                    if (Vpe(de, I, (lt, gt) => {
                      sh(
                        We,
                        lt,
                        gt,
                        /*priority*/
                        0,
                        /*contravariant*/
                        true
                      );
                    }), ot(We, WE) && (qpe(de, I, (lt, gt) => {
                      sh(We, lt, gt);
                    }), !vct(J.inferences, We)))
                      return bct(J.inferences, We), J.inferredTypeParameters = Bi(J.inferredTypeParameters, ve), vT(de);
                  }
                  return vT(YAe(y, I, J));
                }
              }
            }
          }
          return a;
        }
        function VIe(r, a) {
          if (a & 2) {
            const l = O2(r);
            l.flags |= 4;
          }
        }
        function WE(r) {
          return !!(r.candidates || r.contraCandidates);
        }
        function yct(r) {
          return !!(r.candidates || r.contraCandidates || c3e(r.typeParameter));
        }
        function vct(r, a) {
          for (let l = 0; l < r.length; l++)
            if (WE(r[l]) && WE(a[l]))
              return true;
          return false;
        }
        function bct(r, a) {
          for (let l = 0; l < r.length; l++)
            !WE(r[l]) && WE(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 (mme(r.inferredTypeParameters, x) || mme(l, x)) {
              const I = Tct(Bi(r.inferredTypeParameters, l), x), J = ma(262144, I), z = l_(J);
              z.target = y, f = Er(f, y), d = Er(d, z), l.push(z);
            } else
              l.push(y);
          }
          if (d) {
            const y = gf(f, d);
            for (const x of d)
              x.mapper = y;
          }
          return l;
        }
        function mme(r, a) {
          return ot(r, (l) => l.symbol.escapedName === a);
        }
        function Tct(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 (!mme(r, y))
              return y;
          }
        }
        function qIe(r) {
          const a = MT(r);
          if (a && !a.typeParameters)
            return Ba(a);
        }
        function xct(r) {
          const a = Hi(r.expression), l = uI(a, r.expression), f = qIe(a);
          return f && P$(f, r, l !== a);
        }
        function su(r) {
          const a = gme(r);
          if (a)
            return a;
          if (r.flags & 268435456 && Pi) {
            const d = Pi[Oa(r)];
            if (d)
              return d;
          }
          const l = ts, f = Hi(
            r,
            64
            /* TypeOnly */
          );
          if (ts !== l) {
            const d = Pi || (Pi = []);
            d[Oa(r)] = f, Vee(
              r,
              r.flags | 268435456
              /* TypeCached */
            );
          }
          return f;
        }
        function gme(r) {
          let a = Ra(
            r,
            /*excludeJSDocTypeAssertions*/
            true
          );
          if (Gb(a)) {
            const l = y6(a);
            if (!Kp(l))
              return Ci(l);
          }
          if (a = Ra(r), zy(a)) {
            const l = gme(a.expression);
            return l ? iC(l) : void 0;
          }
          if (ws(a) && a.expression.kind !== 108 && !v_(
            a,
            /*requireStringLiteralLikeArgument*/
            true
          ) && !_Ie(a) && !y_(a))
            return H2(a) ? xct(a) : qIe(jE(a.expression));
          if (bb(a) && !Kp(a.type))
            return Ci(a.type);
          if (G2(r) || k4(r))
            return Hi(r);
        }
        function eR(r) {
          const a = xn(r);
          if (a.contextFreeType)
            return a.contextFreeType;
          LM(
            r,
            Le,
            /*isCache*/
            false
          );
          const l = a.contextFreeType = Hi(
            r,
            4
            /* SkipContextSensitive */
          );
          return yI(), l;
        }
        function Hi(r, a, l) {
          var f, d;
          (f = on) == null || f.push(on.Phase.Check, "checkExpression", { kind: r.kind, pos: r.pos, end: r.end, path: r.tracingPath });
          const y = k;
          k = r, h = 0;
          const x = Ect(r, a, l), I = UIe(r, x, a);
          return hX(I) && kct(r, I), k = y, (d = on) == null || d.pop(), I;
        }
        function kct(r, a) {
          var l;
          const f = r.parent.kind === 212 && r.parent.expression === r || r.parent.kind === 213 && r.parent.expression === r || (r.kind === 80 || r.kind === 167) && LX(r) || r.parent.kind === 187 && r.parent.exprName === r || r.parent.kind === 282;
          if (f || ze(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 && f && !st(
            r,
            e_(r),
            2097152,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            false,
            /*excludeGlobals*/
            true
          )) {
            E.assert(!!(a.symbol.flags & 128));
            const d = a.symbol.valueDeclaration, y = (l = e.getRedirectFromOutput(xr(d).resolvedPath)) == null ? void 0 : l.resolvedRef;
            d.flags & 33554432 && !$1(r) && (!y || !Oy(y.commandLine.options)) && ze(r, p.Cannot_access_ambient_const_enums_when_0_is_enabled, Ee);
          }
        }
        function Cct(r, a) {
          if (bf(r)) {
            if (zJ(r))
              return eme(r.expression, WJ(r), a);
            if (Gb(r))
              return mIe(r, a);
          }
          return Hi(r.expression, a);
        }
        function Ect(r, a, l) {
          const f = r.kind;
          if (i)
            switch (f) {
              case 232:
              case 219:
              case 220:
                i.throwIfCancellationRequested();
            }
          switch (f) {
            case 80:
              return Hit(r, a);
            case 81:
              return hat(r);
            case 110:
              return FM(r);
            case 108:
              return H$(r);
            case 106:
              return ke;
            case 15:
            case 11:
              return Kpe(r) ? Ct : Yk(W_(r.text));
            case 9:
              return y5e(r), Yk(qd(+r.text));
            case 10:
              return wft(r), Yk(uM({
                negative: false,
                base10Value: pD(r.text)
              }));
            case 112:
              return rt;
            case 97:
              return Rr;
            case 229:
              return pct(r);
            case 14:
              return zst(r);
            case 210:
              return yAe(r, a, l);
            case 211:
              return Xst(r, a);
            case 212:
              return iX(r, a);
            case 167:
              return LAe(r, a);
            case 213:
              return Iat(r, a);
            case 214:
              if (y_(r))
                return uot(r);
            // falls through
            case 215:
              return lot(r, a);
            case 216:
              return _ot(r);
            case 218:
              return Cct(r, a);
            case 232:
              return gut(r);
            case 219:
            case 220:
              return AIe(r, a);
            case 222:
              return Got(r);
            case 217:
            case 235:
              return fot(r, a);
            case 236:
              return mot(r);
            case 234:
              return hIe(r);
            case 239:
              return got(r);
            case 237:
              return hot(r);
            case 221:
              return qot(r);
            case 223:
              return $ot(r);
            case 224:
              return Xot(r);
            case 225:
              return Qot(r);
            case 226:
              return Yot(r);
            case 227:
              return me(r, a);
            case 228:
              return fct(r, a);
            case 231:
              return Wst(r, a);
            case 233:
              return M;
            case 230:
              return _ct(r);
            case 238:
              return Ust(r);
            case 295:
              return uat(r, a);
            case 285:
              return Kst(r);
            case 286:
              return Yst(r);
            case 289:
              return eat(r);
            case 293:
              return rat(r, a);
            case 287:
              E.fail("Shouldn't ever directly check a JsxOpeningElement");
          }
          return qe;
        }
        function HIe(r) {
          oh(r), r.expression && Ll(r.expression, p.Type_expected), ca(r.constraint), ca(r.default);
          const a = Gv(yn(r));
          nu(a), Wet(a) || ze(r.default, p.Type_parameter_0_has_a_circular_default, Wr(a));
          const l = __(a), f = C2(a);
          l && f && vu(f, df(Mi(l, N2(a, f)), f), r.default, p.Type_0_does_not_satisfy_the_constraint_1), sC(r), n(() => DP(r.name, p.Type_parameter_name_cannot_be_0));
        }
        function Dct(r) {
          var a, l;
          if (Jl(r.parent) || $n(r.parent) || jp(r.parent)) {
            const f = Gv(yn(r)), d = Mpe(f) & 24576;
            if (d) {
              const y = yn(r.parent);
              if (jp(r.parent) && !(Dn(ho(y)) & 48))
                ze(r, p.Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types);
              else if (d === 8192 || d === 16384) {
                (a = on) == null || a.push(on.Phase.CheckTypes, "checkTypeParameterDeferred", { parent: Ol(ho(y)), id: Ol(f) });
                const x = hM(y, f, d === 16384 ? Ft : tt), I = hM(y, f, d === 16384 ? tt : Ft), J = f;
                D = f, vu(x, I, r, p.Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation), D = J, (l = on) == null || l.pop();
              }
            }
          }
        }
        function GIe(r) {
          oh(r), aR(r);
          const a = Df(r);
          Gn(
            r,
            31
            /* ParameterPropertyModifier */
          ) && (F.erasableSyntaxOnly && ze(r, p.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled), a.kind === 177 && Ip(a.body) || ze(r, p.A_parameter_property_is_only_allowed_in_a_constructor_implementation), a.kind === 177 && Me(r.name) && r.name.escapedText === "constructor" && ze(r.name, p.constructor_cannot_be_used_as_a_parameter_property_name)), !r.initializer && Dx(r) && Ds(r.name) && a.body && ze(r, p.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature), r.name && Me(r.name) && (r.name.escapedText === "this" || r.name.escapedText === "new") && (a.parameters.indexOf(r) !== 0 && ze(r, p.A_0_parameter_must_be_the_first_parameter, r.name.escapedText), (a.kind === 177 || a.kind === 181 || a.kind === 186) && ze(r, p.A_constructor_cannot_have_a_this_parameter), a.kind === 220 && ze(r, p.An_arrow_function_cannot_have_a_this_parameter), (a.kind === 178 || a.kind === 179) && ze(r, p.get_and_set_accessors_cannot_declare_this_parameters)), r.dotDotDotToken && !Ds(r.name) && !Ls(Yp(Yr(r.symbol)), lf) && ze(r, p.A_rest_parameter_must_be_of_an_array_type);
        }
        function wct(r) {
          const a = Pct(r);
          if (!a) {
            ze(r, p.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);
            return;
          }
          const l = qf(a), f = bp(l);
          if (!f)
            return;
          ca(r.type);
          const { parameterName: d } = r;
          if (f.kind !== 0 && f.kind !== 2) {
            if (f.parameterIndex >= 0) {
              if (wu(l) && f.parameterIndex === l.parameters.length - 1)
                ze(d, p.A_type_predicate_cannot_reference_a_rest_parameter);
              else if (f.type) {
                const y = () => Ss(
                  /*details*/
                  void 0,
                  p.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type
                );
                vu(
                  f.type,
                  Yr(l.parameters[f.parameterIndex]),
                  r.type,
                  /*headMessage*/
                  void 0,
                  y
                );
              }
            } else if (d) {
              let y = false;
              for (const { name: x } of a.parameters)
                if (Ds(x) && $Ie(x, d, f.parameterName)) {
                  y = true;
                  break;
                }
              y || ze(r.parameterName, p.Cannot_find_parameter_0, f.parameterName);
            }
          }
        }
        function Pct(r) {
          switch (r.parent.kind) {
            case 220:
            case 180:
            case 263:
            case 219:
            case 185:
            case 175:
            case 174:
              const a = r.parent;
              if (r === a.type)
                return a;
          }
        }
        function $Ie(r, a, l) {
          for (const f of r.elements) {
            if (gl(f))
              continue;
            const d = f.name;
            if (d.kind === 80 && d.escapedText === l)
              return ze(a, p.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern, l), true;
            if ((d.kind === 208 || d.kind === 207) && $Ie(
              d,
              a,
              l
            ))
              return true;
          }
        }
        function PI(r) {
          r.kind === 182 ? nft(r) : (r.kind === 185 || r.kind === 263 || r.kind === 186 || r.kind === 180 || r.kind === 177 || r.kind === 181) && zX(r);
          const a = Fc(r);
          a & 4 || ((a & 3) === 3 && R < Tl.AsyncGenerators && bl(
            r,
            6144
            /* AsyncGeneratorIncludes */
          ), (a & 3) === 2 && R < Tl.AsyncFunctions && bl(
            r,
            64
            /* Awaiter */
          ), (a & 3) !== 0 && R < Tl.Generators && bl(
            r,
            128
            /* Generator */
          )), lR(yy(r)), put(r), lr(r.parameters, GIe), r.type && ca(r.type), n(l);
          function l() {
            wlt(r);
            let f = K_(r), d = f;
            if (an(r)) {
              const y = M1(r);
              if (y && y.typeExpression && rf(y.typeExpression.type)) {
                const x = MT(Ci(y.typeExpression));
                x && x.declaration && (f = K_(x.declaration), d = y.typeExpression.type);
              }
            }
            if (fe && !f)
              switch (r.kind) {
                case 181:
                  ze(r, p.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);
                  break;
                case 180:
                  ze(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 === _r ? ze(d, p.A_generator_cannot_have_a_void_type_annotation) : hme(x, y, d);
              } else (y & 3) === 2 && alt(r, f, d);
            }
            r.kind !== 182 && r.kind !== 318 && E1(r);
          }
        }
        function hme(r, a, l) {
          const f = ry(0, r, (a & 2) !== 0) || Le, d = ry(1, r, (a & 2) !== 0) || f, y = ry(2, r, (a & 2) !== 0) || yt, x = mX(f, d, y, !!(a & 2));
          return vu(x, r, l);
        }
        function Nct(r) {
          const a = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map();
          for (const y of r.members)
            if (y.kind === 177)
              for (const x of y.parameters)
                X_(x, y) && !Ds(x.name) && d(
                  a,
                  x.name,
                  x.name.escapedText,
                  3
                  /* GetOrSetAccessor */
                );
            else {
              const x = Bs(y), I = y.name;
              if (!I)
                continue;
              const J = Ai(I), z = J && x ? 16 : 0, G = J ? f : x ? l : a, ve = I && Yme(I);
              if (ve)
                switch (y.kind) {
                  case 178:
                    d(G, I, ve, 1 | z);
                    break;
                  case 179:
                    d(G, I, ve, 2 | z);
                    break;
                  case 173:
                    d(G, I, ve, 3 | z);
                    break;
                  case 175:
                    d(G, I, ve, 8 | z);
                    break;
                }
            }
          function d(y, x, I, J) {
            const z = y.get(I);
            if (z)
              if ((z & 16) !== (J & 16))
                ze(x, p.Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name, Go(x));
              else {
                const G = !!(z & 8), ve = !!(J & 8);
                G || ve ? G !== ve && ze(x, p.Duplicate_identifier_0, Go(x)) : z & J & -17 ? ze(x, p.Duplicate_identifier_0, Go(x)) : y.set(I, z | J);
              }
            else
              y.set(I, J);
          }
        }
        function Act(r) {
          for (const a of r.members) {
            const l = a.name;
            if (Bs(a) && l) {
              const d = Yme(l);
              switch (d) {
                case "name":
                case "length":
                case "caller":
                case "arguments":
                  if ($)
                    break;
                // fall through
                case "prototype":
                  const y = p.Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1, x = Hv(yn(r));
                  ze(l, y, d, x);
                  break;
              }
            }
          }
        }
        function XIe(r) {
          const a = /* @__PURE__ */ new Map();
          for (const l of r.members)
            if (l.kind === 172) {
              let f;
              const d = l.name;
              switch (d.kind) {
                case 11:
                case 9:
                  f = d.text;
                  break;
                case 80:
                  f = An(d);
                  break;
                default:
                  continue;
              }
              a.get(f) ? (ze(us(l.symbol.valueDeclaration), p.Duplicate_identifier_0, f), ze(l.name, p.Duplicate_identifier_0, f)) : a.set(f, true);
            }
        }
        function yme(r) {
          if (r.kind === 265) {
            const l = yn(r);
            if (l.declarations && l.declarations.length > 0 && l.declarations[0] !== r)
              return;
          }
          const a = ZG(yn(r));
          if (a?.declarations) {
            const l = /* @__PURE__ */ new Map();
            for (const f of a.declarations)
              Jy(f) && f.parameters.length === 1 && f.parameters[0].type && IT(Ci(f.parameters[0].type), (d) => {
                const y = l.get(Ol(d));
                y ? y.declarations.push(f) : l.set(Ol(d), { type: d, declarations: [f] });
              });
            l.forEach((f) => {
              if (f.declarations.length > 1)
                for (const d of f.declarations)
                  ze(d, p.Duplicate_index_signature_for_type_0, Wr(f.type));
            });
          }
        }
        function QIe(r) {
          !oh(r) && !Cft(r) && WX(r.name), aR(r), vX(r), Gn(
            r,
            64
            /* Abstract */
          ) && r.kind === 173 && r.initializer && ze(r, p.Property_0_cannot_have_an_initializer_because_it_is_marked_abstract, so(r.name));
        }
        function Ict(r) {
          return Ai(r.name) && ze(r, p.Private_identifiers_are_not_allowed_outside_class_bodies), QIe(r);
        }
        function Fct(r) {
          f5e(r) || WX(r.name), Ko(r) && r.asteriskToken && Me(r.name) && An(r.name) === "constructor" && ze(r.name, p.Class_constructor_may_not_be_a_generator), c7e(r), Gn(
            r,
            64
            /* Abstract */
          ) && r.kind === 175 && r.body && ze(r, p.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract, so(r.name)), Ai(r.name) && !jl(r) && ze(r, p.Private_identifiers_are_not_allowed_outside_class_bodies), vX(r);
        }
        function vX(r) {
          if (Ai(r.name) && (R < Tl.PrivateNamesAndClassStaticBlocks || R < Tl.ClassAndClassElementDecorators || !$)) {
            for (let a = xd(r); a; a = xd(a))
              xn(a).flags |= 1048576;
            if (Oc(r.parent)) {
              const a = hde(r.parent);
              a && (xn(r.name).flags |= 32768, xn(a).flags |= 4096);
            }
          }
        }
        function Oct(r) {
          oh(r), Ts(r, ca);
        }
        function Lct(r) {
          PI(r), xft(r) || kft(r), ca(r.body);
          const a = yn(r), l = Ao(a, r.kind);
          if (r === l && SX(a), ac(r.body))
            return;
          n(d);
          return;
          function f(y) {
            return xu(y) ? true : y.kind === 173 && !Bs(y) && !!y.initializer;
          }
          function d() {
            const y = r.parent;
            if (Pb(y)) {
              yde(r.parent, y);
              const x = vde(y), I = tAe(r.body);
              if (I) {
                if (x && ze(I, p.A_constructor_cannot_contain_a_super_call_when_its_class_extends_null), !W && (ot(r.parent.members, f) || ot(r.parameters, (z) => Gn(
                  z,
                  31
                  /* ParameterPropertyModifier */
                ))))
                  if (!Mct(I, r.body))
                    ze(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 z;
                    for (const G of r.body.statements) {
                      if (Dl(G) && eS(dc(G.expression))) {
                        z = G;
                        break;
                      }
                      if (YIe(G))
                        break;
                    }
                    z === void 0 && ze(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 || ze(r, p.Constructors_for_derived_classes_must_contain_a_super_call);
            }
          }
        }
        function Mct(r, a) {
          const l = rd(r.parent);
          return Dl(l) && l.parent === a;
        }
        function YIe(r) {
          return r.kind === 108 || r.kind === 110 ? true : vK(r) ? false : !!Ts(r, YIe);
        }
        function ZIe(r) {
          Me(r.name) && An(r.name) === "constructor" && $n(r.parent) && ze(r.name, p.Class_constructor_may_not_be_an_accessor), n(a), ca(r.body), vX(r);
          function a() {
            if (!zX(r) && !fft(r) && WX(r.name), nR(r), PI(r), r.kind === 178 && !(r.flags & 33554432) && Ip(r.body) && r.flags & 512 && (r.flags & 1024 || ze(r.name, p.A_get_accessor_must_return_a_value)), r.name.kind === 168 && yd(r.name), CE(r)) {
              const f = yn(r), d = Ao(
                f,
                178
                /* GetAccessor */
              ), y = Ao(
                f,
                179
                /* SetAccessor */
              );
              if (d && y && !(oC(d) & 1)) {
                xn(d).flags |= 1;
                const x = lu(d), I = lu(y);
                (x & 64) !== (I & 64) && (ze(d.name, p.Accessors_must_both_be_abstract_or_non_abstract), ze(y.name, p.Accessors_must_both_be_abstract_or_non_abstract)), (x & 4 && !(I & 6) || x & 2 && !(I & 2)) && (ze(d.name, p.A_get_accessor_must_be_at_least_as_accessible_as_the_setter), ze(y.name, p.A_get_accessor_must_be_at_least_as_accessible_as_the_setter));
              }
            }
            const l = tP(yn(r));
            r.kind === 178 && lme(r, l);
          }
        }
        function Rct(r) {
          nR(r);
        }
        function jct(r, a, l) {
          return r.typeArguments && l < r.typeArguments.length ? Ci(r.typeArguments[l]) : bX(r, a)[l];
        }
        function bX(r, a) {
          return Q0(hr(r.typeArguments, Ci), a, fg(a), an(r));
        }
        function KIe(r, a) {
          let l, f, d = true;
          for (let y = 0; y < a.length; y++) {
            const x = __(a[y]);
            x && (l || (l = bX(r, a), f = gf(a, l)), d = d && vu(
              l[y],
              Mi(x, f),
              r.typeArguments[y],
              p.Type_0_does_not_satisfy_the_constraint_1
            ));
          }
          return d;
        }
        function Bct(r, a) {
          if (!Gr(r))
            return a.flags & 524288 && Pn(a).typeParameters || (Dn(r) & 4 ? r.target.localTypeParameters : void 0);
        }
        function vme(r) {
          const a = Ci(r);
          if (!Gr(a)) {
            const l = xn(r).resolvedSymbol;
            if (l)
              return Bct(a, l);
          }
        }
        function bme(r) {
          if (pR(r, r.typeArguments), r.kind === 184 && !an(r) && !M4(r) && r.typeArguments && r.typeName.end !== r.typeArguments.pos) {
            const a = xr(r);
            cK(a, r.typeName.end) === 25 && ab(r, aa(a.text, r.typeName.end), 1, p.JSDoc_types_can_only_be_used_inside_documentation_comments);
          }
          lr(r.typeArguments, ca), e7e(r);
        }
        function e7e(r) {
          const a = Ci(r);
          if (!Gr(a)) {
            r.typeArguments && n(() => {
              const f = vme(r);
              f && KIe(r, f);
            });
            const l = xn(r).resolvedSymbol;
            l && ot(l.declarations, (f) => Ex(f) && !!(f.flags & 536870912)) && $p(
              qM(r),
              l.declarations,
              l.escapedName
            );
          }
        }
        function Jct(r) {
          const a = Bn(r.parent, O7);
          if (!a) return;
          const l = vme(a);
          if (!l) return;
          const f = __(l[a.typeArguments.indexOf(r)]);
          return f && Mi(f, gf(l, bX(a, l)));
        }
        function zct(r) {
          F3e(r);
        }
        function Wct(r) {
          lr(r.members, ca), n(a);
          function a() {
            const l = xNe(r);
            PX(l, l.symbol), yme(r), XIe(r);
          }
        }
        function Uct(r) {
          ca(r.elementType);
        }
        function Vct(r) {
          let a = false, l = false;
          for (const f of r.elements) {
            let d = rpe(f);
            if (d & 8) {
              const y = Ci(f.type);
              if (!K0(y)) {
                ze(f, p.A_rest_element_type_must_be_an_array_type);
                break;
              }
              (Tp(y) || ba(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 = true;
            } else if (d & 2) {
              if (l) {
                mr(f, p.An_optional_element_cannot_follow_a_rest_element);
                break;
              }
              a = true;
            } else if (d & 1 && a) {
              mr(f, p.A_required_element_cannot_follow_an_optional_element);
              break;
            }
          }
          lr(r.elements, ca), Ci(r);
        }
        function qct(r) {
          lr(r.types, ca), Ci(r);
        }
        function t7e(r, a) {
          if (!(r.flags & 8388608))
            return r;
          const l = r.objectType, f = r.indexType, d = A_(l) && $A(l) === 2 ? oNe(
            l,
            0
            /* None */
          ) : Om(
            l,
            0
            /* None */
          ), y = !!th(l, wt);
          if (U_(f, (x) => Ls(x, d) || y && Hk(x, wt)))
            return a.kind === 213 && Ny(a) && Dn(l) & 32 && _g(l) & 1 && ze(a, p.Index_signature_in_type_0_only_permits_reading, Wr(l)), r;
          if (xT(l)) {
            const x = l$(f, a);
            if (x) {
              const I = IT(Qu(l), (J) => Qs(J, x));
              if (I && ap(I) & 6)
                return ze(a, p.Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter, Si(x)), qe;
            }
          }
          return ze(a, p.Type_0_cannot_be_used_to_index_type_1, Wr(f), Wr(l)), qe;
        }
        function Hct(r) {
          ca(r.objectType), ca(r.indexType), t7e(hNe(r), r);
        }
        function Gct(r) {
          $ct(r), ca(r.typeParameter), ca(r.nameType), ca(r.type), r.type || nb(r, Le);
          const a = dpe(r), l = $0(a);
          if (l)
            vu(l, oi, r.nameType);
          else {
            const f = Vf(a);
            vu(f, oi, kC(r.typeParameter));
          }
        }
        function $ct(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 Xct(r) {
          Spe(r);
        }
        function Qct(r) {
          dft(r), ca(r.type);
        }
        function Yct(r) {
          Ts(r, ca);
        }
        function Zct(r) {
          dr(r, (l) => l.parent && l.parent.kind === 195 && l.parent.extendsType === l) || mr(r, p.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type), ca(r.typeParameter);
          const a = yn(r.typeParameter);
          if (a.declarations && a.declarations.length > 1) {
            const l = Pn(a);
            if (!l.typeParametersChecked) {
              l.typeParametersChecked = true;
              const f = Gv(a), d = BZ(
                a,
                169
                /* TypeParameter */
              );
              if (!D7e(d, [f], (y) => [y])) {
                const y = Wi(a);
                for (const x of d)
                  ze(x.name, p.All_declarations_of_0_must_have_identical_constraints, y);
              }
            }
          }
          E1(r);
        }
        function Kct(r) {
          for (const a of r.templateSpans) {
            ca(a.type);
            const l = Ci(a.type);
            vu(l, Ms, a.type);
          }
          Ci(r);
        }
        function elt(r) {
          ca(r.argument), r.attributes && I6(r.attributes, mr), e7e(r);
        }
        function tlt(r) {
          r.dotDotDotToken && r.questionToken && mr(r, p.A_tuple_member_cannot_be_both_optional_and_rest), r.type.kind === 191 && 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 === 192 && mr(r.type, p.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type), ca(r.type), Ci(r);
        }
        function tR(r) {
          return (ef(
            r,
            2
            /* Private */
          ) || xu(r)) && !!(r.flags & 33554432);
        }
        function NI(r, a) {
          let l = VX(r);
          if (r.parent.kind !== 265 && r.parent.kind !== 264 && r.parent.kind !== 232 && r.flags & 33554432) {
            const f = H7(r);
            f && f.flags & 128 && !(l & 128) && !(mm(r.parent) && Lc(r.parent.parent) && Vm(r.parent.parent)) && (l |= 32), l |= 128;
          }
          return l & a;
        }
        function SX(r) {
          n(() => rlt(r));
        }
        function rlt(r) {
          function a(or, ir) {
            return ir !== void 0 && ir.parent === or[0].parent ? ir : or[0];
          }
          function l(or, ir, nn, Qn, Ri) {
            if ((Qn ^ Ri) !== 0) {
              const bi = NI(a(or, ir), nn);
              pC(or, (xs) => xr(xs).fileName).forEach((xs) => {
                const Ja = NI(a(xs, ir), nn);
                for (const Vi of xs) {
                  const Lo = NI(Vi, nn) ^ bi, yc = NI(Vi, nn) ^ Ja;
                  yc & 32 ? ze(us(Vi), p.Overload_signatures_must_all_be_exported_or_non_exported) : yc & 128 ? ze(us(Vi), p.Overload_signatures_must_all_be_ambient_or_non_ambient) : Lo & 6 ? ze(us(Vi) || Vi, p.Overload_signatures_must_all_be_public_private_or_protected) : Lo & 64 && ze(us(Vi), p.Overload_signatures_must_all_be_abstract_or_non_abstract);
                }
              });
            }
          }
          function f(or, ir, nn, Qn) {
            if (nn !== Qn) {
              const Ri = _x(a(or, ir));
              lr(or, (zn) => {
                _x(zn) !== Ri && ze(us(zn), p.Overload_signatures_must_all_be_optional_or_required);
              });
            }
          }
          const d = 230;
          let y = 0, x = d, I = false, J = true, z = false, G, ve, de;
          const We = r.declarations, lt = (r.flags & 16384) !== 0;
          function gt(or) {
            if (or.name && ac(or.name))
              return;
            let ir = false;
            const nn = Ts(or.parent, (Ri) => {
              if (ir)
                return Ri;
              ir = Ri === or;
            });
            if (nn && nn.pos === or.end && nn.kind === or.kind) {
              const Ri = nn.name || nn, zn = nn.name;
              if (or.name && zn && // both are private identifiers
              (Ai(or.name) && Ai(zn) && or.name.escapedText === zn.escapedText || // Both are computed property names
              Hs(or.name) && Hs(zn) && ih(yd(or.name), yd(zn)) || // Both are literal property names that are the same.
              am(or.name) && am(zn) && H4(or.name) === H4(zn))) {
                if ((or.kind === 175 || or.kind === 174) && Bs(or) !== Bs(nn)) {
                  const xs = Bs(or) ? p.Function_overload_must_be_static : p.Function_overload_must_not_be_static;
                  ze(Ri, xs);
                }
                return;
              }
              if (Ip(nn.body)) {
                ze(Ri, p.Function_implementation_name_must_be_0, so(or.name));
                return;
              }
            }
            const Qn = or.name || or;
            lt ? ze(Qn, p.Constructor_implementation_is_missing) : Gn(
              or,
              64
              /* Abstract */
            ) ? ze(Qn, p.All_declarations_of_an_abstract_method_must_be_consecutive) : ze(Qn, p.Function_implementation_is_missing_or_not_immediately_following_the_declaration);
          }
          let jt = false, ar = false, jr = false;
          const Kr = [];
          if (We)
            for (const or of We) {
              const ir = or, nn = ir.flags & 33554432, Qn = ir.parent && (ir.parent.kind === 265 || ir.parent.kind === 188) || nn;
              if (Qn && (de = void 0), (ir.kind === 264 || ir.kind === 232) && !nn && (jr = true), ir.kind === 263 || ir.kind === 175 || ir.kind === 174 || ir.kind === 177) {
                Kr.push(ir);
                const Ri = NI(ir, d);
                y |= Ri, x &= Ri, I = I || _x(ir), J = J && _x(ir);
                const zn = Ip(ir.body);
                zn && G ? lt ? ar = true : jt = true : de?.parent === ir.parent && de.end !== ir.pos && gt(de), zn ? G || (G = ir) : z = true, de = ir, Qn || (ve = ir);
              }
              an(or) && Cs(or) && or.jsDoc && (z = wr(NB(or)) > 0);
            }
          if (ar && lr(Kr, (or) => {
            ze(or, p.Multiple_constructor_implementations_are_not_allowed);
          }), jt && lr(Kr, (or) => {
            ze(us(or) || or, p.Duplicate_function_implementation);
          }), jr && !lt && r.flags & 16 && We) {
            const or = kn(
              We,
              (ir) => ir.kind === 264
              /* ClassDeclaration */
            ).map((ir) => sn(ir, p.Consider_adding_a_declare_modifier_to_this_class));
            lr(We, (ir) => {
              const nn = ir.kind === 264 ? p.Class_declaration_cannot_implement_overload_list_for_0 : ir.kind === 263 ? p.Function_with_bodies_can_only_merge_with_classes_that_are_ambient : void 0;
              nn && Js(
                ze(us(ir) || ir, nn, sc(r)),
                ...or
              );
            });
          }
          if (ve && !ve.body && !Gn(
            ve,
            64
            /* Abstract */
          ) && !ve.questionToken && gt(ve), z && (We && (l(We, G, d, y, x), f(We, G, I, J)), G)) {
            const or = E2(r), ir = qf(G);
            for (const nn of or)
              if (!int(ir, nn)) {
                const Qn = nn.declaration && x0(nn.declaration) ? nn.declaration.parent.tagName : nn.declaration;
                Js(
                  ze(Qn, p.This_overload_signature_is_not_compatible_with_its_implementation_signature),
                  sn(G, p.The_implementation_signature_is_declared_here)
                );
                break;
              }
          }
        }
        function AI(r) {
          n(() => nlt(r));
        }
        function nlt(r) {
          let a = r.localSymbol;
          if (!a && (a = yn(r), !a.exportSymbol) || Ao(a, r.kind) !== r)
            return;
          let l = 0, f = 0, d = 0;
          for (const z of a.declarations) {
            const G = J(z), ve = NI(
              z,
              2080
              /* Default */
            );
            ve & 32 ? ve & 2048 ? d |= G : l |= G : f |= G;
          }
          const y = l | f, x = l & f, I = d & y;
          if (x || I)
            for (const z of a.declarations) {
              const G = J(z), ve = us(z);
              G & I ? ze(ve, p.Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead, so(ve)) : G & x && ze(ve, p.Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local, so(ve));
            }
          function J(z) {
            let G = z;
            switch (G.kind) {
              case 265:
              case 266:
              // A jsdoc typedef and callback are, by definition, type aliases.
              // falls through
              case 347:
              case 339:
              case 341:
                return 2;
              case 268:
                return Ju(G) || Eh(G) !== 0 ? 5 : 4;
              case 264:
              case 267:
              case 307:
                return 3;
              case 308:
                return 7;
              case 278:
              case 227:
                const ve = G, de = Fo(ve) ? ve.expression : ve.right;
                if (!Za(de))
                  return 1;
                G = de;
              // The below options all declare an Alias, which is allowed to merge with other values within the importing module.
              // falls through
              case 272:
              case 275:
              case 274:
                let We = 0;
                const lt = Fl(yn(G));
                return lr(lt.declarations, (gt) => {
                  We |= J(gt);
                }), We;
              case 261:
              case 209:
              case 263:
              case 277:
              // https://github.com/Microsoft/TypeScript/pull/7591
              case 80:
                return 1;
              case 174:
              case 172:
                return 2;
              default:
                return E.failBadSyntaxKind(G);
            }
          }
        }
        function kP(r, a, l, ...f) {
          const d = II(r, a);
          return d && iC(d, a, l, ...f);
        }
        function II(r, a, l) {
          if (gn(r))
            return;
          const f = r;
          if (f.promisedTypeOfPromise)
            return f.promisedTypeOfPromise;
          if (pf(r, iM(
            /*reportErrors*/
            false
          )))
            return f.promisedTypeOfPromise = wo(r)[0];
          if (wI(
            Fm(r),
            402915324
            /* Never */
          ))
            return;
          const d = rr(r, "then");
          if (gn(d))
            return;
          const y = d ? As(
            d,
            0
            /* Call */
          ) : Ge;
          if (y.length === 0) {
            a && ze(a, p.A_promise_must_have_a_then_method);
            return;
          }
          let x, I;
          for (const G of y) {
            const ve = Qv(G);
            ve && ve !== _r && !Lm(r, ve, ig) ? x = ve : I = Er(I, G);
          }
          if (!I) {
            E.assertIsDefined(x), l && (l.value = x), a && ze(a, p.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1, Wr(r), Wr(x));
            return;
          }
          const J = xp(
            Xn(hr(I, ime)),
            2097152
            /* NEUndefinedOrNull */
          );
          if (gn(J))
            return;
          const z = As(
            J,
            0
            /* Call */
          );
          if (z.length === 0) {
            a && ze(a, p.The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback);
            return;
          }
          return f.promisedTypeOfPromise = Xn(
            hr(z, ime),
            2
            /* Subtype */
          );
        }
        function rR(r, a, l, f, ...d) {
          return (a ? iC(r, l, f, ...d) : t0(r, l, f, ...d)) || qe;
        }
        function r7e(r) {
          if (wI(
            Fm(r),
            402915324
            /* Never */
          ))
            return false;
          const a = rr(r, "then");
          return !!a && As(
            xp(
              a,
              2097152
              /* NEUndefinedOrNull */
            ),
            0
            /* Call */
          ).length > 0;
        }
        function TX(r) {
          var a;
          if (r.flags & 16777216) {
            const l = tpe(
              /*reportErrors*/
              false
            );
            return !!l && r.aliasSymbol === l && ((a = r.aliasTypeArguments) == null ? void 0 : a.length) === 1;
          }
          return false;
        }
        function CP(r) {
          return r.flags & 1048576 ? Vo(r, CP) : TX(r) ? r.aliasTypeArguments[0] : r;
        }
        function n7e(r) {
          if (gn(r) || TX(r))
            return false;
          if (xT(r)) {
            const a = nu(r);
            if (a ? a.flags & 3 || Qh(a) || kp(a, r7e) : kc(
              r,
              8650752
              /* TypeVariable */
            ))
              return true;
          }
          return false;
        }
        function ilt(r) {
          const a = tpe(
            /*reportErrors*/
            true
          );
          if (a)
            return PE(a, [CP(r)]);
        }
        function slt(r) {
          return n7e(r) ? ilt(r) ?? r : (E.assert(TX(r) || II(r) === void 0, "type provided should not be a non-generic 'promise'-like."), r);
        }
        function iC(r, a, l, ...f) {
          const d = t0(r, a, l, ...f);
          return d && slt(d);
        }
        function t0(r, a, l, ...f) {
          if (gn(r) || TX(r))
            return r;
          const d = r;
          if (d.awaitedTypeOfType)
            return d.awaitedTypeOfType;
          if (r.flags & 1048576) {
            if (n1.lastIndexOf(r.id) >= 0) {
              a && ze(a, p.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method);
              return;
            }
            const I = a ? (z) => t0(z, a, l, ...f) : t0;
            n1.push(r.id);
            const J = Vo(r, I);
            return n1.pop(), d.awaitedTypeOfType = J;
          }
          if (n7e(r))
            return d.awaitedTypeOfType = r;
          const y = { value: void 0 }, x = II(
            r,
            /*errorNode*/
            void 0,
            y
          );
          if (x) {
            if (r.id === x.id || n1.lastIndexOf(x.id) >= 0) {
              a && ze(a, p.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method);
              return;
            }
            n1.push(r.id);
            const I = t0(x, a, l, ...f);
            return n1.pop(), I ? d.awaitedTypeOfType = I : void 0;
          }
          if (r7e(r)) {
            if (a) {
              E.assertIsDefined(l);
              let I;
              y.value && (I = Ss(I, p.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1, Wr(r), Wr(y.value))), I = Ss(I, l, ...f), Pa.add(wg(xr(a), a, I));
            }
            return;
          }
          return d.awaitedTypeOfType = r;
        }
        function alt(r, a, l) {
          const f = Ci(a);
          if (R >= 2) {
            if (Gr(f))
              return;
            const y = iM(
              /*reportErrors*/
              true
            );
            if (y !== zt && !pf(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, Wr(t0(f) || _r));
              return;
            }
          } else {
            if (tC(
              r,
              5
              /* AsyncFunction */
            ), Gr(f))
              return;
            const y = P3(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, Wr(f));
              return;
            }
            const x = _c2(
              y,
              111551,
              /*ignoreErrors*/
              true
            ), I = x ? Yr(x) : qe;
            if (Gr(I)) {
              y.kind === 80 && y.escapedText === "Promise" && Cr(f) === iM(
                /*reportErrors*/
                false
              ) ? ze(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 J = dtt(
              /*reportErrors*/
              true
            );
            if (J === ea) {
              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 z = 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 (!vu(I, J, l, z, () => a === l ? void 0 : Ss(
              /*details*/
              void 0,
              p.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type
            )))
              return;
            const ve = y && e_(y), de = ql(
              r.locals,
              ve.escapedText,
              111551
              /* Value */
            );
            if (de) {
              ze(de.valueDeclaration, p.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions, An(ve), Q_(y));
              return;
            }
          }
          rR(
            f,
            /*withAlias*/
            false,
            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, J) {
            if (x === I)
              ze(I, y, J);
            else {
              const z = ze(I, p.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type);
              Js(z, sn(x, y, J));
            }
          }
        }
        function olt(r) {
          const a = xr(r);
          if (!w1(a)) {
            let l = r.expression;
            if (n_(l))
              return false;
            let f = true, d;
            for (; ; ) {
              if (Th(l) || zx(l)) {
                l = l.expression;
                continue;
              }
              if (ws(l)) {
                f || (d = l), l.questionDotToken && (d = l.questionDotToken), l = l.expression, f = false;
                continue;
              }
              if (wn(l)) {
                l.questionDotToken && (d = l.questionDotToken), l = l.expression, f = false;
                continue;
              }
              Me(l) || (d = l);
              break;
            }
            if (d)
              return Js(
                ze(r.expression, p.Expression_must_be_enclosed_in_parentheses_to_be_used_as_a_decorator),
                sn(d, p.Invalid_syntax_in_decorator)
              ), true;
          }
          return false;
        }
        function clt(r) {
          olt(r);
          const a = JE(r);
          pX(a, r);
          const l = Ba(a);
          if (l.flags & 1)
            return;
          const f = ome(r);
          if (!f?.resolvedReturnType) return;
          let d;
          const y = f.resolvedReturnType;
          switch (r.parent.kind) {
            case 264:
            case 232:
              d = p.Decorator_function_return_type_0_is_not_assignable_to_type_1;
              break;
            case 173:
              if (!U) {
                d = p.Decorator_function_return_type_0_is_not_assignable_to_type_1;
                break;
              }
            // falls through
            case 170:
              d = p.Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any;
              break;
            case 175:
            case 178:
            case 179:
              d = p.Decorator_function_return_type_0_is_not_assignable_to_type_1;
              break;
            default:
              return E.failBadSyntaxKind(r.parent);
          }
          vu(l, y, r.expression, d);
        }
        function FI(r, a, l, f, d, y = l.length, x = 0) {
          const I = N.createFunctionTypeNode(
            /*typeParameters*/
            void 0,
            Ge,
            N.createKeywordTypeNode(
              133
              /* AnyKeyword */
            )
          );
          return Im(I, r, a, l, f, d, y, x);
        }
        function Sme(r, a, l, f, d, y, x) {
          const I = FI(r, a, l, f, d, y, x);
          return vT(I);
        }
        function i7e(r) {
          return Sme(
            /*typeParameters*/
            void 0,
            /*thisParameter*/
            void 0,
            Ge,
            r
          );
        }
        function s7e(r) {
          const a = Jf("value", r);
          return Sme(
            /*typeParameters*/
            void 0,
            /*thisParameter*/
            void 0,
            [a],
            _r
          );
        }
        function Tme(r) {
          if (r)
            switch (r.kind) {
              case 194:
              case 193:
                return a7e(r.types);
              case 195:
                return a7e([r.trueType, r.falseType]);
              case 197:
              case 203:
                return Tme(r.type);
              case 184:
                return r.typeName;
            }
        }
        function a7e(r) {
          let a;
          for (let l of r) {
            for (; l.kind === 197 || l.kind === 203; )
              l = l.type;
            if (l.kind === 146 || !K && (l.kind === 202 && l.literal.kind === 106 || l.kind === 157))
              continue;
            const f = Tme(l);
            if (!f)
              return;
            if (a) {
              if (!Me(a) || !Me(f) || a.escapedText !== f.escapedText)
                return;
            } else
              a = f;
          }
          return a;
        }
        function xX(r) {
          const a = Qc(r);
          return Wm(r) ? vB(a) : a;
        }
        function nR(r) {
          if (!$b(r) || !Pf(r) || !r.modifiers || !N3(U, r, r.parent, r.parent.parent))
            return;
          const a = Nn(r.modifiers, ol);
          if (a) {
            U ? (bl(
              a,
              8
              /* Decorate */
            ), r.kind === 170 && bl(
              a,
              32
              /* Param */
            )) : R < Tl.ClassAndClassElementDecorators && (bl(
              a,
              8
              /* ESDecorateAndRunInitializers */
            ), Zc(r) ? r.name ? w7e(r) && bl(
              a,
              4194304
              /* SetFunctionName */
            ) : bl(
              a,
              4194304
              /* SetFunctionName */
            ) : Oc(r) || (Ai(r.name) && (Ko(r) || Ty(r) || g_(r)) && bl(
              a,
              4194304
              /* SetFunctionName */
            ), Hs(r.name) && bl(
              a,
              8388608
              /* PropKey */
            ))), tC(
              r,
              8
              /* Decorator */
            );
            for (const l of r.modifiers)
              ol(l) && clt(l);
          }
        }
        function llt(r) {
          n(a);
          function a() {
            c7e(r), Gme(r), EP(r, r.name);
          }
        }
        function ult(r) {
          r.typeExpression || ze(r.name, p.JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags), r.name && DP(r.name, p.Type_alias_name_cannot_be_0), ca(r.typeExpression), lR(yy(r));
        }
        function _lt(r) {
          ca(r.constraint);
          for (const a of r.typeParameters)
            ca(a);
        }
        function flt(r) {
          ca(r.typeExpression);
        }
        function plt(r) {
          ca(r.typeExpression);
          const a = V1(r);
          if (a) {
            const l = b7(a, LF);
            if (wr(l) > 1)
              for (let f = 1; f < wr(l); f++) {
                const d = l[f].tagName;
                ze(d, p._0_tag_already_specified, An(d));
              }
          }
        }
        function dlt(r) {
          r.name && _R(
            r.name,
            /*ignoreErrors*/
            true
          );
        }
        function mlt(r) {
          ca(r.typeExpression);
        }
        function glt(r) {
          ca(r.typeExpression);
        }
        function hlt(r) {
          n(a), PI(r);
          function a() {
            !r.type && !fx(r) && nb(r, Le);
          }
        }
        function ylt(r) {
          const a = V1(r);
          a && bo(a) && ze(r.tagName, p.An_arrow_function_cannot_have_a_this_parameter);
        }
        function vlt(r) {
          Mme(r);
        }
        function blt(r) {
          const a = V1(r);
          (!a || !Zc(a) && !Oc(a)) && ze(a, p.JSDoc_0_is_not_attached_to_a_class, An(r.tagName));
        }
        function Slt(r) {
          const a = V1(r);
          if (!a || !Zc(a) && !Oc(a)) {
            ze(a, p.JSDoc_0_is_not_attached_to_a_class, An(r.tagName));
            return;
          }
          const l = R1(a).filter(Vx);
          E.assert(l.length > 0), l.length > 1 && ze(l[1], p.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag);
          const f = o7e(r.class.expression), d = Pb(a);
          if (d) {
            const y = o7e(d.expression);
            y && f.escapedText !== y.escapedText && ze(f, p.JSDoc_0_1_does_not_match_the_extends_2_clause, An(r.tagName), An(f), An(y));
          }
        }
        function Tlt(r) {
          const a = Db(r);
          a && xu(a) && ze(r, p.An_accessibility_modifier_cannot_be_used_with_a_private_identifier);
        }
        function o7e(r) {
          switch (r.kind) {
            case 80:
              return r;
            case 212:
              return r.name;
            default:
              return;
          }
        }
        function c7e(r) {
          var a;
          nR(r), PI(r);
          const l = Fc(r);
          if (r.name && r.name.kind === 168 && yd(r.name), CE(r)) {
            const y = yn(r), x = r.localSymbol || y, I = (a = x.declarations) == null ? void 0 : a.find(
              // Get first non javascript function declaration
              (J) => J.kind === r.kind && !(J.flags & 524288)
            );
            r === I && SX(x), y.parent && SX(y);
          }
          const f = r.kind === 174 ? void 0 : r.body;
          if (ca(f), lme(r, DE(r)), n(d), an(r)) {
            const y = M1(r);
            y && y.typeExpression && !Pde(Ci(y.typeExpression), r) && ze(y.typeExpression.type, p.The_type_of_a_function_declaration_must_match_the_function_s_signature);
          }
          function d() {
            K_(r) || (ac(f) && !tR(r) && nb(r, Le), l & 1 && Ip(f) && Ba(qf(r)));
          }
        }
        function E1(r) {
          n(a);
          function a() {
            const l = xr(r);
            let f = Or.get(l.path);
            f || (f = [], Or.set(l.path, f)), f.push(r);
          }
        }
        function l7e(r, a) {
          for (const l of r)
            switch (l.kind) {
              case 264:
              case 232:
                xlt(l, a), xme(l, a);
                break;
              case 308:
              case 268:
              case 242:
              case 270:
              case 249:
              case 250:
              case 251:
                f7e(l, a);
                break;
              case 177:
              case 219:
              case 263:
              case 220:
              case 175:
              case 178:
              case 179:
                l.body && f7e(l, a), xme(l, a);
                break;
              case 174:
              case 180:
              case 181:
              case 185:
              case 186:
              case 266:
              case 265:
                xme(l, a);
                break;
              case 196:
                klt(l, a);
                break;
              default:
                E.assertNever(l, "Node should not have been registered for unused identifiers check");
            }
        }
        function u7e(r, a, l) {
          const f = us(r) || r, d = Ex(r) ? p._0_is_declared_but_never_used : p._0_is_declared_but_its_value_is_never_read;
          l(r, 0, sn(f, d, a));
        }
        function OI(r) {
          return Me(r) && An(r).charCodeAt(0) === 95;
        }
        function xlt(r, a) {
          for (const l of r.members)
            switch (l.kind) {
              case 175:
              case 173:
              case 178:
              case 179:
                if (l.kind === 179 && l.symbol.flags & 32768)
                  break;
                const f = yn(l);
                !f.isReferenced && (ef(
                  l,
                  2
                  /* Private */
                ) || kl(l) && Ai(l.name)) && !(l.flags & 33554432) && a(l, 0, sn(l.name, p._0_is_declared_but_its_value_is_never_read, Wi(f)));
                break;
              case 177:
                for (const d of l.parameters)
                  !d.symbol.isReferenced && Gn(
                    d,
                    2
                    /* Private */
                  ) && a(d, 0, sn(d.name, p.Property_0_is_declared_but_its_value_is_never_read, sc(d.symbol)));
                break;
              case 182:
              case 241:
              case 176:
                break;
              default:
                E.fail("Unexpected class member");
            }
        }
        function klt(r, a) {
          const { typeParameter: l } = r;
          kme(l) && a(r, 1, sn(r, p._0_is_declared_but_its_value_is_never_read, An(l.name)));
        }
        function xme(r, a) {
          const l = yn(r).declarations;
          if (!l || fa(l) !== r) return;
          const f = yy(r), d = /* @__PURE__ */ new Set();
          for (const y of f) {
            if (!kme(y)) continue;
            const x = An(y.name), { parent: I } = y;
            if (I.kind !== 196 && I.typeParameters.every(kme)) {
              if (s0(d, I)) {
                const J = xr(I), z = Bp(I) ? LJ(I) : MJ(J, I.typeParameters), ve = 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(J, z.pos, z.end - z.pos, ...ve));
              }
            } else
              a(y, 1, sn(y, p._0_is_declared_but_its_value_is_never_read, x));
          }
        }
        function kme(r) {
          return !(Ia(r.symbol).isReferenced & 262144) && !OI(r.name);
        }
        function iR(r, a, l, f) {
          const d = String(f(a)), y = r.get(d);
          y ? y[1].push(l) : r.set(d, [a, [l]]);
        }
        function _7e(r) {
          return Bn(om(r), Ii);
        }
        function Clt(r) {
          return ha(r) ? Nf(r.parent) ? !!(r.propertyName && OI(r.name)) : OI(r.name) : Ju(r) || (ei(r) && Q2(r.parent.parent) || p7e(r)) && OI(r.name);
        }
        function f7e(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 (!Clt(x))
                  if (p7e(x))
                    iR(l, Dlt(x), x, Oa);
                  else if (ha(x) && Nf(x.parent)) {
                    const I = fa(x.parent.elements);
                    (x === I || !fa(x.parent.elements).dotDotDotToken) && iR(f, x.parent, x, Oa);
                  } else if (ei(x)) {
                    const I = R2(x) & 7, J = us(x);
                    (I !== 4 && I !== 6 || !J || !OI(J)) && iR(d, x.parent, x, Oa);
                  } else {
                    const I = y.valueDeclaration && _7e(y.valueDeclaration), J = y.valueDeclaration && us(y.valueDeclaration);
                    I && J ? !X_(I, I.parent) && !Ay(I) && !OI(J) && (ha(x) && T0(x.parent) ? iR(f, x.parent, x, Oa) : a(I, 1, sn(J, p._0_is_declared_but_its_value_is_never_read, sc(y)))) : u7e(x, sc(y), a);
                  }
            }
          }), l.forEach(([y, x]) => {
            const I = y.parent;
            if ((y.name ? 1 : 0) + (y.namedBindings ? y.namedBindings.kind === 275 ? 1 : y.namedBindings.elements.length : 0) === x.length)
              a(
                I,
                0,
                x.length === 1 ? sn(I, p._0_is_declared_but_its_value_is_never_read, An(ka(x).name)) : sn(I, p.All_imports_in_import_declaration_are_unused)
              );
            else
              for (const z of x) u7e(z, An(z.name), a);
          }), f.forEach(([y, x]) => {
            const I = _7e(y.parent) ? 1 : 0;
            if (y.elements.length === x.length)
              x.length === 1 && y.parent.kind === 261 && y.parent.parent.kind === 262 ? iR(d, y.parent.parent, y.parent, Oa) : a(
                y,
                I,
                x.length === 1 ? sn(y, p._0_is_declared_but_its_value_is_never_read, sR(ka(x).name)) : sn(y, p.All_destructured_elements_are_unused)
              );
            else
              for (const J of x)
                a(J, I, sn(J, p._0_is_declared_but_its_value_is_never_read, sR(J.name)));
          }), d.forEach(([y, x]) => {
            if (y.declarations.length === x.length)
              a(
                y,
                0,
                x.length === 1 ? sn(ka(x).name, p._0_is_declared_but_its_value_is_never_read, sR(ka(x).name)) : sn(y.parent.kind === 244 ? y.parent : y, p.All_variables_are_unused)
              );
            else
              for (const I of x)
                a(I, 0, sn(I, p._0_is_declared_but_its_value_is_never_read, sR(I.name)));
          });
        }
        function Elt() {
          var r;
          for (const a of Mh)
            if (!((r = yn(a)) != null && r.isReferenced)) {
              const l = V2(a);
              E.assert(H1(l), "Only parameter declaration should be checked here");
              const f = sn(a.name, p._0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation, so(a.name), so(a.propertyName));
              l.type || Js(
                f,
                al(xr(l), l.end, 0, p.We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here, so(a.propertyName))
              ), Pa.add(f);
            }
        }
        function sR(r) {
          switch (r.kind) {
            case 80:
              return An(r);
            case 208:
            case 207:
              return sR(Ws(ka(r.elements), ha).name);
            default:
              return E.assertNever(r);
          }
        }
        function p7e(r) {
          return r.kind === 274 || r.kind === 277 || r.kind === 275;
        }
        function Dlt(r) {
          return r.kind === 274 ? r : r.kind === 275 ? r.parent : r.parent.parent;
        }
        function kX(r) {
          if (r.kind === 242 && r0(r), Wj(r)) {
            const a = hi;
            lr(r.statements, ca), hi = a;
          } else
            lr(r.statements, ca);
          r.locals && E1(r);
        }
        function wlt(r) {
          R >= 2 || !Qj(r) || r.flags & 33554432 || ac(r.body) || lr(r.parameters, (a) => {
            a.name && !Ds(a.name) && a.name.escapedText === ie.escapedName && O0("noEmit", a, p.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters);
          });
        }
        function LI(r, a, l) {
          if (a?.escapedText !== l || r.kind === 173 || r.kind === 172 || r.kind === 175 || r.kind === 174 || r.kind === 178 || r.kind === 179 || r.kind === 304 || r.flags & 33554432 || (sd(r) || cl(r) || qu(r)) && c0(r))
            return false;
          const f = om(r);
          return !(Ii(f) && ac(f.parent.body));
        }
        function Plt(r) {
          dr(r, (a) => oC(a) & 4 ? (r.kind !== 80 ? ze(us(r), p.Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference) : ze(r, p.Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference), true) : false);
        }
        function Nlt(r) {
          dr(r, (a) => oC(a) & 8 ? (r.kind !== 80 ? ze(us(r), p.Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference) : ze(r, p.Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference), true) : false);
        }
        function Alt(r, a) {
          if (e.getEmitModuleFormatOfFile(xr(r)) >= 5 || !a || !LI(r, a, "require") && !LI(r, a, "exports") || Lc(r) && Eh(r) !== 1)
            return;
          const l = bt(r);
          l.kind === 308 && Y_(l) && O0("noEmit", a, p.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module, so(a), so(a));
        }
        function Ilt(r, a) {
          if (!a || R >= 4 || !LI(r, a, "Promise") || Lc(r) && Eh(r) !== 1)
            return;
          const l = bt(r);
          l.kind === 308 && Y_(l) && l.flags & 4096 && O0("noEmit", a, p.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions, so(a), so(a));
        }
        function Flt(r, a) {
          R <= 8 && (LI(r, a, "WeakMap") || LI(r, a, "WeakSet")) && Oh.push(r);
        }
        function Olt(r) {
          const a = xd(r);
          oC(a) & 1048576 && (E.assert(kl(r) && Me(r.name) && typeof r.name.escapedText == "string", "The target of a WeakMap/WeakSet collision check should be an identifier"), O0("noEmit", r, p.Compiler_reserves_name_0_when_emitting_private_identifier_downlevel, r.name.escapedText));
        }
        function Llt(r, a) {
          a && R >= 2 && R <= 8 && LI(r, a, "Reflect") && Lh.push(r);
        }
        function Mlt(r) {
          let a = false;
          if (Oc(r)) {
            for (const l of r.members)
              if (oC(l) & 2097152) {
                a = true;
                break;
              }
          } else if (mo(r))
            oC(r) & 2097152 && (a = true);
          else {
            const l = xd(r);
            l && oC(l) & 2097152 && (a = true);
          }
          a && (E.assert(kl(r) && Me(r.name), "The target of a Reflect collision check should be an identifier"), O0("noEmit", r, p.Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers, so(r.name), "Reflect"));
        }
        function EP(r, a) {
          a && (Alt(r, a), Ilt(r, a), Flt(r, a), Llt(r, a), $n(r) ? (DP(a, p.Class_name_cannot_be_0), r.flags & 33554432 || fut(a)) : rv(r) && DP(a, p.Enum_name_cannot_be_0));
        }
        function Rlt(r) {
          if ((R2(r) & 7) !== 0 || H1(r))
            return;
          const a = yn(r);
          if (a.flags & 1) {
            if (!Me(r.name)) return E.fail();
            const l = st(
              r,
              r.name.escapedText,
              3,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              false
            );
            if (l && l !== a && l.flags & 2 && Ide(l) & 7) {
              const f = q1(
                l.valueDeclaration,
                262
                /* VariableDeclarationList */
              ), d = f.parent.kind === 244 && f.parent.parent ? f.parent.parent : void 0;
              if (!(d && (d.kind === 242 && Cs(d.parent) || d.kind === 269 || d.kind === 268 || d.kind === 308))) {
                const x = Wi(l);
                ze(r, p.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1, x, x);
              }
            }
          }
        }
        function MI(r) {
          return r === mt ? Le : r === Nl ? Ul : r;
        }
        function aR(r) {
          var a;
          if (nR(r), ha(r) || ca(r.type), !r.name)
            return;
          if (r.name.kind === 168 && (yd(r.name), Y2(r) && r.initializer && fc(r.initializer)), ha(r)) {
            if (r.propertyName && Me(r.name) && H1(r) && ac(Df(r).body)) {
              Mh.push(r);
              return;
            }
            Nf(r.parent) && r.dotDotDotToken && R < Tl.ObjectSpreadRest && bl(
              r,
              4
              /* Rest */
            ), r.propertyName && r.propertyName.kind === 168 && yd(r.propertyName);
            const d = r.parent.parent, y = r.dotDotDotToken ? 32 : 0, x = ii(d, y), I = r.propertyName || r.name;
            if (x && !Ds(I)) {
              const J = Hh(I);
              if (op(J)) {
                const z = cp(J), G = Qs(x, z);
                G && (WM(
                  G,
                  /*nodeForCheckWriteOnly*/
                  void 0,
                  /*isSelfTypeAccess*/
                  false
                ), Ode(
                  r,
                  !!d.initializer && d.initializer.kind === 108,
                  /*writing*/
                  false,
                  x,
                  G
                ));
              }
            }
          }
          if (Ds(r.name) && (r.name.kind === 208 && R < Tl.BindingPatterns && F.downlevelIteration && bl(
            r,
            512
            /* Read */
          ), lr(r.name.elements, ca)), r.initializer && H1(r) && ac(Df(r).body)) {
            ze(r, p.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation);
            return;
          }
          if (Ds(r.name)) {
            if (ide(r))
              return;
            const d = Y2(r) && r.initializer && r.parent.parent.kind !== 250, y = !ot(r.name.elements, ZI(gl));
            if (d || y) {
              const x = Vk(r);
              if (d) {
                const I = fc(r.initializer);
                K && y ? OAe(I, r) : I2(I, Vk(r), r, r.initializer);
              }
              y && (T0(r.name) ? ty(65, x, ue, r) : K && OAe(x, r));
            }
            return;
          }
          const l = yn(r);
          if (l.flags & 2097152 && (Cb(r) || xK(r))) {
            IX(r);
            return;
          }
          r.name.kind === 10 && ze(r.name, p.A_bigint_literal_cannot_be_used_as_a_property_name);
          const f = MI(Yr(l));
          if (r === l.valueDeclaration) {
            const d = Y2(r) && L3(r);
            if (d && !(an(r) && ua(d) && (d.properties.length === 0 || Fy(r.name)) && !!((a = l.exports) != null && a.size)) && r.parent.parent.kind !== 250) {
              const x = fc(d);
              I2(
                x,
                f,
                r,
                d,
                /*headMessage*/
                void 0
              );
              const I = R2(r) & 7;
              if (I === 6) {
                const J = Ctt(
                  /*reportErrors*/
                  true
                ), z = V3e(
                  /*reportErrors*/
                  true
                );
                if (J !== ea && z !== ea) {
                  const G = Xn([J, z, Mt, ue]);
                  vu(VA(x, r), G, 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 J = V3e(
                  /*reportErrors*/
                  true
                );
                if (J !== ea) {
                  const z = Xn([J, Mt, ue]);
                  vu(VA(x, r), z, 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 && ot(l.declarations, (y) => y !== r && A4(y) && !m7e(y, r)) && ze(r.name, p.All_declarations_of_0_must_have_identical_modifiers, so(r.name));
          } else {
            const d = MI(Vk(r));
            !Gr(f) && !Gr(d) && !ih(f, d) && !(l.flags & 67108864) && d7e(l.valueDeclaration, f, r, d), Y2(r) && r.initializer && I2(
              fc(r.initializer),
              d,
              r,
              r.initializer,
              /*headMessage*/
              void 0
            ), l.valueDeclaration && !m7e(r, l.valueDeclaration) && ze(r.name, p.All_declarations_of_0_must_have_identical_modifiers, so(r.name));
          }
          r.kind !== 173 && r.kind !== 172 && (AI(r), (r.kind === 261 || r.kind === 209) && Rlt(r), EP(r, r.name));
        }
        function d7e(r, a, l, f) {
          const d = us(l), y = l.kind === 173 || l.kind === 172 ? 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 = so(d), I = ze(
            d,
            y,
            x,
            Wr(a),
            Wr(f)
          );
          r && Js(I, sn(r, p._0_was_also_declared_here, x));
        }
        function m7e(r, a) {
          if (r.kind === 170 && a.kind === 261 || r.kind === 261 && a.kind === 170)
            return true;
          if (_x(r) !== _x(a))
            return false;
          const l = 1358;
          return gx(r, l) === gx(a, l);
        }
        function jlt(r) {
          var a, l;
          (a = on) == null || a.push(on.Phase.Check, "checkVariableDeclaration", { kind: r.kind, pos: r.pos, end: r.end, path: r.tracingPath }), vft(r), aR(r), (l = on) == null || l.pop();
        }
        function Blt(r) {
          return gft(r), aR(r);
        }
        function CX(r) {
          const a = ph(r) & 7;
          (a === 4 || a === 6) && R < Tl.UsingAndAwaitUsing && bl(
            r,
            16777216
            /* AddDisposableResourceAndDisposeResources */
          ), lr(r.declarations, ca);
        }
        function Jlt(r) {
          !oh(r) && !Qme(r.declarationList) && bft(r), CX(r.declarationList);
        }
        function zlt(r) {
          r0(r), Hi(r.expression);
        }
        function Wlt(r) {
          r0(r);
          const a = RI(r.expression);
          Cme(r.expression, a, r.thenStatement), ca(r.thenStatement), r.thenStatement.kind === 243 && ze(r.thenStatement, p.The_body_of_an_if_statement_cannot_be_the_empty_statement), ca(r.elseStatement);
        }
        function Cme(r, a, l) {
          if (!K) return;
          f(r, l);
          function f(y, x) {
            for (y = Ra(y), d(y, x); _n(y) && (y.operatorToken.kind === 57 || y.operatorToken.kind === 61); )
              y = Ra(y.left), d(y, x);
          }
          function d(y, x) {
            const I = rN(y) ? Ra(y.right) : y;
            if (Ng(I))
              return;
            if (rN(I)) {
              f(I, x);
              return;
            }
            const J = I === y ? a : Hi(I);
            if (J.flags & 1024 && wn(I) && (xn(I.expression).resolvedSymbol ?? Y).flags & 384) {
              ze(I, p.This_condition_will_always_return_0, J.value ? "true" : "false");
              return;
            }
            const z = wn(I) && jIe(I.expression);
            if (!Gd2(
              J,
              4194304
              /* Truthy */
            ) || z) return;
            const G = As(
              J,
              0
              /* Call */
            ), ve = !!kP(J);
            if (G.length === 0 && !ve)
              return;
            const de = Me(I) ? I : wn(I) ? I.name : void 0, We = de && Cp(de);
            if (!We && !ve)
              return;
            We && _n(y.parent) && Vlt(y.parent, We) || We && x && Ult(y, x, de, We) || (ve ? L0(
              I,
              /*maybeMissingAwait*/
              true,
              p.This_condition_will_always_return_true_since_this_0_is_always_defined,
              vE(J)
            ) : ze(I, p.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead));
          }
        }
        function Ult(r, a, l, f) {
          return !!Ts(a, function d(y) {
            if (Me(y)) {
              const x = Cp(y);
              if (x && x === f) {
                if (Me(r) || Me(l) && _n(l.parent))
                  return true;
                let I = l.parent, J = y.parent;
                for (; I && J; ) {
                  if (Me(I) && Me(J) || I.kind === 110 && J.kind === 110)
                    return Cp(I) === Cp(J);
                  if (wn(I) && wn(J)) {
                    if (Cp(I.name) !== Cp(J.name))
                      return false;
                    J = J.expression, I = I.expression;
                  } else if (ws(I) && ws(J))
                    J = J.expression, I = I.expression;
                  else
                    return false;
                }
              }
            }
            return Ts(y, d);
          });
        }
        function Vlt(r, a) {
          for (; _n(r) && r.operatorToken.kind === 56; ) {
            if (Ts(r.right, function f(d) {
              if (Me(d)) {
                const y = Cp(d);
                if (y && y === a)
                  return true;
              }
              return Ts(d, f);
            }))
              return true;
            r = r.parent;
          }
          return false;
        }
        function qlt(r) {
          r0(r), ca(r.statement), RI(r.expression);
        }
        function Hlt(r) {
          r0(r), RI(r.expression), ca(r.statement);
        }
        function Eme(r, a) {
          if (r.flags & 16384)
            ze(a, p.An_expression_of_type_void_cannot_be_tested_for_truthiness);
          else {
            const l = Dme(a);
            l !== 3 && ze(
              a,
              l === 1 ? p.This_kind_of_expression_is_always_truthy : p.This_kind_of_expression_is_always_falsy
            );
          }
          return r;
        }
        function Dme(r) {
          switch (r = dc(r), r.kind) {
            case 9:
              return r.text === "0" || r.text === "1" ? 3 : 1;
            case 210:
            case 220:
            case 10:
            case 232:
            case 219:
            case 285:
            case 286:
            case 211:
            case 14:
              return 1;
            case 223:
            case 106:
              return 2;
            case 15:
            case 11:
              return r.text ? 1 : 2;
            case 228:
              return Dme(r.whenTrue) | Dme(r.whenFalse);
            case 80:
              return Ou(r) === ne ? 2 : 3;
          }
          return 3;
        }
        function RI(r, a) {
          return Eme(Hi(r, a), r);
        }
        function Glt(r) {
          r0(r) || r.initializer && r.initializer.kind === 262 && Qme(r.initializer), r.initializer && (r.initializer.kind === 262 ? CX(r.initializer) : Hi(r.initializer)), r.condition && RI(r.condition), r.incrementor && Hi(r.incrementor), ca(r.statement), r.locals && E1(r);
        }
        function $lt(r) {
          _5e(r);
          const a = e5(r);
          if (r.awaitModifier ? a && Sc(a) ? mr(r.awaitModifier, p.for_await_loops_cannot_be_used_inside_a_class_static_block) : (Fc(a) & 6) === 2 && R < Tl.ForAwaitOf && bl(
            r,
            16384
            /* ForAwaitOfIncludes */
          ) : F.downlevelIteration && R < Tl.ForOf && bl(
            r,
            256
            /* ForOfIncludes */
          ), r.initializer.kind === 262)
            CX(r.initializer);
          else {
            const l = r.initializer, f = oR(r);
            if (l.kind === 210 || l.kind === 211)
              RT(l, f || qe);
            else {
              const d = Hi(l);
              DI(
                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 && I2(f, d, l, r.expression);
            }
          }
          ca(r.statement), r.locals && E1(r);
        }
        function Xlt(r) {
          _5e(r);
          const a = Lde(Hi(r.expression));
          if (r.initializer.kind === 262) {
            const l = r.initializer.declarations[0];
            l && Ds(l.name) && ze(l.name, p.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern), CX(r.initializer);
          } else {
            const l = r.initializer, f = Hi(l);
            l.kind === 210 || l.kind === 211 ? ze(l, p.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern) : Ls(frt(a), f) ? DI(
              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
            ) : ze(l, p.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any);
          }
          (a === nr || !iu(
            a,
            126091264
            /* InstantiableNonPrimitive */
          )) && ze(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, Wr(a)), ca(r.statement), r.locals && E1(r);
        }
        function oR(r) {
          const a = r.awaitModifier ? 15 : 13;
          return ty(a, jE(r.expression), ue, r.expression);
        }
        function ty(r, a, l, f) {
          return gn(a) ? a : wme(
            r,
            a,
            l,
            f,
            /*checkAssignability*/
            true
          ) || Le;
        }
        function wme(r, a, l, f, d) {
          const y = (r & 2) !== 0;
          if (a === nr) {
            f && Ame(f, a, y);
            return;
          }
          const x = R >= 2, I = !x && F.downlevelIteration, J = F.noUncheckedIndexedAccess && !!(r & 128);
          if (x || I || y) {
            const We = DX(a, r, x ? f : void 0);
            if (d && We) {
              const lt = 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;
              lt && vu(l, We.nextType, f, lt);
            }
            if (We || x)
              return J ? mI(We && We.yieldType) : We && We.yieldType;
          }
          let z = a, G = false;
          if (r & 4) {
            if (z.flags & 1048576) {
              const We = a.types, lt = kn(We, (gt) => !(gt.flags & 402653316));
              lt !== We && (z = Xn(
                lt,
                2
                /* Subtype */
              ));
            } else z.flags & 402653316 && (z = nr);
            if (G = z !== a, G && z.flags & 131072)
              return J ? mI(at) : at;
          }
          if (!K0(z)) {
            if (f) {
              const We = !!(r & 4) && !G, [lt, gt] = de(We, I);
              L0(
                f,
                gt && !!kP(z),
                lt,
                Wr(z)
              );
            }
            return G ? J ? mI(at) : at : void 0;
          }
          const ve = Xv(z, wt);
          if (G && ve)
            return ve.flags & 402653316 && !F.noUncheckedIndexedAccess ? at : Xn(
              J ? [ve, at, ue] : [ve, at],
              2
              /* Subtype */
            );
          return r & 128 ? mI(ve) : ve;
          function de(We, lt) {
            var gt;
            return lt ? We ? [p.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator, true] : [p.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator, true] : Pme(
              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, false] : Qlt((gt = a.symbol) == null ? void 0 : gt.escapedName) ? [p.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher, true] : We ? [p.Type_0_is_not_an_array_type_or_a_string_type, true] : [p.Type_0_is_not_an_array_type, true];
          }
        }
        function Qlt(r) {
          switch (r) {
            case "Float32Array":
            case "Float64Array":
            case "Int16Array":
            case "Int32Array":
            case "Int8Array":
            case "NodeList":
            case "Uint16Array":
            case "Uint32Array":
            case "Uint8Array":
            case "Uint8ClampedArray":
              return true;
          }
          return false;
        }
        function Pme(r, a, l, f) {
          if (gn(l))
            return;
          const d = DX(l, r, f);
          return d && d[J1e(a)];
        }
        function D1(r = nr, a = nr, l = yt) {
          if (r.flags & 67359327 && a.flags & 180227 && l.flags & 180227) {
            const f = Zp([r, a, l]);
            let d = eo.get(f);
            return d || (d = { yieldType: r, returnType: a, nextType: l }, eo.set(f, d)), d;
          }
          return { yieldType: r, returnType: a, nextType: l };
        }
        function g7e(r) {
          let a, l, f;
          for (const d of r)
            if (!(d === void 0 || d === ta)) {
              if (d === xo)
                return xo;
              a = Er(a, d.yieldType), l = Er(l, d.returnType), f = Er(f, d.nextType);
            }
          return a || l || f ? D1(
            a && Xn(a),
            l && Xn(l),
            f && ia(f)
          ) : ta;
        }
        function EX(r, a) {
          return r[a];
        }
        function ah(r, a, l) {
          return r[a] = l;
        }
        function DX(r, a, l) {
          var f, d;
          if (r === kt)
            return qc;
          if (gn(r))
            return xo;
          if (!(r.flags & 1048576)) {
            const z = l ? { errors: void 0, skipLogging: true } : void 0, G = h7e(r, a, l, z);
            if (G === ta) {
              if (l) {
                const ve = Ame(l, r, !!(a & 2));
                z?.errors && Js(ve, ...z.errors);
              }
              return;
            } else if ((f = z?.errors) != null && f.length)
              for (const ve of z.errors)
                Pa.add(ve);
            return G;
          }
          const y = a & 2 ? "iterationTypesOfAsyncIterable" : "iterationTypesOfIterable", x = EX(r, y);
          if (x) return x === ta ? void 0 : x;
          let I;
          for (const z of r.types) {
            const G = l ? { errors: void 0 } : void 0, ve = h7e(z, a, l, G);
            if (ve === ta) {
              if (l) {
                const de = Ame(l, r, !!(a & 2));
                G?.errors && Js(de, ...G.errors);
              }
              ah(r, y, ta);
              return;
            } else if ((d = G?.errors) != null && d.length)
              for (const de of G.errors)
                Pa.add(de);
            I = Er(I, ve);
          }
          const J = I ? g7e(I) : ta;
          return ah(r, y, J), J === ta ? void 0 : J;
        }
        function Nme(r, a) {
          if (r === ta) return ta;
          if (r === xo) return xo;
          const { yieldType: l, returnType: f, nextType: d } = r;
          return a && tpe(
            /*reportErrors*/
            true
          ), D1(
            iC(l, a) || Le,
            iC(f, a) || Le,
            d
          );
        }
        function h7e(r, a, l, f) {
          if (gn(r))
            return xo;
          let d = false;
          if (a & 2) {
            const y = y7e(r, Rc) || v7e(r, Rc);
            if (y)
              if (y === ta && l)
                d = true;
              else
                return a & 8 ? Nme(y, l) : y;
          }
          if (a & 1) {
            let y = y7e(r, go) || v7e(r, go);
            if (y)
              if (y === ta && l)
                d = true;
              else if (a & 2) {
                if (y !== ta)
                  return y = Nme(y, l), d ? y : ah(r, "iterationTypesOfAsyncIterable", y);
              } else
                return y;
          }
          if (a & 2) {
            const y = S7e(r, Rc, l, f, d);
            if (y !== ta)
              return y;
          }
          if (a & 1) {
            let y = S7e(r, go, l, f, d);
            if (y !== ta)
              return a & 2 ? (y = Nme(y, l), d ? y : ah(r, "iterationTypesOfAsyncIterable", y)) : y;
          }
          return ta;
        }
        function y7e(r, a) {
          return EX(r, a.iterableCacheKey);
        }
        function v7e(r, a) {
          if (pf(r, a.getGlobalIterableType(
            /*reportErrors*/
            false
          )) || pf(r, a.getGlobalIteratorObjectType(
            /*reportErrors*/
            false
          )) || pf(r, a.getGlobalIterableIteratorType(
            /*reportErrors*/
            false
          )) || pf(r, a.getGlobalGeneratorType(
            /*reportErrors*/
            false
          ))) {
            const [l, f, d] = wo(r);
            return ah(r, a.iterableCacheKey, D1(a.resolveIterationType(
              l,
              /*errorNode*/
              void 0
            ) || l, a.resolveIterationType(
              f,
              /*errorNode*/
              void 0
            ) || f, d));
          }
          if (qG(r, a.getGlobalBuiltinIteratorTypes())) {
            const [l] = wo(r), f = epe(), d = yt;
            return ah(r, a.iterableCacheKey, D1(a.resolveIterationType(
              l,
              /*errorNode*/
              void 0
            ) || l, a.resolveIterationType(
              f,
              /*errorNode*/
              void 0
            ) || f, d));
          }
        }
        function b7e(r) {
          const a = B3e(
            /*reportErrors*/
            false
          ), l = a && rr(Yr(a), Zo(r));
          return l && op(l) ? cp(l) : `__@${r}`;
        }
        function S7e(r, a, l, f, d) {
          const y = Qs(r, b7e(a.iteratorSymbolName)), x = y && !(y.flags & 16777216) ? Yr(y) : void 0;
          if (gn(x))
            return d ? xo : ah(r, a.iterableCacheKey, xo);
          const I = x ? As(
            x,
            0
            /* Call */
          ) : void 0, J = kn(I, (ve) => Qd(ve) === 0);
          if (!ot(J))
            return l && ot(I) && vu(
              r,
              a.getGlobalIterableType(
                /*reportErrors*/
                true
              ),
              l,
              /*headMessage*/
              void 0,
              /*containingMessageChain*/
              void 0,
              f
            ), d ? ta : ah(r, a.iterableCacheKey, ta);
          const z = ia(hr(J, Ba)), G = T7e(z, a, l, f, d) ?? ta;
          return d ? G : ah(r, a.iterableCacheKey, G);
        }
        function Ame(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<...>]
            !!kP(a) || !l && RN(r.parent) && r.parent.expression === r && sM(
              /*reportErrors*/
              false
            ) !== zt && Ls(a, uP(sM(
              /*reportErrors*/
              false
            ), [Le, Le, Le]))
          );
          return L0(r, d, f, Wr(a));
        }
        function Ylt(r, a, l, f) {
          return T7e(
            r,
            a,
            l,
            f,
            /*noCache*/
            false
          );
        }
        function T7e(r, a, l, f, d) {
          if (gn(r))
            return xo;
          let y = Zlt(r, a) || Klt(r, a);
          return y === ta && l && (y = void 0, d = true), y ?? (y = nut(r, a, l, f, d)), y === ta ? void 0 : y;
        }
        function Zlt(r, a) {
          return EX(r, a.iteratorCacheKey);
        }
        function Klt(r, a) {
          if (pf(r, a.getGlobalIterableIteratorType(
            /*reportErrors*/
            false
          )) || pf(r, a.getGlobalIteratorType(
            /*reportErrors*/
            false
          )) || pf(r, a.getGlobalIteratorObjectType(
            /*reportErrors*/
            false
          )) || pf(r, a.getGlobalGeneratorType(
            /*reportErrors*/
            false
          ))) {
            const [l, f, d] = wo(r);
            return ah(r, a.iteratorCacheKey, D1(l, f, d));
          }
          if (qG(r, a.getGlobalBuiltinIteratorTypes())) {
            const [l] = wo(r), f = epe(), d = yt;
            return ah(r, a.iteratorCacheKey, D1(l, f, d));
          }
        }
        function x7e(r, a) {
          const l = rr(r, "done") || Rr;
          return Ls(a === 0 ? Rr : rt, l);
        }
        function eut(r) {
          return x7e(
            r,
            0
            /* Yield */
          );
        }
        function tut(r) {
          return x7e(
            r,
            1
            /* Return */
          );
        }
        function rut(r) {
          if (gn(r))
            return xo;
          const a = EX(r, "iterationTypesOfIteratorResult");
          if (a)
            return a;
          if (pf(r, xtt(
            /*reportErrors*/
            false
          ))) {
            const x = wo(r)[0];
            return ah(r, "iterationTypesOfIteratorResult", D1(
              x,
              /*returnType*/
              void 0,
              /*nextType*/
              void 0
            ));
          }
          if (pf(r, ktt(
            /*reportErrors*/
            false
          ))) {
            const x = wo(r)[0];
            return ah(r, "iterationTypesOfIteratorResult", D1(
              /*yieldType*/
              void 0,
              x,
              /*nextType*/
              void 0
            ));
          }
          const l = Hc(r, eut), f = l !== nr ? rr(l, "value") : void 0, d = Hc(r, tut), y = d !== nr ? rr(d, "value") : void 0;
          return !f && !y ? ah(r, "iterationTypesOfIteratorResult", ta) : ah(r, "iterationTypesOfIteratorResult", D1(
            f,
            y || _r,
            /*nextType*/
            void 0
          ));
        }
        function Ime(r, a, l, f, d) {
          var y, x, I, J;
          const z = Qs(r, l);
          if (!z && l !== "next")
            return;
          const G = z && !(l === "next" && z.flags & 16777216) ? l === "next" ? Yr(z) : xp(
            Yr(z),
            2097152
            /* NEUndefinedOrNull */
          ) : void 0;
          if (gn(G))
            return xo;
          const ve = G ? As(
            G,
            0
            /* Call */
          ) : Ge;
          if (ve.length === 0) {
            if (f) {
              const or = l === "next" ? a.mustHaveANextMethodDiagnostic : a.mustBeAMethodDiagnostic;
              d ? (d.errors ?? (d.errors = []), d.errors.push(sn(f, or, l))) : ze(f, or, l);
            }
            return l === "next" ? ta : void 0;
          }
          if (G?.symbol && ve.length === 1) {
            const or = a.getGlobalGeneratorType(
              /*reportErrors*/
              false
            ), ir = a.getGlobalIteratorType(
              /*reportErrors*/
              false
            ), nn = ((x = (y = or.symbol) == null ? void 0 : y.members) == null ? void 0 : x.get(l)) === G.symbol, Qn = !nn && ((J = (I = ir.symbol) == null ? void 0 : I.members) == null ? void 0 : J.get(l)) === G.symbol;
            if (nn || Qn) {
              const Ri = nn ? or : ir, { mapper: zn } = G;
              return D1(
                Z0(Ri.typeParameters[0], zn),
                Z0(Ri.typeParameters[1], zn),
                l === "next" ? Z0(Ri.typeParameters[2], zn) : void 0
              );
            }
          }
          let de, We;
          for (const or of ve)
            l !== "throw" && ot(or.parameters) && (de = Er(de, Xd(or, 0))), We = Er(We, Ba(or));
          let lt, gt;
          if (l !== "throw") {
            const or = de ? Xn(de) : yt;
            if (l === "next")
              gt = or;
            else if (l === "return") {
              const ir = a.resolveIterationType(or, f) || Le;
              lt = Er(lt, ir);
            }
          }
          let jt;
          const ar = We ? ia(We) : nr, jr = a.resolveIterationType(ar, f) || Le, Kr = rut(jr);
          return Kr === ta ? (f && (d ? (d.errors ?? (d.errors = []), d.errors.push(sn(f, a.mustHaveAValueDiagnostic, l))) : ze(f, a.mustHaveAValueDiagnostic, l)), jt = Le, lt = Er(lt, Le)) : (jt = Kr.yieldType, lt = Er(lt, Kr.returnType)), D1(jt, Xn(lt), gt);
        }
        function nut(r, a, l, f, d) {
          const y = g7e([
            Ime(r, a, "next", l, f),
            Ime(r, a, "return", l, f),
            Ime(r, a, "throw", l, f)
          ]);
          return d ? y : ah(r, a.iteratorCacheKey, y);
        }
        function ry(r, a, l) {
          if (gn(a))
            return;
          const f = Fme(a, l);
          return f && f[J1e(r)];
        }
        function Fme(r, a) {
          if (gn(r))
            return xo;
          const l = a ? 2 : 1, f = a ? Rc : go;
          return DX(
            r,
            l,
            /*errorNode*/
            void 0
          ) || Ylt(
            r,
            f,
            /*errorNode*/
            void 0,
            /*errorOutputContainer*/
            void 0
          );
        }
        function iut(r) {
          r0(r) || mft(r);
        }
        function cR(r, a) {
          const l = !!(a & 1), f = !!(a & 2);
          if (l) {
            const d = ry(1, r, f);
            return d ? f ? t0(CP(d)) : d : qe;
          }
          return f ? t0(r) || qe : r;
        }
        function k7e(r, a) {
          const l = cR(a, Fc(r));
          return !!(l && (kc(
            l,
            16384
            /* Void */
          ) || l.flags & 32769));
        }
        function sut(r) {
          if (r0(r))
            return;
          const a = e5(r);
          if (a && Sc(a)) {
            Ll(r, p.A_return_statement_cannot_be_used_inside_a_class_static_block);
            return;
          }
          if (!a) {
            Ll(r, p.A_return_statement_can_only_be_used_within_a_function_body);
            return;
          }
          const l = qf(a), f = Ba(l);
          if (K || r.expression || f.flags & 131072) {
            const d = r.expression ? fc(r.expression) : ue;
            if (a.kind === 179)
              r.expression && ze(r, p.Setters_cannot_return_a_value);
            else if (a.kind === 177) {
              const y = r.expression ? fc(r.expression) : ue;
              r.expression && !I2(y, f, r, r.expression) && ze(r, p.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class);
            } else if (DE(a)) {
              const y = cR(f, Fc(a)) ?? f;
              wX(a, y, r, r.expression, d);
            }
          } else a.kind !== 177 && F.noImplicitReturns && !k7e(a, f) && ze(r, p.Not_all_code_paths_return_a_value);
        }
        function wX(r, a, l, f, d, y = false) {
          const x = an(l), I = Fc(r);
          if (f) {
            const de = Ra(f, x);
            if (vS(de)) {
              wX(
                r,
                a,
                l,
                de.whenTrue,
                Hi(de.whenTrue),
                /*inConditionalExpression*/
                true
              ), wX(
                r,
                a,
                l,
                de.whenFalse,
                Hi(de.whenFalse),
                /*inConditionalExpression*/
                true
              );
              return;
            }
          }
          const J = l.kind === 254, z = I & 2 ? rR(
            d,
            /*withAlias*/
            false,
            l,
            p.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
          ) : d, G = f && lX(f);
          I2(z, a, J && !y ? l : G, G);
        }
        function aut(r) {
          r0(r) || r.flags & 65536 && Ll(r, p.with_statements_are_not_allowed_in_an_async_function_block), Hi(r.expression);
          const a = xr(r);
          if (!w1(a)) {
            const l = nm(a, r.pos).start, f = r.statement.pos;
            ab(a, l, f - l, p.The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any);
          }
        }
        function out(r) {
          r0(r);
          let a, l = false;
          const f = Hi(r.expression);
          lr(r.caseBlock.clauses, (d) => {
            d.kind === 298 && !l && (a === void 0 ? a = d : (mr(d, p.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement), l = true)), d.kind === 297 && n(y(d)), lr(d.statements, ca), F.noFallthroughCasesInSwitch && d.fallthroughFlowNode && NM(d.fallthroughFlowNode) && ze(d, p.Fallthrough_case_in_switch);
            function y(x) {
              return () => {
                const I = Hi(x.expression);
                pme(f, I) || zNe(
                  I,
                  f,
                  x.expression,
                  /*headMessage*/
                  void 0
                );
              };
            }
          }), r.caseBlock.locals && E1(r.caseBlock);
        }
        function cut(r) {
          r0(r) || dr(r.parent, (a) => Cs(a) ? "quit" : a.kind === 257 && a.label.escapedText === r.label.escapedText ? (mr(r.label, p.Duplicate_label_0, Go(r.label)), true) : false), ca(r.statement);
        }
        function lut(r) {
          r0(r) || Me(r.expression) && !r.expression.escapedText && Pft(r, p.Line_break_not_permitted_here), r.expression && Hi(r.expression);
        }
        function uut(r) {
          r0(r), kX(r.tryBlock);
          const a = r.catchClause;
          if (a) {
            if (a.variableDeclaration) {
              const l = a.variableDeclaration;
              aR(l);
              const f = Qc(l);
              if (f) {
                const d = Ci(f);
                d && !(d.flags & 3) && Ll(f, p.Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified);
              } else if (l.initializer)
                Ll(l.initializer, p.Catch_clause_variable_cannot_have_an_initializer);
              else {
                const d = a.block.locals;
                d && Eg(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, Si(y));
                });
              }
            }
            kX(a.block);
          }
          r.finallyBlock && kX(r.finallyBlock);
        }
        function PX(r, a, l) {
          const f = hu(r);
          if (f.length === 0)
            return;
          for (const y of X0(r))
            l && y.flags & 4194304 || C7e(r, y, $k(
              y,
              8576,
              /*includeNonPublic*/
              true
            ), Wd(y));
          const d = a.valueDeclaration;
          if (d && $n(d)) {
            for (const y of d.members)
              if ((!l && !Bs(y) || l && Bs(y)) && !CE(y)) {
                const x = yn(y);
                C7e(r, x, su(y.name.expression), Wd(x));
              }
          }
          if (f.length > 1)
            for (const y of f)
              _ut(r, y);
        }
        function C7e(r, a, l, f) {
          const d = a.valueDeclaration, y = us(d);
          if (y && Ai(y))
            return;
          const x = zfe(r, l), I = Dn(r) & 2 ? Ao(
            r.symbol,
            265
            /* InterfaceDeclaration */
          ) : void 0, J = d && d.kind === 227 || y && y.kind === 168 ? d : void 0, z = vl(a) === r.symbol ? d : void 0;
          for (const G of x) {
            const ve = G.declaration && vl(yn(G.declaration)) === r.symbol ? G.declaration : void 0, de = z || ve || (I && !ot(gd(r), (We) => !!k2(We, a.escapedName) && !!Xv(We, G.keyType)) ? I : void 0);
            if (de && !Ls(f, G.type)) {
              const We = f2(de, p.Property_0_of_type_1_is_not_assignable_to_2_index_type_3, Wi(a), Wr(f), Wr(G.keyType), Wr(G.type));
              J && de !== J && Js(We, sn(J, p._0_is_declared_here, Wi(a))), Pa.add(We);
            }
          }
        }
        function _ut(r, a) {
          const l = a.declaration, f = zfe(r, a.keyType), d = Dn(r) & 2 ? Ao(
            r.symbol,
            265
            /* InterfaceDeclaration */
          ) : void 0, y = l && vl(yn(l)) === r.symbol ? l : void 0;
          for (const x of f) {
            if (x === a) continue;
            const I = x.declaration && vl(yn(x.declaration)) === r.symbol ? x.declaration : void 0, J = y || I || (d && !ot(gd(r), (z) => !!th(z, a.keyType) && !!Xv(z, x.keyType)) ? d : void 0);
            J && !Ls(a.type, x.type) && ze(J, p._0_index_type_1_is_not_assignable_to_2_index_type_3, Wr(a.keyType), Wr(a.type), Wr(x.keyType), Wr(x.type));
          }
        }
        function DP(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":
              ze(r, a, r.escapedText);
          }
        }
        function fut(r) {
          R >= 1 && r.escapedText === "Object" && e.getEmitModuleFormatOfFile(xr(r)) < 5 && ze(r, p.Class_name_cannot_be_Object_when_targeting_ES5_and_above_with_module_0, hC[B]);
        }
        function put(r) {
          const a = kn(R1(r), Af);
          if (!wr(a)) return;
          const l = an(r), f = /* @__PURE__ */ new Set(), d = /* @__PURE__ */ new Set();
          if (lr(r.parameters, ({ name: x }, I) => {
            Me(x) && f.add(x.escapedText), Ds(x) && d.add(I);
          }), Ufe(r)) {
            const x = a.length - 1, I = a[x];
            l && I && Me(I.name) && I.typeExpression && I.typeExpression.type && !f.has(I.name.escapedText) && !d.has(x) && !Tp(Ci(I.typeExpression.type)) && ze(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, An(I.name));
          } else
            lr(a, ({ name: x, isNameFirst: I }, J) => {
              d.has(J) || Me(x) && f.has(x.escapedText) || (t_(x) ? l && ze(x, p.Qualified_name_0_is_not_allowed_without_a_leading_param_object_1, Q_(x), Q_(x.left)) : I || ud(l, x, p.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, An(x)));
            });
        }
        function lR(r) {
          let a = false;
          if (r)
            for (let f = 0; f < r.length; f++) {
              const d = r[f];
              HIe(d), n(l(d, f));
            }
          function l(f, d) {
            return () => {
              f.default ? (a = true, dut(f.default, r, d)) : a && ze(f, p.Required_type_parameters_may_not_follow_optional_type_parameters);
              for (let y = 0; y < d; y++)
                r[y].symbol === f.symbol && ze(f.name, p.Duplicate_identifier_0, so(f.name));
            };
          }
        }
        function dut(r, a, l) {
          f(r);
          function f(d) {
            if (d.kind === 184) {
              const y = a$(d);
              if (y.flags & 262144)
                for (let x = l; x < a.length; x++)
                  y.symbol === yn(a[x]) && ze(d, p.Type_parameter_defaults_can_only_reference_previously_declared_type_parameters);
            }
            Ts(d, f);
          }
        }
        function E7e(r) {
          if (r.declarations && r.declarations.length === 1)
            return;
          const a = Pn(r);
          if (!a.typeParametersChecked) {
            a.typeParametersChecked = true;
            const l = Tut(r);
            if (!l || l.length <= 1)
              return;
            const f = ho(r);
            if (!D7e(l, f.localTypeParameters, yy)) {
              const d = Wi(r);
              for (const y of l)
                ze(y.name, p.All_declarations_of_0_must_have_identical_type_parameters, d);
            }
          }
        }
        function D7e(r, a, l) {
          const f = wr(a), d = fg(a);
          for (const y of r) {
            const x = l(y), I = x.length;
            if (I < d || I > f)
              return false;
            for (let J = 0; J < I; J++) {
              const z = x[J], G = a[J];
              if (z.name.escapedText !== G.symbol.escapedName)
                return false;
              const ve = kC(z), de = ve && Ci(ve), We = __(G);
              if (de && We && !ih(de, We))
                return false;
              const lt = z.default && Ci(z.default), gt = C2(G);
              if (lt && gt && !ih(lt, gt))
                return false;
            }
          }
          return true;
        }
        function w7e(r) {
          const a = !U && R < Tl.ClassAndClassElementDecorators && _0(
            /*useLegacyDecorators*/
            false,
            r
          ), l = R < Tl.PrivateNamesAndClassStaticBlocks || R < Tl.ClassAndClassElementDecorators, f = !W;
          if (a || l)
            for (const d of r.members) {
              if (a && SB(
                /*useLegacyDecorators*/
                false,
                d,
                r
              ))
                return $c(hy(r)) ?? r;
              if (l) {
                if (Sc(d))
                  return d;
                if (Bs(d) && (xu(d) || f && _8(d)))
                  return d;
              }
            }
        }
        function mut(r) {
          if (r.name) return;
          const a = ire(r);
          if (!jB(a)) return;
          const l = !U && R < Tl.ClassAndClassElementDecorators;
          let f;
          l && _0(
            /*useLegacyDecorators*/
            false,
            r
          ) ? f = $c(hy(r)) ?? r : f = w7e(r), f && (bl(
            f,
            4194304
            /* SetFunctionName */
          ), (Kc(a) || as(a) || ha(a)) && Hs(a.name) && bl(
            f,
            8388608
            /* PropKey */
          ));
        }
        function gut(r) {
          return P7e(r), sC(r), mut(r), Yr(yn(r));
        }
        function hut(r) {
          lr(r.members, ca), E1(r);
        }
        function yut(r) {
          const a = Nn(r.modifiers, ol);
          U && a && ot(r.members, (l) => sl(l) && xu(l)) && mr(a, p.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator), !r.name && !Gn(
            r,
            2048
            /* Default */
          ) && Ll(r, p.A_class_declaration_without_the_default_modifier_must_have_a_name), P7e(r), lr(r.members, ca), E1(r);
        }
        function P7e(r) {
          eft(r), nR(r), EP(r, r.name), lR(yy(r)), AI(r);
          const a = yn(r), l = ho(a), f = df(l), d = Yr(a);
          E7e(a), SX(a), Nct(r), !!(r.flags & 33554432) || Act(r);
          const x = kd(r);
          if (x) {
            lr(x.typeArguments, ca), R < Tl.Classes && bl(
              x.parent,
              1
              /* Extends */
            );
            const z = Pb(r);
            z && z !== x && Hi(z.expression);
            const G = gd(l);
            G.length && n(() => {
              const ve = G[0], de = Vh(l), We = Qu(de);
              if (but(We, x), ca(x.expression), ot(x.typeArguments)) {
                lr(x.typeArguments, ca);
                for (const gt of md(We, x.typeArguments, x))
                  if (!KIe(x, gt.typeParameters))
                    break;
              }
              const lt = df(ve, l.thisType);
              if (vu(
                f,
                lt,
                /*errorNode*/
                void 0
              ) ? vu(d, LNe(We), r.name || r, p.Class_static_side_0_incorrectly_extends_base_class_static_side_1) : I7e(r, f, lt, p.Class_0_incorrectly_extends_base_class_1), de.flags & 8650752 && (Hl(d) ? As(
                de,
                1
                /* Construct */
              ).some(
                (jt) => jt.flags & 4
                /* Abstract */
              ) && !Gn(
                r,
                64
                /* Abstract */
              ) && ze(r.name || r, p.A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract) : ze(r.name || r, p.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any)), !(We.symbol && We.symbol.flags & 32) && !(de.flags & 8650752)) {
                const gt = Kg(We, x.typeArguments, x);
                lr(gt, (jt) => !Rm(jt.declaration) && !ih(Ba(jt), ve)) && ze(x.expression, p.Base_constructors_must_all_have_the_same_return_type);
              }
              xut(l, ve);
            });
          }
          vut(r, l, f, d);
          const I = UC(r);
          if (I)
            for (const z of I)
              (!Za(z.expression) || Tu(z.expression)) && ze(z.expression, p.A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments), bme(z), n(J(z));
          n(() => {
            PX(l, a), PX(
              d,
              a,
              /*isStaticIndex*/
              true
            ), yme(r), Eut(r);
          });
          function J(z) {
            return () => {
              const G = Yp(Ci(z));
              if (!Gr(G))
                if ($L(G)) {
                  const ve = G.symbol && G.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 = df(G, l.thisType);
                  vu(
                    f,
                    de,
                    /*errorNode*/
                    void 0
                  ) || I7e(r, f, de, ve);
                } else
                  ze(z, p.A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members);
            };
          }
        }
        function vut(r, a, l, f) {
          const y = kd(r) && gd(a), x = y?.length ? df(ka(y), a.thisType) : void 0, I = Vh(a);
          for (const J of r.members)
            tJ(J) || (ec(J) && lr(J.parameters, (z) => {
              X_(z, J) && N7e(
                r,
                f,
                I,
                x,
                a,
                l,
                z,
                /*memberIsParameterProperty*/
                true
              );
            }), N7e(
              r,
              f,
              I,
              x,
              a,
              l,
              J,
              /*memberIsParameterProperty*/
              false
            ));
        }
        function N7e(r, a, l, f, d, y, x, I, J = true) {
          const z = x.name && Cp(x.name) || Cp(x);
          return z ? A7e(
            r,
            a,
            l,
            f,
            d,
            y,
            P5(x),
            Ob(x),
            Bs(x),
            I,
            z,
            J ? x : void 0
          ) : 0;
        }
        function A7e(r, a, l, f, d, y, x, I, J, z, G, ve) {
          const de = an(r), We = !!(r.flags & 33554432);
          if (x && G?.valueDeclaration && Uc(G.valueDeclaration) && G.valueDeclaration.name && GPe(G.valueDeclaration.name))
            return ze(
              ve,
              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 lt = J ? a : y, gt = J ? l : f, jt = Qs(lt, G.escapedName), ar = Qs(gt, G.escapedName), jr = Wr(f);
            if (jt && !ar && x) {
              if (ve) {
                const Kr = JAe(sc(G), gt);
                Kr ? ze(
                  ve,
                  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,
                  jr,
                  Wi(Kr)
                ) : ze(
                  ve,
                  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,
                  jr
                );
              }
              return 2;
            } else if (jt && ar?.declarations && F.noImplicitOverride && !We) {
              const Kr = ot(ar.declarations, Ob);
              if (x)
                return 0;
              if (Kr) {
                if (I && Kr)
                  return ve && ze(ve, p.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0, jr), 1;
              } else {
                if (ve) {
                  const or = z ? 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;
                  ze(ve, or, jr);
                }
                return 1;
              }
            }
          } else if (x) {
            if (ve) {
              const lt = Wr(d);
              ze(
                ve,
                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,
                lt
              );
            }
            return 2;
          }
          return 0;
        }
        function I7e(r, a, l, f) {
          let d = false;
          for (const y of r.members) {
            if (Bs(y))
              continue;
            const x = y.name && Cp(y.name) || Cp(y);
            if (x) {
              const I = Qs(a, x.escapedName), J = Qs(l, x.escapedName);
              if (I && J) {
                const z = () => Ss(
                  /*details*/
                  void 0,
                  p.Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2,
                  Wi(x),
                  Wr(a),
                  Wr(l)
                );
                vu(
                  Yr(I),
                  Yr(J),
                  y.name || y,
                  /*headMessage*/
                  void 0,
                  z
                ) || (d = true);
              }
            }
          }
          d || vu(a, l, r.name || r, f);
        }
        function but(r, a) {
          const l = As(
            r,
            1
            /* Construct */
          );
          if (l.length) {
            const f = l[0].declaration;
            if (f && ef(
              f,
              2
              /* Private */
            )) {
              const d = Sh(r.symbol);
              Bme(a, d) || ze(a, p.Cannot_extend_a_class_0_Class_constructor_is_marked_as_private, J0(r.symbol));
            }
          }
        }
        function Sut(r, a, l) {
          if (!a.name)
            return 0;
          const f = yn(r), d = ho(f), y = df(d), x = Yr(f), J = kd(r) && gd(d), z = J?.length ? df(ka(J), d.thisType) : void 0, G = Vh(d), ve = a.parent ? P5(a) : Gn(
            a,
            16
            /* Override */
          );
          return A7e(
            r,
            x,
            G,
            z,
            d,
            y,
            ve,
            Ob(a),
            Bs(a),
            /*memberIsParameterProperty*/
            false,
            l
          );
        }
        function UE(r) {
          return oc(r) & 1 ? r.links.target : r;
        }
        function Tut(r) {
          return kn(
            r.declarations,
            (a) => a.kind === 264 || a.kind === 265
            /* InterfaceDeclaration */
          );
        }
        function xut(r, a) {
          var l, f, d, y, x;
          const I = qa(a), J = /* @__PURE__ */ new Map();
          e: for (const z of I) {
            const G = UE(z);
            if (G.flags & 4194304)
              continue;
            const ve = k2(r, G.escapedName);
            if (!ve)
              continue;
            const de = UE(ve), We = ap(G);
            if (E.assert(!!de, "derived should point to something, even if it is the base class' declaration."), de === G) {
              const lt = Sh(r.symbol);
              if (We & 64 && (!lt || !Gn(
                lt,
                64
                /* Abstract */
              ))) {
                for (const Kr of gd(r)) {
                  if (Kr === a) continue;
                  const or = k2(Kr, G.escapedName), ir = or && UE(or);
                  if (ir && ir !== G)
                    continue e;
                }
                const gt = Wr(a), jt = Wr(r), ar = Wi(z), jr = Er((l = J.get(lt)) == null ? void 0 : l.missedProperties, ar);
                J.set(lt, { baseTypeName: gt, typeName: jt, missedProperties: jr });
              }
            } else {
              const lt = ap(de);
              if (We & 2 || lt & 2)
                continue;
              let gt;
              const jt = G.flags & 98308, ar = de.flags & 98308;
              if (jt && ar) {
                if ((oc(G) & 6 ? (f = G.declarations) != null && f.some((or) => F7e(or, We)) : (d = G.declarations) != null && d.every((or) => F7e(or, We))) || oc(G) & 262144 || de.valueDeclaration && _n(de.valueDeclaration))
                  continue;
                const jr = jt !== 4 && ar === 4;
                if (jr || jt === 4 && ar !== 4) {
                  const or = jr ? 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;
                  ze(us(de.valueDeclaration) || de.valueDeclaration, or, Wi(G), Wr(a), Wr(r));
                } else if ($) {
                  const or = (y = de.declarations) == null ? void 0 : y.find((ir) => ir.kind === 173 && !ir.initializer);
                  if (or && !(de.flags & 33554432) && !(We & 64) && !(lt & 64) && !((x = de.declarations) != null && x.some((ir) => !!(ir.flags & 33554432)))) {
                    const ir = CN(Sh(r.symbol)), nn = or.name;
                    if (or.exclamationToken || !ir || !Me(nn) || !K || !L7e(nn, r, ir)) {
                      const Qn = 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;
                      ze(us(de.valueDeclaration) || de.valueDeclaration, Qn, Wi(G), Wr(a));
                    }
                  }
                }
                continue;
              } else if (Fde(G)) {
                if (Fde(de) || de.flags & 4)
                  continue;
                E.assert(!!(de.flags & 98304)), gt = p.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor;
              } else G.flags & 98304 ? gt = p.Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function : gt = p.Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function;
              ze(us(de.valueDeclaration) || de.valueDeclaration, gt, Wr(a), Wi(G), Wr(r));
            }
          }
          for (const [z, G] of J)
            if (wr(G.missedProperties) === 1)
              Oc(z) ? ze(z, p.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, ka(G.missedProperties), G.baseTypeName) : ze(z, p.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2, G.typeName, ka(G.missedProperties), G.baseTypeName);
            else if (wr(G.missedProperties) > 5) {
              const ve = hr(G.missedProperties.slice(0, 4), (We) => `'${We}'`).join(", "), de = wr(G.missedProperties) - 4;
              Oc(z) ? ze(z, p.Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_and_2_more, G.baseTypeName, ve, de) : ze(z, p.Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_and_3_more, G.typeName, G.baseTypeName, ve, de);
            } else {
              const ve = hr(G.missedProperties, (de) => `'${de}'`).join(", ");
              Oc(z) ? ze(z, p.Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1, G.baseTypeName, ve) : ze(z, p.Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2, G.typeName, G.baseTypeName, ve);
            }
        }
        function F7e(r, a) {
          return a & 64 && (!as(r) || !r.initializer) || Jl(r.parent);
        }
        function kut(r, a, l) {
          if (!wr(a))
            return l;
          const f = /* @__PURE__ */ new Map();
          lr(l, (d) => {
            f.set(d.escapedName, d);
          });
          for (const d of a) {
            const y = qa(df(d, r.thisType));
            for (const x of y) {
              const I = f.get(x.escapedName);
              I && x.parent === I.parent && f.delete(x.escapedName);
            }
          }
          return ns(f.values());
        }
        function Cut(r, a) {
          const l = gd(r);
          if (l.length < 2)
            return true;
          const f = /* @__PURE__ */ new Map();
          lr(Efe(r).declaredProperties, (y) => {
            f.set(y.escapedName, { prop: y, containingType: r });
          });
          let d = true;
          for (const y of l) {
            const x = qa(df(y, r.thisType));
            for (const I of x) {
              const J = f.get(I.escapedName);
              if (!J)
                f.set(I.escapedName, { prop: I, containingType: y });
              else if (J.containingType !== r && !ynt(J.prop, I)) {
                d = false;
                const G = Wr(J.containingType), ve = Wr(y);
                let de = Ss(
                  /*details*/
                  void 0,
                  p.Named_property_0_of_types_1_and_2_are_not_identical,
                  Wi(I),
                  G,
                  ve
                );
                de = Ss(de, p.Interface_0_cannot_simultaneously_extend_types_1_and_2, Wr(r), G, ve), Pa.add(wg(xr(a), a, de));
              }
            }
          }
          return d;
        }
        function Eut(r) {
          if (!K || !se || r.flags & 33554432)
            return;
          const a = CN(r);
          for (const l of r.members)
            if (!(lu(l) & 128) && !Bs(l) && O7e(l)) {
              const f = l.name;
              if (Me(f) || Ai(f) || Hs(f)) {
                const d = Yr(yn(l));
                d.flags & 3 || FE(d) || (!a || !L7e(f, d, a)) && ze(l.name, p.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor, so(f));
              }
            }
        }
        function O7e(r) {
          return r.kind === 173 && !Ob(r) && !r.exclamationToken && !r.initializer;
        }
        function Dut(r, a, l, f, d) {
          for (const y of l)
            if (y.pos >= f && y.pos <= d) {
              const x = N.createPropertyAccessExpression(N.createThis(), r);
              ja(x.expression, x), ja(x, y), x.flowNode = y.returnFlowNode;
              const I = e0(x, a, k1(a));
              if (!FE(I))
                return true;
            }
          return false;
        }
        function L7e(r, a, l) {
          const f = Hs(r) ? N.createElementAccessExpression(N.createThis(), r.expression) : N.createPropertyAccessExpression(N.createThis(), r);
          ja(f.expression, f), ja(f, l), f.flowNode = l.returnFlowNode;
          const d = e0(f, a, k1(a));
          return !FE(d);
        }
        function wut(r) {
          oh(r) || oft(r), UX(r.parent) || mr(r, p._0_declarations_can_only_be_declared_inside_a_block, "interface"), lR(r.typeParameters), n(() => {
            DP(r.name, p.Interface_name_cannot_be_0), AI(r);
            const a = yn(r);
            E7e(a);
            const l = Ao(
              a,
              265
              /* InterfaceDeclaration */
            );
            if (r === l) {
              const f = ho(a), d = df(f);
              if (Cut(f, r.name)) {
                for (const y of gd(f))
                  vu(d, df(y, f.thisType), r.name, p.Interface_0_incorrectly_extends_interface_1);
                PX(f, a);
              }
            }
            XIe(r);
          }), lr(V4(r), (a) => {
            (!Za(a.expression) || Tu(a.expression)) && ze(a.expression, p.An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments), bme(a);
          }), lr(r.members, ca), n(() => {
            yme(r), E1(r);
          });
        }
        function Put(r) {
          if (oh(r), DP(r.name, p.Type_alias_name_cannot_be_0), UX(r.parent) || mr(r, p._0_declarations_can_only_be_declared_inside_a_block, "type"), AI(r), lR(r.typeParameters), r.type.kind === 141) {
            const a = wr(r.typeParameters);
            (a === 0 ? r.name.escapedText === "BuiltinIteratorReturn" : a === 1 && PW.has(r.name.escapedText)) || ze(r.type, p.The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types);
          } else
            ca(r.type), E1(r);
        }
        function M7e(r) {
          const a = xn(r);
          if (!(a.flags & 1024)) {
            a.flags |= 1024;
            let l = 0, f;
            for (const d of r.members) {
              const y = Nut(d, l, f);
              xn(d).enumMemberValue = y, l = typeof y.value == "number" ? y.value + 1 : void 0, f = d;
            }
          }
        }
        function Nut(r, a, l) {
          if (b3(r.name))
            ze(r.name, p.Computed_property_names_are_not_allowed_in_enums);
          else if (s6(r.name))
            ze(r.name, p.An_enum_member_cannot_have_a_numeric_name);
          else {
            const f = ox(r.name);
            Mg(f) && !gD(f) && ze(r.name, p.An_enum_member_cannot_have_a_numeric_name);
          }
          if (r.initializer)
            return Aut(r);
          if (r.parent.flags & 33554432 && !B1(r.parent))
            return ml(
              /*value*/
              void 0
            );
          if (a === void 0)
            return ze(r.name, p.Enum_member_must_have_initializer), ml(
              /*value*/
              void 0
            );
          if (Rp(F) && l?.initializer) {
            const f = jT(l);
            typeof f.value == "number" && !f.resolvedOtherFiles || ze(
              r.name,
              p.Enum_member_following_a_non_literal_numeric_member_must_have_an_initializer_when_isolatedModules_is_enabled
            );
          }
          return ml(a);
        }
        function Aut(r) {
          const a = B1(r.parent), l = r.initializer, f = Fe(l, r);
          return f.value !== void 0 ? a && typeof f.value == "number" && !isFinite(f.value) ? ze(
            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
          ) : Rp(F) && typeof f.value == "string" && !f.isSyntacticallyString && ze(
            l,
            p._0_has_a_string_type_but_must_have_syntactically_recognizable_string_syntax_when_isolatedModules_is_enabled,
            `${An(r.parent.name)}.${ox(r.name)}`
          ) : a ? ze(l, p.const_enum_member_initializers_must_be_constant_expressions) : r.parent.flags & 33554432 ? ze(l, p.In_ambient_enum_declarations_member_initializer_must_be_constant_expression) : vu(Hi(l), wt, l, p.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values), f;
        }
        function R7e(r, a) {
          const l = _c2(
            r,
            111551,
            /*ignoreErrors*/
            true
          );
          if (!l) return ml(
            /*value*/
            void 0
          );
          if (r.kind === 80) {
            const f = r;
            if (gD(f.escapedText) && l === AE(
              f.escapedText,
              111551,
              /*diagnostic*/
              void 0
            ))
              return ml(
                +f.escapedText,
                /*isSyntacticallyString*/
                false
              );
          }
          if (l.flags & 8)
            return a ? j7e(r, l, a) : jT(l.valueDeclaration);
          if (eC(l)) {
            const f = l.valueDeclaration;
            if (f && ei(f) && !f.type && f.initializer && (!a || f !== a && Jh(f, a))) {
              const d = Fe(f.initializer, f);
              return a && xr(a) !== xr(f) ? ml(
                d.value,
                /*isSyntacticallyString*/
                false,
                /*resolvedOtherFiles*/
                true,
                /*hasExternalReferences*/
                true
              ) : ml(
                d.value,
                d.isSyntacticallyString,
                d.resolvedOtherFiles,
                /*hasExternalReferences*/
                true
              );
            }
          }
          return ml(
            /*value*/
            void 0
          );
        }
        function Iut(r, a) {
          const l = r.expression;
          if (Za(l) && Ma(r.argumentExpression)) {
            const f = _c2(
              l,
              111551,
              /*ignoreErrors*/
              true
            );
            if (f && f.flags & 384) {
              const d = Zo(r.argumentExpression.text), y = f.exports.get(d);
              if (y)
                return E.assert(xr(y.valueDeclaration) === xr(f.valueDeclaration)), a ? j7e(r, y, a) : jT(y.valueDeclaration);
            }
          }
          return ml(
            /*value*/
            void 0
          );
        }
        function j7e(r, a, l) {
          const f = a.valueDeclaration;
          if (!f || f === l)
            return ze(r, p.Property_0_is_used_before_being_assigned, Wi(a)), ml(
              /*value*/
              void 0
            );
          if (!Jh(f, l))
            return ze(r, p.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums), ml(
              /*value*/
              0
            );
          const d = jT(f);
          return l.parent !== f.parent ? ml(
            d.value,
            d.isSyntacticallyString,
            d.resolvedOtherFiles,
            /*hasExternalReferences*/
            true
          ) : d;
        }
        function Fut(r) {
          n(() => Out(r));
        }
        function Out(r) {
          oh(r), EP(r, r.name), AI(r), r.members.forEach(ca), F.erasableSyntaxOnly && !(r.flags & 33554432) && ze(r, p.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled), M7e(r);
          const a = yn(r), l = Ao(a, r.kind);
          if (r === l) {
            if (a.declarations && a.declarations.length > 1) {
              const d = B1(r);
              lr(a.declarations, (y) => {
                rv(y) && B1(y) !== d && ze(us(y), p.Enum_declarations_must_all_be_const_or_non_const);
              });
            }
            let f = false;
            lr(a.declarations, (d) => {
              if (d.kind !== 267)
                return false;
              const y = d;
              if (!y.members.length)
                return false;
              const x = y.members[0];
              x.initializer || (f ? ze(x.name, p.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element) : f = true);
            });
          }
        }
        function Lut(r) {
          Ai(r.name) && ze(r, p.An_enum_member_cannot_be_named_with_a_private_identifier), r.initializer && Hi(r.initializer);
        }
        function Mut(r) {
          const a = r.declarations;
          if (a) {
            for (const l of a)
              if ((l.kind === 264 || l.kind === 263 && Ip(l.body)) && !(l.flags & 33554432))
                return l;
          }
        }
        function Rut(r, a) {
          const l = xd(r), f = xd(a);
          return u0(l) ? u0(f) : u0(f) ? false : l === f;
        }
        function jut(r) {
          r.body && (ca(r.body), Vm(r) || E1(r)), n(a);
          function a() {
            var l, f;
            const d = Vm(r), y = r.flags & 33554432;
            d && !y && ze(r.name, p.Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context);
            const x = Ju(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 (uR(r, I))
              return;
            if (oh(r) || !y && r.name.kind === 11 && mr(r.name, p.Only_ambient_modules_can_use_quoted_names), Me(r.name) && (EP(r, r.name), !(r.flags & 2080))) {
              const z = xr(r), G = GZ(r), ve = nm(z, G);
              XS.add(
                al(z, ve.start, ve.length, p.A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_keyword_instead)
              );
            }
            AI(r);
            const J = yn(r);
            if (J.flags & 512 && !y && NW(r, Oy(F))) {
              if (F.erasableSyntaxOnly && ze(r.name, p.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled), Rp(F) && !xr(r).externalModuleIndicator && ze(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 = J.declarations) == null ? void 0 : l.length) > 1) {
                const z = Mut(J);
                z && (xr(r) !== xr(z) ? ze(r.name, p.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged) : r.pos < z.pos && ze(r.name, p.A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged));
                const G = Ao(
                  J,
                  264
                  /* ClassDeclaration */
                );
                G && Rut(r, G) && (xn(r).flags |= 2048);
              }
              if (F.verbatimModuleSyntax && r.parent.kind === 308 && e.getEmitModuleFormatOfFile(r.parent) === 1) {
                const z = (f = r.modifiers) == null ? void 0 : f.find(
                  (G) => G.kind === 95
                  /* ExportKeyword */
                );
                z && ze(z, p.A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled);
              }
            }
            if (x)
              if (xb(r)) {
                if ((d || yn(r).flags & 33554432) && r.body)
                  for (const G of r.body.statements)
                    Ome(G, d);
              } else u0(r.parent) ? d ? ze(r.name, p.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations) : xl(np(r.name)) && ze(r.name, p.Ambient_module_declaration_cannot_specify_relative_module_name) : d ? ze(r.name, p.Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations) : ze(r.name, p.Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces);
          }
        }
        function Ome(r, a) {
          switch (r.kind) {
            case 244:
              for (const f of r.declarationList.declarations)
                Ome(f, a);
              break;
            case 278:
            case 279:
              Ll(r, p.Exports_and_export_assignments_are_not_permitted_in_module_augmentations);
              break;
            case 272:
              if (tS(r)) break;
            // falls through
            case 273:
              Ll(r, p.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module);
              break;
            case 209:
            case 261:
              const l = r.name;
              if (Ds(l)) {
                for (const f of l.elements)
                  Ome(f, a);
                break;
              }
            // falls through
            case 264:
            case 267:
            case 263:
            case 265:
            case 268:
            case 266:
              if (a)
                return;
              break;
          }
        }
        function But(r) {
          switch (r.kind) {
            case 80:
              return r;
            case 167:
              do
                r = r.left;
              while (r.kind !== 80);
              return r;
            case 212:
              do {
                if (Ng(r.expression) && !Ai(r.name))
                  return r.name;
                r = r.expression;
              } while (r.kind !== 80);
              return r;
          }
        }
        function NX(r) {
          const a = ux(r);
          if (!a || ac(a))
            return false;
          if (!oa(a))
            return ze(a, p.String_literal_expected), false;
          const l = r.parent.kind === 269 && Ju(r.parent.parent);
          if (r.parent.kind !== 308 && !l)
            return ze(
              a,
              r.kind === 279 ? p.Export_declarations_are_not_permitted_in_a_namespace : p.Import_declarations_in_a_namespace_cannot_reference_a_module
            ), false;
          if (l && xl(a.text) && !Yw(r))
            return ze(r, p.Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name), false;
          if (!cl(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 = false;
            for (const y of r.attributes.elements)
              oa(y.value) || (d = true, ze(y.value, f));
            return !d;
          }
          return true;
        }
        function AX(r, a = true) {
          r === void 0 || r.kind !== 11 || (a ? (B === 5 || B === 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 IX(r) {
          var a, l, f, d, y;
          let x = yn(r);
          const I = Fl(x);
          if (I !== Y) {
            if (x = Ia(x.exportSymbol || x), an(r) && !(I.flags & 111551) && !c0(r)) {
              const G = by(r) ? r.propertyName || r.name : kl(r) ? r.name : r;
              if (E.assert(
                r.kind !== 281
                /* NamespaceExport */
              ), r.kind === 282) {
                const ve = ze(G, p.Types_cannot_appear_in_export_declarations_in_JavaScript_files), de = (l = (a = xr(r).symbol) == null ? void 0 : a.exports) == null ? void 0 : l.get(Tb(r.propertyName || r.name));
                if (de === I) {
                  const We = (f = de.declarations) == null ? void 0 : f.find(wC);
                  We && Js(
                    ve,
                    sn(
                      We,
                      p._0_is_automatically_exported_here,
                      Si(de.escapedName)
                    )
                  );
                }
              } else {
                E.assert(
                  r.kind !== 261
                  /* VariableDeclaration */
                );
                const ve = dr(r, H_(Wo, cl)), de = (ve && ((d = lx(ve)) == null ? void 0 : d.text)) ?? "...", We = Si(Me(G) ? G.escapedText : x.escapedName);
                ze(
                  G,
                  p._0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation,
                  We,
                  `import("${de}").${We}`
                );
              }
              return;
            }
            const J = N_(I), z = (x.flags & 1160127 ? 111551 : 0) | (x.flags & 788968 ? 788968 : 0) | (x.flags & 1920 ? 1920 : 0);
            if (J & z) {
              const G = r.kind === 282 ? p.Export_declaration_conflicts_with_exported_declaration_of_0 : p.Import_declaration_conflicts_with_local_declaration_of_0;
              ze(r, G, Wi(x));
            } else r.kind !== 282 && F.isolatedModules && !dr(r, c0) && x.flags & 1160127 && ze(
              r,
              p.Import_0_conflicts_with_local_value_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled,
              Wi(x),
              Ee
            );
            if (Rp(F) && !c0(r) && !(r.flags & 33554432)) {
              const G = Jd(x), ve = !(J & 111551);
              if (ve || G)
                switch (r.kind) {
                  case 274:
                  case 277:
                  case 272: {
                    if (F.verbatimModuleSyntax) {
                      E.assertIsDefined(r.name, "An ImportClause with a symbol should have a name");
                      const de = F.verbatimModuleSyntax && tS(r) ? p.An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled : ve ? 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, We = Dy(r.kind === 277 && r.propertyName || r.name);
                      _s(
                        ze(r, de, We),
                        ve ? void 0 : G,
                        We
                      );
                    }
                    ve && r.kind === 272 && ef(
                      r,
                      32
                      /* Export */
                    ) && ze(r, p.Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled, Ee);
                    break;
                  }
                  case 282:
                    if (F.verbatimModuleSyntax || xr(G) !== xr(r)) {
                      const de = Dy(r.propertyName || r.name), We = ve ? ze(r, p.Re_exporting_a_type_when_0_is_enabled_requires_using_export_type, Ee) : ze(r, p._0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled, de, Ee);
                      _s(We, ve ? void 0 : G, de);
                      break;
                    }
                }
              if (F.verbatimModuleSyntax && r.kind !== 272 && !an(r) && e.getEmitModuleFormatOfFile(xr(r)) === 1 ? ze(r, QS(r)) : B === 200 && r.kind !== 272 && r.kind !== 261 && e.getEmitModuleFormatOfFile(xr(r)) === 1 && ze(r, p.ECMAScript_module_syntax_is_not_allowed_in_a_CommonJS_module_when_module_is_set_to_preserve), F.verbatimModuleSyntax && !c0(r) && !(r.flags & 33554432) && J & 128) {
                const de = I.valueDeclaration, We = (y = e.getRedirectFromOutput(xr(de).resolvedPath)) == null ? void 0 : y.resolvedRef;
                de.flags & 33554432 && (!We || !Oy(We.commandLine.options)) && ze(r, p.Cannot_access_ambient_const_enums_when_0_is_enabled, Ee);
              }
            }
            if (qu(r)) {
              const G = Lme(x, r);
              $u(G) && G.declarations && $p(r, G.declarations, G.escapedName);
            }
          }
        }
        function Lme(r, a) {
          if (!(r.flags & 2097152) || $u(r) || !P_(r))
            return r;
          const l = Fl(r);
          if (l === Y) return l;
          for (; r.flags & 2097152; ) {
            const f = K$(r);
            if (f) {
              if (f === l) break;
              if (f.declarations && wr(f.declarations))
                if ($u(f)) {
                  $p(a, f.declarations, f.escapedName);
                  break;
                } else {
                  if (r === l) break;
                  r = f;
                }
            } else
              break;
          }
          return l;
        }
        function FX(r) {
          EP(r, r.name), IX(r), r.kind === 277 && (AX(r.propertyName), Um(r.propertyName || r.name) && _m(F) && e.getEmitModuleFormatOfFile(xr(r)) < 4 && bl(
            r,
            131072
            /* ImportDefault */
          ));
        }
        function Mme(r) {
          var a;
          const l = r.attributes;
          if (l) {
            const f = Zfe(
              /*reportErrors*/
              true
            );
            f !== ea && vu(hfe(l), TM(
              f,
              32768
              /* Undefined */
            ), l);
            const d = pU(r), y = I6(l, d ? mr : void 0), x = r.attributes.token === 118;
            if (d && y)
              return;
            if (!Eee(B))
              return mr(
                l,
                x ? p.Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_node20_nodenext_or_preserve : p.Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_node20_nodenext_or_preserve
              );
            if (102 <= B && B <= 199 && !x)
              return Ll(l, p.Import_assertions_have_been_replaced_by_import_attributes_Use_with_instead_of_assert);
            if (r.moduleSpecifier && zh(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 (vm(r) || (Wo(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 Jut(r) {
          return Yu(fc(r.value));
        }
        function zut(r) {
          if (!uR(r, an(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 (!oh(r) && r.modifiers && Ll(r, p.An_import_declaration_cannot_have_modifiers), NX(r)) {
              let a;
              const l = r.importClause;
              l && !Aft(l) ? (l.name && FX(l), l.namedBindings && (l.namedBindings.kind === 275 ? (FX(l.namedBindings), e.getEmitModuleFormatOfFile(xr(r)) < 4 && _m(F) && bl(
                r,
                65536
                /* ImportStar */
              )) : (a = Iu(r, r.moduleSpecifier), a && lr(l.namedBindings.elements, FX))), !l.isTypeOnly && 101 <= B && B <= 199 && l1(r.moduleSpecifier, a) && !Wut(r) && ze(r.moduleSpecifier, p.Importing_a_JSON_file_into_an_ECMAScript_module_requires_a_type_Colon_json_import_attribute_when_module_is_set_to_0, hC[B])) : je && !l && Iu(r, r.moduleSpecifier);
            }
            Mme(r);
          }
        }
        function Wut(r) {
          return !!r.attributes && r.attributes.elements.some((a) => {
            var l;
            return np(a.name) === "type" && ((l = Bn(a.value, Ma)) == null ? void 0 : l.text) === "json";
          });
        }
        function Uut(r) {
          if (!uR(r, an(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) && (oh(r), F.erasableSyntaxOnly && !(r.flags & 33554432) && ze(r, p.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled), tS(r) || NX(r)))
            if (FX(r), tC(
              r,
              6
              /* ExportImportEquals */
            ), r.moduleReference.kind !== 284) {
              const a = Fl(yn(r));
              if (a !== Y) {
                const l = N_(a);
                if (l & 111551) {
                  const f = e_(r.moduleReference);
                  _c2(
                    f,
                    112575
                    /* Namespace */
                  ).flags & 1920 || ze(f, p.Module_0_is_hidden_by_a_local_declaration_with_the_same_name, so(f));
                }
                l & 788968 && DP(r.name, p.Import_name_cannot_be_0);
              }
              r.isTypeOnly && mr(r, p.An_import_alias_cannot_use_import_type);
            } else
              5 <= B && B <= 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 Vut(r) {
          if (!uR(r, an(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 (!oh(r) && QK(r) && Ll(r, p.An_export_declaration_cannot_have_modifiers), qut(r), !r.moduleSpecifier || NX(r))
              if (r.exportClause && !Xm(r.exportClause)) {
                lr(r.exportClause.elements, Hut);
                const a = r.parent.kind === 269 && Ju(r.parent.parent), l = !a && r.parent.kind === 269 && !r.moduleSpecifier && r.flags & 33554432;
                r.parent.kind !== 308 && !a && !l && ze(r, p.Export_declarations_are_not_permitted_in_a_namespace);
              } else {
                const a = Iu(r, r.moduleSpecifier);
                a && pd(a) ? ze(r.moduleSpecifier, p.Module_0_uses_export_and_cannot_be_used_with_export_Asterisk, Wi(a)) : r.exportClause && (IX(r.exportClause), AX(r.exportClause.name)), e.getEmitModuleFormatOfFile(xr(r)) < 4 && (r.exportClause ? _m(F) && bl(
                  r,
                  65536
                  /* ImportStar */
                ) : bl(
                  r,
                  32768
                  /* ExportStar */
                ));
              }
            Mme(r);
          }
        }
        function qut(r) {
          var a;
          return r.isTypeOnly && ((a = r.exportClause) == null ? void 0 : a.kind) === 280 ? v5e(r.exportClause) : false;
        }
        function uR(r, a) {
          const l = r.parent.kind === 308 || r.parent.kind === 269 || r.parent.kind === 268;
          return l || Ll(r, a), !l;
        }
        function Hut(r) {
          IX(r);
          const a = r.parent.parent.moduleSpecifier !== void 0;
          if (AX(r.propertyName, a), AX(r.name), M_(F) && TE(
            r.propertyName || r.name,
            /*setVisibility*/
            true
          ), a)
            _m(F) && e.getEmitModuleFormatOfFile(xr(r)) < 4 && Um(r.propertyName || r.name) && bl(
              r,
              131072
              /* ImportDefault */
            );
          else {
            const l = r.propertyName || r.name;
            if (l.kind === 11)
              return;
            const f = st(
              l,
              l.escapedText,
              2998271,
              /*nameNotFoundMessage*/
              void 0,
              /*isUse*/
              true
            );
            f && (f === ne || f === Se || f.declarations && u0(bt(f.declarations[0]))) ? ze(l, p.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, An(l)) : tC(
              r,
              7
              /* ExportSpecifier */
            );
          }
        }
        function Gut(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 (uR(r, a))
            return;
          F.erasableSyntaxOnly && r.isExportEquals && !(r.flags & 33554432) && ze(r, p.This_syntax_is_not_allowed_when_erasableSyntaxOnly_is_enabled);
          const l = r.parent.kind === 308 ? r.parent : r.parent.parent;
          if (l.kind === 268 && !Ju(l)) {
            r.isExportEquals ? ze(r, p.An_export_assignment_cannot_be_used_in_a_namespace) : ze(r, p.A_default_export_can_only_be_used_in_an_ECMAScript_style_module);
            return;
          }
          !oh(r) && eJ(r) && Ll(r, p.An_export_assignment_cannot_have_modifiers);
          const f = Qc(r);
          f && vu(fc(r.expression), Ci(f), r.expression);
          const d = !r.isExportEquals && !(r.flags & 33554432) && F.verbatimModuleSyntax && e.getEmitModuleFormatOfFile(xr(r)) === 1;
          if (r.expression.kind === 80) {
            const y = r.expression, x = _t(_c2(
              y,
              -1,
              /*ignoreErrors*/
              true,
              /*dontResolveAlias*/
              true,
              r
            ));
            if (x) {
              tC(
                r,
                3
                /* ExportAssignment */
              );
              const I = Jd(
                x,
                111551
                /* Value */
              );
              if (N_(x) & 111551 ? (fc(y), !d && !(r.flags & 33554432) && F.verbatimModuleSyntax && I && ze(
                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,
                An(y)
              )) : !d && !(r.flags & 33554432) && F.verbatimModuleSyntax && ze(
                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,
                An(y)
              ), !d && !(r.flags & 33554432) && Rp(F) && !(x.flags & 111551)) {
                const J = N_(
                  x,
                  /*excludeTypeOnlyMeanings*/
                  false,
                  /*excludeLocalMeanings*/
                  true
                );
                x.flags & 2097152 && J & 788968 && !(J & 111551) && (!I || xr(I) !== xr(r)) ? ze(
                  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,
                  An(y),
                  Ee
                ) : I && xr(I) !== xr(r) && _s(
                  ze(
                    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,
                    An(y),
                    Ee
                  ),
                  I,
                  An(y)
                );
              }
            } else
              fc(y);
            M_(F) && TE(
              y,
              /*setVisibility*/
              true
            );
          } else
            fc(r.expression);
          d && ze(r, QS(r)), B7e(l), r.flags & 33554432 && !Za(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 && (B >= 5 && B !== 200 && (r.flags & 33554432 && e.getImpliedNodeFormatForEmit(xr(r)) === 99 || !(r.flags & 33554432) && e.getImpliedNodeFormatForEmit(xr(r)) !== 1) ? mr(r, p.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead) : B === 4 && !(r.flags & 33554432) && mr(r, p.Export_assignment_is_not_supported_when_module_flag_is_system));
        }
        function $ut(r) {
          return dl(r.exports, (a, l) => l !== "export=");
        }
        function B7e(r) {
          const a = yn(r), l = Pn(a);
          if (!l.exportsChecked) {
            const f = a.exports.get("export=");
            if (f && $ut(a)) {
              const y = P_(f) || f.valueDeclaration;
              y && !Yw(y) && !an(y) && ze(y, p.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements);
            }
            const d = Nm(a);
            d && d.forEach(({ declarations: y, flags: x }, I) => {
              if (I === "__export" || x & 1920)
                return;
              const J = i0(y, YI(vRe, ZI(Jl)));
              if (!(x & 524288 && J <= 2) && J > 1 && !OX(y))
                for (const z of y)
                  j1e(z) && Pa.add(sn(z, p.Cannot_redeclare_exported_variable_0, Si(I)));
            }), l.exportsChecked = true;
          }
        }
        function OX(r) {
          return r && r.length > 1 && r.every((a) => an(a) && vo(a) && (rS(a.expression) || Ng(a.expression)));
        }
        function ca(r) {
          if (r) {
            const a = k;
            k = r, h = 0, Xut(r), k = a;
          }
        }
        function Xut(r) {
          if (oC(r) & 8388608)
            return;
          U3(r) && lr(r.jsDoc, ({ comment: l, tags: f }) => {
            J7e(l), lr(f, (d) => {
              J7e(d.comment), an(r) && ca(d);
            });
          });
          const a = r.kind;
          if (i)
            switch (a) {
              case 268:
              case 264:
              case 265:
              case 263:
                i.throwIfCancellationRequested();
            }
          switch (a >= 244 && a <= 260 && zC(r) && r.flowNode && !NM(r.flowNode) && ud(F.allowUnreachableCode === false, r, p.Unreachable_code_detected), a) {
            case 169:
              return HIe(r);
            case 170:
              return GIe(r);
            case 173:
              return QIe(r);
            case 172:
              return Ict(r);
            case 186:
            case 185:
            case 180:
            case 181:
            case 182:
              return PI(r);
            case 175:
            case 174:
              return Fct(r);
            case 176:
              return Oct(r);
            case 177:
              return Lct(r);
            case 178:
            case 179:
              return ZIe(r);
            case 184:
              return bme(r);
            case 183:
              return wct(r);
            case 187:
              return zct(r);
            case 188:
              return Wct(r);
            case 189:
              return Uct(r);
            case 190:
              return Vct(r);
            case 193:
            case 194:
              return qct(r);
            case 197:
            case 191:
            case 192:
              return ca(r.type);
            case 198:
              return Xct(r);
            case 199:
              return Qct(r);
            case 195:
              return Yct(r);
            case 196:
              return Zct(r);
            case 204:
              return Kct(r);
            case 206:
              return elt(r);
            case 203:
              return tlt(r);
            case 329:
              return Slt(r);
            case 330:
              return blt(r);
            case 347:
            case 339:
            case 341:
              return ult(r);
            case 346:
              return _lt(r);
            case 345:
              return flt(r);
            case 325:
            case 326:
            case 327:
              return dlt(r);
            case 342:
              return mlt(r);
            case 349:
              return glt(r);
            case 318:
              hlt(r);
            // falls through
            case 316:
            case 315:
            case 313:
            case 314:
            case 323:
              z7e(r), Ts(r, ca);
              return;
            case 319:
              Qut(r);
              return;
            case 310:
              return ca(r.type);
            case 334:
            case 336:
            case 335:
              return Tlt(r);
            case 351:
              return plt(r);
            case 344:
              return ylt(r);
            case 352:
              return vlt(r);
            case 200:
              return Hct(r);
            case 201:
              return Gct(r);
            case 263:
              return llt(r);
            case 242:
            case 269:
              return kX(r);
            case 244:
              return Jlt(r);
            case 245:
              return zlt(r);
            case 246:
              return Wlt(r);
            case 247:
              return qlt(r);
            case 248:
              return Hlt(r);
            case 249:
              return Glt(r);
            case 250:
              return Xlt(r);
            case 251:
              return $lt(r);
            case 252:
            case 253:
              return iut(r);
            case 254:
              return sut(r);
            case 255:
              return aut(r);
            case 256:
              return out(r);
            case 257:
              return cut(r);
            case 258:
              return lut(r);
            case 259:
              return uut(r);
            case 261:
              return jlt(r);
            case 209:
              return Blt(r);
            case 264:
              return yut(r);
            case 265:
              return wut(r);
            case 266:
              return Put(r);
            case 267:
              return Fut(r);
            case 307:
              return Lut(r);
            case 268:
              return jut(r);
            case 273:
              return zut(r);
            case 272:
              return Uut(r);
            case 279:
              return Vut(r);
            case 278:
              return Gut(r);
            case 243:
            case 260:
              r0(r);
              return;
            case 283:
              return Rct(r);
          }
        }
        function J7e(r) {
          ss(r) && lr(r, (a) => {
            tx(a) && ca(a);
          });
        }
        function z7e(r) {
          if (!an(r))
            if (NF(r) || d6(r)) {
              const a = Vs(
                NF(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,
                Wr(
                  d6(r) && !(d === nr || d === _r) ? Xn(Er([d, ue], r.postfix ? void 0 : Mt)) : d
                )
              );
            } else
              mr(r, p.JSDoc_types_can_only_be_used_inside_documentation_comments);
        }
        function Qut(r) {
          z7e(r), ca(r.type);
          const { parent: a } = r;
          if (Ii(a) && m6(a.parent)) {
            fa(a.parent.parameters) !== a && ze(r, p.A_rest_parameter_must_be_last_in_a_parameter_list);
            return;
          }
          iv(a) || ze(r, p.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);
          const l = r.parent.parent;
          if (!Af(l)) {
            ze(r, p.JSDoc_may_only_appear_in_the_last_parameter_of_a_signature);
            return;
          }
          const f = V3(l);
          if (!f)
            return;
          const d = U1(l);
          (!d || fa(d.parameters).symbol !== f) && ze(r, p.A_rest_parameter_must_be_last_in_a_parameter_list);
        }
        function Yut(r) {
          const a = Ci(r.type), { parent: l } = r, f = r.parent.parent;
          if (iv(r.parent) && Af(f)) {
            const d = U1(f), y = vz(f.parent.parent);
            if (d || y) {
              const x = ko(y ? f.parent.parent.typeExpression.parameters : d.parameters), I = V3(f);
              if (!x || I && x.symbol === I && Wm(x))
                return yu(a);
            }
          }
          return Ii(l) && m6(l.parent) ? yu(a) : Fu(a);
        }
        function sC(r) {
          const a = xr(r), l = xn(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 W7e(r) {
          const a = xn(r);
          a.deferredNodes && a.deferredNodes.forEach(Zut), a.deferredNodes = void 0;
        }
        function Zut(r) {
          var a, l;
          (a = on) == null || a.push(on.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 214:
            case 215:
            case 216:
            case 171:
            case 287:
              LT(r);
              break;
            case 219:
            case 220:
            case 175:
            case 174:
              Uot(r);
              break;
            case 178:
            case 179:
              ZIe(r);
              break;
            case 232:
              hut(r);
              break;
            case 169:
              Dct(r);
              break;
            case 286:
              Qst(r);
              break;
            case 285:
              Zst(r);
              break;
            case 217:
            case 235:
            case 218:
              pot(r);
              break;
            case 223:
              Hi(r.expression);
              break;
            case 227:
              I5(r) && LT(r);
              break;
          }
          k = f, (l = on) == null || l.pop();
        }
        function Kut(r, a) {
          var l, f;
          (l = on) == null || l.push(
            on.Phase.Check,
            a ? "checkSourceFileNodes" : "checkSourceFile",
            { path: r.path },
            /*separateBeginAndEnd*/
            true
          );
          const d = a ? "beforeCheckNodes" : "beforeCheck", y = a ? "afterCheckNodes" : "afterCheck";
          Qo(d), a ? t_t(r, a) : e_t(r), Qo(y), Zf("Check", d, y), (f = on) == null || f.pop();
        }
        function U7e(r, a) {
          if (a)
            return false;
          switch (r) {
            case 0:
              return !!F.noUnusedLocals;
            case 1:
              return !!F.noUnusedParameters;
            default:
              return E.assertNever(r);
          }
        }
        function V7e(r) {
          return Or.get(r.path) || Ge;
        }
        function e_t(r) {
          const a = xn(r);
          if (!(a.flags & 1)) {
            if (t6(r, F, e))
              return;
            h5e(r), Dp(r1), Dp(F0), Dp(Oh), Dp(Lh), Dp(Mh), a.flags & 8388608 && (r1 = a.potentialThisCollisions, F0 = a.potentialNewTargetCollisions, Oh = a.potentialWeakMapSetCollisions, Lh = a.potentialReflectCollisions, Mh = a.potentialUnusedRenamedBindingElementsInTypes), lr(r.statements, ca), ca(r.endOfFileToken), W7e(r), Y_(r) && E1(r), n(() => {
              !r.isDeclarationFile && (F.noUnusedLocals || F.noUnusedParameters) && l7e(V7e(r), (l, f, d) => {
                !sx(l) && U7e(f, !!(l.flags & 33554432)) && Pa.add(d);
              }), r.isDeclarationFile || Elt();
            }), Y_(r) && B7e(r), r1.length && (lr(r1, Plt), Dp(r1)), F0.length && (lr(F0, Nlt), Dp(F0)), Oh.length && (lr(Oh, Olt), Dp(Oh)), Lh.length && (lr(Lh, Mlt), Dp(Lh)), a.flags |= 1;
          }
        }
        function t_t(r, a) {
          const l = xn(r);
          if (!(l.flags & 1)) {
            if (t6(r, F, e))
              return;
            h5e(r), Dp(r1), Dp(F0), Dp(Oh), Dp(Lh), Dp(Mh), lr(a, ca), W7e(r), (l.potentialThisCollisions || (l.potentialThisCollisions = [])).push(...r1), (l.potentialNewTargetCollisions || (l.potentialNewTargetCollisions = [])).push(...F0), (l.potentialWeakMapSetCollisions || (l.potentialWeakMapSetCollisions = [])).push(...Oh), (l.potentialReflectCollisions || (l.potentialReflectCollisions = [])).push(...Lh), (l.potentialUnusedRenamedBindingElementsInTypes || (l.potentialUnusedRenamedBindingElementsInTypes = [])).push(
              ...Mh
            ), l.flags |= 8388608;
            for (const f of a) {
              const d = xn(f);
              d.flags |= 8388608;
            }
          }
        }
        function q7e(r, a, l) {
          try {
            return i = a, r_t(r, l);
          } finally {
            i = void 0;
          }
        }
        function Rme() {
          for (const r of t)
            r();
          t = [];
        }
        function jme(r, a) {
          Rme();
          const l = n;
          n = (f) => f(), Kut(r, a), n = l;
        }
        function r_t(r, a) {
          if (r) {
            Rme();
            const l = Pa.getGlobalDiagnostics(), f = l.length;
            jme(r, a);
            const d = Pa.getDiagnostics(r.fileName);
            if (a)
              return d;
            const y = Pa.getGlobalDiagnostics();
            if (y !== l) {
              const x = eQ(l, y, sD);
              return Bi(x, d);
            } else if (f === 0 && y.length > 0)
              return Bi(y, d);
            return d;
          }
          return lr(e.getSourceFiles(), (l) => jme(l)), Pa.getDiagnostics();
        }
        function n_t() {
          return Rme(), Pa.getGlobalDiagnostics();
        }
        function i_t(r, a) {
          if (r.flags & 67108864)
            return [];
          const l = js();
          let f = false;
          return d(), l.delete(
            "this"
            /* This */
          ), Wfe(l);
          function d() {
            for (; r; ) {
              switch (zm(r) && r.locals && !u0(r) && x(r.locals, a), r.kind) {
                case 308:
                  if (!ll(r)) break;
                // falls through
                case 268:
                  I(
                    yn(r).exports,
                    a & 2623475
                    /* ModuleMember */
                  );
                  break;
                case 267:
                  x(
                    yn(r).exports,
                    a & 8
                    /* EnumMember */
                  );
                  break;
                case 232:
                  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 264:
                case 265:
                  f || x(
                    ug(yn(r)),
                    a & 788968
                    /* Type */
                  );
                  break;
                case 219:
                  r.name && y(r.symbol, a);
                  break;
              }
              dK(r) && y(ie, a), f = Bs(r), r = r.parent;
            }
            x(Ye, a);
          }
          function y(J, z) {
            if (QC(J) & z) {
              const G = J.escapedName;
              l.has(G) || l.set(G, J);
            }
          }
          function x(J, z) {
            z && J.forEach((G) => {
              y(G, z);
            });
          }
          function I(J, z) {
            z && J.forEach((G) => {
              !Ao(
                G,
                282
                /* ExportSpecifier */
              ) && !Ao(
                G,
                281
                /* NamespaceExport */
              ) && G.escapedName !== "default" && y(G, z);
            });
          }
        }
        function s_t(r) {
          return r.kind === 80 && Ex(r.parent) && us(r.parent) === r;
        }
        function H7e(r) {
          for (; r.parent.kind === 167; )
            r = r.parent;
          return r.parent.kind === 184;
        }
        function a_t(r) {
          for (; r.parent.kind === 212; )
            r = r.parent;
          return r.parent.kind === 234;
        }
        function G7e(r, a) {
          let l, f = jl(r);
          for (; f && !(l = a(f)); )
            f = jl(f);
          return l;
        }
        function o_t(r) {
          return !!dr(r, (a) => ec(a) && Ip(a.body) || as(a) ? true : $n(a) || to(a) ? "quit" : false);
        }
        function Bme(r, a) {
          return !!G7e(r, (l) => l === a);
        }
        function c_t(r) {
          for (; r.parent.kind === 167; )
            r = r.parent;
          if (r.parent.kind === 272)
            return r.parent.moduleReference === r ? r.parent : void 0;
          if (r.parent.kind === 278)
            return r.parent.expression === r ? r.parent : void 0;
        }
        function LX(r) {
          return c_t(r) !== void 0;
        }
        function l_t(r) {
          switch (wc(r.parent.parent)) {
            case 1:
            case 3:
              return Wf(r.parent);
            case 5:
              if (wn(r.parent) && YC(r.parent) === r)
                return;
            // falls through
            case 4:
            case 2:
              return yn(r.parent.parent);
          }
        }
        function u_t(r) {
          let a = r.parent;
          for (; t_(a); )
            r = a, a = a.parent;
          if (a && a.kind === 206 && a.qualifier === r)
            return a;
        }
        function __t(r) {
          if (r.expression.kind === 110) {
            const a = zu(
              r,
              /*includeArrowFunctions*/
              false,
              /*includeClassComputedPropertyName*/
              false
            );
            if (Cs(a)) {
              const l = nAe(a);
              if (l) {
                const f = sb(
                  l,
                  /*contextFlags*/
                  void 0
                ), d = sAe(l, f);
                return d && !gn(d);
              }
            }
          }
        }
        function $7e(r) {
          if (Hm(r))
            return Wf(r.parent);
          if (an(r) && r.parent.kind === 212 && r.parent === r.parent.parent.left && !Ai(r) && !sv(r) && !__t(r.parent)) {
            const a = l_t(r);
            if (a)
              return a;
          }
          if (r.parent.kind === 278 && Za(r)) {
            const a = _c2(
              r,
              /*all meanings*/
              2998271,
              /*ignoreErrors*/
              true
            );
            if (a && a !== Y)
              return a;
          } else if (Zu(r) && LX(r)) {
            const a = q1(
              r,
              272
              /* ImportEqualsDeclaration */
            );
            return E.assert(a !== void 0), f1(
              r,
              /*dontResolveAlias*/
              true
            );
          }
          if (Zu(r)) {
            const a = u_t(r);
            if (a) {
              Ci(a);
              const l = xn(r).resolvedSymbol;
              return l === Y ? void 0 : l;
            }
          }
          for (; ree(r); )
            r = r.parent;
          if (a_t(r)) {
            let a = 0;
            r.parent.kind === 234 ? (a = sm(r) ? 788968 : 111551, A5(r.parent) && (a |= 111551)) : a = 1920, a |= 2097152;
            const l = Za(r) ? _c2(
              r,
              a,
              /*ignoreErrors*/
              true
            ) : void 0;
            if (l)
              return l;
          }
          if (r.parent.kind === 342)
            return V3(r.parent);
          if (r.parent.kind === 169 && r.parent.parent.kind === 346) {
            E.assert(!an(r));
            const a = NK(r.parent);
            return a && a.symbol;
          }
          if (qm(r)) {
            if (ac(r))
              return;
            const a = dr(r, H_(tx, FD, sv)), l = a ? 901119 : 111551;
            if (r.kind === 80) {
              if (jC(r) && nC(r)) {
                const d = tX(r.parent);
                return d === Y ? void 0 : d;
              }
              const f = _c2(
                r,
                l,
                /*ignoreErrors*/
                true,
                /*dontResolveAlias*/
                true,
                U1(r)
              );
              if (!f && a) {
                const d = dr(r, H_($n, Jl));
                if (d)
                  return _R(
                    r,
                    /*ignoreErrors*/
                    true,
                    yn(d)
                  );
              }
              if (f && a) {
                const d = Db(r);
                if (d && kh(d) && d === f.valueDeclaration)
                  return _c2(
                    r,
                    l,
                    /*ignoreErrors*/
                    true,
                    /*dontResolveAlias*/
                    true,
                    xr(d)
                  ) || f;
              }
              return f;
            } else {
              if (Ai(r))
                return sX(r);
              if (r.kind === 212 || r.kind === 167) {
                const f = xn(r);
                return f.resolvedSymbol ? f.resolvedSymbol : (r.kind === 212 ? (iX(
                  r,
                  0
                  /* Normal */
                ), f.resolvedSymbol || (f.resolvedSymbol = X7e(fc(r.expression), Hh(r.name)))) : LAe(
                  r,
                  0
                  /* Normal */
                ), !f.resolvedSymbol && a && t_(r) ? _R(r) : f.resolvedSymbol);
              } else if (sv(r))
                return _R(r);
            }
          } else if (Zu(r) && H7e(r)) {
            const a = r.parent.kind === 184 ? 788968 : 1920, l = _c2(
              r,
              a,
              /*ignoreErrors*/
              true,
              /*dontResolveAlias*/
              true
            );
            return l && l !== Y ? l : n$(r);
          }
          if (r.parent.kind === 183)
            return _c2(
              r,
              /*meaning*/
              1,
              /*ignoreErrors*/
              true
            );
        }
        function X7e(r, a) {
          const l = zfe(r, a);
          if (l.length && r.members) {
            const f = KG(Vd(r).members);
            if (l === hu(r))
              return f;
            if (f) {
              const d = Pn(f), y = Fi(l, (I) => I.declaration), x = hr(y, Oa).join(",");
              if (d.filteredIndexSymbolCache || (d.filteredIndexSymbolCache = /* @__PURE__ */ new Map()), d.filteredIndexSymbolCache.has(x))
                return d.filteredIndexSymbolCache.get(x);
              {
                const I = ma(
                  131072,
                  "__index"
                  /* Index */
                );
                return I.declarations = Fi(l, (J) => J.declaration), I.parent = r.aliasSymbol ? r.aliasSymbol : r.symbol ? r.symbol : Cp(I.declarations[0].parent), d.filteredIndexSymbolCache.set(x, I), I;
              }
            }
          }
        }
        function _R(r, a, l) {
          if (Zu(r)) {
            let x = _c2(
              r,
              901119,
              a,
              /*dontResolveAlias*/
              true,
              U1(r)
            );
            if (!x && Me(r) && l && (x = Ia(ql(ff(l), r.escapedText, 901119))), x)
              return x;
          }
          const f = Me(r) ? l : _R(r.left, a, l), d = Me(r) ? r.escapedText : r.right.escapedText;
          if (f) {
            const y = f.flags & 111551 && Qs(Yr(f), "prototype"), x = y ? Yr(y) : ho(f);
            return Qs(x, d);
          }
        }
        function Cp(r, a) {
          if (Di(r))
            return ll(r) ? Ia(r.symbol) : void 0;
          const { parent: l } = r, f = l.parent;
          if (!(r.flags & 67108864)) {
            if (B1e(r)) {
              const d = yn(l);
              return by(r.parent) && r.parent.propertyName === r ? K$(d) : d;
            } else if (H3(r))
              return yn(l.parent);
            if (r.kind === 80) {
              if (LX(r))
                return $7e(r);
              if (l.kind === 209 && f.kind === 207 && r === l.propertyName) {
                const d = aC(f), y = Qs(d, r.escapedText);
                if (y)
                  return y;
              } else if (bS(l) && l.name === r)
                return l.keywordToken === 105 && An(r) === "target" ? tme(l).symbol : l.keywordToken === 102 && An(r) === "meta" ? R3e().members.get("meta") : void 0;
            }
            switch (r.kind) {
              case 80:
              case 81:
              case 212:
              case 167:
                if (!Ib(r))
                  return $7e(r);
              // falls through
              case 110:
                const d = zu(
                  r,
                  /*includeArrowFunctions*/
                  false,
                  /*includeClassComputedPropertyName*/
                  false
                );
                if (Cs(d)) {
                  const I = qf(d);
                  if (I.thisParameter)
                    return I.thisParameter;
                }
                if (s5(r))
                  return Hi(r).symbol;
              // falls through
              case 198:
                return Spe(r).symbol;
              case 108:
                return Hi(r).symbol;
              case 137:
                const y = r.parent;
                return y && y.kind === 177 ? y.parent.symbol : void 0;
              case 11:
              case 15:
                if (z1(r.parent.parent) && L4(r.parent.parent) === r || (r.parent.kind === 273 || r.parent.kind === 279) && r.parent.moduleSpecifier === r || an(r) && vm(r.parent) && r.parent.moduleSpecifier === r || an(r) && v_(
                  r.parent,
                  /*requireStringLiteralLikeArgument*/
                  false
                ) || y_(r.parent) || S0(r.parent) && mh(r.parent.parent) && r.parent.parent.argument === r.parent)
                  return Iu(r, r, a);
                if (ws(l) && nS(l) && l.arguments[1] === r)
                  return yn(l);
              // falls through
              case 9:
                const x = oo(l) ? l.argumentExpression === r ? su(l.expression) : void 0 : S0(l) && Wb(f) ? Ci(f.objectType) : void 0;
                return x && Qs(x, Zo(r.text));
              case 90:
              case 100:
              case 39:
              case 86:
                return Wf(r.parent);
              case 206:
                return mh(r) ? Cp(r.argument.literal, a) : void 0;
              case 95:
                return Fo(r.parent) ? E.checkDefined(r.parent.symbol) : void 0;
              case 102:
                if (bS(r.parent) && r.parent.name.escapedText === "defer")
                  return;
              // falls through
              case 105:
                return bS(r.parent) ? vIe(r.parent).symbol : void 0;
              case 104:
                if (_n(r.parent)) {
                  const I = su(r.parent.right), J = fme(I);
                  return J?.symbol ?? I.symbol;
                }
                return;
              case 237:
                return Hi(r).symbol;
              case 296:
                if (jC(r) && nC(r)) {
                  const I = tX(r.parent);
                  return I === Y ? void 0 : I;
                }
              // falls through
              default:
                return;
            }
          }
        }
        function f_t(r) {
          if (Me(r) && wn(r.parent) && r.parent.name === r) {
            const a = Hh(r), l = su(r.parent.expression), f = l.flags & 1048576 ? l.types : [l];
            return xa(f, (d) => kn(hu(d), (y) => Hk(a, y.keyType)));
          }
        }
        function p_t(r) {
          if (r && r.kind === 305)
            return _c2(
              r.name,
              2208703,
              /*ignoreErrors*/
              true
            );
        }
        function d_t(r) {
          if (Eu(r)) {
            const a = r.propertyName || r.name;
            return r.parent.parent.moduleSpecifier ? jv(r.parent.parent, r) : a.kind === 11 ? void 0 : (
              // Skip for invalid syntax like this: export { "x" }
              _c2(
                a,
                2998271,
                /*ignoreErrors*/
                true
              )
            );
          } else
            return _c2(
              r,
              2998271,
              /*ignoreErrors*/
              true
            );
        }
        function aC(r) {
          if (Di(r) && !ll(r) || r.flags & 67108864)
            return qe;
          const a = sJ(r), l = a && vp(yn(a.class));
          if (sm(r)) {
            const f = Ci(r);
            return l ? df(f, l.thisType) : f;
          }
          if (qm(r))
            return Q7e(r);
          if (l && !a.isImplements) {
            const f = $c(gd(l));
            return f ? df(f, l.thisType) : qe;
          }
          if (Ex(r)) {
            const f = yn(r);
            return ho(f);
          }
          if (s_t(r)) {
            const f = Cp(r);
            return f ? ho(f) : qe;
          }
          if (ha(r))
            return Wk(
              r,
              /*includeOptionality*/
              true,
              0
              /* Normal */
            ) || qe;
          if (Cl(r)) {
            const f = yn(r);
            return f ? Yr(f) : qe;
          }
          if (B1e(r)) {
            const f = Cp(r);
            return f ? Yr(f) : qe;
          }
          if (Ds(r))
            return Wk(
              r.parent,
              /*includeOptionality*/
              true,
              0
              /* Normal */
            ) || qe;
          if (LX(r)) {
            const f = Cp(r);
            if (f) {
              const d = ho(f);
              return Gr(d) ? Yr(f) : d;
            }
          }
          return bS(r.parent) && r.parent.keywordToken === r.kind ? vIe(r.parent) : TS(r) ? Zfe(
            /*reportErrors*/
            false
          ) : qe;
        }
        function MX(r) {
          if (E.assert(
            r.kind === 211 || r.kind === 210
            /* ArrayLiteralExpression */
          ), r.parent.kind === 251) {
            const d = oR(r.parent);
            return RT(r, d || qe);
          }
          if (r.parent.kind === 227) {
            const d = su(r.parent.right);
            return RT(r, d || qe);
          }
          if (r.parent.kind === 304) {
            const d = Ws(r.parent.parent, ua), y = MX(d) || qe, x = AC(d.properties, r.parent);
            return OIe(d, y, x);
          }
          const a = Ws(r.parent, Kl), l = MX(a) || qe, f = ty(65, l, ue, r.parent) || qe;
          return LIe(a, l, a.elements.indexOf(r), f);
        }
        function m_t(r) {
          const a = MX(Ws(r.parent.parent, C4));
          return a && Qs(a, r.escapedText);
        }
        function Q7e(r) {
          return K4(r) && (r = r.parent), Yu(su(r));
        }
        function Y7e(r) {
          const a = Wf(r.parent);
          return Bs(r) ? Yr(a) : ho(a);
        }
        function Z7e(r) {
          const a = r.name;
          switch (a.kind) {
            case 80:
              return W_(An(a));
            case 9:
            case 11:
              return W_(a.text);
            case 168:
              const l = yd(a);
              return iu(
                l,
                12288
                /* ESSymbolLike */
              ) ? l : at;
            default:
              return E.fail("Unsupported property name.");
          }
        }
        function Jme(r) {
          r = Qu(r);
          const a = js(qa(r)), l = As(
            r,
            0
            /* Call */
          ).length ? Gi : As(
            r,
            1
            /* Construct */
          ).length ? Ea : void 0;
          return l && lr(qa(l), (f) => {
            a.has(f.escapedName) || a.set(f.escapedName, f);
          }), u_(a);
        }
        function RX(r) {
          return As(
            r,
            0
            /* Call */
          ).length !== 0 || As(
            r,
            1
            /* Construct */
          ).length !== 0;
        }
        function K7e(r) {
          const a = g_t(r);
          return a ? xa(a, K7e) : [r];
        }
        function g_t(r) {
          if (oc(r) & 6)
            return Fi(Pn(r).containingType.types, (a) => Qs(a, r.escapedName));
          if (r.flags & 33554432) {
            const { links: { leftSpread: a, rightSpread: l, syntheticOrigin: f } } = r;
            return a ? [a, l] : f ? [f] : qT(h_t(r));
          }
        }
        function h_t(r) {
          let a, l = r;
          for (; l = Pn(l).target; )
            a = l;
          return a;
        }
        function y_t(r) {
          if (Mo(r)) return false;
          const a = ys(r, Me);
          if (!a) return false;
          const l = a.parent;
          return l ? !((wn(l) || Kc(l)) && l.name === a) && BI(a) === ie : false;
        }
        function v_t(r) {
          return _3(r.parent) && r === r.parent.name;
        }
        function b_t(r, a) {
          var l;
          const f = ys(r, Me);
          if (f) {
            let d = BI(
              f,
              /*startInDeclarationContainer*/
              v_t(f)
            );
            if (d) {
              if (d.flags & 1048576) {
                const x = Ia(d.exportSymbol);
                if (!a && x.flags & 944 && !(x.flags & 3))
                  return;
                d = x;
              }
              const y = vl(d);
              if (y) {
                if (y.flags & 512 && ((l = y.valueDeclaration) == null ? void 0 : l.kind) === 308) {
                  const x = y.valueDeclaration, I = xr(f);
                  return x !== I ? void 0 : x;
                }
                return dr(f.parent, (x) => _3(x) && yn(x) === y);
              }
            }
          }
        }
        function S_t(r) {
          const a = Ste(r);
          if (a)
            return a;
          const l = ys(r, Me);
          if (l) {
            const f = M_t(l);
            if (rT(
              f,
              /*excludes*/
              111551
              /* Value */
            ) && !Jd(
              f,
              111551
              /* Value */
            ))
              return P_(f);
          }
        }
        function T_t(r) {
          return r.valueDeclaration && ha(r.valueDeclaration) && V2(r.valueDeclaration).parent.kind === 300;
        }
        function e5e(r) {
          if (r.flags & 418 && r.valueDeclaration && !Di(r.valueDeclaration)) {
            const a = Pn(r);
            if (a.isDeclarationWithCollidingName === void 0) {
              const l = xd(r.valueDeclaration);
              if (VZ(l) || T_t(r))
                if (st(
                  l.parent,
                  r.escapedName,
                  111551,
                  /*nameNotFoundMessage*/
                  void 0,
                  /*isUse*/
                  false
                ))
                  a.isDeclarationWithCollidingName = true;
                else if (zme(
                  r.valueDeclaration,
                  16384
                  /* CapturedBlockScopedBinding */
                )) {
                  const f = zme(
                    r.valueDeclaration,
                    32768
                    /* BlockScopedBindingInLoop */
                  ), d = xy(
                    l,
                    /*lookInLabeledStatements*/
                    false
                  ), y = l.kind === 242 && xy(
                    l.parent,
                    /*lookInLabeledStatements*/
                    false
                  );
                  a.isDeclarationWithCollidingName = !ZZ(l) && (!f || !d && !y);
                } else
                  a.isDeclarationWithCollidingName = false;
            }
            return a.isDeclarationWithCollidingName;
          }
          return false;
        }
        function x_t(r) {
          if (!Mo(r)) {
            const a = ys(r, Me);
            if (a) {
              const l = BI(a);
              if (l && e5e(l))
                return l.valueDeclaration;
            }
          }
        }
        function k_t(r) {
          const a = ys(r, Cl);
          if (a) {
            const l = yn(a);
            if (l)
              return e5e(l);
          }
          return false;
        }
        function t5e(r) {
          switch (E.assert(Ce), r.kind) {
            case 272:
              return jX(yn(r));
            case 274:
            case 275:
            case 277:
            case 282:
              const a = yn(r);
              return !!a && jX(
                a,
                /*excludeTypeOnlyValues*/
                true
              );
            case 279:
              const l = r.exportClause;
              return !!l && (Xm(l) || ot(l.elements, t5e));
            case 278:
              return r.expression && r.expression.kind === 80 ? jX(
                yn(r),
                /*excludeTypeOnlyValues*/
                true
              ) : true;
          }
          return false;
        }
        function C_t(r) {
          const a = ys(r, cl);
          return a === void 0 || a.parent.kind !== 308 || !tS(a) ? false : jX(yn(a)) && a.moduleReference && !ac(a.moduleReference);
        }
        function jX(r, a) {
          if (!r)
            return false;
          const l = xr(r.valueDeclaration), f = l && yn(l);
          z_(f);
          const d = _t(Fl(r));
          return d === Y ? !a || !Jd(r) : !!(N_(
            r,
            a,
            /*excludeLocalMeanings*/
            true
          ) & 111551) && (Oy(F) || !jI(d));
        }
        function jI(r) {
          return _me(r) || !!r.constEnumOnlyModule;
        }
        function r5e(r, a) {
          if (E.assert(Ce), j0(r)) {
            const l = yn(r), f = l && Pn(l);
            if (f?.referenced)
              return true;
            const d = Pn(l).aliasTarget;
            if (d && lu(r) & 32 && N_(d) & 111551 && (Oy(F) || !jI(d)))
              return true;
          }
          return a ? !!Ts(r, (l) => r5e(l, a)) : false;
        }
        function n5e(r) {
          if (Ip(r.body)) {
            if (kg(r) || rm(r)) return false;
            const a = yn(r), l = E2(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 false;
        }
        function E_t(r) {
          const a = a5e(r);
          if (!a) return false;
          const l = Ci(a);
          return Gr(l) || FE(l);
        }
        function fR(r, a) {
          return (D_t(r, a) || w_t(r)) && !E_t(r);
        }
        function D_t(r, a) {
          return !K || QA(r) || Af(r) || !r.initializer ? false : Gn(
            r,
            31
            /* ParameterPropertyModifier */
          ) ? !!a && to(a) : true;
        }
        function w_t(r) {
          return K && QA(r) && (Af(r) || !r.initializer) && Gn(
            r,
            31
            /* ParameterPropertyModifier */
          );
        }
        function i5e(r) {
          const a = ys(r, (f) => Tc(f) || ei(f));
          if (!a)
            return false;
          let l;
          if (ei(a)) {
            if (a.type || !an(a) && !JI(a))
              return false;
            const f = j4(a);
            if (!f || !Td(f))
              return false;
            l = yn(f);
          } else
            l = yn(a);
          return !l || !(l.flags & 16 | 3) ? false : !!dl(ff(l), (f) => f.flags & 111551 && Px(f.valueDeclaration));
        }
        function P_t(r) {
          const a = ys(r, Tc);
          if (!a)
            return Ge;
          const l = yn(a);
          return l && qa(Yr(l)) || Ge;
        }
        function oC(r) {
          var a;
          const l = r.id || 0;
          return l < 0 || l >= Ev.length ? 0 : ((a = Ev[l]) == null ? void 0 : a.flags) || 0;
        }
        function zme(r, a) {
          return N_t(r, a), !!(oC(r) & a);
        }
        function N_t(r, a) {
          if (!F.noCheck && fD(xr(r), F) || xn(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 J(r);
            case 536870912:
              return G(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(lt, gt) {
            const jt = gt(lt, lt.parent);
            if (jt !== "skip")
              return jt || Hx(lt, gt);
          }
          function d(lt) {
            const gt = xn(lt);
            if (gt.calculatedFlags & a) return "skip";
            gt.calculatedFlags |= 2097536, x(lt);
          }
          function y(lt) {
            f(lt, d);
          }
          function x(lt) {
            const gt = xn(lt);
            gt.calculatedFlags |= 48, lt.kind === 108 && H$(lt);
          }
          function I(lt) {
            const gt = xn(lt);
            if (gt.calculatedFlags & a) return "skip";
            gt.calculatedFlags |= 336384, G(lt);
          }
          function J(lt) {
            f(lt, I);
          }
          function z(lt) {
            return qm(lt) || fu(lt.parent) && (lt.parent.objectAssignmentInitializer ?? lt.parent.name) === lt;
          }
          function G(lt) {
            const gt = xn(lt);
            if (gt.calculatedFlags |= 536870912, Me(lt) && (gt.calculatedFlags |= 49152, z(lt) && !(wn(lt.parent) && lt.parent.name === lt))) {
              const jt = Ou(lt);
              jt && jt !== Y && K8e(lt, jt);
            }
          }
          function ve(lt) {
            const gt = xn(lt);
            if (gt.calculatedFlags & a) return "skip";
            gt.calculatedFlags |= 53248, We(lt);
          }
          function de(lt) {
            const gt = xd(Hm(lt) ? lt.parent : lt);
            f(gt, ve);
          }
          function We(lt) {
            G(lt), Hs(lt) && yd(lt), Ai(lt) && Uc(lt.parent) && vX(lt.parent);
          }
        }
        function jT(r) {
          return M7e(r.parent), xn(r).enumMemberValue ?? ml(
            /*value*/
            void 0
          );
        }
        function s5e(r) {
          switch (r.kind) {
            case 307:
            case 212:
            case 213:
              return true;
          }
          return false;
        }
        function BX(r) {
          if (r.kind === 307)
            return jT(r).value;
          xn(r).resolvedSymbol || fc(r);
          const a = xn(r).resolvedSymbol || (Za(r) ? _c2(
            r,
            111551,
            /*ignoreErrors*/
            true
          ) : void 0);
          if (a && a.flags & 8) {
            const l = a.valueDeclaration;
            if (B1(l.parent))
              return jT(l).value;
          }
        }
        function Wme(r) {
          return !!(r.flags & 524288) && As(
            r,
            0
            /* Call */
          ).length > 0;
        }
        function A_t(r, a) {
          var l;
          const f = ys(r, Zu);
          if (!f || a && (a = ys(a), !a))
            return 0;
          let d = false;
          if (t_(f)) {
            const G = _c2(
              e_(f),
              111551,
              /*ignoreErrors*/
              true,
              /*dontResolveAlias*/
              true,
              a
            );
            d = !!((l = G?.declarations) != null && l.every(c0));
          }
          const y = _c2(
            f,
            111551,
            /*ignoreErrors*/
            true,
            /*dontResolveAlias*/
            true,
            a
          ), x = y && y.flags & 2097152 ? Fl(y) : y;
          d || (d = !!(y && Jd(
            y,
            111551
            /* Value */
          )));
          const I = _c2(
            f,
            788968,
            /*ignoreErrors*/
            true,
            /*dontResolveAlias*/
            true,
            a
          ), J = I && I.flags & 2097152 ? Fl(I) : I;
          if (y || d || (d = !!(I && Jd(
            I,
            788968
            /* Type */
          ))), x && x === J) {
            const G = Kfe(
              /*reportErrors*/
              false
            );
            if (G && x === G)
              return 9;
            const ve = Yr(x);
            if (ve && Ud(ve))
              return d ? 10 : 1;
          }
          if (!J)
            return d ? 11 : 0;
          const z = ho(J);
          return Gr(z) ? d ? 11 : 0 : z.flags & 3 ? 11 : iu(
            z,
            245760
            /* Never */
          ) ? 2 : iu(
            z,
            528
            /* BooleanLike */
          ) ? 6 : iu(
            z,
            296
            /* NumberLike */
          ) ? 3 : iu(
            z,
            2112
            /* BigIntLike */
          ) ? 4 : iu(
            z,
            402653316
            /* StringLike */
          ) ? 5 : ba(z) ? 7 : iu(
            z,
            12288
            /* ESSymbolLike */
          ) ? 8 : Wme(z) ? 10 : Tp(z) ? 7 : 11;
        }
        function I_t(r, a, l, f, d) {
          const y = ys(r, _F);
          if (!y)
            return N.createToken(
              133
              /* AnyKeyword */
            );
          const x = yn(y);
          return pe.serializeTypeForDeclaration(y, x, a, l | 1024, f, d);
        }
        function Ume(r) {
          r = ys(r, n3);
          const a = r.kind === 179 ? 178 : 179, l = Ao(yn(r), a), f = l && l.pos < r.pos ? l : r, d = l && l.pos < r.pos ? r : l, y = r.kind === 179 ? r : l, x = r.kind === 178 ? r : l;
          return {
            firstAccessor: f,
            secondAccessor: d,
            setAccessor: y,
            getAccessor: x
          };
        }
        function F_t(r, a, l, f, d) {
          const y = ys(r, Cs);
          return y ? pe.serializeReturnTypeForSignature(y, a, l | 1024, f, d) : N.createToken(
            133
            /* AnyKeyword */
          );
        }
        function O_t(r, a, l, f, d) {
          const y = ys(r, ut);
          return y ? pe.serializeTypeForExpression(y, a, l | 1024, f, d) : N.createToken(
            133
            /* AnyKeyword */
          );
        }
        function L_t(r) {
          return Ye.has(Zo(r));
        }
        function BI(r, a) {
          const l = xn(r).resolvedSymbol;
          if (l)
            return l;
          let f = r;
          if (a) {
            const d = r.parent;
            Cl(d) && r === d.name && (f = bt(d));
          }
          return st(
            f,
            r.escapedText,
            3257279,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            true
          );
        }
        function M_t(r) {
          const a = xn(r).resolvedSymbol;
          return a && a !== Y ? a : st(
            r,
            r.escapedText,
            3257279,
            /*nameNotFoundMessage*/
            void 0,
            /*isUse*/
            true,
            /*excludeGlobals*/
            void 0
          );
        }
        function R_t(r) {
          if (!Mo(r)) {
            const a = ys(r, Me);
            if (a) {
              const l = BI(a);
              if (l)
                return _t(l).valueDeclaration;
            }
          }
        }
        function j_t(r) {
          if (!Mo(r)) {
            const a = ys(r, Me);
            if (a) {
              const l = BI(a);
              if (l)
                return kn(_t(l).declarations, (f) => {
                  switch (f.kind) {
                    case 261:
                    case 170:
                    case 209:
                    case 173:
                    case 304:
                    case 305:
                    case 307:
                    case 211:
                    case 263:
                    case 219:
                    case 220:
                    case 264:
                    case 232:
                    case 267:
                    case 175:
                    case 178:
                    case 179:
                    case 268:
                      return true;
                  }
                  return false;
                });
            }
          }
        }
        function B_t(r) {
          return T3(r) || ei(r) && JI(r) ? P2(Yr(yn(r))) : false;
        }
        function J_t(r, a, l) {
          const f = r.flags & 1056 ? pe.symbolToExpression(
            r.symbol,
            111551,
            a,
            /*flags*/
            void 0,
            /*internalFlags*/
            void 0,
            l
          ) : r === rt ? N.createTrue() : r === Rr && 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 z_t(r, a) {
          const l = Yr(yn(r));
          return J_t(l, r, a);
        }
        function Vme(r) {
          return r ? (ld(r), xr(r).localJsxFactory || jh) : jh;
        }
        function qme(r) {
          if (r) {
            const a = xr(r);
            if (a) {
              if (a.localJsxFragmentFactory)
                return a.localJsxFragmentFactory;
              const l = a.pragmas.get("jsxfrag"), f = ss(l) ? l[0] : l;
              if (f)
                return a.localJsxFragmentFactory = $x(f.arguments.factory, R), a.localJsxFragmentFactory;
            }
          }
          if (F.jsxFragmentFactory)
            return $x(F.jsxFragmentFactory, R);
        }
        function a5e(r) {
          const a = Qc(r);
          if (a)
            return a;
          if (r.kind === 170 && r.parent.kind === 179) {
            const l = Ume(r.parent).getAccessor;
            if (l)
              return K_(l);
          }
        }
        function W_t() {
          return {
            getReferencedExportContainer: b_t,
            getReferencedImportDeclaration: S_t,
            getReferencedDeclarationWithCollidingName: x_t,
            isDeclarationWithCollidingName: k_t,
            isValueAliasDeclaration: (a) => {
              const l = ys(a);
              return l && Ce ? t5e(l) : true;
            },
            hasGlobalName: L_t,
            isReferencedAliasDeclaration: (a, l) => {
              const f = ys(a);
              return f && Ce ? r5e(f, l) : true;
            },
            hasNodeCheckFlag: (a, l) => {
              const f = ys(a);
              return f ? zme(f, l) : false;
            },
            isTopLevelValueImportEqualsWithEntityName: C_t,
            isDeclarationVisible: cg,
            isImplementationOfOverload: n5e,
            requiresAddingImplicitUndefined: fR,
            isExpandoFunctionDeclaration: i5e,
            getPropertiesOfContainerFunction: P_t,
            createTypeOfDeclaration: I_t,
            createReturnTypeOfSignatureDeclaration: F_t,
            createTypeOfExpression: O_t,
            createLiteralConstValue: z_t,
            isSymbolAccessible: d1,
            isEntityNameVisible: zk,
            getConstantValue: (a) => {
              const l = ys(a, s5e);
              return l ? BX(l) : void 0;
            },
            getEnumMemberValue: (a) => {
              const l = ys(a, kh);
              return l ? jT(l) : void 0;
            },
            collectLinkedAliases: TE,
            markLinkedReferences: (a) => {
              const l = ys(a);
              return l && tC(
                l,
                0
                /* Unspecified */
              );
            },
            getReferencedValueDeclaration: R_t,
            getReferencedValueDeclarations: j_t,
            getTypeReferenceSerializationKind: A_t,
            isOptionalParameter: QA,
            isArgumentsLocalBinding: y_t,
            getExternalModuleFileFromDeclaration: (a) => {
              const l = ys(a, tK);
              return l && Hme(l);
            },
            isLiteralConstDeclaration: B_t,
            isLateBound: (a) => {
              const l = ys(a, Cl), f = l && yn(l);
              return !!(f && oc(f) & 4096);
            },
            getJsxFactoryEntity: Vme,
            getJsxFragmentFactoryEntity: qme,
            isBindingCapturedByNode: (a, l) => {
              const f = ys(a), d = ys(l);
              return !!f && !!d && (ei(d) || ha(d)) && Yit(f, d);
            },
            getDeclarationStatementsForSourceFile: (a, l, f, d) => {
              const y = ys(a);
              E.assert(y && y.kind === 308, "Non-sourcefile node passed into getDeclarationsForSourceFile");
              const x = yn(a);
              return x ? (z_(x), x.exports ? pe.symbolTableToDeclarationStatements(x.exports, a, l, f, d) : []) : a.locals ? pe.symbolTableToDeclarationStatements(a.locals, a, l, f, d) : [];
            },
            isImportRequiredByAugmentation: r,
            isDefinitelyReferenceToGlobalSymbolObject: sg,
            createLateBoundIndexSignatures: (a, l, f, d, y) => {
              const x = a.symbol, I = hu(Yr(x)), J = ZG(x), z = J && e$(J, ns(ug(x).values()));
              let G;
              for (const de of [I, z])
                if (wr(de)) {
                  G || (G = []);
                  for (const We of de) {
                    if (We.declaration || We === Yi) continue;
                    if (We.components && Ni(We.components, (jt) => {
                      var ar;
                      return !!(jt.name && Hs(jt.name) && Za(jt.name.expression) && l && ((ar = zk(
                        jt.name.expression,
                        l,
                        /*shouldComputeAliasToMakeVisible*/
                        false
                      )) == null ? void 0 : ar.accessibility) === 0);
                    })) {
                      const jt = kn(We.components, (ar) => !kE(ar));
                      G.push(...hr(jt, (ar) => {
                        ve(ar.name.expression);
                        const jr = de === I ? [N.createModifier(
                          126
                          /* StaticKeyword */
                        )] : void 0;
                        return N.createPropertyDeclaration(
                          Er(jr, We.isReadonly ? N.createModifier(
                            148
                            /* ReadonlyKeyword */
                          ) : void 0),
                          ar.name,
                          (Vu(ar) || as(ar) || id(ar) || Ko(ar) || kg(ar) || rm(ar)) && ar.questionToken ? N.createToken(
                            58
                            /* QuestionToken */
                          ) : void 0,
                          pe.typeToTypeNode(Yr(ar.symbol), l, f, d, y),
                          /*initializer*/
                          void 0
                        );
                      }));
                      continue;
                    }
                    const lt = pe.indexInfoToIndexSignatureDeclaration(We, l, f, d, y);
                    lt && de === I && (lt.modifiers || (lt.modifiers = N.createNodeArray())).unshift(N.createModifier(
                      126
                      /* StaticKeyword */
                    )), lt && G.push(lt);
                  }
                }
              return G;
              function ve(de) {
                if (!y.trackSymbol) return;
                const We = e_(de), lt = st(
                  We,
                  We.escapedText,
                  1160127,
                  /*nameNotFoundMessage*/
                  void 0,
                  /*isUse*/
                  true
                );
                lt && y.trackSymbol(
                  lt,
                  l,
                  111551
                  /* Value */
                );
              }
            },
            symbolToDeclarations: (a, l, f, d, y, x) => pe.symbolToDeclarations(a, l, f, d, y, x)
          };
          function r(a) {
            const l = xr(a);
            if (!l.symbol) return false;
            const f = Hme(a);
            if (!f || f === l) return false;
            const d = Nm(l.symbol);
            for (const y of ns(d.values()))
              if (y.mergeId) {
                const x = Ia(y);
                if (x.declarations) {
                  for (const I of x.declarations)
                    if (xr(I) === f)
                      return true;
                }
              }
            return false;
          }
        }
        function Hme(r) {
          const a = r.kind === 268 ? Bn(r.name, oa) : ux(r), l = J_(
            a,
            a,
            /*moduleNotFoundError*/
            void 0
          );
          if (l)
            return Ao(
              l,
              308
              /* SourceFile */
            );
        }
        function U_t() {
          for (const a of e.getSourceFiles())
            mne(a, F);
          tc = /* @__PURE__ */ new Map();
          let r;
          for (const a of e.getSourceFiles())
            if (!a.redirectInfo) {
              if (!Y_(a)) {
                const l = a.locals.get("globalThis");
                if (l?.declarations)
                  for (const f of l.declarations)
                    Pa.add(sn(f, p.Declaration_name_conflicts_with_built_in_global_identifier_0, "globalThis"));
                wm(Ye, a.locals);
              }
              a.jsGlobalAugmentations && wm(Ye, a.jsGlobalAugmentations), a.patternAmbientModules && a.patternAmbientModules.length && (C_ = Bi(C_, a.patternAmbientModules)), a.moduleAugmentations.length && (r || (r = [])).push(a.moduleAugmentations), a.symbol && a.symbol.globalExports && a.symbol.globalExports.forEach((f, d) => {
                Ye.has(d) || Ye.set(d, f);
              });
            }
          if (r)
            for (const a of r)
              for (const l of a)
                Vm(l.parent) && d2(l);
          if (Ov(), Pn(ne).type = M, Pn(ie).type = hc(
            "IArguments",
            /*arity*/
            0,
            /*reportErrors*/
            true
          ), Pn(Y).type = qe, Pn(Se).type = Bc(16, Se), Da = hc(
            "Array",
            /*arity*/
            1,
            /*reportErrors*/
            true
          ), Ot = hc(
            "Object",
            /*arity*/
            0,
            /*reportErrors*/
            true
          ), Mr = hc(
            "Function",
            /*arity*/
            0,
            /*reportErrors*/
            true
          ), Gi = ae && hc(
            "CallableFunction",
            /*arity*/
            0,
            /*reportErrors*/
            true
          ) || Mr, Ea = ae && hc(
            "NewableFunction",
            /*arity*/
            0,
            /*reportErrors*/
            true
          ) || Mr, tl = hc(
            "String",
            /*arity*/
            0,
            /*reportErrors*/
            true
          ), Eo = hc(
            "Number",
            /*arity*/
            0,
            /*reportErrors*/
            true
          ), rc = hc(
            "Boolean",
            /*arity*/
            0,
            /*reportErrors*/
            true
          ), gc = hc(
            "RegExp",
            /*arity*/
            0,
            /*reportErrors*/
            true
          ), Ul = yu(Le), Nl = yu(mt), Nl === ea && (Nl = Uo(
            /*symbol*/
            void 0,
            A,
            Ge,
            Ge,
            Ge
          )), da = q3e(
            "ReadonlyArray",
            /*arity*/
            1
          ) || Da, lf = da ? uP(da, [Le]) : Ul, xf = q3e(
            "ThisType",
            /*arity*/
            1
          ), r)
            for (const a of r)
              for (const l of a)
                Vm(l.parent) || d2(l);
          tc.forEach(({ firstFile: a, secondFile: l, conflictingSymbols: f }) => {
            if (f.size < 8)
              f.forEach(({ isBlockScoped: d, firstFileLocations: y, secondFileLocations: x }, I) => {
                const J = d ? p.Cannot_redeclare_block_scoped_variable_0 : p.Duplicate_identifier_0;
                for (const z of y)
                  Fv(z, J, I, x);
                for (const z of x)
                  Fv(z, J, I, y);
              });
            else {
              const d = ns(f.keys()).join(", ");
              Pa.add(Js(
                sn(a, p.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0, d),
                sn(l, p.Conflicts_are_in_this_file)
              )), Pa.add(Js(
                sn(l, p.Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0, d),
                sn(a, p.Conflicts_are_in_this_file)
              ));
            }
          }), tc = void 0;
        }
        function bl(r, a) {
          if (F.importHelpers) {
            const l = xr(r);
            if (IC(l, F) && !(r.flags & 33554432)) {
              const f = q_t(l, r);
              if (f !== Y) {
                const d = Pn(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 V_t(x)) {
                        const J = jc(ql(
                          Nm(f),
                          Zo(I),
                          111551
                          /* Value */
                        ));
                        J ? x & 524288 ? ot(E2(J), (z) => V_(z) > 3) || ze(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, ky, I, 4) : x & 1048576 ? ot(E2(J), (z) => V_(z) > 4) || ze(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, ky, I, 5) : x & 1024 && (ot(E2(J), (z) => V_(z) > 2) || ze(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, ky, I, 3)) : ze(r, p.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0, ky, I);
                      }
                }
                d.requestedExternalEmitHelpers |= a;
              }
            }
          }
        }
        function V_t(r) {
          switch (r) {
            case 1:
              return ["__extends"];
            case 2:
              return ["__assign"];
            case 4:
              return ["__rest"];
            case 8:
              return U ? ["__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 q_t(r, a) {
          const l = xn(r);
          return l.externalHelpersModule || (l.externalHelpersModule = iT(Bft(r), ky, p.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found, a) || Y), l.externalHelpersModule;
        }
        function oh(r) {
          var a;
          const l = $_t(r) || H_t(r);
          if (l !== void 0)
            return l;
          if (Ii(r) && Ay(r))
            return Ll(r, p.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters);
          const f = Pc(r) ? r.declarationList.flags & 7 : 0;
          let d, y, x, I, J, z = 0, G = false, ve = false;
          for (const de of r.modifiers)
            if (ol(de)) {
              if (N3(U, r, r.parent, r.parent.parent)) {
                if (U && (r.kind === 178 || r.kind === 179)) {
                  const We = Ume(r);
                  if (Pf(We.firstAccessor) && r === We.secondAccessor)
                    return Ll(r, p.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name);
                }
              } else return r.kind === 175 && !Ip(r.body) ? Ll(r, p.A_decorator_can_only_decorate_a_method_implementation_not_an_overload) : Ll(r, p.Decorators_are_not_valid_here);
              if (z & -34849)
                return mr(de, p.Decorators_are_not_valid_here);
              if (ve && z & 98303) {
                E.assertIsDefined(J);
                const We = xr(de);
                return w1(We) ? false : (Js(
                  ze(de, p.Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export),
                  sn(J, p.Decorator_used_before_export_here)
                ), true);
              }
              z |= 32768, z & 98303 ? z & 32 && (G = true) : ve = true, J ?? (J = de);
            } else {
              if (de.kind !== 148) {
                if (r.kind === 172 || r.kind === 174)
                  return mr(de, p._0_modifier_cannot_appear_on_a_type_member, Vs(de.kind));
                if (r.kind === 182 && (de.kind !== 126 || !$n(r.parent)))
                  return mr(de, p._0_modifier_cannot_appear_on_an_index_signature, Vs(de.kind));
              }
              if (de.kind !== 103 && de.kind !== 147 && de.kind !== 87 && r.kind === 169)
                return mr(de, p._0_modifier_cannot_appear_on_a_type_parameter, Vs(de.kind));
              switch (de.kind) {
                case 87: {
                  if (r.kind !== 267 && r.kind !== 169)
                    return mr(r, p.A_class_member_cannot_have_the_0_keyword, Vs(
                      87
                      /* ConstKeyword */
                    ));
                  const gt = Bp(r.parent) && V1(r.parent) || r.parent;
                  if (r.kind === 169 && !(to(gt) || $n(gt) || $m(gt) || a6(gt) || Mx(gt) || DD(gt) || id(gt)))
                    return mr(de, p._0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class, Vs(de.kind));
                  break;
                }
                case 164:
                  if (z & 16)
                    return mr(de, p._0_modifier_already_seen, "override");
                  if (z & 128)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "override", "declare");
                  if (z & 8)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "override", "readonly");
                  if (z & 512)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "override", "accessor");
                  if (z & 1024)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "override", "async");
                  z |= 16, I = de;
                  break;
                case 125:
                case 124:
                case 123:
                  const We = qv(hx(de.kind));
                  if (z & 7)
                    return mr(de, p.Accessibility_modifier_already_seen);
                  if (z & 16)
                    return mr(de, p._0_modifier_must_precede_1_modifier, We, "override");
                  if (z & 256)
                    return mr(de, p._0_modifier_must_precede_1_modifier, We, "static");
                  if (z & 512)
                    return mr(de, p._0_modifier_must_precede_1_modifier, We, "accessor");
                  if (z & 8)
                    return mr(de, p._0_modifier_must_precede_1_modifier, We, "readonly");
                  if (z & 1024)
                    return mr(de, p._0_modifier_must_precede_1_modifier, We, "async");
                  if (r.parent.kind === 269 || r.parent.kind === 308)
                    return mr(de, p._0_modifier_cannot_appear_on_a_module_or_namespace_element, We);
                  if (z & 64)
                    return de.kind === 123 ? mr(de, p._0_modifier_cannot_be_used_with_1_modifier, We, "abstract") : mr(de, p._0_modifier_must_precede_1_modifier, We, "abstract");
                  if (xu(r))
                    return mr(de, p.An_accessibility_modifier_cannot_be_used_with_a_private_identifier);
                  z |= hx(de.kind);
                  break;
                case 126:
                  if (z & 256)
                    return mr(de, p._0_modifier_already_seen, "static");
                  if (z & 8)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "static", "readonly");
                  if (z & 1024)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "static", "async");
                  if (z & 512)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "static", "accessor");
                  if (r.parent.kind === 269 || r.parent.kind === 308)
                    return mr(de, p._0_modifier_cannot_appear_on_a_module_or_namespace_element, "static");
                  if (r.kind === 170)
                    return mr(de, p._0_modifier_cannot_appear_on_a_parameter, "static");
                  if (z & 64)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "static", "abstract");
                  if (z & 16)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "static", "override");
                  z |= 256, d = de;
                  break;
                case 129:
                  if (z & 512)
                    return mr(de, p._0_modifier_already_seen, "accessor");
                  if (z & 8)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "accessor", "readonly");
                  if (z & 128)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "accessor", "declare");
                  if (r.kind !== 173)
                    return mr(de, p.accessor_modifier_can_only_appear_on_a_property_declaration);
                  z |= 512;
                  break;
                case 148:
                  if (z & 8)
                    return mr(de, p._0_modifier_already_seen, "readonly");
                  if (r.kind !== 173 && r.kind !== 172 && r.kind !== 182 && r.kind !== 170)
                    return mr(de, p.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature);
                  if (z & 512)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "readonly", "accessor");
                  z |= 8;
                  break;
                case 95:
                  if (F.verbatimModuleSyntax && !(r.flags & 33554432) && r.kind !== 266 && r.kind !== 265 && // ModuleDeclaration needs to be checked that it is uninstantiated later
                  r.kind !== 268 && r.parent.kind === 308 && e.getEmitModuleFormatOfFile(xr(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 (z & 32)
                    return mr(de, p._0_modifier_already_seen, "export");
                  if (z & 128)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "export", "declare");
                  if (z & 64)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "export", "abstract");
                  if (z & 1024)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "export", "async");
                  if ($n(r.parent))
                    return mr(de, p._0_modifier_cannot_appear_on_class_elements_of_this_kind, "export");
                  if (r.kind === 170)
                    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");
                  z |= 32;
                  break;
                case 90:
                  const lt = r.parent.kind === 308 ? r.parent : r.parent.parent;
                  if (lt.kind === 268 && !Ju(lt))
                    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 (z & 32) {
                    if (G)
                      return mr(J, p.Decorators_are_not_valid_here);
                  } else return mr(de, p._0_modifier_must_precede_1_modifier, "export", "default");
                  z |= 2048;
                  break;
                case 138:
                  if (z & 128)
                    return mr(de, p._0_modifier_already_seen, "declare");
                  if (z & 1024)
                    return mr(de, p._0_modifier_cannot_be_used_in_an_ambient_context, "async");
                  if (z & 16)
                    return mr(de, p._0_modifier_cannot_be_used_in_an_ambient_context, "override");
                  if ($n(r.parent) && !as(r))
                    return mr(de, p._0_modifier_cannot_appear_on_class_elements_of_this_kind, "declare");
                  if (r.kind === 170)
                    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 === 269)
                    return mr(de, p.A_declare_modifier_cannot_be_used_in_an_already_ambient_context);
                  if (xu(r))
                    return mr(de, p._0_modifier_cannot_be_used_with_a_private_identifier, "declare");
                  if (z & 512)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "declare", "accessor");
                  z |= 128, y = de;
                  break;
                case 128:
                  if (z & 64)
                    return mr(de, p._0_modifier_already_seen, "abstract");
                  if (r.kind !== 264 && r.kind !== 186) {
                    if (r.kind !== 175 && r.kind !== 173 && r.kind !== 178 && r.kind !== 179)
                      return mr(de, p.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration);
                    if (!(r.parent.kind === 264 && Gn(
                      r.parent,
                      64
                      /* Abstract */
                    ))) {
                      const gt = r.kind === 173 ? p.Abstract_properties_can_only_appear_within_an_abstract_class : p.Abstract_methods_can_only_appear_within_an_abstract_class;
                      return mr(de, gt);
                    }
                    if (z & 256)
                      return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "static", "abstract");
                    if (z & 2)
                      return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "private", "abstract");
                    if (z & 1024 && x)
                      return mr(x, p._0_modifier_cannot_be_used_with_1_modifier, "async", "abstract");
                    if (z & 16)
                      return mr(de, p._0_modifier_must_precede_1_modifier, "abstract", "override");
                    if (z & 512)
                      return mr(de, p._0_modifier_must_precede_1_modifier, "abstract", "accessor");
                  }
                  if (kl(r) && r.name.kind === 81)
                    return mr(de, p._0_modifier_cannot_be_used_with_a_private_identifier, "abstract");
                  z |= 64;
                  break;
                case 134:
                  if (z & 1024)
                    return mr(de, p._0_modifier_already_seen, "async");
                  if (z & 128 || r.parent.flags & 33554432)
                    return mr(de, p._0_modifier_cannot_be_used_in_an_ambient_context, "async");
                  if (r.kind === 170)
                    return mr(de, p._0_modifier_cannot_appear_on_a_parameter, "async");
                  if (z & 64)
                    return mr(de, p._0_modifier_cannot_be_used_with_1_modifier, "async", "abstract");
                  z |= 1024, x = de;
                  break;
                case 103:
                case 147: {
                  const gt = de.kind === 103 ? 8192 : 16384, jt = de.kind === 103 ? "in" : "out", ar = Bp(r.parent) && (V1(r.parent) || Nn((a = WC(r.parent)) == null ? void 0 : a.tags, CS)) || r.parent;
                  if (r.kind !== 169 || ar && !(Jl(ar) || $n(ar) || jp(ar) || CS(ar)))
                    return mr(de, p._0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias, jt);
                  if (z & gt)
                    return mr(de, p._0_modifier_already_seen, jt);
                  if (gt & 8192 && z & 16384)
                    return mr(de, p._0_modifier_must_precede_1_modifier, "in", "out");
                  z |= gt;
                  break;
                }
              }
            }
          return r.kind === 177 ? z & 256 ? mr(d, p._0_modifier_cannot_appear_on_a_constructor_declaration, "static") : z & 16 ? mr(I, p._0_modifier_cannot_appear_on_a_constructor_declaration, "override") : z & 1024 ? mr(x, p._0_modifier_cannot_appear_on_a_constructor_declaration, "async") : false : (r.kind === 273 || r.kind === 272) && z & 128 ? mr(y, p.A_0_modifier_cannot_be_used_with_an_import_declaration, "declare") : r.kind === 170 && z & 31 && Ds(r.name) ? mr(r, p.A_parameter_property_may_not_be_declared_using_a_binding_pattern) : r.kind === 170 && z & 31 && r.dotDotDotToken ? mr(r, p.A_parameter_property_cannot_be_declared_using_a_rest_parameter) : z & 1024 ? Q_t(r, x) : false;
        }
        function H_t(r) {
          if (!r.modifiers) return false;
          const a = G_t(r);
          return a && Ll(a, p.Modifiers_cannot_appear_here);
        }
        function JX(r, a) {
          const l = Nn(r.modifiers, Ys);
          return l && l.kind !== a ? l : void 0;
        }
        function G_t(r) {
          switch (r.kind) {
            case 178:
            case 179:
            case 177:
            case 173:
            case 172:
            case 175:
            case 174:
            case 182:
            case 268:
            case 273:
            case 272:
            case 279:
            case 278:
            case 219:
            case 220:
            case 170:
            case 169:
              return;
            case 176:
            case 304:
            case 305:
            case 271:
            case 283:
              return Nn(r.modifiers, Ys);
            default:
              if (r.parent.kind === 269 || r.parent.kind === 308)
                return;
              switch (r.kind) {
                case 263:
                  return JX(
                    r,
                    134
                    /* AsyncKeyword */
                  );
                case 264:
                case 186:
                  return JX(
                    r,
                    128
                    /* AbstractKeyword */
                  );
                case 232:
                case 265:
                case 266:
                  return Nn(r.modifiers, Ys);
                case 244:
                  return r.declarationList.flags & 4 ? JX(
                    r,
                    135
                    /* AwaitKeyword */
                  ) : Nn(r.modifiers, Ys);
                case 267:
                  return JX(
                    r,
                    87
                    /* ConstKeyword */
                  );
                default:
                  E.assertNever(r);
              }
          }
        }
        function $_t(r) {
          const a = X_t(r);
          return a && Ll(a, p.Decorators_are_not_valid_here);
        }
        function X_t(r) {
          return Mz(r) ? Nn(r.modifiers, ol) : void 0;
        }
        function Q_t(r, a) {
          switch (r.kind) {
            case 175:
            case 263:
            case 219:
            case 220:
              return false;
          }
          return mr(a, p._0_modifier_cannot_be_used_here, "async");
        }
        function cC(r, a = p.Trailing_comma_not_allowed) {
          return r && r.hasTrailingComma ? ab(r[0], r.end - 1, 1, a) : false;
        }
        function o5e(r, a) {
          if (r && r.length === 0) {
            const l = r.pos - 1, f = aa(a.text, r.end) + 1;
            return ab(a, l, f - l, p.Type_parameter_list_cannot_be_empty);
          }
          return false;
        }
        function Y_t(r) {
          let a = false;
          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 || cC(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 (XG(d)) {
              if (a = true, 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 Z_t(r) {
          return kn(r, (a) => !!a.initializer || Ds(a.name) || Wm(a));
        }
        function K_t(r) {
          if (R >= 3) {
            const a = r.body && Ps(r.body) && Iz(r.body.statements);
            if (a) {
              const l = Z_t(r.parameters);
              if (wr(l)) {
                lr(l, (d) => {
                  Js(
                    ze(d, p.This_parameter_is_not_allowed_with_use_strict_directive),
                    sn(a, p.use_strict_directive_used_here)
                  );
                });
                const f = l.map((d, y) => y === 0 ? sn(d, p.Non_simple_parameter_declared_here) : sn(d, p.and_here));
                return Js(ze(a, p.use_strict_directive_cannot_be_used_with_non_simple_parameter_list), ...f), true;
              }
            }
          }
          return false;
        }
        function zX(r) {
          const a = xr(r);
          return oh(r) || o5e(r.typeParameters, a) || Y_t(r.parameters) || tft(r, a) || to(r) && K_t(r);
        }
        function eft(r) {
          const a = xr(r);
          return aft(r) || o5e(r.typeParameters, a);
        }
        function tft(r, a) {
          if (!bo(r))
            return false;
          r.typeParameters && !(wr(r.typeParameters) > 1 || r.typeParameters.hasTrailingComma || r.typeParameters[0].constraint) && a && bc(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 = Rs(a, l.pos).line, d = Rs(a, l.end).line;
          return f !== d && mr(l, p.Line_terminator_not_permitted_before_arrow);
        }
        function rft(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 (cC(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 (eJ(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 kp(l, (f) => !!(f.flags & 8576)) || Zv(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) : U_(l, t$) ? r.type ? false : 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 nft(r) {
          return oh(r) || rft(r);
        }
        function ift(r, a) {
          if (a && a.length === 0) {
            const l = xr(r), f = a.pos - 1, d = aa(l.text, a.end) + 1;
            return ab(l, f, d - f, p.Type_argument_list_cannot_be_empty);
          }
          return false;
        }
        function pR(r, a) {
          return cC(a) || ift(r, a);
        }
        function sft(r) {
          return r.questionDotToken || r.flags & 64 ? mr(r.template, p.Tagged_template_expressions_are_not_permitted_in_an_optional_chain) : false;
        }
        function c5e(r) {
          const a = r.types;
          if (cC(a))
            return true;
          if (a && a.length === 0) {
            const l = Vs(r.token);
            return ab(r, a.pos, 0, p._0_list_cannot_be_empty, l);
          }
          return ot(a, l5e);
        }
        function l5e(r) {
          return Th(r) && ED(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) : pR(r, r.typeArguments);
        }
        function aft(r) {
          let a = false, l = false;
          if (!oh(r) && r.heritageClauses)
            for (const f of r.heritageClauses) {
              if (f.token === 96) {
                if (a)
                  return Ll(f, p.extends_clause_already_seen);
                if (l)
                  return Ll(f, p.extends_clause_must_precede_implements_clause);
                if (f.types.length > 1)
                  return Ll(f.types[1], p.Classes_can_only_extend_a_single_class);
                a = true;
              } else {
                if (E.assert(
                  f.token === 119
                  /* ImplementsKeyword */
                ), l)
                  return Ll(f, p.implements_clause_already_seen);
                l = true;
              }
              c5e(f);
            }
        }
        function oft(r) {
          let a = false;
          if (r.heritageClauses)
            for (const l of r.heritageClauses) {
              if (l.token === 96) {
                if (a)
                  return Ll(l, p.extends_clause_already_seen);
                a = true;
              } else
                return E.assert(
                  l.token === 119
                  /* ImplementsKeyword */
                ), Ll(l, p.Interface_declaration_cannot_have_implements_clause);
              c5e(l);
            }
          return false;
        }
        function WX(r) {
          if (r.kind !== 168)
            return false;
          const a = r;
          return a.expression.kind === 227 && a.expression.operatorToken.kind === 28 ? mr(a.expression, p.A_comma_expression_is_not_allowed_in_a_computed_property_name) : false;
        }
        function Gme(r) {
          if (r.asteriskToken) {
            if (E.assert(
              r.kind === 263 || r.kind === 219 || r.kind === 175
              /* 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 $me(r, a) {
          return !!r && mr(r, a);
        }
        function u5e(r, a) {
          return !!r && mr(r, a);
        }
        function cft(r, a) {
          const l = /* @__PURE__ */ new Map();
          for (const f of r.properties) {
            if (f.kind === 306) {
              if (a) {
                const x = Ra(f.expression);
                if (Kl(x) || ua(x))
                  return mr(f.expression, p.A_rest_element_cannot_contain_a_binding_pattern);
              }
              continue;
            }
            const d = f.name;
            if (d.kind === 168 && WX(d), f.kind === 305 && !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), Jp(f) && f.modifiers)
              for (const x of f.modifiers)
                Ys(x) && (x.kind !== 134 || f.kind !== 175) && mr(x, p._0_modifier_cannot_be_used_here, Go(x));
            else if (ore(f) && f.modifiers)
              for (const x of f.modifiers)
                Ys(x) && mr(x, p._0_modifier_cannot_be_used_here, Go(x));
            let y;
            switch (f.kind) {
              case 305:
              case 304:
                u5e(f.exclamationToken, p.A_definite_assignment_assertion_is_not_permitted_in_this_context), $me(f.questionToken, p.An_object_member_cannot_be_declared_optional), d.kind === 9 && y5e(d), d.kind === 10 && qg(
                  /*isError*/
                  true,
                  sn(d, p.A_bigint_literal_cannot_be_used_as_a_property_name)
                ), y = 4;
                break;
              case 175:
                y = 8;
                break;
              case 178:
                y = 1;
                break;
              case 179:
                y = 2;
                break;
              default:
                E.assertNever(f, "Unexpected syntax kind:" + f.kind);
            }
            if (!a) {
              const x = Yme(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 lft(r) {
          uft(r.tagName), pR(r, r.typeArguments);
          const a = /* @__PURE__ */ new Map();
          for (const l of r.attributes.properties) {
            if (l.kind === 294)
              continue;
            const { name: f, initializer: d } = l, y = yD(f);
            if (!a.get(y))
              a.set(y, true);
            else
              return mr(f, p.JSX_elements_cannot_have_multiple_attributes_with_the_same_name);
            if (d && d.kind === 295 && !d.expression)
              return mr(d, p.JSX_attributes_must_only_be_assigned_a_non_empty_expression);
          }
        }
        function uft(r) {
          if (wn(r) && Pd(r.expression))
            return mr(r.expression, p.JSX_property_access_expressions_cannot_include_JSX_namespace_names);
          if (Pd(r) && H5(F) && !HC(r.namespace.escapedText))
            return mr(r, p.React_components_cannot_include_JSX_namespace_names);
        }
        function _ft(r) {
          if (r.expression && MD(r.expression))
            return mr(r.expression, p.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array);
        }
        function _5e(r) {
          if (r0(r))
            return true;
          if (r.kind === 251 && r.awaitModifier && !(r.flags & 65536)) {
            const a = xr(r);
            if (r5(r)) {
              if (!w1(a))
                switch (IC(a, F) || Pa.add(sn(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)), B) {
                  case 100:
                  case 101:
                  case 102:
                  case 199:
                    if (a.impliedNodeFormat === 1) {
                      Pa.add(
                        sn(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 (R >= 4)
                      break;
                  // fallthrough
                  default:
                    Pa.add(
                      sn(r.awaitModifier, p.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_node20_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher)
                    );
                    break;
                }
            } else if (!w1(a)) {
              const l = sn(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 !== 177) {
                E.assert((Fc(f) & 2) === 0, "Enclosing function should never be an async function.");
                const d = sn(f, p.Did_you_mean_to_mark_this_function_as_async);
                Js(l, d);
              }
              return Pa.add(l), true;
            }
          }
          if (RN(r) && !(r.flags & 65536) && Me(r.initializer) && r.initializer.escapedText === "async")
            return mr(r.initializer, p.The_left_hand_side_of_a_for_of_statement_may_not_be_async), false;
          if (r.initializer.kind === 262) {
            const a = r.initializer;
            if (!Qme(a)) {
              const l = a.declarations;
              if (!l.length)
                return false;
              if (l.length > 1) {
                const d = r.kind === 250 ? 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 Ll(a.declarations[1], d);
              }
              const f = l[0];
              if (f.initializer) {
                const d = r.kind === 250 ? 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 === 250 ? 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 false;
        }
        function fft(r) {
          if (!(r.flags & 33554432) && r.parent.kind !== 188 && r.parent.kind !== 265) {
            if (R < 2 && Ai(r.name))
              return mr(r.name, p.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);
            if (r.body === void 0 && !Gn(
              r,
              64
              /* Abstract */
            ))
              return ab(r, r.end - 1, 1, p._0_expected, "{");
          }
          if (r.body) {
            if (Gn(
              r,
              64
              /* Abstract */
            ))
              return mr(r, p.An_abstract_accessor_cannot_have_an_implementation);
            if (r.parent.kind === 188 || r.parent.kind === 265)
              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 (!pft(r))
            return mr(
              r.name,
              r.kind === 178 ? p.A_get_accessor_cannot_have_parameters : p.A_set_accessor_must_have_exactly_one_parameter
            );
          if (r.kind === 179) {
            if (r.type)
              return mr(r.name, p.A_set_accessor_cannot_have_a_return_type_annotation);
            const a = E.checkDefined(Y4(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 false;
        }
        function pft(r) {
          return Xme(r) || r.parameters.length === (r.kind === 178 ? 0 : 1);
        }
        function Xme(r) {
          if (r.parameters.length === (r.kind === 178 ? 1 : 2))
            return Ab(r);
        }
        function dft(r) {
          if (r.operator === 158) {
            if (r.type.kind !== 155)
              return mr(r.type, p._0_expected, Vs(
                155
                /* SymbolKeyword */
              ));
            let a = q3(r.parent);
            if (an(a) && iv(a)) {
              const l = Db(a);
              l && (a = px(l) || l);
            }
            switch (a.kind) {
              case 261:
                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 (!I4(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 173:
                if (!Bs(a) || !lS(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 172:
                if (!Gn(
                  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 !== 189 && r.type.kind !== 190)
            return Ll(r, p.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types, Vs(
              155
              /* SymbolKeyword */
            ));
        }
        function wP(r, a) {
          if (GPe(r) && !Za(oo(r) ? Ra(r.argumentExpression) : r.expression))
            return mr(r, a);
        }
        function f5e(r) {
          if (zX(r))
            return true;
          if (r.kind === 175) {
            if (r.parent.kind === 211) {
              if (r.modifiers && !(r.modifiers.length === 1 && ka(r.modifiers).kind === 134))
                return Ll(r, p.Modifiers_cannot_appear_here);
              if ($me(r.questionToken, p.An_object_member_cannot_be_declared_optional))
                return true;
              if (u5e(r.exclamationToken, p.A_definite_assignment_assertion_is_not_permitted_in_this_context))
                return true;
              if (r.body === void 0)
                return ab(r, r.end - 1, 1, p._0_expected, "{");
            }
            if (Gme(r))
              return true;
          }
          if ($n(r.parent)) {
            if (R < 2 && Ai(r.name))
              return mr(r.name, p.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);
            if (r.flags & 33554432)
              return wP(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 === 175 && !r.body)
              return wP(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 === 265)
              return wP(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 === 188)
              return wP(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 mft(r) {
          let a = r;
          for (; a; ) {
            if (DC(a))
              return mr(r, p.Jump_target_cannot_cross_function_boundary);
            switch (a.kind) {
              case 257:
                if (r.label && a.label.escapedText === r.label.escapedText)
                  return r.kind === 252 && !xy(
                    a.statement,
                    /*lookInLabeledStatements*/
                    true
                  ) ? mr(r, p.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement) : false;
                break;
              case 256:
                if (r.kind === 253 && !r.label)
                  return false;
                break;
              default:
                if (xy(
                  a,
                  /*lookInLabeledStatements*/
                  false
                ) && !r.label)
                  return false;
                break;
            }
            a = a.parent;
          }
          if (r.label) {
            const l = r.kind === 253 ? 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 === 253 ? 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 gft(r) {
          if (r.dotDotDotToken) {
            const a = r.parent.elements;
            if (r !== fa(a))
              return mr(r, p.A_rest_element_must_be_last_in_a_destructuring_pattern);
            if (cC(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 ab(r, r.initializer.pos - 1, 1, p.A_rest_element_cannot_have_an_initializer);
        }
        function p5e(r) {
          return wf(r) || r.kind === 225 && r.operator === 41 && r.operand.kind === 9;
        }
        function hft(r) {
          return r.kind === 10 || r.kind === 225 && r.operator === 41 && r.operand.kind === 10;
        }
        function yft(r) {
          if ((wn(r) || oo(r) && p5e(r.argumentExpression)) && Za(r.expression))
            return !!(fc(r).flags & 1056);
        }
        function d5e(r) {
          const a = r.initializer;
          if (a) {
            const l = !(p5e(a) || yft(a) || a.kind === 112 || a.kind === 97 || hft(a));
            if ((T3(r) || ei(r) && JI(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 vft(r) {
          const a = R2(r), l = a & 7;
          if (Ds(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 !== 250 && r.parent.parent.kind !== 251) {
            if (a & 33554432)
              d5e(r);
            else if (!r.initializer) {
              if (Ds(r.name) && !Ds(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 !== 244 || !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(xr(r)) < 4 && !(r.parent.parent.flags & 33554432) && Gn(
            r.parent.parent,
            32
            /* Export */
          ) && m5e(r.name), !!l && g5e(r.name);
        }
        function m5e(r) {
          if (r.kind === 80) {
            if (An(r) === "__esModule")
              return Tft("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 (!gl(l))
                return m5e(l.name);
          }
          return false;
        }
        function g5e(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)
              gl(l) || g5e(l.name);
          }
          return false;
        }
        function Qme(r) {
          const a = r.declarations;
          if (cC(r.declarations))
            return true;
          if (!r.declarations.length)
            return ab(r, a.pos, a.end - a.pos, p.Variable_declaration_list_cannot_be_empty);
          const l = r.flags & 7;
          if (l === 4 || l === 6) {
            if (wF(r.parent))
              return 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
              );
            if (r.flags & 33554432)
              return mr(
                r,
                l === 4 ? p.using_declarations_are_not_allowed_in_ambient_contexts : p.await_using_declarations_are_not_allowed_in_ambient_contexts
              );
            if (l === 6)
              return FIe(r);
          }
          return false;
        }
        function UX(r) {
          switch (r.kind) {
            case 246:
            case 247:
            case 248:
            case 255:
            case 249:
            case 250:
            case 251:
              return false;
            case 257:
              return UX(r.parent);
          }
          return true;
        }
        function bft(r) {
          if (!UX(r.parent)) {
            const a = R2(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");
              ze(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, Si(r.name.escapedText), Vs(r.keywordToken), "target");
              break;
            case 102:
              if (a !== "meta") {
                const l = ws(r.parent) && r.parent.expression === r;
                if (a === "defer") {
                  if (!l)
                    return ab(r, r.end, 0, p._0_expected, "(");
                } else
                  return l ? mr(r.name, p._0_is_not_a_valid_meta_property_for_keyword_import_Did_you_mean_meta_or_defer, Si(r.name.escapedText)) : mr(r.name, p._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2, Si(r.name.escapedText), Vs(r.keywordToken), "meta");
              }
              break;
          }
        }
        function w1(r) {
          return r.parseDiagnostics.length > 0;
        }
        function Ll(r, a, ...l) {
          const f = xr(r);
          if (!w1(f)) {
            const d = nm(f, r.pos);
            return Pa.add(al(f, d.start, d.length, a, ...l)), true;
          }
          return false;
        }
        function ab(r, a, l, f, ...d) {
          const y = xr(r);
          return w1(y) ? false : (Pa.add(al(y, a, l, f, ...d)), true);
        }
        function Tft(r, a, l, ...f) {
          const d = xr(a);
          return w1(d) ? false : (O0(r, a, l, ...f), true);
        }
        function mr(r, a, ...l) {
          const f = xr(r);
          return w1(f) ? false : (ze(r, a, ...l), true);
        }
        function xft(r) {
          const a = an(r) ? w5(r) : void 0, l = r.typeParameters || a && $c(a);
          if (l) {
            const f = l.pos === l.end ? l.pos : aa(xr(r).text, l.pos);
            return ab(r, f, l.end - f, p.Type_parameters_cannot_appear_on_a_constructor_declaration);
          }
        }
        function kft(r) {
          const a = r.type || K_(r);
          if (a)
            return mr(a, p.Type_annotation_cannot_appear_on_a_constructor_declaration);
        }
        function Cft(r) {
          if (Hs(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 ($n(r.parent)) {
            if (oa(r.name) && r.name.text === "constructor")
              return mr(r.name, p.Classes_may_not_have_a_field_named_constructor);
            if (wP(r.name, p.A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type))
              return true;
            if (R < 2 && Ai(r.name))
              return mr(r.name, p.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher);
            if (R < 2 && g_(r) && !(r.flags & 33554432))
              return mr(r.name, p.Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher);
            if (g_(r) && $me(r.questionToken, p.An_accessor_property_cannot_be_declared_optional))
              return true;
          } else if (r.parent.kind === 265) {
            if (wP(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 true;
            if (E.assertNode(r, Vu), r.initializer)
              return mr(r.initializer, p.An_interface_property_cannot_have_an_initializer);
          } else if (r_(r.parent)) {
            if (wP(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 true;
            if (E.assertNode(r, Vu), r.initializer)
              return mr(r.initializer, p.A_type_literal_property_cannot_have_an_initializer);
          }
          if (r.flags & 33554432 && d5e(r), as(r) && r.exclamationToken && (!$n(r.parent) || !r.type || r.initializer || r.flags & 33554432 || Bs(r) || Ob(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 Eft(r) {
          return r.kind === 265 || r.kind === 266 || r.kind === 273 || r.kind === 272 || r.kind === 279 || r.kind === 278 || r.kind === 271 || Gn(
            r,
            2208
            /* Default */
          ) ? false : Ll(r, p.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier);
        }
        function Dft(r) {
          for (const a of r.statements)
            if ((Cl(a) || a.kind === 244) && Eft(a))
              return true;
          return false;
        }
        function h5e(r) {
          return !!(r.flags & 33554432) && Dft(r);
        }
        function r0(r) {
          if (r.flags & 33554432) {
            if (!xn(r).hasReportedStatementInAmbientContext && (Cs(r.parent) || Ty(r.parent)))
              return xn(r).hasReportedStatementInAmbientContext = Ll(r, p.An_implementation_cannot_be_declared_in_ambient_contexts);
            if (r.parent.kind === 242 || r.parent.kind === 269 || r.parent.kind === 308) {
              const l = xn(r.parent);
              if (!l.hasReportedStatementInAmbientContext)
                return l.hasReportedStatementInAmbientContext = Ll(r, p.Statements_are_not_allowed_in_ambient_contexts);
            }
          }
          return false;
        }
        function y5e(r) {
          const a = Go(r).includes("."), l = r.numericLiteralFlags & 16;
          a || l || +r.text <= 2 ** 53 - 1 || qg(
            /*isError*/
            false,
            sn(r, p.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers)
          );
        }
        function wft(r) {
          return !!(!(S0(r.parent) || K1(r.parent) && S0(r.parent.parent)) && !(r.flags & 33554432) && R < 7 && mr(r, p.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020));
        }
        function Pft(r, a, ...l) {
          const f = xr(r);
          if (!w1(f)) {
            const d = nm(f, r.pos);
            return Pa.add(al(
              f,
              Yo(d),
              /*length*/
              0,
              a,
              ...l
            )), true;
          }
          return false;
        }
        function Nft() {
          return Tf || (Tf = [], Ye.forEach((r, a) => {
            Sne.test(a) && Tf.push(r);
          })), Tf;
        }
        function Aft(r) {
          var a, l;
          if (r.phaseModifier === 156) {
            if (r.name && r.namedBindings)
              return mr(r, p.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both);
            if (((a = r.namedBindings) == null ? void 0 : a.kind) === 276)
              return v5e(r.namedBindings);
          } else if (r.phaseModifier === 166) {
            if (r.name)
              return mr(r, p.Default_imports_are_not_allowed_in_a_deferred_import);
            if (((l = r.namedBindings) == null ? void 0 : l.kind) === 276)
              return mr(r, p.Named_imports_are_not_allowed_in_a_deferred_import);
            if (B !== 99 && B !== 200)
              return mr(r, p.Deferred_imports_are_only_supported_when_the_module_flag_is_set_to_esnext_or_preserve);
          }
          return false;
        }
        function v5e(r) {
          return !!lr(r.elements, (a) => {
            if (a.isTypeOnly)
              return Ll(
                a,
                a.kind === 277 ? 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 Ift(r) {
          if (F.verbatimModuleSyntax && B === 1)
            return mr(r, QS(r));
          if (r.expression.kind === 237) {
            if (B !== 99 && B !== 200)
              return mr(r, p.Deferred_imports_are_only_supported_when_the_module_flag_is_set_to_esnext_or_preserve);
          } else if (B === 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_node20_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 <= B && B <= 199) && B !== 99 && B !== 200 && (cC(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_node20_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 = Nn(a, up);
          return l ? mr(l, p.Argument_of_dynamic_import_cannot_be_spread_element) : false;
        }
        function Fft(r, a) {
          const l = Dn(r);
          if (l & 20 && a.flags & 1048576)
            return Nn(a.types, (f) => {
              if (f.flags & 524288) {
                const d = l & Dn(f);
                if (d & 4)
                  return r.target === f.target;
                if (d & 16)
                  return !!r.aliasSymbol && r.aliasSymbol === f.aliasSymbol;
              }
              return false;
            });
        }
        function Oft(r, a) {
          if (Dn(r) & 128 && kp(a, K0))
            return Nn(a.types, (l) => !K0(l));
        }
        function Lft(r, a) {
          let l = 0;
          if (As(r, l).length > 0 || (l = 1, As(r, l).length > 0))
            return Nn(a.types, (d) => As(d, l).length > 0);
        }
        function Mft(r, a) {
          let l;
          if (!(r.flags & 406978556)) {
            let f = 0;
            for (const d of a.types)
              if (!(d.flags & 406978556)) {
                const y = ia([Om(r), Om(d)]);
                if (y.flags & 4194304)
                  return d;
                if (Hd(y) || y.flags & 1048576) {
                  const x = y.flags & 1048576 ? i0(y.types, Hd) : 1;
                  x >= f && (l = d, f = x);
                }
              }
          }
          return l;
        }
        function Rft(r) {
          if (kc(
            r,
            67108864
            /* NonPrimitive */
          )) {
            const a = Hc(r, (l) => !(l.flags & 402784252));
            if (!(a.flags & 131072))
              return a;
          }
          return r;
        }
        function b5e(r, a, l) {
          if (a.flags & 1048576 && r.flags & 2621440) {
            const f = S8e(a, r);
            if (f)
              return f;
            const d = qa(r);
            if (d) {
              const y = b8e(d, a);
              if (y) {
                const x = Fpe(a, hr(y, (I) => [() => Yr(I), I.escapedName]), l);
                if (x !== a)
                  return x;
              }
            }
          }
        }
        function Yme(r) {
          const a = oS(r);
          return a || (Hs(r) ? sde(su(r.expression)) : void 0);
        }
        function VX(r) {
          return tr === r || (tr = r, Nr = L1(r)), Nr;
        }
        function R2(r) {
          return St === r || (St = r, Bt = ph(r)), Bt;
        }
        function JI(r) {
          const a = R2(r) & 7;
          return a === 2 || a === 4 || a === 6;
        }
        function jft(r, a) {
          const l = F.importHelpers ? 1 : 0, f = r?.imports[l];
          return f && E.assert(ao(f) && f.text === a, `Expected sourceFile.imports[${l}] to be the synthesized JSX runtime import`), f;
        }
        function Bft(r) {
          E.assert(F.importHelpers, "Expected importHelpers to be enabled");
          const a = r.imports[0];
          return E.assert(a && ao(a) && a.text === "tslib", "Expected sourceFile.imports[0] to be the synthesized tslib import"), a;
        }
      }
      function SRe(e) {
        return !Ty(e);
      }
      function j1e(e) {
        return e.kind !== 263 && e.kind !== 175 || !!e.body;
      }
      function B1e(e) {
        switch (e.parent.kind) {
          case 277:
          case 282:
            return Me(e) || e.kind === 11;
          default:
            return Hm(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 AW;
      ((e) => {
        e.Fragment = "Fragment";
      })(AW || (AW = {}));
      function J1e(e) {
        switch (e) {
          case 0:
            return "yieldType";
          case 1:
            return "returnType";
          case 2:
            return "nextType";
        }
      }
      function wu(e) {
        return !!(e.flags & 1);
      }
      function z1e(e) {
        return !!(e.flags & 2);
      }
      function TRe(e) {
        return {
          getCommonSourceDirectory: e.getCommonSourceDirectory ? () => e.getCommonSourceDirectory() : () => "",
          getCurrentDirectory: () => e.getCurrentDirectory(),
          getSymlinkCache: Fs(e, e.getSymlinkCache),
          getPackageJsonInfoCache: () => {
            var t;
            return (t = e.getPackageJsonInfoCache) == null ? void 0 : t.call(e);
          },
          useCaseSensitiveFileNames: () => e.useCaseSensitiveFileNames(),
          redirectTargetsMap: e.redirectTargetsMap,
          getRedirectFromSourceFile: (t) => e.getRedirectFromSourceFile(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: Fs(e, e.getGlobalTypingsCacheLocation)
        };
      }
      var kne = class N5e {
        constructor(t, n, i) {
          this.moduleResolverHost = void 0, this.inner = void 0, this.disableTrackSymbol = false;
          for (var s; n instanceof N5e; )
            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(), true;
            t.flags & 262144 || ((o = this.context).trackedSymbols ?? (o.trackedSymbols = [])).push([t, n, i]);
          }
          return false;
        }
        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 = true;
        }
        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 Qe(e, t, n, i) {
        if (e === void 0)
          return e;
        const s = t(e);
        let o;
        if (s !== void 0)
          return ss(s) ? o = (i || wRe)(s) : o = s, E.assertNode(o, n), o;
      }
      function Ar(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 = W1e(e, t, n, i, s);
        if (g !== e) {
          const m = N.createNodeArray(g, c);
          return Dd(m, _, u), m;
        }
        return e;
      }
      function GD(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), W1e(e, t, n, i, s);
      }
      function W1e(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 (ss(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 IW(e, t, n, i, s, o = Ar) {
        return n.startLexicalEnvironment(), e = o(e, t, Ti, i), s && (e = n.factory.ensureUseStrict(e)), N.mergeLexicalEnvironment(e, n.endLexicalEnvironment());
      }
      function cc(e, t, n, i = Ar) {
        let s;
        return n.startLexicalEnvironment(), e && (n.setLexicalEnvironmentFlags(1, true), s = i(e, t, Ii), n.getLexicalEnvironmentFlags() & 2 && pa(n.getCompilerOptions()) >= 2 && (s = xRe(s, n)), n.setLexicalEnvironmentFlags(1, false)), n.suspendLexicalEnvironment(), s;
      }
      function xRe(e, t) {
        let n;
        for (let i = 0; i < e.length; i++) {
          const s = e[i], o = kRe(s, t);
          (n || o !== s) && (n || (n = e.slice(0, i)), n[i] = o);
        }
        return n ? ct(t.factory.createNodeArray(n, e.hasTrailingComma), e) : e;
      }
      function kRe(e, t) {
        return e.dotDotDotToken ? e : Ds(e.name) ? CRe(e, t) : e.initializer ? ERe(e, e.name, e.initializer, t) : e;
      }
      function CRe(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 ERe(e, t, n, i) {
        const s = i.factory;
        return i.addInitializationStatement(
          s.createIfStatement(
            s.createTypeCheck(s.cloneNode(t), "undefined"),
            un(
              ct(
                s.createBlock([
                  s.createExpressionStatement(
                    un(
                      ct(
                        s.createAssignment(
                          un(
                            s.cloneNode(t),
                            96
                            /* NoSourceMap */
                          ),
                          un(
                            n,
                            96 | Ca(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 = Qe) {
        n.resumeLexicalEnvironment();
        const s = i(e, t, P7), o = n.endLexicalEnvironment();
        if (ot(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 i_(e, t, n, i = Qe) {
        n.startBlockScope();
        const s = i(e, t, Ti, n.factory.liftToBlock);
        E.assert(s);
        const o = n.endBlockScope();
        return ot(o) ? Ps(s) ? (o.push(...s.statements), n.factory.updateBlock(s, o)) : (o.push(s), n.factory.createBlock(o)) : s;
      }
      function bO(e, t, n = t) {
        if (n === t || e.length <= 1)
          return Ar(e, t, ut);
        let i = 0;
        const s = e.length;
        return Ar(e, (o) => {
          const c = i < s - 1;
          return i++, c ? n(o) : t(o);
        }, ut);
      }
      function br(e, t, n = y8, i = Ar, s, o = Qe) {
        if (e === void 0)
          return;
        const c = DRe[e.kind];
        return c === void 0 ? e : c(e, t, n, i, o, s);
      }
      var DRe = {
        167: function(t, n, i, s, o, c) {
          return i.factory.updateQualifiedName(
            t,
            E.checkDefined(o(t.left, n, Zu)),
            E.checkDefined(o(t.right, n, Me))
          );
        },
        168: function(t, n, i, s, o, c) {
          return i.factory.updateComputedPropertyName(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        // Signature elements
        169: function(t, n, i, s, o, c) {
          return i.factory.updateTypeParameterDeclaration(
            t,
            s(t.modifiers, n, Ys),
            E.checkDefined(o(t.name, n, Me)),
            o(t.constraint, n, li),
            o(t.default, n, li)
          );
        },
        170: function(t, n, i, s, o, c) {
          return i.factory.updateParameterDeclaration(
            t,
            s(t.modifiers, n, Ro),
            c ? o(t.dotDotDotToken, c, SF) : t.dotDotDotToken,
            E.checkDefined(o(t.name, n, X2)),
            c ? o(t.questionToken, c, By) : t.questionToken,
            o(t.type, n, li),
            o(t.initializer, n, ut)
          );
        },
        171: function(t, n, i, s, o, c) {
          return i.factory.updateDecorator(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        // Type elements
        172: function(t, n, i, s, o, c) {
          return i.factory.updatePropertySignature(
            t,
            s(t.modifiers, n, Ys),
            E.checkDefined(o(t.name, n, Wc)),
            c ? o(t.questionToken, c, By) : t.questionToken,
            o(t.type, n, li)
          );
        },
        173: function(t, n, i, s, o, c) {
          return i.factory.updatePropertyDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, Wc)),
            // QuestionToken and ExclamationToken are mutually exclusive in PropertyDeclaration
            c ? o(t.questionToken ?? t.exclamationToken, c, cre) : t.questionToken ?? t.exclamationToken,
            o(t.type, n, li),
            o(t.initializer, n, ut)
          );
        },
        174: function(t, n, i, s, o, c) {
          return i.factory.updateMethodSignature(
            t,
            s(t.modifiers, n, Ys),
            E.checkDefined(o(t.name, n, Wc)),
            c ? o(t.questionToken, c, By) : t.questionToken,
            s(t.typeParameters, n, Io),
            s(t.parameters, n, Ii),
            o(t.type, n, li)
          );
        },
        175: function(t, n, i, s, o, c) {
          return i.factory.updateMethodDeclaration(
            t,
            s(t.modifiers, n, Ro),
            c ? o(t.asteriskToken, c, FN) : t.asteriskToken,
            E.checkDefined(o(t.name, n, Wc)),
            c ? o(t.questionToken, c, By) : t.questionToken,
            s(t.typeParameters, n, Io),
            cc(t.parameters, n, i, s),
            o(t.type, n, li),
            Of(t.body, n, i, o)
          );
        },
        177: function(t, n, i, s, o, c) {
          return i.factory.updateConstructorDeclaration(
            t,
            s(t.modifiers, n, Ro),
            cc(t.parameters, n, i, s),
            Of(t.body, n, i, o)
          );
        },
        178: function(t, n, i, s, o, c) {
          return i.factory.updateGetAccessorDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, Wc)),
            cc(t.parameters, n, i, s),
            o(t.type, n, li),
            Of(t.body, n, i, o)
          );
        },
        179: function(t, n, i, s, o, c) {
          return i.factory.updateSetAccessorDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, Wc)),
            cc(t.parameters, n, i, s),
            Of(t.body, n, i, o)
          );
        },
        176: function(t, n, i, s, o, c) {
          return i.startLexicalEnvironment(), i.suspendLexicalEnvironment(), i.factory.updateClassStaticBlockDeclaration(
            t,
            Of(t.body, n, i, o)
          );
        },
        180: function(t, n, i, s, o, c) {
          return i.factory.updateCallSignature(
            t,
            s(t.typeParameters, n, Io),
            s(t.parameters, n, Ii),
            o(t.type, n, li)
          );
        },
        181: function(t, n, i, s, o, c) {
          return i.factory.updateConstructSignature(
            t,
            s(t.typeParameters, n, Io),
            s(t.parameters, n, Ii),
            o(t.type, n, li)
          );
        },
        182: function(t, n, i, s, o, c) {
          return i.factory.updateIndexSignature(
            t,
            s(t.modifiers, n, Ro),
            s(t.parameters, n, Ii),
            E.checkDefined(o(t.type, n, li))
          );
        },
        // Types
        183: function(t, n, i, s, o, c) {
          return i.factory.updateTypePredicateNode(
            t,
            o(t.assertsModifier, n, Pte),
            E.checkDefined(o(t.parameterName, n, lre)),
            o(t.type, n, li)
          );
        },
        184: function(t, n, i, s, o, c) {
          return i.factory.updateTypeReferenceNode(
            t,
            E.checkDefined(o(t.typeName, n, Zu)),
            s(t.typeArguments, n, li)
          );
        },
        185: function(t, n, i, s, o, c) {
          return i.factory.updateFunctionTypeNode(
            t,
            s(t.typeParameters, n, Io),
            s(t.parameters, n, Ii),
            E.checkDefined(o(t.type, n, li))
          );
        },
        186: function(t, n, i, s, o, c) {
          return i.factory.updateConstructorTypeNode(
            t,
            s(t.modifiers, n, Ys),
            s(t.typeParameters, n, Io),
            s(t.parameters, n, Ii),
            E.checkDefined(o(t.type, n, li))
          );
        },
        187: function(t, n, i, s, o, c) {
          return i.factory.updateTypeQueryNode(
            t,
            E.checkDefined(o(t.exprName, n, Zu)),
            s(t.typeArguments, n, li)
          );
        },
        188: function(t, n, i, s, o, c) {
          return i.factory.updateTypeLiteralNode(
            t,
            s(t.members, n, yb)
          );
        },
        189: function(t, n, i, s, o, c) {
          return i.factory.updateArrayTypeNode(
            t,
            E.checkDefined(o(t.elementType, n, li))
          );
        },
        190: function(t, n, i, s, o, c) {
          return i.factory.updateTupleTypeNode(
            t,
            s(t.elements, n, li)
          );
        },
        191: function(t, n, i, s, o, c) {
          return i.factory.updateOptionalTypeNode(
            t,
            E.checkDefined(o(t.type, n, li))
          );
        },
        192: function(t, n, i, s, o, c) {
          return i.factory.updateRestTypeNode(
            t,
            E.checkDefined(o(t.type, n, li))
          );
        },
        193: function(t, n, i, s, o, c) {
          return i.factory.updateUnionTypeNode(
            t,
            s(t.types, n, li)
          );
        },
        194: function(t, n, i, s, o, c) {
          return i.factory.updateIntersectionTypeNode(
            t,
            s(t.types, n, li)
          );
        },
        195: function(t, n, i, s, o, c) {
          return i.factory.updateConditionalTypeNode(
            t,
            E.checkDefined(o(t.checkType, n, li)),
            E.checkDefined(o(t.extendsType, n, li)),
            E.checkDefined(o(t.trueType, n, li)),
            E.checkDefined(o(t.falseType, n, li))
          );
        },
        196: function(t, n, i, s, o, c) {
          return i.factory.updateInferTypeNode(
            t,
            E.checkDefined(o(t.typeParameter, n, Io))
          );
        },
        206: function(t, n, i, s, o, c) {
          return i.factory.updateImportTypeNode(
            t,
            E.checkDefined(o(t.argument, n, li)),
            o(t.attributes, n, TS),
            o(t.qualifier, n, Zu),
            s(t.typeArguments, n, li),
            t.isTypeOf
          );
        },
        303: function(t, n, i, s, o, c) {
          return i.factory.updateImportTypeAssertionContainer(
            t,
            E.checkDefined(o(t.assertClause, n, Bte)),
            t.multiLine
          );
        },
        203: function(t, n, i, s, o, c) {
          return i.factory.updateNamedTupleMember(
            t,
            c ? o(t.dotDotDotToken, c, SF) : t.dotDotDotToken,
            E.checkDefined(o(t.name, n, Me)),
            c ? o(t.questionToken, c, By) : t.questionToken,
            E.checkDefined(o(t.type, n, li))
          );
        },
        197: function(t, n, i, s, o, c) {
          return i.factory.updateParenthesizedType(
            t,
            E.checkDefined(o(t.type, n, li))
          );
        },
        199: function(t, n, i, s, o, c) {
          return i.factory.updateTypeOperatorNode(
            t,
            E.checkDefined(o(t.type, n, li))
          );
        },
        200: function(t, n, i, s, o, c) {
          return i.factory.updateIndexedAccessTypeNode(
            t,
            E.checkDefined(o(t.objectType, n, li)),
            E.checkDefined(o(t.indexType, n, li))
          );
        },
        201: function(t, n, i, s, o, c) {
          return i.factory.updateMappedTypeNode(
            t,
            c ? o(t.readonlyToken, c, ure) : t.readonlyToken,
            E.checkDefined(o(t.typeParameter, n, Io)),
            o(t.nameType, n, li),
            c ? o(t.questionToken, c, _re) : t.questionToken,
            o(t.type, n, li),
            s(t.members, n, yb)
          );
        },
        202: function(t, n, i, s, o, c) {
          return i.factory.updateLiteralTypeNode(
            t,
            E.checkDefined(o(t.literal, n, EZ))
          );
        },
        204: function(t, n, i, s, o, c) {
          return i.factory.updateTemplateLiteralType(
            t,
            E.checkDefined(o(t.head, n, Fx)),
            s(t.templateSpans, n, pz)
          );
        },
        205: function(t, n, i, s, o, c) {
          return i.factory.updateTemplateLiteralTypeSpan(
            t,
            E.checkDefined(o(t.type, n, li)),
            E.checkDefined(o(t.literal, n, C7))
          );
        },
        // Binding patterns
        207: function(t, n, i, s, o, c) {
          return i.factory.updateObjectBindingPattern(
            t,
            s(t.elements, n, ha)
          );
        },
        208: function(t, n, i, s, o, c) {
          return i.factory.updateArrayBindingPattern(
            t,
            s(t.elements, n, D7)
          );
        },
        209: function(t, n, i, s, o, c) {
          return i.factory.updateBindingElement(
            t,
            c ? o(t.dotDotDotToken, c, SF) : t.dotDotDotToken,
            o(t.propertyName, n, Wc),
            E.checkDefined(o(t.name, n, X2)),
            o(t.initializer, n, ut)
          );
        },
        // Expression
        210: function(t, n, i, s, o, c) {
          return i.factory.updateArrayLiteralExpression(
            t,
            s(t.elements, n, ut)
          );
        },
        211: function(t, n, i, s, o, c) {
          return i.factory.updateObjectLiteralExpression(
            t,
            s(t.properties, n, dh)
          );
        },
        212: function(t, n, i, s, o, c) {
          return S7(t) ? i.factory.updatePropertyAccessChain(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            c ? o(t.questionDotToken, c, TF) : t.questionDotToken,
            E.checkDefined(o(t.name, n, xg))
          ) : i.factory.updatePropertyAccessExpression(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            E.checkDefined(o(t.name, n, xg))
          );
        },
        213: function(t, n, i, s, o, c) {
          return Lj(t) ? i.factory.updateElementAccessChain(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            c ? o(t.questionDotToken, c, TF) : t.questionDotToken,
            E.checkDefined(o(t.argumentExpression, n, ut))
          ) : i.factory.updateElementAccessExpression(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            E.checkDefined(o(t.argumentExpression, n, ut))
          );
        },
        214: function(t, n, i, s, o, c) {
          return H2(t) ? i.factory.updateCallChain(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            c ? o(t.questionDotToken, c, TF) : t.questionDotToken,
            s(t.typeArguments, n, li),
            s(t.arguments, n, ut)
          ) : i.factory.updateCallExpression(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            s(t.typeArguments, n, li),
            s(t.arguments, n, ut)
          );
        },
        215: function(t, n, i, s, o, c) {
          return i.factory.updateNewExpression(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            s(t.typeArguments, n, li),
            s(t.arguments, n, ut)
          );
        },
        216: function(t, n, i, s, o, c) {
          return i.factory.updateTaggedTemplateExpression(
            t,
            E.checkDefined(o(t.tag, n, ut)),
            s(t.typeArguments, n, li),
            E.checkDefined(o(t.template, n, ex))
          );
        },
        217: function(t, n, i, s, o, c) {
          return i.factory.updateTypeAssertion(
            t,
            E.checkDefined(o(t.type, n, li)),
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        218: function(t, n, i, s, o, c) {
          return i.factory.updateParenthesizedExpression(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        219: function(t, n, i, s, o, c) {
          return i.factory.updateFunctionExpression(
            t,
            s(t.modifiers, n, Ys),
            c ? o(t.asteriskToken, c, FN) : t.asteriskToken,
            o(t.name, n, Me),
            s(t.typeParameters, n, Io),
            cc(t.parameters, n, i, s),
            o(t.type, n, li),
            Of(t.body, n, i, o)
          );
        },
        220: function(t, n, i, s, o, c) {
          return i.factory.updateArrowFunction(
            t,
            s(t.modifiers, n, Ys),
            s(t.typeParameters, n, Io),
            cc(t.parameters, n, i, s),
            o(t.type, n, li),
            c ? E.checkDefined(o(t.equalsGreaterThanToken, c, wte)) : t.equalsGreaterThanToken,
            Of(t.body, n, i, o)
          );
        },
        221: function(t, n, i, s, o, c) {
          return i.factory.updateDeleteExpression(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        222: function(t, n, i, s, o, c) {
          return i.factory.updateTypeOfExpression(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        223: function(t, n, i, s, o, c) {
          return i.factory.updateVoidExpression(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        224: function(t, n, i, s, o, c) {
          return i.factory.updateAwaitExpression(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        225: function(t, n, i, s, o, c) {
          return i.factory.updatePrefixUnaryExpression(
            t,
            E.checkDefined(o(t.operand, n, ut))
          );
        },
        226: function(t, n, i, s, o, c) {
          return i.factory.updatePostfixUnaryExpression(
            t,
            E.checkDefined(o(t.operand, n, ut))
          );
        },
        227: function(t, n, i, s, o, c) {
          return i.factory.updateBinaryExpression(
            t,
            E.checkDefined(o(t.left, n, ut)),
            c ? E.checkDefined(o(t.operatorToken, c, pre)) : t.operatorToken,
            E.checkDefined(o(t.right, n, ut))
          );
        },
        228: function(t, n, i, s, o, c) {
          return i.factory.updateConditionalExpression(
            t,
            E.checkDefined(o(t.condition, n, ut)),
            c ? E.checkDefined(o(t.questionToken, c, By)) : t.questionToken,
            E.checkDefined(o(t.whenTrue, n, ut)),
            c ? E.checkDefined(o(t.colonToken, c, Dte)) : t.colonToken,
            E.checkDefined(o(t.whenFalse, n, ut))
          );
        },
        229: function(t, n, i, s, o, c) {
          return i.factory.updateTemplateExpression(
            t,
            E.checkDefined(o(t.head, n, Fx)),
            s(t.templateSpans, n, _6)
          );
        },
        230: function(t, n, i, s, o, c) {
          return i.factory.updateYieldExpression(
            t,
            c ? o(t.asteriskToken, c, FN) : t.asteriskToken,
            o(t.expression, n, ut)
          );
        },
        231: function(t, n, i, s, o, c) {
          return i.factory.updateSpreadElement(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        232: function(t, n, i, s, o, c) {
          return i.factory.updateClassExpression(
            t,
            s(t.modifiers, n, Ro),
            o(t.name, n, Me),
            s(t.typeParameters, n, Io),
            s(t.heritageClauses, n, nf),
            s(t.members, n, Uc)
          );
        },
        234: function(t, n, i, s, o, c) {
          return i.factory.updateExpressionWithTypeArguments(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            s(t.typeArguments, n, li)
          );
        },
        235: function(t, n, i, s, o, c) {
          return i.factory.updateAsExpression(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            E.checkDefined(o(t.type, n, li))
          );
        },
        239: function(t, n, i, s, o, c) {
          return i.factory.updateSatisfiesExpression(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            E.checkDefined(o(t.type, n, li))
          );
        },
        236: function(t, n, i, s, o, c) {
          return Tu(t) ? i.factory.updateNonNullChain(
            t,
            E.checkDefined(o(t.expression, n, ut))
          ) : i.factory.updateNonNullExpression(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        237: function(t, n, i, s, o, c) {
          return i.factory.updateMetaProperty(
            t,
            E.checkDefined(o(t.name, n, Me))
          );
        },
        // Misc
        240: function(t, n, i, s, o, c) {
          return i.factory.updateTemplateSpan(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            E.checkDefined(o(t.literal, n, C7))
          );
        },
        // Element
        242: function(t, n, i, s, o, c) {
          return i.factory.updateBlock(
            t,
            s(t.statements, n, Ti)
          );
        },
        244: function(t, n, i, s, o, c) {
          return i.factory.updateVariableStatement(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.declarationList, n, Bl))
          );
        },
        245: function(t, n, i, s, o, c) {
          return i.factory.updateExpressionStatement(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        246: function(t, n, i, s, o, c) {
          return i.factory.updateIfStatement(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            E.checkDefined(o(t.thenStatement, n, Ti, i.factory.liftToBlock)),
            o(t.elseStatement, n, Ti, i.factory.liftToBlock)
          );
        },
        247: function(t, n, i, s, o, c) {
          return i.factory.updateDoStatement(
            t,
            i_(t.statement, n, i, o),
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        248: function(t, n, i, s, o, c) {
          return i.factory.updateWhileStatement(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            i_(t.statement, n, i, o)
          );
        },
        249: function(t, n, i, s, o, c) {
          return i.factory.updateForStatement(
            t,
            o(t.initializer, n, ep),
            o(t.condition, n, ut),
            o(t.incrementor, n, ut),
            i_(t.statement, n, i, o)
          );
        },
        250: function(t, n, i, s, o, c) {
          return i.factory.updateForInStatement(
            t,
            E.checkDefined(o(t.initializer, n, ep)),
            E.checkDefined(o(t.expression, n, ut)),
            i_(t.statement, n, i, o)
          );
        },
        251: function(t, n, i, s, o, c) {
          return i.factory.updateForOfStatement(
            t,
            c ? o(t.awaitModifier, c, _z) : t.awaitModifier,
            E.checkDefined(o(t.initializer, n, ep)),
            E.checkDefined(o(t.expression, n, ut)),
            i_(t.statement, n, i, o)
          );
        },
        252: function(t, n, i, s, o, c) {
          return i.factory.updateContinueStatement(
            t,
            o(t.label, n, Me)
          );
        },
        253: function(t, n, i, s, o, c) {
          return i.factory.updateBreakStatement(
            t,
            o(t.label, n, Me)
          );
        },
        254: function(t, n, i, s, o, c) {
          return i.factory.updateReturnStatement(
            t,
            o(t.expression, n, ut)
          );
        },
        255: function(t, n, i, s, o, c) {
          return i.factory.updateWithStatement(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            E.checkDefined(o(t.statement, n, Ti, i.factory.liftToBlock))
          );
        },
        256: function(t, n, i, s, o, c) {
          return i.factory.updateSwitchStatement(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            E.checkDefined(o(t.caseBlock, n, AD))
          );
        },
        257: function(t, n, i, s, o, c) {
          return i.factory.updateLabeledStatement(
            t,
            E.checkDefined(o(t.label, n, Me)),
            E.checkDefined(o(t.statement, n, Ti, i.factory.liftToBlock))
          );
        },
        258: function(t, n, i, s, o, c) {
          return i.factory.updateThrowStatement(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        259: function(t, n, i, s, o, c) {
          return i.factory.updateTryStatement(
            t,
            E.checkDefined(o(t.tryBlock, n, Ps)),
            o(t.catchClause, n, Hb),
            o(t.finallyBlock, n, Ps)
          );
        },
        261: function(t, n, i, s, o, c) {
          return i.factory.updateVariableDeclaration(
            t,
            E.checkDefined(o(t.name, n, X2)),
            c ? o(t.exclamationToken, c, ON) : t.exclamationToken,
            o(t.type, n, li),
            o(t.initializer, n, ut)
          );
        },
        262: function(t, n, i, s, o, c) {
          return i.factory.updateVariableDeclarationList(
            t,
            s(t.declarations, n, ei)
          );
        },
        263: function(t, n, i, s, o, c) {
          return i.factory.updateFunctionDeclaration(
            t,
            s(t.modifiers, n, Ys),
            c ? o(t.asteriskToken, c, FN) : t.asteriskToken,
            o(t.name, n, Me),
            s(t.typeParameters, n, Io),
            cc(t.parameters, n, i, s),
            o(t.type, n, li),
            Of(t.body, n, i, o)
          );
        },
        264: function(t, n, i, s, o, c) {
          return i.factory.updateClassDeclaration(
            t,
            s(t.modifiers, n, Ro),
            o(t.name, n, Me),
            s(t.typeParameters, n, Io),
            s(t.heritageClauses, n, nf),
            s(t.members, n, Uc)
          );
        },
        265: function(t, n, i, s, o, c) {
          return i.factory.updateInterfaceDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, Me)),
            s(t.typeParameters, n, Io),
            s(t.heritageClauses, n, nf),
            s(t.members, n, yb)
          );
        },
        266: function(t, n, i, s, o, c) {
          return i.factory.updateTypeAliasDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, Me)),
            s(t.typeParameters, n, Io),
            E.checkDefined(o(t.type, n, li))
          );
        },
        267: function(t, n, i, s, o, c) {
          return i.factory.updateEnumDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, Me)),
            s(t.members, n, kh)
          );
        },
        268: function(t, n, i, s, o, c) {
          return i.factory.updateModuleDeclaration(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.name, n, fre)),
            o(t.body, n, wZ)
          );
        },
        269: function(t, n, i, s, o, c) {
          return i.factory.updateModuleBlock(
            t,
            s(t.statements, n, Ti)
          );
        },
        270: function(t, n, i, s, o, c) {
          return i.factory.updateCaseBlock(
            t,
            s(t.clauses, n, A7)
          );
        },
        271: function(t, n, i, s, o, c) {
          return i.factory.updateNamespaceExportDeclaration(
            t,
            E.checkDefined(o(t.name, n, Me))
          );
        },
        272: 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, Me)),
            E.checkDefined(o(t.moduleReference, n, FZ))
          );
        },
        273: function(t, n, i, s, o, c) {
          return i.factory.updateImportDeclaration(
            t,
            s(t.modifiers, n, Ro),
            o(t.importClause, n, sd),
            E.checkDefined(o(t.moduleSpecifier, n, ut)),
            o(t.attributes, n, TS)
          );
        },
        301: function(t, n, i, s, o, c) {
          return i.factory.updateImportAttributes(
            t,
            s(t.elements, n, Jte),
            t.multiLine
          );
        },
        302: function(t, n, i, s, o, c) {
          return i.factory.updateImportAttribute(
            t,
            E.checkDefined(o(t.name, n, bZ)),
            E.checkDefined(o(t.value, n, ut))
          );
        },
        274: function(t, n, i, s, o, c) {
          return i.factory.updateImportClause(
            t,
            t.phaseModifier,
            o(t.name, n, Me),
            o(t.namedBindings, n, $j)
          );
        },
        275: function(t, n, i, s, o, c) {
          return i.factory.updateNamespaceImport(
            t,
            E.checkDefined(o(t.name, n, Me))
          );
        },
        281: function(t, n, i, s, o, c) {
          return i.factory.updateNamespaceExport(
            t,
            E.checkDefined(o(t.name, n, Me))
          );
        },
        276: function(t, n, i, s, o, c) {
          return i.factory.updateNamedImports(
            t,
            s(t.elements, n, qu)
          );
        },
        277: function(t, n, i, s, o, c) {
          return i.factory.updateImportSpecifier(
            t,
            t.isTypeOnly,
            o(t.propertyName, n, PF),
            E.checkDefined(o(t.name, n, Me))
          );
        },
        278: function(t, n, i, s, o, c) {
          return i.factory.updateExportAssignment(
            t,
            s(t.modifiers, n, Ro),
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        279: function(t, n, i, s, o, c) {
          return i.factory.updateExportDeclaration(
            t,
            s(t.modifiers, n, Ro),
            t.isTypeOnly,
            o(t.exportClause, n, Rj),
            o(t.moduleSpecifier, n, ut),
            o(t.attributes, n, TS)
          );
        },
        280: function(t, n, i, s, o, c) {
          return i.factory.updateNamedExports(
            t,
            s(t.elements, n, Eu)
          );
        },
        282: function(t, n, i, s, o, c) {
          return i.factory.updateExportSpecifier(
            t,
            t.isTypeOnly,
            o(t.propertyName, n, PF),
            E.checkDefined(o(t.name, n, PF))
          );
        },
        // Module references
        284: function(t, n, i, s, o, c) {
          return i.factory.updateExternalModuleReference(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        // JSX
        285: function(t, n, i, s, o, c) {
          return i.factory.updateJsxElement(
            t,
            E.checkDefined(o(t.openingElement, n, wd)),
            s(t.children, n, p3),
            E.checkDefined(o(t.closingElement, n, Vb))
          );
        },
        286: function(t, n, i, s, o, c) {
          return i.factory.updateJsxSelfClosingElement(
            t,
            E.checkDefined(o(t.tagName, n, E4)),
            s(t.typeArguments, n, li),
            E.checkDefined(o(t.attributes, n, qb))
          );
        },
        287: function(t, n, i, s, o, c) {
          return i.factory.updateJsxOpeningElement(
            t,
            E.checkDefined(o(t.tagName, n, E4)),
            s(t.typeArguments, n, li),
            E.checkDefined(o(t.attributes, n, qb))
          );
        },
        288: function(t, n, i, s, o, c) {
          return i.factory.updateJsxClosingElement(
            t,
            E.checkDefined(o(t.tagName, n, E4))
          );
        },
        296: function(t, n, i, s, o, c) {
          return i.factory.updateJsxNamespacedName(
            t,
            E.checkDefined(o(t.namespace, n, Me)),
            E.checkDefined(o(t.name, n, Me))
          );
        },
        289: function(t, n, i, s, o, c) {
          return i.factory.updateJsxFragment(
            t,
            E.checkDefined(o(t.openingFragment, n, ad)),
            s(t.children, n, p3),
            E.checkDefined(o(t.closingFragment, n, Wte))
          );
        },
        292: function(t, n, i, s, o, c) {
          return i.factory.updateJsxAttribute(
            t,
            E.checkDefined(o(t.name, n, Qee)),
            o(t.initializer, n, OZ)
          );
        },
        293: function(t, n, i, s, o, c) {
          return i.factory.updateJsxAttributes(
            t,
            s(t.properties, n, N7)
          );
        },
        294: function(t, n, i, s, o, c) {
          return i.factory.updateJsxSpreadAttribute(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        295: function(t, n, i, s, o, c) {
          return i.factory.updateJsxExpression(
            t,
            o(t.expression, n, ut)
          );
        },
        // Clauses
        297: function(t, n, i, s, o, c) {
          return i.factory.updateCaseClause(
            t,
            E.checkDefined(o(t.expression, n, ut)),
            s(t.statements, n, Ti)
          );
        },
        298: function(t, n, i, s, o, c) {
          return i.factory.updateDefaultClause(
            t,
            s(t.statements, n, Ti)
          );
        },
        299: function(t, n, i, s, o, c) {
          return i.factory.updateHeritageClause(
            t,
            s(t.types, n, Th)
          );
        },
        300: function(t, n, i, s, o, c) {
          return i.factory.updateCatchClause(
            t,
            o(t.variableDeclaration, n, ei),
            E.checkDefined(o(t.block, n, Ps))
          );
        },
        // Property assignments
        304: function(t, n, i, s, o, c) {
          return i.factory.updatePropertyAssignment(
            t,
            E.checkDefined(o(t.name, n, Wc)),
            E.checkDefined(o(t.initializer, n, ut))
          );
        },
        305: function(t, n, i, s, o, c) {
          return i.factory.updateShorthandPropertyAssignment(
            t,
            E.checkDefined(o(t.name, n, Me)),
            o(t.objectAssignmentInitializer, n, ut)
          );
        },
        306: function(t, n, i, s, o, c) {
          return i.factory.updateSpreadAssignment(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        // Enum
        307: function(t, n, i, s, o, c) {
          return i.factory.updateEnumMember(
            t,
            E.checkDefined(o(t.name, n, Wc)),
            o(t.initializer, n, ut)
          );
        },
        // Top-level nodes
        308: function(t, n, i, s, o, c) {
          return i.factory.updateSourceFile(
            t,
            IW(t.statements, n, i)
          );
        },
        // Transformation nodes
        356: function(t, n, i, s, o, c) {
          return i.factory.updatePartiallyEmittedExpression(
            t,
            E.checkDefined(o(t.expression, n, ut))
          );
        },
        357: function(t, n, i, s, o, c) {
          return i.factory.updateCommaListExpression(
            t,
            s(t.elements, n, ut)
          );
        }
      };
      function wRe(e) {
        return E.assert(e.length <= 1, "Too many nodes written to output."), yg(e);
      }
      function Cne(e, t, n, i, s) {
        var { enter: o, exit: c } = s.extendedDiagnostics ? HR("Source Map", "beforeSourcemap", "afterSourcemap") : TQ, _ = [], u = [], g = /* @__PURE__ */ new Map(), m, h = [], S, T = [], k = "", D = 0, P = 0, A = 0, O = 0, F = 0, R = 0, B = false, U = 0, $ = 0, W = 0, _e = 0, K = 0, V = 0, ae = false, se = false, ce = false;
        return {
          getSources: () => _,
          addSource: fe,
          setSourceContent: he,
          addName: q,
          addMapping: me,
          appendSourceMap: Z,
          toJSON: ne,
          toString: () => JSON.stringify(ne())
        };
        function fe(ie) {
          o();
          const Ne = XT(
            i,
            ie,
            e.getCurrentDirectory(),
            e.getCanonicalFileName,
            /*isAbsolutePathAnUrl*/
            true
          );
          let Ee = g.get(Ne);
          return Ee === void 0 && (Ee = u.length, u.push(Ne), _.push(ie), g.set(Ne, Ee)), c(), Ee;
        }
        function he(ie, Ne) {
          if (o(), Ne !== null) {
            for (m || (m = []); m.length < ie; )
              m.push(null);
            m[ie] = Ne;
          }
          c();
        }
        function q(ie) {
          o(), S || (S = /* @__PURE__ */ new Map());
          let Ne = S.get(ie);
          return Ne === void 0 && (Ne = h.length, h.push(ie), S.set(ie, Ne)), c(), Ne;
        }
        function be(ie, Ne) {
          return !ae || U !== ie || $ !== Ne;
        }
        function je(ie, Ne, Ee) {
          return ie !== void 0 && Ne !== void 0 && Ee !== void 0 && W === ie && (_e > Ne || _e === Ne && K > Ee);
        }
        function me(ie, Ne, Ee, Ce, Ve, St) {
          E.assert(ie >= U, "generatedLine cannot backtrack"), E.assert(Ne >= 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(Ve === void 0 || Ve >= 0, "sourceCharacter cannot be negative"), o(), (be(ie, Ne) || je(Ee, Ce, Ve)) && (Fe(), U = ie, $ = Ne, se = false, ce = false, ae = true), Ee !== void 0 && Ce !== void 0 && Ve !== void 0 && (W = Ee, _e = Ce, K = Ve, se = true, St !== void 0 && (V = St, ce = true)), c();
        }
        function Z(ie, Ne, Ee, Ce, Ve, St) {
          E.assert(ie >= U, "generatedLine cannot backtrack"), E.assert(Ne >= 0, "generatedCharacter cannot be negative"), o();
          const Bt = [];
          let tr;
          const Nr = MW(Ee.mappings);
          for (const st of Nr) {
            if (St && (st.generatedLine > St.line || st.generatedLine === St.line && st.generatedCharacter > St.character))
              break;
            if (Ve && (st.generatedLine < Ve.line || Ve.line === st.generatedLine && st.generatedCharacter < Ve.character))
              continue;
            let Wt, Jr, ui, Ji;
            if (st.sourceIndex !== void 0) {
              if (Wt = Bt[st.sourceIndex], Wt === void 0) {
                const pn = Ee.sources[st.sourceIndex], _i = Ee.sourceRoot ? On(Ee.sourceRoot, pn) : pn, Je = On(Hn(Ce), _i);
                Bt[st.sourceIndex] = Wt = fe(Je), Ee.sourcesContent && typeof Ee.sourcesContent[st.sourceIndex] == "string" && he(Wt, Ee.sourcesContent[st.sourceIndex]);
              }
              Jr = st.sourceLine, ui = st.sourceCharacter, Ee.names && st.nameIndex !== void 0 && (tr || (tr = []), Ji = tr[st.nameIndex], Ji === void 0 && (tr[st.nameIndex] = Ji = q(Ee.names[st.nameIndex])));
            }
            const Dt = st.generatedLine - (Ve ? Ve.line : 0), Mn = Dt + ie, ai = Ve && Ve.line === st.generatedLine ? st.generatedCharacter - Ve.character : st.generatedCharacter, fi = Dt === 0 ? ai + Ne : ai;
            me(Mn, fi, Wt, Jr, ui, Ji);
          }
          c();
        }
        function pe() {
          return !B || D !== U || P !== $ || A !== W || O !== _e || F !== K || R !== V;
        }
        function Te(ie) {
          T.push(ie), T.length >= 1024 && Ye();
        }
        function Fe() {
          if (!(!ae || !pe())) {
            if (o(), D < U) {
              do
                Te(
                  59
                  /* semicolon */
                ), D++;
              while (D < U);
              P = 0;
            } else
              E.assertEqual(D, U, "generatedLine cannot backtrack"), B && Te(
                44
                /* comma */
              );
            Se($ - P), P = $, se && (Se(W - A), A = W, Se(_e - O), O = _e, Se(K - F), F = K, ce && (Se(V - R), R = V)), B = true, c();
          }
        }
        function Ye() {
          T.length > 0 && (k += String.fromCharCode.apply(void 0, T), T.length = 0);
        }
        function ne() {
          return Fe(), Ye(), {
            version: 3,
            file: t,
            sourceRoot: n,
            sources: u,
            names: h,
            mappings: k,
            sourcesContent: m
          };
        }
        function Se(ie) {
          ie < 0 ? ie = (-ie << 1) + 1 : ie = ie << 1;
          do {
            let Ne = ie & 31;
            ie = ie >> 5, ie > 0 && (Ne = Ne | 32), Te(ARe(Ne));
          } while (ie > 0);
        }
      }
      var Ene = /\/\/[@#] source[M]appingURL=(.+)\r?\n?$/, FW = /^\/\/[@#] source[M]appingURL=(.+)\r?\n?$/, OW = /^\s*(\/\/[@#] .*)?$/;
      function LW(e, t) {
        return {
          getLineCount: () => t.length,
          getLineText: (n) => e.substring(t[n], t[n + 1])
        };
      }
      function Dne(e) {
        for (let t = e.getLineCount() - 1; t >= 0; t--) {
          const n = e.getLineText(t), i = FW.exec(n);
          if (i)
            return i[1].trimEnd();
          if (!n.match(OW))
            break;
        }
      }
      function PRe(e) {
        return typeof e == "string" || e === null;
      }
      function NRe(e) {
        return e !== null && typeof e == "object" && e.version === 3 && typeof e.file == "string" && typeof e.mappings == "string" && ss(e.sources) && Ni(e.sources, ms) && (e.sourceRoot === void 0 || e.sourceRoot === null || typeof e.sourceRoot == "string") && (e.sourcesContent === void 0 || e.sourcesContent === null || ss(e.sourcesContent) && Ni(e.sourcesContent, PRe)) && (e.names === void 0 || e.names === null || ss(e.names) && Ni(e.names, ms));
      }
      function wne(e) {
        try {
          const t = JSON.parse(e);
          if (NRe(t))
            return t;
        } catch {
        }
      }
      function MW(e) {
        let t = false, 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*/
              true,
              /*hasName*/
              true
            );
          },
          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 = false, F = false;
              if (s += P(), k()) return h();
              if (s < 0) return T("Invalid generatedCharacter found");
              if (!D()) {
                if (O = true, o += P(), k()) return h();
                if (o < 0) return T("Invalid sourceIndex found");
                if (D()) return T("Unsupported Format: No entries after sourceIndex");
                if (c += P(), k()) return h();
                if (c < 0) return T("Invalid sourceLine found");
                if (D()) return T("Unsupported Format: No entries after sourceLine");
                if (_ += P(), k()) return h();
                if (_ < 0) return T("Invalid sourceCharacter found");
                if (!D()) {
                  if (F = true, u += P(), 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 = true, { value: void 0, done: true };
        }
        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 P() {
          let A = true, O = 0, F = 0;
          for (; A; n++) {
            if (n >= e.length) return S("Error in decoding base64VLQFormatDecode, past the mapping string"), -1;
            const R = IRe(e.charCodeAt(n));
            if (R === -1) return S("Invalid character in VLQ"), -1;
            A = (R & 32) !== 0, F = F | (R & 31) << O, O += 5;
          }
          return (F & 1) === 0 ? F = F >> 1 : (F = F >> 1, F = -F), F;
        }
      }
      function U1e(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 Pne(e) {
        return e.sourceIndex !== void 0 && e.sourceLine !== void 0 && e.sourceCharacter !== void 0;
      }
      function ARe(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 IRe(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 V1e(e) {
        return e.sourceIndex !== void 0 && e.sourcePosition !== void 0;
      }
      function q1e(e, t) {
        return e.generatedPosition === t.generatedPosition && e.sourceIndex === t.sourceIndex && e.sourcePosition === t.sourcePosition;
      }
      function FRe(e, t) {
        return E.assert(e.sourceIndex === t.sourceIndex), po(e.sourcePosition, t.sourcePosition);
      }
      function ORe(e, t) {
        return po(e.generatedPosition, t.generatedPosition);
      }
      function LRe(e) {
        return e.sourcePosition;
      }
      function MRe(e) {
        return e.generatedPosition;
      }
      function Nne(e, t, n) {
        const i = Hn(n), s = t.sourceRoot ? Qi(t.sourceRoot, i) : i, o = Qi(t.file, i), c = e.getSourceFileLike(o), _ = t.sources.map((O) => Qi(O, s)), u = new Map(_.map((O, F) => [e.getCanonicalFileName(O), F]));
        let g, m, h;
        return {
          getSourcePosition: A,
          getGeneratedPosition: P
        };
        function S(O) {
          const F = c !== void 0 ? VP(
            c,
            O.generatedLine,
            O.generatedCharacter,
            /*allowEdits*/
            true
          ) : -1;
          let R, B;
          if (Pne(O)) {
            const U = e.getSourceFileLike(_[O.sourceIndex]);
            R = t.sources[O.sourceIndex], B = U !== void 0 ? VP(
              U,
              O.sourceLine,
              O.sourceCharacter,
              /*allowEdits*/
              true
            ) : -1;
          }
          return {
            generatedPosition: F,
            source: R,
            sourceIndex: O.sourceIndex,
            sourcePosition: B,
            nameIndex: O.nameIndex
          };
        }
        function T() {
          if (g === void 0) {
            const O = MW(t.mappings), F = ns(O, S);
            O.error !== void 0 ? (e.log && e.log(`Encountered error while decoding sourcemap: ${O.error}`), g = Ge) : g = F;
          }
          return g;
        }
        function k(O) {
          if (h === void 0) {
            const F = [];
            for (const R of T()) {
              if (!V1e(R)) continue;
              let B = F[R.sourceIndex];
              B || (F[R.sourceIndex] = B = []), B.push(R);
            }
            h = F.map((R) => ZE(R, FRe, q1e));
          }
          return h[O];
        }
        function D() {
          if (m === void 0) {
            const O = [];
            for (const F of T())
              O.push(F);
            m = ZE(O, ORe, q1e);
          }
          return m;
        }
        function P(O) {
          const F = u.get(e.getCanonicalFileName(O.fileName));
          if (F === void 0) return O;
          const R = k(F);
          if (!ot(R)) return O;
          let B = zT(R, O.pos, LRe, po);
          B < 0 && (B = ~B);
          const U = R[B];
          return U === void 0 || U.sourceIndex !== F ? O : { fileName: o, pos: U.generatedPosition };
        }
        function A(O) {
          const F = D();
          if (!ot(F)) return O;
          let R = zT(F, O.pos, MRe, po);
          R < 0 && (R = ~R);
          const B = F[R];
          return B === void 0 || !V1e(B) ? O : { fileName: _[B.sourceIndex], pos: B.sourcePosition };
        }
      }
      var RW = {
        getSourcePosition: fo,
        getGeneratedPosition: fo
      };
      function s_(e) {
        return e = zo(e), e ? Oa(e) : 0;
      }
      function H1e(e) {
        return !e || !gm(e) && !_p(e) ? false : ot(e.elements, G1e);
      }
      function G1e(e) {
        return Um(e.propertyName || e.name);
      }
      function Ad(e, t) {
        return n;
        function n(s) {
          return s.kind === 308 ? t(s) : i(s);
        }
        function i(s) {
          return e.factory.createBundle(hr(s.sourceFiles, t));
        }
      }
      function Ane(e) {
        return !!JC(e);
      }
      function SO(e) {
        if (JC(e))
          return true;
        const t = e.importClause && e.importClause.namedBindings;
        if (!t || !gm(t)) return false;
        let n = 0;
        for (const i of t.elements)
          G1e(i) && n++;
        return n > 0 && n !== t.elements.length || !!(t.elements.length - n) && sS(e);
      }
      function jW(e) {
        return !SO(e) && (sS(e) || !!e.importClause && gm(e.importClause.namedBindings) && H1e(e.importClause.namedBindings));
      }
      function BW(e, t) {
        const n = e.getEmitResolver(), i = e.getCompilerOptions(), s = [], o = new RRe(), c = [], _ = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Set();
        let g, m = false, h, S = false, T = false, k = false;
        for (const O of t.statements)
          switch (O.kind) {
            case 273:
              s.push(O), !T && SO(O) && (T = true), !k && jW(O) && (k = true);
              break;
            case 272:
              O.moduleReference.kind === 284 && s.push(O);
              break;
            case 279:
              if (O.moduleSpecifier)
                if (!O.exportClause)
                  s.push(O), S = true;
                else if (s.push(O), _p(O.exportClause))
                  P(O), k || (k = H1e(O.exportClause));
                else {
                  const F = O.exportClause.name, R = Dy(F);
                  _.get(R) || ($D(c, s_(O), F), _.set(R, true), g = Er(g, F)), T = true;
                }
              else
                P(O);
              break;
            case 278:
              O.isExportEquals && !h && (h = O);
              break;
            case 244:
              if (Gn(
                O,
                32
                /* Export */
              ))
                for (const F of O.declarationList.declarations)
                  g = $1e(F, _, g, c);
              break;
            case 263:
              Gn(
                O,
                32
                /* Export */
              ) && A(
                O,
                /*name*/
                void 0,
                Gn(
                  O,
                  2048
                  /* Default */
                )
              );
              break;
            case 264:
              if (Gn(
                O,
                32
                /* Export */
              ))
                if (Gn(
                  O,
                  2048
                  /* Default */
                ))
                  m || ($D(c, s_(O), e.factory.getDeclarationName(O)), m = true);
                else {
                  const F = O.name;
                  F && !_.get(An(F)) && ($D(c, s_(O), F), _.set(An(F), true), g = Er(g, F));
                }
              break;
          }
        const D = Fz(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 P(O) {
          for (const F of Ws(O.exportClause, _p).elements) {
            const R = Dy(F.name);
            if (!_.get(R)) {
              const B = F.propertyName || F.name;
              if (B.kind !== 11) {
                O.moduleSpecifier || o.add(B, F);
                const U = n.getReferencedImportDeclaration(B) || n.getReferencedValueDeclaration(B);
                if (U) {
                  if (U.kind === 263) {
                    A(U, F.name, Um(F.name));
                    continue;
                  }
                  $D(c, s_(U), F.name);
                }
              }
              _.set(R, true), g = Er(g, F.name);
            }
          }
        }
        function A(O, F, R) {
          if (u.add(zo(O, Tc)), R)
            m || ($D(c, s_(O), F ?? e.factory.getDeclarationName(O)), m = true);
          else {
            F ?? (F = O.name);
            const B = Dy(F);
            _.get(B) || ($D(c, s_(O), F), _.set(B, true));
          }
        }
      }
      function $1e(e, t, n, i) {
        if (Ds(e.name))
          for (const s of e.name.elements)
            gl(s) || (n = $1e(s, t, n, i));
        else if (!Mo(e.name)) {
          const s = An(e.name);
          t.get(s) || (t.set(s, true), n = Er(n, e.name), Ch(e.name) && $D(i, s_(e), e.name));
        }
        return n;
      }
      function $D(e, t, n) {
        let i = e[t];
        return i ? i.push(n) : e[t] = i = [n], i;
      }
      var N6 = class HE {
        constructor() {
          this._map = /* @__PURE__ */ new Map();
        }
        get size() {
          return this._map.size;
        }
        has(t) {
          return this._map.has(HE.toKey(t));
        }
        get(t) {
          return this._map.get(HE.toKey(t));
        }
        set(t, n) {
          return this._map.set(HE.toKey(t), n), this;
        }
        delete(t) {
          var n;
          return ((n = this._map) == null ? void 0 : n.delete(HE.toKey(t))) ?? false;
        }
        clear() {
          this._map.clear();
        }
        values() {
          return this._map.values();
        }
        static toKey(t) {
          if ($2(t) || Mo(t)) {
            const n = t.emitNode.autoGenerate;
            if ((n.flags & 7) === 4) {
              const i = GN(t), s = xg(i) && i !== t ? HE.toKey(i) : `(generated@${Oa(i)})`;
              return av(
                /*privateName*/
                false,
                n.prefix,
                s,
                n.suffix,
                HE.toKey
              );
            } else {
              const i = `(auto@${n.id})`;
              return av(
                /*privateName*/
                false,
                n.prefix,
                i,
                n.suffix,
                HE.toKey
              );
            }
          }
          return Ai(t) ? An(t).slice(1) : An(t);
        }
      }, RRe = class extends N6 {
        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 && (VT(n, t), n.length || this.delete(e));
        }
      };
      function Qb(e) {
        return Ma(e) || e.kind === 9 || b_(e.kind) || Me(e);
      }
      function Zm(e) {
        return !Me(e) && Qb(e);
      }
      function XD(e) {
        return e >= 65 && e <= 79;
      }
      function QD(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 TO(e) {
        if (!Dl(e))
          return;
        const t = Ra(e.expression);
        return eS(t) ? t : void 0;
      }
      function X1e(e, t, n) {
        for (let i = t; i < e.length; i += 1) {
          const s = e[i];
          if (TO(s))
            return n.unshift(i), true;
          if (SS(s) && X1e(s.tryBlock.statements, 0, n))
            return n.unshift(i), true;
        }
        return false;
      }
      function xO(e, t) {
        const n = [];
        return X1e(e, t, n), n;
      }
      function JW(e, t, n) {
        return kn(e.members, (i) => BRe(i, t, n));
      }
      function jRe(e) {
        return JRe(e) || Sc(e);
      }
      function kO(e) {
        return kn(e.members, jRe);
      }
      function BRe(e, t, n) {
        return as(e) && (!!e.initializer || !t) && sl(e) === n;
      }
      function JRe(e) {
        return as(e) && sl(e);
      }
      function _8(e) {
        return e.kind === 173 && e.initializer !== void 0;
      }
      function Ine(e) {
        return !Bs(e) && (KT(e) || g_(e)) && Ai(e.name);
      }
      function Fne(e) {
        let t;
        if (e) {
          const n = e.parameters, i = n.length > 0 && Ay(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] = hy(_));
          }
        }
        return t;
      }
      function zW(e, t) {
        const n = hy(e), i = t ? Fne(Ag(e)) : void 0;
        if (!(!ot(n) && !ot(i)))
          return {
            decorators: n,
            parameters: i
          };
      }
      function CO(e, t, n) {
        switch (e.kind) {
          case 178:
          case 179:
            return n ? zRe(
              e,
              t
            ) : Q1e(
              e,
              /*useLegacyDecorators*/
              false
            );
          case 175:
            return Q1e(e, n);
          case 173:
            return WRe(e);
          default:
            return;
        }
      }
      function zRe(e, t, n) {
        if (!e.body)
          return;
        const { firstAccessor: i, secondAccessor: s, getAccessor: o, setAccessor: c } = Fb(t.members, e), _ = Pf(i) ? i : s && Pf(s) ? s : void 0;
        if (!_ || e !== _)
          return;
        const u = hy(_), g = Fne(c);
        if (!(!ot(u) && !ot(g)))
          return {
            decorators: u,
            parameters: g,
            getDecorators: o && hy(o),
            setDecorators: c && hy(c)
          };
      }
      function Q1e(e, t) {
        if (!e.body)
          return;
        const n = hy(e), i = t ? Fne(e) : void 0;
        if (!(!ot(n) && !ot(i)))
          return { decorators: n, parameters: i };
      }
      function WRe(e) {
        const t = hy(e);
        if (ot(t))
          return { decorators: t };
      }
      function URe(e, t) {
        for (; e; ) {
          const n = t(e);
          if (n !== void 0) return n;
          e = e.previous;
        }
      }
      function One(e) {
        return { data: e };
      }
      function WW(e, t) {
        var n, i;
        return $2(t) ? (n = e?.generatedIdentifiers) == null ? void 0 : n.get(GN(t)) : (i = e?.identifiers) == null ? void 0 : i.get(t.escapedText);
      }
      function AS(e, t, n) {
        $2(t) ? (e.generatedIdentifiers ?? (e.generatedIdentifiers = /* @__PURE__ */ new Map()), e.generatedIdentifiers.set(GN(t), n)) : (e.identifiers ?? (e.identifiers = /* @__PURE__ */ new Map()), e.identifiers.set(t.escapedText, n));
      }
      function Lne(e, t) {
        return URe(e, (n) => WW(n.privateEnv, t));
      }
      function VRe(e) {
        return !e.initializer && Me(e.name);
      }
      function f8(e) {
        return Ni(e, VRe);
      }
      function Zx(e, t) {
        if (!e || !oa(e) || !z3(e.text, t))
          return e;
        const n = g0(e.text, v8(e.text, t));
        return n !== e.text ? Cn(ct(N.createStringLiteral(n, e.singleQuote), e), e) : e;
      }
      var Mne = /* @__PURE__ */ ((e) => (e[e.All = 0] = "All", e[e.ObjectRest = 1] = "ObjectRest", e))(Mne || {});
      function IS(e, t, n, i, s, o) {
        let c = e, _;
        if (p0(e))
          for (_ = e.right; iee(e.left) || oJ(e.left); )
            if (p0(_))
              c = e = _, _ = e.right;
            else
              return E.checkDefined(Qe(_, t, ut));
        let u;
        const g = {
          context: n,
          level: i,
          downlevelIteration: !!n.getCompilerOptions().downlevelIteration,
          hoistTempVariables: true,
          emitExpression: m,
          emitBindingOrAssignment: h,
          createArrayBindingOrAssignmentPattern: (S) => ZRe(n.factory, S),
          createObjectBindingOrAssignmentPattern: (S) => eje(n.factory, S),
          createArrayBindingOrAssignmentElement: rje,
          visitor: t
        };
        if (_ && (_ = Qe(_, t, ut), E.assert(_), Me(_) && Rne(e, _.escapedText) || jne(e) ? _ = Kx(
          g,
          _,
          /*reuseIdentifierExpressions*/
          false,
          c
        ) : s ? _ = Kx(
          g,
          _,
          /*reuseIdentifierExpressions*/
          true,
          c
        ) : ao(e) && (c = _)), YD(
          g,
          e,
          _,
          c,
          /*skipInitializer*/
          p0(e)
        ), _ && s) {
          if (!ot(u))
            return _;
          u.push(_);
        }
        return n.factory.inlineExpressions(u) || n.factory.createOmittedExpression();
        function m(S) {
          u = Er(u, S);
        }
        function h(S, T, k, D) {
          E.assertNode(S, o ? Me : ut);
          const P = o ? o(S, T, k) : ct(
            n.factory.createAssignment(E.checkDefined(Qe(S, t, ut)), T),
            k
          );
          P.original = D, m(P);
        }
      }
      function Rne(e, t) {
        const n = Uy(e);
        return a3(n) ? qRe(n, t) : Me(n) ? n.escapedText === t : false;
      }
      function qRe(e, t) {
        const n = b6(e);
        for (const i of n)
          if (Rne(i, t))
            return true;
        return false;
      }
      function jne(e) {
        const t = JF(e);
        if (t && Hs(t) && !G2(t.expression))
          return true;
        const n = Uy(e);
        return !!n && a3(n) && HRe(n);
      }
      function HRe(e) {
        return !!lr(b6(e), jne);
      }
      function Yb(e, t, n, i, s, o = false, c) {
        let _;
        const u = [], g = [], m = {
          context: n,
          level: i,
          downlevelIteration: !!n.getCompilerOptions().downlevelIteration,
          hoistTempVariables: o,
          emitExpression: h,
          emitBindingOrAssignment: S,
          createArrayBindingOrAssignmentPattern: (T) => YRe(n.factory, T),
          createObjectBindingOrAssignmentPattern: (T) => KRe(n.factory, T),
          createArrayBindingOrAssignmentElement: (T) => tje(n.factory, T),
          visitor: t
        };
        if (ei(e)) {
          let T = qN(e);
          T && (Me(T) && Rne(e, T.escapedText) || jne(e)) && (T = Kx(
            m,
            E.checkDefined(Qe(T, m.visitor, ut)),
            /*reuseIdentifierExpressions*/
            false,
            T
          ), e = n.factory.updateVariableDeclaration(
            e,
            e.name,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            T
          ));
        }
        if (YD(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 = fa(u);
            k.pendingExpressions = Er(
              k.pendingExpressions,
              n.factory.createAssignment(T, k.value)
            ), In(k.pendingExpressions, _), k.value = T;
          }
        }
        for (const { pendingExpressions: T, name: k, value: D, location: P, original: A } of u) {
          const O = n.factory.createVariableDeclaration(
            k,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            T ? n.factory.inlineExpressions(Er(T, D)) : D
          );
          O.original = A, ct(O, P), g.push(O);
        }
        return g;
        function h(T) {
          _ = Er(_, T);
        }
        function S(T, k, D, P) {
          E.assertNode(T, X2), _ && (k = n.factory.inlineExpressions(Er(_, k)), _ = void 0), u.push({ pendingExpressions: _, name: T, value: k, location: D, original: P });
        }
      }
      function YD(e, t, n, i, s) {
        const o = Uy(t);
        if (!s) {
          const c = Qe(qN(t), e.visitor, ut);
          c ? n ? (n = XRe(e, n, c, i), !Zm(c) && a3(o) && (n = Kx(
            e,
            n,
            /*reuseIdentifierExpressions*/
            true,
            i
          ))) : n = c : n || (n = e.context.factory.createVoidZero());
        }
        Uj(o) ? GRe(e, t, o, n, i) : Vj(o) ? $Re(e, t, o, n, i) : e.emitBindingOrAssignment(
          o,
          n,
          i,
          /*original*/
          t
        );
      }
      function GRe(e, t, n, i, s) {
        const o = b6(n), c = o.length;
        if (c !== 1) {
          const g = !s3(t) || c !== 0;
          i = Kx(e, i, g, s);
        }
        let _, u;
        for (let g = 0; g < c; g++) {
          const m = o[g];
          if (BF(m)) {
            if (g === c - 1) {
              _ && (e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(_), i, s, n), _ = void 0);
              const h = e.context.getEmitHelperFactory().createRestHelper(i, o, u, n);
              YD(e, m, h, m);
            }
          } else {
            const h = Oz(m);
            if (e.level >= 1 && !(m.transformFlags & 98304) && !(Uy(m).transformFlags & 98304) && !Hs(h))
              _ = Er(_, Qe(m, e.visitor, xZ));
            else {
              _ && (e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(_), i, s, n), _ = void 0);
              const S = QRe(e, i, h);
              Hs(h) && (u = Er(u, S.argumentExpression)), YD(
                e,
                m,
                S,
                /*location*/
                m
              );
            }
          }
        }
        _ && e.emitBindingOrAssignment(e.createObjectBindingOrAssignmentPattern(_), i, s, n);
      }
      function $Re(e, t, n, i, s) {
        const o = b6(n), c = o.length;
        if (e.level < 1 && e.downlevelIteration)
          i = Kx(
            e,
            ct(
              e.context.getEmitHelperFactory().createReadHelper(
                i,
                c > 0 && BF(o[c - 1]) ? void 0 : c
              ),
              s
            ),
            /*reuseIdentifierExpressions*/
            false,
            s
          );
        else if (c !== 1 && (e.level < 1 || c === 0) || Ni(o, gl)) {
          const g = !s3(t) || c !== 0;
          i = Kx(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 && !Y1e(m)) {
              e.hasTransformedPriorElement = true;
              const h = e.context.factory.createTempVariable(
                /*recordTempVariable*/
                void 0
              );
              e.hoistTempVariables && e.context.hoistVariableDeclaration(h), u = Er(u, [h, m]), _ = Er(_, e.createArrayBindingOrAssignmentElement(h));
            } else
              _ = Er(_, m);
          else {
            if (gl(m))
              continue;
            if (BF(m)) {
              if (g === c - 1) {
                const h = e.context.factory.createArraySliceCall(i, g);
                YD(
                  e,
                  m,
                  h,
                  /*location*/
                  m
                );
              }
            } else {
              const h = e.context.factory.createElementAccessExpression(i, g);
              YD(
                e,
                m,
                h,
                /*location*/
                m
              );
            }
          }
        }
        if (_ && e.emitBindingOrAssignment(e.createArrayBindingOrAssignmentPattern(_), i, s, n), u)
          for (const [g, m] of u)
            YD(e, m, g, m);
      }
      function Y1e(e) {
        const t = Uy(e);
        if (!t || gl(t)) return true;
        const n = JF(e);
        if (n && !am(n)) return false;
        const i = qN(e);
        return i && !Zm(i) ? false : a3(t) ? Ni(b6(t), Y1e) : Me(t);
      }
      function XRe(e, t, n, i) {
        return t = Kx(
          e,
          t,
          /*reuseIdentifierExpressions*/
          true,
          i
        ), e.context.factory.createConditionalExpression(
          e.context.factory.createTypeCheck(t, "undefined"),
          /*questionToken*/
          void 0,
          n,
          /*colonToken*/
          void 0,
          t
        );
      }
      function QRe(e, t, n) {
        const { factory: i } = e.context;
        if (Hs(n)) {
          const s = Kx(
            e,
            E.checkDefined(Qe(n.expression, e.visitor, ut)),
            /*reuseIdentifierExpressions*/
            false,
            /*location*/
            n
          );
          return e.context.factory.createElementAccessExpression(t, s);
        } else if (wf(n) || s6(n)) {
          const s = i.cloneNode(n);
          return e.context.factory.createElementAccessExpression(t, s);
        } else {
          const s = e.context.factory.createIdentifier(An(n));
          return e.context.factory.createPropertyAccessExpression(t, s);
        }
      }
      function Kx(e, t, n, i) {
        if (Me(t) && n)
          return t;
        {
          const s = e.context.factory.createTempVariable(
            /*recordTempVariable*/
            void 0
          );
          return e.hoistTempVariables ? (e.context.hoistVariableDeclaration(s), e.emitExpression(ct(e.context.factory.createAssignment(s, t), i))) : e.emitBindingOrAssignment(
            s,
            t,
            i,
            /*original*/
            void 0
          ), s;
        }
      }
      function YRe(e, t) {
        return E.assertEachNode(t, D7), e.createArrayBindingPattern(t);
      }
      function ZRe(e, t) {
        return E.assertEachNode(t, c3), e.createArrayLiteralExpression(hr(t, e.converters.convertToArrayAssignmentElement));
      }
      function KRe(e, t) {
        return E.assertEachNode(t, ha), e.createObjectBindingPattern(t);
      }
      function eje(e, t) {
        return E.assertEachNode(t, o3), e.createObjectLiteralExpression(hr(t, e.converters.convertToObjectAssignmentElement));
      }
      function tje(e, t) {
        return e.createBindingElement(
          /*dotDotDotToken*/
          void 0,
          /*propertyName*/
          void 0,
          t
        );
      }
      function rje(e) {
        return e;
      }
      function nje(e, t, n = e.createThis()) {
        const i = e.createAssignment(t, n), s = e.createExpressionStatement(i), o = e.createBlock(
          [s],
          /*multiLine*/
          false
        ), c = e.createClassStaticBlockDeclaration(o);
        return _u(c).classThis = t, c;
      }
      function ZD(e) {
        var t;
        if (!Sc(e) || e.body.statements.length !== 1)
          return false;
        const n = e.body.statements[0];
        return Dl(n) && El(
          n.expression,
          /*excludeCompoundAssignment*/
          true
        ) && Me(n.expression.left) && ((t = e.emitNode) == null ? void 0 : t.classThis) === n.expression.left && n.expression.right.kind === 110;
      }
      function UW(e) {
        var t;
        return !!((t = e.emitNode) != null && t.classThis) && ot(e.members, ZD);
      }
      function Bne(e, t, n, i) {
        if (UW(t))
          return t;
        const s = nje(e, n, i);
        t.name && ga(s.body.statements[0], t.name);
        const o = e.createNodeArray([s, ...t.members]);
        ct(o, t.members);
        const c = Zc(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 _u(c).classThis = n, c;
      }
      function EO(e, t, n) {
        const i = zo(dc(n));
        return (Zc(i) || Tc(i)) && !i.name && Gn(
          i,
          2048
          /* Default */
        ) ? e.createStringLiteral("default") : e.createStringLiteralFromNode(t);
      }
      function Z1e(e, t, n) {
        const { factory: i } = e;
        if (n !== void 0)
          return { assignedName: i.createStringLiteral(n), name: t };
        if (am(t) || Ai(t))
          return { assignedName: i.createStringLiteralFromNode(t), name: t };
        if (am(t.expression) && !Me(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 ije(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*/
          false
        ), _ = i.createClassStaticBlockDeclaration(c);
        return _u(_).assignedName = t, _;
      }
      function ek(e) {
        var t;
        if (!Sc(e) || e.body.statements.length !== 1)
          return false;
        const n = e.body.statements[0];
        return Dl(n) && xD(n.expression, "___setFunctionName") && n.expression.arguments.length >= 2 && n.expression.arguments[1] === ((t = e.emitNode) == null ? void 0 : t.assignedName);
      }
      function DO(e) {
        var t;
        return !!((t = e.emitNode) != null && t.assignedName) && ot(e.members, ek);
      }
      function VW(e) {
        return !!e.name || DO(e);
      }
      function wO(e, t, n, i) {
        if (DO(t))
          return t;
        const { factory: s } = e, o = ije(e, n, i);
        t.name && ga(o.body.statements[0], t.name);
        const c = ic(t.members, ZD) + 1, _ = t.members.slice(0, c), u = t.members.slice(c), g = s.createNodeArray([..._, o, ...u]);
        return ct(g, t.members), t = Zc(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
        ), _u(t).assignedName = n, t;
      }
      function A6(e, t, n, i) {
        if (i && oa(n) && TB(n))
          return t;
        const { factory: s } = e, o = dc(t), c = Oc(o) ? Ws(wO(e, o, n), Oc) : e.getEmitHelperFactory().createSetFunctionNameHelper(o, n);
        return s.restoreOuterExpressions(t, c);
      }
      function sje(e, t, n, i) {
        const { factory: s } = e, { assignedName: o, name: c } = Z1e(e, t.name, i), _ = A6(e, t.initializer, o, n);
        return s.updatePropertyAssignment(
          t,
          c,
          _
        );
      }
      function aje(e, t, n, i) {
        const { factory: s } = e, o = i !== void 0 ? s.createStringLiteral(i) : EO(s, t.name, t.objectAssignmentInitializer), c = A6(e, t.objectAssignmentInitializer, o, n);
        return s.updateShorthandPropertyAssignment(
          t,
          t.name,
          c
        );
      }
      function oje(e, t, n, i) {
        const { factory: s } = e, o = i !== void 0 ? s.createStringLiteral(i) : EO(s, t.name, t.initializer), c = A6(e, t.initializer, o, n);
        return s.updateVariableDeclaration(
          t,
          t.name,
          t.exclamationToken,
          t.type,
          c
        );
      }
      function cje(e, t, n, i) {
        const { factory: s } = e, o = i !== void 0 ? s.createStringLiteral(i) : EO(s, t.name, t.initializer), c = A6(e, t.initializer, o, n);
        return s.updateParameterDeclaration(
          t,
          t.modifiers,
          t.dotDotDotToken,
          t.name,
          t.questionToken,
          t.type,
          c
        );
      }
      function lje(e, t, n, i) {
        const { factory: s } = e, o = i !== void 0 ? s.createStringLiteral(i) : EO(s, t.name, t.initializer), c = A6(e, t.initializer, o, n);
        return s.updateBindingElement(
          t,
          t.dotDotDotToken,
          t.propertyName,
          t.name,
          c
        );
      }
      function uje(e, t, n, i) {
        const { factory: s } = e, { assignedName: o, name: c } = Z1e(e, t.name, i), _ = A6(e, t.initializer, o, n);
        return s.updatePropertyDeclaration(
          t,
          t.modifiers,
          c,
          t.questionToken ?? t.exclamationToken,
          t.type,
          _
        );
      }
      function _je(e, t, n, i) {
        const { factory: s } = e, o = i !== void 0 ? s.createStringLiteral(i) : EO(s, t.left, t.right), c = A6(e, t.right, o, n);
        return s.updateBinaryExpression(
          t,
          t.left,
          t.operatorToken,
          c
        );
      }
      function fje(e, t, n, i) {
        const { factory: s } = e, o = i !== void 0 ? s.createStringLiteral(i) : s.createStringLiteral(t.isExportEquals ? "" : "default"), c = A6(e, t.expression, o, n);
        return s.updateExportAssignment(
          t,
          t.modifiers,
          c
        );
      }
      function sf(e, t, n, i) {
        switch (t.kind) {
          case 304:
            return sje(e, t, n, i);
          case 305:
            return aje(e, t, n, i);
          case 261:
            return oje(e, t, n, i);
          case 170:
            return cje(e, t, n, i);
          case 209:
            return lje(e, t, n, i);
          case 173:
            return uje(e, t, n, i);
          case 227:
            return _je(e, t, n, i);
          case 278:
            return fje(e, t, n, i);
        }
      }
      var Jne = /* @__PURE__ */ ((e) => (e[e.LiftRestriction = 0] = "LiftRestriction", e[e.All = 1] = "All", e))(Jne || {});
      function qW(e, t, n, i, s, o) {
        const c = Qe(t.tag, n, ut);
        E.assert(c);
        const _ = [void 0], u = [], g = [], m = t.template;
        if (o === 0 && !VB(m))
          return br(t, n, e);
        const { factory: h } = e;
        if (mS(m))
          u.push(zne(h, m)), g.push(Wne(h, m, i));
        else {
          u.push(zne(h, m.head)), g.push(Wne(h, m.head, i));
          for (const T of m.templateSpans)
            u.push(zne(h, T.literal)), g.push(Wne(h, T.literal, i)), _.push(E.checkDefined(Qe(T.expression, n, ut)));
        }
        const S = e.getEmitHelperFactory().createTemplateObjectHelper(
          h.createArrayLiteralExpression(u),
          h.createArrayLiteralExpression(g)
        );
        if (ll(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 zne(e, t) {
        return t.templateFlags & 26656 ? e.createVoidZero() : e.createStringLiteral(t.text);
      }
      function Wne(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 = Sb(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, `
`), ct(e.createStringLiteral(i), t);
      }
      function Une(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          startLexicalEnvironment: i,
          resumeLexicalEnvironment: s,
          endLexicalEnvironment: o,
          hoistVariableDeclaration: c
        } = e, _ = e.getEmitResolver(), u = e.getCompilerOptions(), g = pa(u), m = Wu(u), h = !!u.experimentalDecorators, S = u.emitDecoratorMetadata ? qne(e) : void 0, T = e.onEmitNode, k = e.onSubstituteNode;
        e.onEmitNode = xc, e.onSubstituteNode = Rf, e.enableSubstitution(
          212
          /* PropertyAccessExpression */
        ), e.enableSubstitution(
          213
          /* ElementAccessExpression */
        );
        let D, P, A, O, F, R = 0, B;
        return U;
        function U(ge) {
          return ge.kind === 309 ? $(ge) : W(ge);
        }
        function $(ge) {
          return t.createBundle(
            ge.sourceFiles.map(W)
          );
        }
        function W(ge) {
          if (ge.isDeclarationFile)
            return ge;
          D = ge;
          const H = _e(ge, Se);
          return Rg(H, e.readEmitHelpers()), D = void 0, H;
        }
        function _e(ge, H) {
          const tt = O, Ft = F;
          K(ge);
          const Kt = H(ge);
          return O !== tt && (F = Ft), O = tt, Kt;
        }
        function K(ge) {
          switch (ge.kind) {
            case 308:
            case 270:
            case 269:
            case 242:
              O = ge, F = void 0;
              break;
            case 264:
            case 263:
              if (Gn(
                ge,
                128
                /* Ambient */
              ))
                break;
              ge.name ? M(ge) : E.assert(ge.kind === 264 || Gn(
                ge,
                2048
                /* Default */
              ));
              break;
          }
        }
        function V(ge) {
          return _e(ge, ae);
        }
        function ae(ge) {
          return ge.transformFlags & 1 ? ne(ge) : ge;
        }
        function se(ge) {
          return _e(ge, ce);
        }
        function ce(ge) {
          switch (ge.kind) {
            case 273:
            case 272:
            case 278:
            case 279:
              return he(ge);
            default:
              return ae(ge);
          }
        }
        function fe(ge) {
          const H = ys(ge);
          if (H === ge || Fo(ge))
            return false;
          if (!H || H.kind !== ge.kind)
            return true;
          switch (ge.kind) {
            case 273:
              if (E.assertNode(H, Wo), ge.importClause !== H.importClause || ge.attributes !== H.attributes)
                return true;
              break;
            case 272:
              if (E.assertNode(H, cl), ge.name !== H.name || ge.isTypeOnly !== H.isTypeOnly || ge.moduleReference !== H.moduleReference && (Zu(ge.moduleReference) || Zu(H.moduleReference)))
                return true;
              break;
            case 279:
              if (E.assertNode(H, Mc), ge.exportClause !== H.exportClause || ge.attributes !== H.attributes)
                return true;
              break;
          }
          return false;
        }
        function he(ge) {
          if (fe(ge))
            return ge.transformFlags & 1 ? br(ge, V, e) : ge;
          switch (ge.kind) {
            case 273:
              return wt(ge);
            case 272:
              return cr(ge);
            case 278:
              return rt(ge);
            case 279:
              return vt(ge);
            default:
              E.fail("Unhandled ellided statement");
          }
        }
        function q(ge) {
          return _e(ge, be);
        }
        function be(ge) {
          if (!(ge.kind === 279 || ge.kind === 273 || ge.kind === 274 || ge.kind === 272 && ge.moduleReference.kind === 284))
            return ge.transformFlags & 1 || Gn(
              ge,
              32
              /* Export */
            ) ? ne(ge) : ge;
        }
        function je(ge) {
          return (H) => _e(H, (tt) => me(tt, ge));
        }
        function me(ge, H) {
          switch (ge.kind) {
            case 177:
              return Je(ge);
            case 173:
              return _i(ge, H);
            case 178:
              return ki(ge, H);
            case 179:
              return Es(ge, H);
            case 175:
              return Jn(ge, H);
            case 176:
              return br(ge, V, e);
            case 241:
              return ge;
            case 182:
              return;
            default:
              return E.failBadSyntaxKind(ge);
          }
        }
        function Z(ge) {
          return (H) => _e(H, (tt) => pe(tt, ge));
        }
        function pe(ge, H) {
          switch (ge.kind) {
            case 304:
            case 305:
            case 306:
              return V(ge);
            case 178:
              return ki(ge, H);
            case 179:
              return Es(ge, H);
            case 175:
              return Jn(ge, H);
            default:
              return E.failBadSyntaxKind(ge);
          }
        }
        function Te(ge) {
          return ol(ge) ? void 0 : V(ge);
        }
        function Fe(ge) {
          return Ys(ge) ? void 0 : V(ge);
        }
        function Ye(ge) {
          if (!ol(ge) && !(hx(ge.kind) & 28895) && !(P && ge.kind === 95))
            return ge;
        }
        function ne(ge) {
          if (Ti(ge) && Gn(
            ge,
            128
            /* Ambient */
          ))
            return t.createNotEmittedStatement(ge);
          switch (ge.kind) {
            case 95:
            case 90:
              return P ? 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 189:
            case 190:
            case 191:
            case 192:
            case 188:
            case 183:
            case 169:
            case 133:
            case 159:
            case 136:
            case 154:
            case 150:
            case 146:
            case 116:
            case 155:
            case 186:
            case 185:
            case 187:
            case 184:
            case 193:
            case 194:
            case 195:
            case 197:
            case 198:
            case 199:
            case 200:
            case 201:
            case 202:
            // TypeScript type nodes are elided.
            // falls through
            case 182:
              return;
            case 266:
              return t.createNotEmittedStatement(ge);
            case 271:
              return;
            case 265:
              return t.createNotEmittedStatement(ge);
            case 264:
              return Ve(ge);
            case 232:
              return St(ge);
            case 299:
              return ai(ge);
            case 234:
              return fi(ge);
            case 211:
              return ie(ge);
            case 177:
            case 173:
            case 175:
            case 178:
            case 179:
            case 176:
              return E.fail("Class and object literal elements must be visited with their respective visitors");
            case 263:
              return Zs(ge);
            case 219:
              return yr(ge);
            case 220:
              return vs(ge);
            case 170:
              return Xe(ge);
            case 218:
              return Y(ge);
            case 217:
            case 235:
              return Ae(ge);
            case 239:
              return Ke(ge);
            case 214:
              return Tt(ge);
            case 215:
              return Le(ge);
            case 216:
              return mt(ge);
            case 236:
              return $e(ge);
            case 267:
              return Lt(ge);
            case 244:
              return Et(ge);
            case 261:
              return it(ge);
            case 268:
              return Mt(ge);
            case 272:
              return cr(ge);
            case 286:
              return pt(ge);
            case 287:
              return Ct(ge);
            default:
              return br(ge, V, e);
          }
        }
        function Se(ge) {
          const H = uu(u, "alwaysStrict") && !(ll(ge) && m >= 5) && !rp(ge);
          return t.updateSourceFile(
            ge,
            IW(
              ge.statements,
              se,
              e,
              /*start*/
              0,
              H
            )
          );
        }
        function ie(ge) {
          return t.updateObjectLiteralExpression(
            ge,
            Ar(ge.properties, Z(ge), dh)
          );
        }
        function Ne(ge) {
          let H = 0;
          ot(JW(
            ge,
            /*requireInitializer*/
            true,
            /*isStatic*/
            true
          )) && (H |= 1);
          const tt = kd(ge);
          return tt && dc(tt.expression).kind !== 106 && (H |= 64), _0(h, ge) && (H |= 2), O4(h, ge) && (H |= 4), fr(ge) ? H |= 8 : oi(ge) ? H |= 32 : Xt(ge) && (H |= 16), H;
        }
        function Ee(ge) {
          return !!(ge.transformFlags & 8192);
        }
        function Ce(ge) {
          return Pf(ge) || ot(ge.typeParameters) || ot(ge.heritageClauses, Ee) || ot(ge.members, Ee);
        }
        function Ve(ge) {
          const H = Ne(ge), tt = g <= 1 && !!(H & 7);
          if (!Ce(ge) && !_0(h, ge) && !fr(ge))
            return t.updateClassDeclaration(
              ge,
              Ar(ge.modifiers, Ye, Ys),
              ge.name,
              /*typeParameters*/
              void 0,
              Ar(ge.heritageClauses, V, nf),
              Ar(ge.members, je(ge), Uc)
            );
          tt && e.startLexicalEnvironment();
          const Ft = tt || H & 8;
          let Kt = Ft ? Ar(ge.modifiers, Fe, Ro) : Ar(ge.modifiers, V, Ro);
          H & 2 && (Kt = tr(Kt, ge));
          const Vn = Ft && !ge.name || H & 4 || H & 1 ? ge.name ?? t.getGeneratedNameForNode(ge) : ge.name, ln = t.updateClassDeclaration(
            ge,
            Kt,
            Vn,
            /*typeParameters*/
            void 0,
            Ar(ge.heritageClauses, V, nf),
            Bt(ge)
          );
          let kr = Ca(ge);
          H & 1 && (kr |= 64), un(ln, kr);
          let Li;
          if (tt) {
            const Yi = [ln], eo = lJ(
              aa(D.text, ge.members.end),
              20
              /* CloseBraceToken */
            ), ta = t.getInternalName(ge), xo = t.createPartiallyEmittedExpression(ta);
            r6(xo, eo.end), un(
              xo,
              3072
              /* NoComments */
            );
            const qc = t.createReturnStatement(xo);
            dD(qc, eo.pos), un(
              qc,
              3840
              /* NoTokenSourceMaps */
            ), Yi.push(qc), Dg(Yi, e.endLexicalEnvironment());
            const Rc = t.createImmediatelyInvokedArrowFunction(Yi);
            NN(
              Rc,
              1
              /* TypeScriptClassWrapper */
            );
            const go = t.createVariableDeclaration(
              t.getLocalName(
                ge,
                /*allowComments*/
                false,
                /*allowSourceMaps*/
                false
              ),
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              Rc
            );
            Cn(go, ge);
            const tc = t.createVariableStatement(
              /*modifiers*/
              void 0,
              t.createVariableDeclarationList(
                [go],
                1
                /* Let */
              )
            );
            Cn(tc, ge), Yc(tc, ge), ga(tc, bh(ge)), Du(tc), Li = tc;
          } else
            Li = ln;
          if (Ft) {
            if (H & 8)
              return [
                Li,
                Is(ge)
              ];
            if (H & 32)
              return [
                Li,
                t.createExportDefault(t.getLocalName(
                  ge,
                  /*allowComments*/
                  false,
                  /*allowSourceMaps*/
                  true
                ))
              ];
            if (H & 16)
              return [
                Li,
                t.createExternalModuleExport(t.getDeclarationName(
                  ge,
                  /*allowComments*/
                  false,
                  /*allowSourceMaps*/
                  true
                ))
              ];
          }
          return Li;
        }
        function St(ge) {
          let H = Ar(ge.modifiers, Fe, Ro);
          return _0(h, ge) && (H = tr(H, ge)), t.updateClassExpression(
            ge,
            H,
            ge.name,
            /*typeParameters*/
            void 0,
            Ar(ge.heritageClauses, V, nf),
            Bt(ge)
          );
        }
        function Bt(ge) {
          const H = Ar(ge.members, je(ge), Uc);
          let tt;
          const Ft = Ag(ge), Kt = Ft && kn(Ft.parameters, (Hr) => X_(Hr, Ft));
          if (Kt)
            for (const Hr of Kt) {
              const Vn = t.createPropertyDeclaration(
                /*modifiers*/
                void 0,
                Hr.name,
                /*questionOrExclamationToken*/
                void 0,
                /*type*/
                void 0,
                /*initializer*/
                void 0
              );
              Cn(Vn, Hr), tt = Er(tt, Vn);
            }
          return tt ? (tt = In(tt, H), ct(
            t.createNodeArray(tt),
            /*location*/
            ge.members
          )) : H;
        }
        function tr(ge, H) {
          const tt = st(H, H);
          if (ot(tt)) {
            const Ft = [];
            In(Ft, VR(ge, HN)), In(Ft, kn(ge, ol)), In(Ft, tt), In(Ft, kn(mQ(ge, HN), Ys)), ge = ct(t.createNodeArray(Ft), ge);
          }
          return ge;
        }
        function Nr(ge, H, tt) {
          if ($n(tt) && SB(h, H, tt)) {
            const Ft = st(H, tt);
            if (ot(Ft)) {
              const Kt = [];
              In(Kt, kn(ge, ol)), In(Kt, Ft), In(Kt, kn(ge, Ys)), ge = ct(t.createNodeArray(Kt), ge);
            }
          }
          return ge;
        }
        function st(ge, H) {
          if (h)
            return Wt(ge, H);
        }
        function Wt(ge, H) {
          if (S) {
            let tt;
            if (Jr(ge)) {
              const Ft = n().createMetadataHelper("design:type", S.serializeTypeOfNode({ currentLexicalScope: O, currentNameScope: H }, ge, H));
              tt = Er(tt, t.createDecorator(Ft));
            }
            if (Ji(ge)) {
              const Ft = n().createMetadataHelper("design:paramtypes", S.serializeParameterTypesOfNode({ currentLexicalScope: O, currentNameScope: H }, ge, H));
              tt = Er(tt, t.createDecorator(Ft));
            }
            if (ui(ge)) {
              const Ft = n().createMetadataHelper("design:returntype", S.serializeReturnTypeOfNode({ currentLexicalScope: O, currentNameScope: H }, ge));
              tt = Er(tt, t.createDecorator(Ft));
            }
            return tt;
          }
        }
        function Jr(ge) {
          const H = ge.kind;
          return H === 175 || H === 178 || H === 179 || H === 173;
        }
        function ui(ge) {
          return ge.kind === 175;
        }
        function Ji(ge) {
          switch (ge.kind) {
            case 264:
            case 232:
              return Ag(ge) !== void 0;
            case 175:
            case 178:
            case 179:
              return true;
          }
          return false;
        }
        function Dt(ge, H) {
          const tt = ge.name;
          return Ai(tt) ? t.createIdentifier("") : Hs(tt) ? tt.expression : Me(tt) ? t.createStringLiteral(An(tt)) : t.cloneNode(tt);
        }
        function Mn(ge) {
          const H = ge.name;
          if (h && Hs(H) && Pf(ge)) {
            const tt = Qe(H.expression, V, ut);
            E.assert(tt);
            const Ft = ed(tt);
            if (!Zm(Ft)) {
              const Kt = t.getGeneratedNameForNode(H);
              return c(Kt), t.updateComputedPropertyName(H, t.createAssignment(Kt, tt));
            }
          }
          return E.checkDefined(Qe(H, V, Wc));
        }
        function ai(ge) {
          if (ge.token !== 119)
            return br(ge, V, e);
        }
        function fi(ge) {
          return t.updateExpressionWithTypeArguments(
            ge,
            E.checkDefined(Qe(ge.expression, V, h_)),
            /*typeArguments*/
            void 0
          );
        }
        function pn(ge) {
          return !ac(ge.body);
        }
        function _i(ge, H) {
          const tt = ge.flags & 33554432 || Gn(
            ge,
            64
            /* Abstract */
          );
          if (tt && !(h && Pf(ge)))
            return;
          let Ft = $n(H) ? tt ? Ar(ge.modifiers, Fe, Ro) : Ar(ge.modifiers, V, Ro) : Ar(ge.modifiers, Te, Ro);
          return Ft = Nr(Ft, ge, H), tt ? t.updatePropertyDeclaration(
            ge,
            Bi(Ft, t.createModifiersFromModifierFlags(
              128
              /* Ambient */
            )),
            E.checkDefined(Qe(ge.name, V, Wc)),
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            /*initializer*/
            void 0
          ) : t.updatePropertyDeclaration(
            ge,
            Ft,
            Mn(ge),
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            Qe(ge.initializer, V, ut)
          );
        }
        function Je(ge) {
          if (pn(ge))
            return t.updateConstructorDeclaration(
              ge,
              /*modifiers*/
              void 0,
              cc(ge.parameters, V, e),
              er(ge.body, ge)
            );
        }
        function ft(ge, H, tt, Ft, Kt, Hr) {
          const Vn = Ft[Kt], ln = H[Vn];
          if (In(ge, Ar(H, V, Ti, tt, Vn - tt)), SS(ln)) {
            const kr = [];
            ft(
              kr,
              ln.tryBlock.statements,
              /*statementOffset*/
              0,
              Ft,
              Kt + 1,
              Hr
            );
            const Li = t.createNodeArray(kr);
            ct(Li, ln.tryBlock.statements), ge.push(t.updateTryStatement(
              ln,
              t.updateBlock(ln.tryBlock, kr),
              Qe(ln.catchClause, V, Hb),
              Qe(ln.finallyBlock, V, Ps)
            ));
          } else
            In(ge, Ar(H, V, Ti, Vn, 1)), In(ge, Hr);
          In(ge, Ar(H, V, Ti, Vn + 1));
        }
        function er(ge, H) {
          const tt = H && kn(H.parameters, (kr) => X_(kr, H));
          if (!ot(tt))
            return Of(ge, V, e);
          let Ft = [];
          s();
          const Kt = t.copyPrologue(
            ge.statements,
            Ft,
            /*ensureUseStrict*/
            false,
            V
          ), Hr = xO(ge.statements, Kt), Vn = Fi(tt, qr);
          Hr.length ? ft(
            Ft,
            ge.statements,
            Kt,
            Hr,
            /*superPathDepth*/
            0,
            Vn
          ) : (In(Ft, Vn), In(Ft, Ar(ge.statements, V, Ti, Kt))), Ft = t.mergeLexicalEnvironment(Ft, o());
          const ln = t.createBlock(
            ct(t.createNodeArray(Ft), ge.statements),
            /*multiLine*/
            true
          );
          return ct(
            ln,
            /*location*/
            ge
          ), Cn(ln, ge), ln;
        }
        function qr(ge) {
          const H = ge.name;
          if (!Me(H))
            return;
          const tt = ja(ct(t.cloneNode(H), H), H.parent);
          un(
            tt,
            3168
            /* NoSourceMap */
          );
          const Ft = ja(ct(t.cloneNode(H), H), H.parent);
          return un(
            Ft,
            3072
            /* NoComments */
          ), Du(
            PN(
              ct(
                Cn(
                  t.createExpressionStatement(
                    t.createAssignment(
                      ct(
                        t.createPropertyAccessExpression(
                          t.createThis(),
                          tt
                        ),
                        ge.name
                      ),
                      Ft
                    )
                  ),
                  ge
                ),
                G1(ge, -1)
              )
            )
          );
        }
        function Jn(ge, H) {
          if (!(ge.transformFlags & 1))
            return ge;
          if (!pn(ge))
            return;
          let tt = $n(H) ? Ar(ge.modifiers, V, Ro) : Ar(ge.modifiers, Te, Ro);
          return tt = Nr(tt, ge, H), t.updateMethodDeclaration(
            ge,
            tt,
            ge.asteriskToken,
            Mn(ge),
            /*questionToken*/
            void 0,
            /*typeParameters*/
            void 0,
            cc(ge.parameters, V, e),
            /*type*/
            void 0,
            Of(ge.body, V, e)
          );
        }
        function Un(ge) {
          return !(ac(ge.body) && Gn(
            ge,
            64
            /* Abstract */
          ));
        }
        function ki(ge, H) {
          if (!(ge.transformFlags & 1))
            return ge;
          if (!Un(ge))
            return;
          let tt = $n(H) ? Ar(ge.modifiers, V, Ro) : Ar(ge.modifiers, Te, Ro);
          return tt = Nr(tt, ge, H), t.updateGetAccessorDeclaration(
            ge,
            tt,
            Mn(ge),
            cc(ge.parameters, V, e),
            /*type*/
            void 0,
            Of(ge.body, V, e) || t.createBlock([])
          );
        }
        function Es(ge, H) {
          if (!(ge.transformFlags & 1))
            return ge;
          if (!Un(ge))
            return;
          let tt = $n(H) ? Ar(ge.modifiers, V, Ro) : Ar(ge.modifiers, Te, Ro);
          return tt = Nr(tt, ge, H), t.updateSetAccessorDeclaration(
            ge,
            tt,
            Mn(ge),
            cc(ge.parameters, V, e),
            Of(ge.body, V, e) || t.createBlock([])
          );
        }
        function Zs(ge) {
          if (!pn(ge))
            return t.createNotEmittedStatement(ge);
          const H = t.updateFunctionDeclaration(
            ge,
            Ar(ge.modifiers, Ye, Ys),
            ge.asteriskToken,
            ge.name,
            /*typeParameters*/
            void 0,
            cc(ge.parameters, V, e),
            /*type*/
            void 0,
            Of(ge.body, V, e) || t.createBlock([])
          );
          if (fr(ge)) {
            const tt = [H];
            return Ms(tt, ge), tt;
          }
          return H;
        }
        function yr(ge) {
          return pn(ge) ? t.updateFunctionExpression(
            ge,
            Ar(ge.modifiers, Ye, Ys),
            ge.asteriskToken,
            ge.name,
            /*typeParameters*/
            void 0,
            cc(ge.parameters, V, e),
            /*type*/
            void 0,
            Of(ge.body, V, e) || t.createBlock([])
          ) : t.createOmittedExpression();
        }
        function vs(ge) {
          return t.updateArrowFunction(
            ge,
            Ar(ge.modifiers, Ye, Ys),
            /*typeParameters*/
            void 0,
            cc(ge.parameters, V, e),
            /*type*/
            void 0,
            ge.equalsGreaterThanToken,
            Of(ge.body, V, e)
          );
        }
        function Xe(ge) {
          if (Ay(ge))
            return;
          const H = t.updateParameterDeclaration(
            ge,
            Ar(ge.modifiers, (tt) => ol(tt) ? V(tt) : void 0, Ro),
            ge.dotDotDotToken,
            E.checkDefined(Qe(ge.name, V, X2)),
            /*questionToken*/
            void 0,
            /*type*/
            void 0,
            Qe(ge.initializer, V, ut)
          );
          return H !== ge && (Yc(H, ge), ct(H, um(ge)), ga(H, um(ge)), un(
            H.name,
            64
            /* NoTrailingSourceMap */
          )), H;
        }
        function Et(ge) {
          if (fr(ge)) {
            const H = rD(ge.declarationList);
            return H.length === 0 ? void 0 : ct(
              t.createExpressionStatement(
                t.inlineExpressions(
                  hr(H, re)
                )
              ),
              ge
            );
          } else
            return br(ge, V, e);
        }
        function re(ge) {
          const H = ge.name;
          return Ds(H) ? IS(
            ge,
            V,
            e,
            0,
            /*needsValue*/
            false,
            uc
          ) : ct(
            t.createAssignment(
              Xo(H),
              E.checkDefined(Qe(ge.initializer, V, ut))
            ),
            /*location*/
            ge
          );
        }
        function it(ge) {
          const H = t.updateVariableDeclaration(
            ge,
            E.checkDefined(Qe(ge.name, V, X2)),
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            Qe(ge.initializer, V, ut)
          );
          return ge.type && yte(H.name, ge.type), H;
        }
        function Y(ge) {
          const H = dc(ge.expression, -55);
          if (bb(H) || u6(H)) {
            const tt = Qe(ge.expression, V, ut);
            return E.assert(tt), t.createPartiallyEmittedExpression(tt, ge);
          }
          return br(ge, V, e);
        }
        function Ae(ge) {
          const H = Qe(ge.expression, V, ut);
          return E.assert(H), t.createPartiallyEmittedExpression(H, ge);
        }
        function $e(ge) {
          const H = Qe(ge.expression, V, h_);
          return E.assert(H), t.createPartiallyEmittedExpression(H, ge);
        }
        function Ke(ge) {
          const H = Qe(ge.expression, V, ut);
          return E.assert(H), t.createPartiallyEmittedExpression(H, ge);
        }
        function Tt(ge) {
          return t.updateCallExpression(
            ge,
            E.checkDefined(Qe(ge.expression, V, ut)),
            /*typeArguments*/
            void 0,
            Ar(ge.arguments, V, ut)
          );
        }
        function Le(ge) {
          return t.updateNewExpression(
            ge,
            E.checkDefined(Qe(ge.expression, V, ut)),
            /*typeArguments*/
            void 0,
            Ar(ge.arguments, V, ut)
          );
        }
        function mt(ge) {
          return t.updateTaggedTemplateExpression(
            ge,
            E.checkDefined(Qe(ge.tag, V, ut)),
            /*typeArguments*/
            void 0,
            E.checkDefined(Qe(ge.template, V, ex))
          );
        }
        function pt(ge) {
          return t.updateJsxSelfClosingElement(
            ge,
            E.checkDefined(Qe(ge.tagName, V, E4)),
            /*typeArguments*/
            void 0,
            E.checkDefined(Qe(ge.attributes, V, qb))
          );
        }
        function Ct(ge) {
          return t.updateJsxOpeningElement(
            ge,
            E.checkDefined(Qe(ge.tagName, V, E4)),
            /*typeArguments*/
            void 0,
            E.checkDefined(Qe(ge.attributes, V, qb))
          );
        }
        function qe(ge) {
          return !B1(ge) || Oy(u);
        }
        function Lt(ge) {
          if (!qe(ge))
            return t.createNotEmittedStatement(ge);
          const H = [];
          let tt = 4;
          const Ft = dt(H, ge);
          Ft && (m !== 4 || O !== D) && (tt |= 1024);
          const Kt = ro(ge), Hr = zi(ge), Vn = fr(ge) ? t.getExternalModuleOrNamespaceExportName(
            A,
            ge,
            /*allowComments*/
            false,
            /*allowSourceMaps*/
            true
          ) : t.getDeclarationName(
            ge,
            /*allowComments*/
            false,
            /*allowSourceMaps*/
            true
          );
          let ln = t.createLogicalOr(
            Vn,
            t.createAssignment(
              Vn,
              t.createObjectLiteralExpression()
            )
          );
          if (fr(ge)) {
            const Li = t.getLocalName(
              ge,
              /*allowComments*/
              false,
              /*allowSourceMaps*/
              true
            );
            ln = t.createAssignment(Li, ln);
          }
          const kr = 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,
                  Kt
                )],
                /*type*/
                void 0,
                rn(ge, Hr)
              ),
              /*typeArguments*/
              void 0,
              [ln]
            )
          );
          return Cn(kr, ge), Ft && (Q1(kr, void 0), Nx(kr, void 0)), ct(kr, ge), fm(kr, tt), H.push(kr), H;
        }
        function rn(ge, H) {
          const tt = A;
          A = H;
          const Ft = [];
          i();
          const Kt = hr(ge.members, Pe);
          return Dg(Ft, o()), In(Ft, Kt), A = tt, t.createBlock(
            ct(
              t.createNodeArray(Ft),
              /*location*/
              ge.members
            ),
            /*multiLine*/
            true
          );
        }
        function Pe(ge) {
          const H = Dt(
            ge
          ), tt = _.getEnumMemberValue(ge), Ft = yt(ge, tt?.value), Kt = t.createAssignment(
            t.createElementAccessExpression(
              A,
              H
            ),
            Ft
          ), Hr = typeof tt?.value == "string" || tt?.isSyntacticallyString ? Kt : t.createAssignment(
            t.createElementAccessExpression(
              A,
              Kt
            ),
            H
          );
          return ct(
            t.createExpressionStatement(
              ct(
                Hr,
                ge
              )
            ),
            ge
          );
        }
        function yt(ge, H) {
          return H !== void 0 ? typeof H == "string" ? t.createStringLiteral(H) : H < 0 ? t.createPrefixUnaryExpression(41, t.createNumericLiteral(-H)) : t.createNumericLiteral(H) : (gs(), ge.initializer ? E.checkDefined(Qe(ge.initializer, V, ut)) : t.createVoidZero());
        }
        function ue(ge) {
          const H = ys(ge, Lc);
          return H ? NW(H, Oy(u)) : true;
        }
        function M(ge) {
          F || (F = /* @__PURE__ */ new Map());
          const H = Q(ge);
          F.has(H) || F.set(H, ge);
        }
        function ye(ge) {
          if (F) {
            const H = Q(ge);
            return F.get(H) === ge;
          }
          return true;
        }
        function Q(ge) {
          return E.assertNode(ge.name, Me), ge.name.escapedText;
        }
        function dt(ge, H) {
          const tt = t.createVariableDeclaration(t.getLocalName(
            H,
            /*allowComments*/
            false,
            /*allowSourceMaps*/
            true
          )), Ft = O.kind === 308 ? 0 : 1, Kt = t.createVariableStatement(
            Ar(H.modifiers, Ye, Ys),
            t.createVariableDeclarationList([tt], Ft)
          );
          return Cn(tt, H), Q1(tt, void 0), Nx(tt, void 0), Cn(Kt, H), M(H), ye(H) ? (H.kind === 267 ? ga(Kt.declarationList, H) : ga(Kt, H), Yc(Kt, H), fm(
            Kt,
            2048
            /* NoTrailingComments */
          ), ge.push(Kt), true) : false;
        }
        function Mt(ge) {
          if (!ue(ge))
            return t.createNotEmittedStatement(ge);
          E.assertNode(ge.name, Me, "A TypeScript namespace should have an Identifier name."), Vc();
          const H = [];
          let tt = 4;
          const Ft = dt(H, ge);
          Ft && (m !== 4 || O !== D) && (tt |= 1024);
          const Kt = ro(ge), Hr = zi(ge), Vn = fr(ge) ? t.getExternalModuleOrNamespaceExportName(
            A,
            ge,
            /*allowComments*/
            false,
            /*allowSourceMaps*/
            true
          ) : t.getDeclarationName(
            ge,
            /*allowComments*/
            false,
            /*allowSourceMaps*/
            true
          );
          let ln = t.createLogicalOr(
            Vn,
            t.createAssignment(
              Vn,
              t.createObjectLiteralExpression()
            )
          );
          if (fr(ge)) {
            const Li = t.getLocalName(
              ge,
              /*allowComments*/
              false,
              /*allowSourceMaps*/
              true
            );
            ln = t.createAssignment(Li, ln);
          }
          const kr = 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,
                  Kt
                )],
                /*type*/
                void 0,
                ke(ge, Hr)
              ),
              /*typeArguments*/
              void 0,
              [ln]
            )
          );
          return Cn(kr, ge), Ft && (Q1(kr, void 0), Nx(kr, void 0)), ct(kr, ge), fm(kr, tt), H.push(kr), H;
        }
        function ke(ge, H) {
          const tt = A, Ft = P, Kt = F;
          A = H, P = ge, F = void 0;
          const Hr = [];
          i();
          let Vn, ln;
          if (ge.body)
            if (ge.body.kind === 269)
              _e(ge.body, (Li) => In(Hr, Ar(Li.statements, q, Ti))), Vn = ge.body.statements, ln = ge.body;
            else {
              const Li = Mt(ge.body);
              Li && (ss(Li) ? In(Hr, Li) : Hr.push(Li));
              const Yi = at(ge).body;
              Vn = G1(Yi.statements, -1);
            }
          Dg(Hr, o()), A = tt, P = Ft, F = Kt;
          const kr = t.createBlock(
            ct(
              t.createNodeArray(Hr),
              /*location*/
              Vn
            ),
            /*multiLine*/
            true
          );
          return ct(kr, ln), (!ge.body || ge.body.kind !== 269) && un(
            kr,
            Ca(kr) | 3072
            /* NoComments */
          ), kr;
        }
        function at(ge) {
          if (ge.body.kind === 268)
            return at(ge.body) || ge.body;
        }
        function wt(ge) {
          if (!ge.importClause)
            return ge;
          if (ge.importClause.isTypeOnly)
            return;
          const H = Qe(ge.importClause, Zr, sd);
          return H ? t.updateImportDeclaration(
            ge,
            /*modifiers*/
            void 0,
            H,
            ge.moduleSpecifier,
            ge.attributes
          ) : void 0;
        }
        function Zr(ge) {
          E.assert(
            ge.phaseModifier !== 156
            /* TypeKeyword */
          );
          const H = co(ge) ? ge.name : void 0, tt = Qe(ge.namedBindings, Rr, $j);
          return H || tt ? t.updateImportClause(ge, ge.phaseModifier, H, tt) : void 0;
        }
        function Rr(ge) {
          if (ge.kind === 275)
            return co(ge) ? ge : void 0;
          {
            const H = u.verbatimModuleSyntax, tt = Ar(ge.elements, Pr, qu);
            return H || ot(tt) ? t.updateNamedImports(ge, tt) : void 0;
          }
        }
        function Pr(ge) {
          return !ge.isTypeOnly && co(ge) ? ge : void 0;
        }
        function rt(ge) {
          return u.verbatimModuleSyntax || _.isValueAliasDeclaration(ge) ? br(ge, V, e) : void 0;
        }
        function vt(ge) {
          if (ge.isTypeOnly)
            return;
          if (!ge.exportClause || Xm(ge.exportClause))
            return t.updateExportDeclaration(
              ge,
              ge.modifiers,
              ge.isTypeOnly,
              ge.exportClause,
              ge.moduleSpecifier,
              ge.attributes
            );
          const H = !!u.verbatimModuleSyntax, tt = Qe(
            ge.exportClause,
            (Ft) => _r(Ft, H),
            Rj
          );
          return tt ? t.updateExportDeclaration(
            ge,
            /*modifiers*/
            void 0,
            ge.isTypeOnly,
            tt,
            ge.moduleSpecifier,
            ge.attributes
          ) : void 0;
        }
        function Nt(ge, H) {
          const tt = Ar(ge.elements, nr, Eu);
          return H || ot(tt) ? t.updateNamedExports(ge, tt) : void 0;
        }
        function Jt(ge) {
          return t.updateNamespaceExport(ge, E.checkDefined(Qe(ge.name, V, Me)));
        }
        function _r(ge, H) {
          return Xm(ge) ? Jt(ge) : Nt(ge, H);
        }
        function nr(ge) {
          return !ge.isTypeOnly && (u.verbatimModuleSyntax || _.isValueAliasDeclaration(ge)) ? ge : void 0;
        }
        function kt(ge) {
          return co(ge) || !ll(D) && _.isTopLevelValueImportEqualsWithEntityName(ge);
        }
        function cr(ge) {
          if (ge.isTypeOnly)
            return;
          if (z1(ge))
            return co(ge) ? br(ge, V, e) : void 0;
          if (!kt(ge))
            return;
          const H = zN(t, ge.moduleReference);
          return un(
            H,
            7168
            /* NoNestedComments */
          ), Xt(ge) || !fr(ge) ? Cn(
            ct(
              t.createVariableStatement(
                Ar(ge.modifiers, Ye, Ys),
                t.createVariableDeclarationList([
                  Cn(
                    t.createVariableDeclaration(
                      ge.name,
                      /*exclamationToken*/
                      void 0,
                      /*type*/
                      void 0,
                      H
                    ),
                    ge
                  )
                ])
              ),
              ge
            ),
            ge
          ) : Cn(
            ps(
              ge.name,
              H,
              ge
            ),
            ge
          );
        }
        function fr(ge) {
          return P !== void 0 && Gn(
            ge,
            32
            /* Export */
          );
        }
        function vr(ge) {
          return P === void 0 && Gn(
            ge,
            32
            /* Export */
          );
        }
        function Xt(ge) {
          return vr(ge) && !Gn(
            ge,
            2048
            /* Default */
          );
        }
        function oi(ge) {
          return vr(ge) && Gn(
            ge,
            2048
            /* Default */
          );
        }
        function Is(ge) {
          const H = t.createAssignment(
            t.getExternalModuleOrNamespaceExportName(
              A,
              ge,
              /*allowComments*/
              false,
              /*allowSourceMaps*/
              true
            ),
            t.getLocalName(ge)
          );
          ga(H, ip(ge.name ? ge.name.pos : ge.pos, ge.end));
          const tt = t.createExpressionStatement(H);
          return ga(tt, ip(-1, ge.end)), tt;
        }
        function Ms(ge, H) {
          ge.push(Is(H));
        }
        function ps(ge, H, tt) {
          return ct(
            t.createExpressionStatement(
              t.createAssignment(
                t.getNamespaceMemberName(
                  A,
                  ge,
                  /*allowComments*/
                  false,
                  /*allowSourceMaps*/
                  true
                ),
                H
              )
            ),
            tt
          );
        }
        function uc(ge, H, tt) {
          return ct(t.createAssignment(Xo(ge), H), tt);
        }
        function Xo(ge) {
          return t.getNamespaceMemberName(
            A,
            ge,
            /*allowComments*/
            false,
            /*allowSourceMaps*/
            true
          );
        }
        function ro(ge) {
          const H = t.getGeneratedNameForNode(ge);
          return ga(H, ge.name), H;
        }
        function zi(ge) {
          return t.getGeneratedNameForNode(ge);
        }
        function gs() {
          (R & 8) === 0 && (R |= 8, e.enableSubstitution(
            80
            /* Identifier */
          ));
        }
        function Vc() {
          (R & 2) === 0 && (R |= 2, e.enableSubstitution(
            80
            /* Identifier */
          ), e.enableSubstitution(
            305
            /* ShorthandPropertyAssignment */
          ), e.enableEmitNotification(
            268
            /* ModuleDeclaration */
          ));
        }
        function To(ge) {
          return zo(ge).kind === 268;
        }
        function ea(ge) {
          return zo(ge).kind === 267;
        }
        function xc(ge, H, tt) {
          const Ft = B, Kt = D;
          Di(H) && (D = H), R & 2 && To(H) && (B |= 2), R & 8 && ea(H) && (B |= 8), T(ge, H, tt), B = Ft, D = Kt;
        }
        function Rf(ge, H) {
          return H = k(ge, H), ge === 1 ? zs(H) : fu(H) ? os(H) : H;
        }
        function os(ge) {
          if (R & 2) {
            const H = ge.name, tt = ya(H);
            if (tt) {
              if (ge.objectAssignmentInitializer) {
                const Ft = t.createAssignment(tt, ge.objectAssignmentInitializer);
                return ct(t.createPropertyAssignment(H, Ft), ge);
              }
              return ct(t.createPropertyAssignment(H, tt), ge);
            }
          }
          return ge;
        }
        function zs(ge) {
          switch (ge.kind) {
            case 80:
              return Aa(ge);
            case 212:
              return zt(ge);
            case 213:
              return Xa(ge);
          }
          return ge;
        }
        function Aa(ge) {
          return ya(ge) || ge;
        }
        function ya(ge) {
          if (R & B && !Mo(ge) && !Ch(ge)) {
            const H = _.getReferencedExportContainer(
              ge,
              /*prefixLocals*/
              false
            );
            if (H && H.kind !== 308 && (B & 2 && H.kind === 268 || B & 8 && H.kind === 267))
              return ct(
                t.createPropertyAccessExpression(t.getGeneratedNameForNode(H), ge),
                /*location*/
                ge
              );
          }
        }
        function zt(ge) {
          return Nc(ge);
        }
        function Xa(ge) {
          return Nc(ge);
        }
        function mc(ge) {
          return ge.replace(/\*\//g, "*_/");
        }
        function Nc(ge) {
          const H = Wl(ge);
          if (H !== void 0) {
            gte(ge, H);
            const tt = typeof H == "string" ? t.createStringLiteral(H) : H < 0 ? t.createPrefixUnaryExpression(41, t.createNumericLiteral(-H)) : t.createNumericLiteral(H);
            if (!u.removeComments) {
              const Ft = zo(ge, vo);
              TD(tt, 3, ` ${mc(Go(Ft))} `);
            }
            return tt;
          }
          return ge;
        }
        function Wl(ge) {
          if (!Rp(u))
            return wn(ge) || oo(ge) ? _.getConstantValue(ge) : void 0;
        }
        function co(ge) {
          return u.verbatimModuleSyntax || an(ge) || _.isReferencedAliasDeclaration(ge);
        }
      }
      function Vne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          hoistVariableDeclaration: i,
          endLexicalEnvironment: s,
          startLexicalEnvironment: o,
          resumeLexicalEnvironment: c,
          addBlockScopedVariable: _
        } = e, u = e.getEmitResolver(), g = e.getCompilerOptions(), m = pa(g), h = pN(g), S = !!g.experimentalDecorators, T = !h, k = h && m < 9, D = T || k, P = m < 9, A = m < 99 ? -1 : h ? 0 : 3, O = m < 9, F = O && m >= 2, R = D || P || A === -1, B = e.onSubstituteNode;
        e.onSubstituteNode = mc;
        const U = e.onEmitNode;
        e.onEmitNode = Xa;
        let $ = false, W = 0, _e, K, V, ae;
        const se = /* @__PURE__ */ new Map(), ce = /* @__PURE__ */ new Set();
        let fe, he, q = false, be = false;
        return Ad(e, je);
        function je(H) {
          if (H.isDeclarationFile || (ae = void 0, $ = !!(td(H) & 32), !R && !$))
            return H;
          const tt = br(H, Z, e);
          return Rg(tt, e.readEmitHelpers()), tt;
        }
        function me(H) {
          switch (H.kind) {
            case 129:
              return ft() ? void 0 : H;
            default:
              return Bn(H, Ys);
          }
        }
        function Z(H) {
          if (!(H.transformFlags & 16777216) && !(H.transformFlags & 134234112))
            return H;
          switch (H.kind) {
            case 264:
              return Lt(H);
            case 232:
              return Pe(H);
            case 176:
            case 173:
              return E.fail("Use `classElementVisitor` instead.");
            case 304:
              return Ce(H);
            case 244:
              return Ve(H);
            case 261:
              return St(H);
            case 170:
              return Bt(H);
            case 209:
              return tr(H);
            case 278:
              return Nr(H);
            case 81:
              return Ne(H);
            case 212:
              return Es(H);
            case 213:
              return Zs(H);
            case 225:
            case 226:
              return yr(
                H,
                /*discarded*/
                false
              );
            case 227:
              return $e(
                H,
                /*discarded*/
                false
              );
            case 218:
              return Tt(
                H,
                /*discarded*/
                false
              );
            case 214:
              return re(H);
            case 245:
              return Xe(H);
            case 216:
              return it(H);
            case 249:
              return vs(H);
            case 110:
              return M(H);
            case 263:
            case 219:
              return Dt(
                /*classElement*/
                void 0,
                pe,
                H
              );
            case 177:
            case 175:
            case 178:
            case 179:
              return Dt(
                H,
                pe,
                H
              );
            default:
              return pe(H);
          }
        }
        function pe(H) {
          return br(H, Z, e);
        }
        function Te(H) {
          switch (H.kind) {
            case 225:
            case 226:
              return yr(
                H,
                /*discarded*/
                true
              );
            case 227:
              return $e(
                H,
                /*discarded*/
                true
              );
            case 357:
              return Ke(
                H
              );
            case 218:
              return Tt(
                H,
                /*discarded*/
                true
              );
            default:
              return Z(H);
          }
        }
        function Fe(H) {
          switch (H.kind) {
            case 299:
              return br(H, Fe, e);
            case 234:
              return Ct(H);
            default:
              return Z(H);
          }
        }
        function Ye(H) {
          switch (H.kind) {
            case 211:
            case 210:
              return zt(H);
            default:
              return Z(H);
          }
        }
        function ne(H) {
          switch (H.kind) {
            case 177:
              return Dt(
                H,
                Jr,
                H
              );
            case 178:
            case 179:
            case 175:
              return Dt(
                H,
                Ji,
                H
              );
            case 173:
              return Dt(
                H,
                er,
                H
              );
            case 176:
              return Dt(
                H,
                ue,
                H
              );
            case 168:
              return Wt(H);
            case 241:
              return H;
            default:
              return Ro(H) ? me(H) : Z(H);
          }
        }
        function Se(H) {
          switch (H.kind) {
            case 168:
              return Wt(H);
            default:
              return Z(H);
          }
        }
        function ie(H) {
          switch (H.kind) {
            case 173:
              return Je(H);
            case 178:
            case 179:
              return ne(H);
            default:
              E.assertMissingNode(H, "Expected node to either be a PropertyDeclaration, GetAccessorDeclaration, or SetAccessorDeclaration");
              break;
          }
        }
        function Ne(H) {
          return !P || Ti(H.parent) ? H : Cn(t.createIdentifier(""), H);
        }
        function Ee(H) {
          const tt = gs(H.left);
          if (tt) {
            const Ft = Qe(H.right, Z, ut);
            return Cn(
              n().createClassPrivateFieldInHelper(tt.brandCheckIdentifier, Ft),
              H
            );
          }
          return br(H, Z, e);
        }
        function Ce(H) {
          return Z_(H, Ae) && (H = sf(e, H)), br(H, Z, e);
        }
        function Ve(H) {
          const tt = V;
          V = [];
          const Ft = br(H, Z, e), Kt = ot(V) ? [Ft, ...V] : Ft;
          return V = tt, Kt;
        }
        function St(H) {
          return Z_(H, Ae) && (H = sf(e, H)), br(H, Z, e);
        }
        function Bt(H) {
          return Z_(H, Ae) && (H = sf(e, H)), br(H, Z, e);
        }
        function tr(H) {
          return Z_(H, Ae) && (H = sf(e, H)), br(H, Z, e);
        }
        function Nr(H) {
          return Z_(H, Ae) && (H = sf(
            e,
            H,
            /*ignoreEmptyStringLiteral*/
            true,
            H.isExportEquals ? "" : "default"
          )), br(H, Z, e);
        }
        function st(H) {
          return ot(K) && (n_(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 tt = Qe(H.expression, Z, ut);
          return t.updateComputedPropertyName(H, st(tt));
        }
        function Jr(H) {
          return fe ? dt(H, fe) : pe(H);
        }
        function ui(H) {
          return !!(P || sl(H) && td(H) & 32);
        }
        function Ji(H) {
          if (E.assert(!Pf(H)), !xu(H) || !ui(H))
            return br(H, ne, e);
          const tt = gs(H.name);
          if (E.assert(tt, "Undeclared private name for property declaration."), !tt.isValid)
            return H;
          const Ft = Mn(H);
          Ft && vr().push(
            t.createAssignment(
              Ft,
              t.createFunctionExpression(
                kn(H.modifiers, (Kt) => Ys(Kt) && !Lx(Kt) && !fz(Kt)),
                H.asteriskToken,
                Ft,
                /*typeParameters*/
                void 0,
                cc(H.parameters, Z, e),
                /*type*/
                void 0,
                Of(H.body, Z, e)
              )
            )
          );
        }
        function Dt(H, tt, Ft) {
          if (H !== he) {
            const Kt = he;
            he = H;
            const Hr = tt(Ft);
            return he = Kt, Hr;
          }
          return tt(Ft);
        }
        function Mn(H) {
          E.assert(Ai(H.name));
          const tt = gs(H.name);
          if (E.assert(tt, "Undeclared private name for property declaration."), tt.kind === "m")
            return tt.methodName;
          if (tt.kind === "a") {
            if (kg(H))
              return tt.getterName;
            if (rm(H))
              return tt.setterName;
          }
        }
        function ai() {
          const H = cr();
          return H.classThis ?? H.classConstructor ?? fe?.name;
        }
        function fi(H) {
          const tt = pm(H), Ft = y0(H), Kt = H.name;
          let Hr = Kt, Vn = Kt;
          if (Hs(Kt) && !Zm(Kt.expression)) {
            const xo = WF(Kt);
            if (xo)
              Hr = t.updateComputedPropertyName(Kt, Qe(Kt.expression, Z, ut)), Vn = t.updateComputedPropertyName(Kt, xo.left);
            else {
              const qc = t.createTempVariable(i);
              ga(qc, Kt.expression);
              const Rc = Qe(Kt.expression, Z, ut), go = t.createAssignment(qc, Rc);
              ga(go, Kt.expression), Hr = t.updateComputedPropertyName(Kt, go), Vn = t.updateComputedPropertyName(Kt, qc);
            }
          }
          const ln = Ar(H.modifiers, me, Ys), kr = Bz(t, H, ln, H.initializer);
          Cn(kr, H), un(
            kr,
            3072
            /* NoComments */
          ), ga(kr, Ft);
          const Li = Bs(H) ? ai() ?? t.createThis() : t.createThis(), Yi = mre(t, H, ln, Hr, Li);
          Cn(Yi, H), Yc(Yi, tt), ga(Yi, Ft);
          const eo = t.createModifiersFromModifierFlags(lm(ln)), ta = gre(t, H, eo, Vn, Li);
          return Cn(ta, H), un(
            ta,
            3072
            /* NoComments */
          ), ga(ta, Ft), GD([kr, Yi, ta], ie, Uc);
        }
        function pn(H) {
          if (ui(H)) {
            const tt = gs(H.name);
            if (E.assert(tt, "Undeclared private name for property declaration."), !tt.isValid)
              return H;
            if (tt.isStatic && !P) {
              const Ft = wt(H, t.createThis());
              if (Ft)
                return t.createClassStaticBlockDeclaration(t.createBlock(
                  [Ft],
                  /*multiLine*/
                  true
                ));
            }
            return;
          }
          return T && !Bs(H) && ae?.data && ae.data.facts & 16 ? t.updatePropertyDeclaration(
            H,
            Ar(H.modifiers, Z, Ro),
            H.name,
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            /*initializer*/
            void 0
          ) : (Z_(H, Ae) && (H = sf(e, H)), t.updatePropertyDeclaration(
            H,
            Ar(H.modifiers, me, Ys),
            Qe(H.name, Se, Wc),
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            Qe(H.initializer, Z, ut)
          ));
        }
        function _i(H) {
          if (D && !g_(H)) {
            const tt = _r(
              H.name,
              /*shouldHoist*/
              !!H.initializer || h
            );
            if (tt && vr().push(...hre(tt)), Bs(H) && !P) {
              const Ft = wt(H, t.createThis());
              if (Ft) {
                const Kt = t.createClassStaticBlockDeclaration(
                  t.createBlock([Ft])
                );
                return Cn(Kt, H), Yc(Kt, H), Yc(Ft, { pos: -1, end: -1 }), Q1(Ft, void 0), Nx(Ft, void 0), Kt;
              }
            }
            return;
          }
          return t.updatePropertyDeclaration(
            H,
            Ar(H.modifiers, me, Ys),
            Qe(H.name, Se, Wc),
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            Qe(H.initializer, Z, ut)
          );
        }
        function Je(H) {
          return E.assert(!Pf(H), "Decorators should already have been transformed and elided."), xu(H) ? pn(H) : _i(H);
        }
        function ft() {
          return A === -1 || A === 3 && !!ae?.data && !!(ae.data.facts & 16);
        }
        function er(H) {
          return g_(H) && (ft() || sl(H) && td(H) & 32) ? fi(H) : Je(H);
        }
        function qr() {
          return !!he && sl(he) && Ty(he) && g_(zo(he));
        }
        function Jn(H) {
          if (qr()) {
            const tt = dc(H);
            tt.kind === 110 && ce.add(tt);
          }
        }
        function Un(H, tt) {
          return tt = Qe(tt, Z, ut), Jn(tt), ki(H, tt);
        }
        function ki(H, tt) {
          switch (Yc(tt, G1(tt, -1)), H.kind) {
            case "a":
              return n().createClassPrivateFieldGetHelper(
                tt,
                H.brandCheckIdentifier,
                H.kind,
                H.getterName
              );
            case "m":
              return n().createClassPrivateFieldGetHelper(
                tt,
                H.brandCheckIdentifier,
                H.kind,
                H.methodName
              );
            case "f":
              return n().createClassPrivateFieldGetHelper(
                tt,
                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 Es(H) {
          if (Ai(H.name)) {
            const tt = gs(H.name);
            if (tt)
              return ct(
                Cn(
                  Un(tt, H.expression),
                  H
                ),
                H
              );
          }
          if (F && he && O_(H) && Me(H.name) && KD(he) && ae?.data) {
            const { classConstructor: tt, superClassReference: Ft, facts: Kt } = ae.data;
            if (Kt & 1)
              return Jt(H);
            if (tt && Ft) {
              const Hr = t.createReflectGetCall(
                Ft,
                t.createStringLiteralFromNode(H.name),
                tt
              );
              return Cn(Hr, H.expression), ct(Hr, H.expression), Hr;
            }
          }
          return br(H, Z, e);
        }
        function Zs(H) {
          if (F && he && O_(H) && KD(he) && ae?.data) {
            const { classConstructor: tt, superClassReference: Ft, facts: Kt } = ae.data;
            if (Kt & 1)
              return Jt(H);
            if (tt && Ft) {
              const Hr = t.createReflectGetCall(
                Ft,
                Qe(H.argumentExpression, Z, ut),
                tt
              );
              return Cn(Hr, H.expression), ct(Hr, H.expression), Hr;
            }
          }
          return br(H, Z, e);
        }
        function yr(H, tt) {
          if (H.operator === 46 || H.operator === 47) {
            const Ft = Ra(H.operand);
            if (EC(Ft)) {
              let Kt;
              if (Kt = gs(Ft.name)) {
                const Hr = Qe(Ft.expression, Z, ut);
                Jn(Hr);
                const { readExpression: Vn, initializeExpression: ln } = Et(Hr);
                let kr = Un(Kt, Vn);
                const Li = K1(H) || tt ? void 0 : t.createTempVariable(i);
                return kr = MF(t, H, kr, i, Li), kr = Le(
                  Kt,
                  ln || Vn,
                  kr,
                  64
                  /* EqualsToken */
                ), Cn(kr, H), ct(kr, H), Li && (kr = t.createComma(kr, Li), ct(kr, H)), kr;
              }
            } else if (F && he && O_(Ft) && KD(he) && ae?.data) {
              const { classConstructor: Kt, superClassReference: Hr, facts: Vn } = ae.data;
              if (Vn & 1) {
                const ln = Jt(Ft);
                return K1(H) ? t.updatePrefixUnaryExpression(H, ln) : t.updatePostfixUnaryExpression(H, ln);
              }
              if (Kt && Hr) {
                let ln, kr;
                if (wn(Ft) ? Me(Ft.name) && (kr = ln = t.createStringLiteralFromNode(Ft.name)) : Zm(Ft.argumentExpression) ? kr = ln = Ft.argumentExpression : (kr = t.createTempVariable(i), ln = t.createAssignment(kr, Qe(Ft.argumentExpression, Z, ut))), ln && kr) {
                  let Li = t.createReflectGetCall(Hr, kr, Kt);
                  ct(Li, Ft);
                  const Yi = tt ? void 0 : t.createTempVariable(i);
                  return Li = MF(t, H, Li, i, Yi), Li = t.createReflectSetCall(Hr, ln, Li, Kt), Cn(Li, H), ct(Li, H), Yi && (Li = t.createComma(Li, Yi), ct(Li, H)), Li;
                }
              }
            }
          }
          return br(H, Z, e);
        }
        function vs(H) {
          return t.updateForStatement(
            H,
            Qe(H.initializer, Te, ep),
            Qe(H.condition, Z, ut),
            Qe(H.incrementor, Te, ut),
            i_(H.statement, Z, e)
          );
        }
        function Xe(H) {
          return t.updateExpressionStatement(
            H,
            Qe(H.expression, Te, ut)
          );
        }
        function Et(H) {
          const tt = ao(H) ? H : t.cloneNode(H);
          if (H.kind === 110 && ce.has(H) && ce.add(tt), Zm(H))
            return { readExpression: tt, initializeExpression: void 0 };
          const Ft = t.createTempVariable(i), Kt = t.createAssignment(Ft, tt);
          return { readExpression: Ft, initializeExpression: Kt };
        }
        function re(H) {
          var tt;
          if (EC(H.expression) && gs(H.expression.name)) {
            const { thisArg: Ft, target: Kt } = t.createCallBinding(H.expression, i, m);
            return H2(H) ? t.updateCallChain(
              H,
              t.createPropertyAccessChain(Qe(Kt, Z, ut), H.questionDotToken, "call"),
              /*questionDotToken*/
              void 0,
              /*typeArguments*/
              void 0,
              [Qe(Ft, Z, ut), ...Ar(H.arguments, Z, ut)]
            ) : t.updateCallExpression(
              H,
              t.createPropertyAccessExpression(Qe(Kt, Z, ut), "call"),
              /*typeArguments*/
              void 0,
              [Qe(Ft, Z, ut), ...Ar(H.arguments, Z, ut)]
            );
          }
          if (F && he && O_(H.expression) && KD(he) && ((tt = ae?.data) != null && tt.classConstructor)) {
            const Ft = t.createFunctionCallCall(
              Qe(H.expression, Z, ut),
              ae.data.classConstructor,
              Ar(H.arguments, Z, ut)
            );
            return Cn(Ft, H), ct(Ft, H), Ft;
          }
          return br(H, Z, e);
        }
        function it(H) {
          var tt;
          if (EC(H.tag) && gs(H.tag.name)) {
            const { thisArg: Ft, target: Kt } = t.createCallBinding(H.tag, i, m);
            return t.updateTaggedTemplateExpression(
              H,
              t.createCallExpression(
                t.createPropertyAccessExpression(Qe(Kt, Z, ut), "bind"),
                /*typeArguments*/
                void 0,
                [Qe(Ft, Z, ut)]
              ),
              /*typeArguments*/
              void 0,
              Qe(H.template, Z, ex)
            );
          }
          if (F && he && O_(H.tag) && KD(he) && ((tt = ae?.data) != null && tt.classConstructor)) {
            const Ft = t.createFunctionBindCall(
              Qe(H.tag, Z, ut),
              ae.data.classConstructor,
              []
            );
            return Cn(Ft, H), ct(Ft, H), t.updateTaggedTemplateExpression(
              H,
              Ft,
              /*typeArguments*/
              void 0,
              Qe(H.template, Z, ex)
            );
          }
          return br(H, Z, e);
        }
        function Y(H) {
          if (ae && se.set(zo(H), ae), P) {
            if (ZD(H)) {
              const Kt = Qe(H.body.statements[0].expression, Z, ut);
              return El(
                Kt,
                /*excludeCompoundAssignment*/
                true
              ) && Kt.left === Kt.right ? void 0 : Kt;
            }
            if (ek(H))
              return Qe(H.body.statements[0].expression, Z, ut);
            o();
            let tt = Dt(
              H,
              (Kt) => Ar(Kt, Z, Ti),
              H.body.statements
            );
            tt = t.mergeLexicalEnvironment(tt, s());
            const Ft = t.createImmediatelyInvokedArrowFunction(tt);
            return Cn(Ra(Ft.expression), H), fm(
              Ra(Ft.expression),
              4
              /* AdviseOnEmitNode */
            ), Cn(Ft, H), ct(Ft, H), Ft;
          }
        }
        function Ae(H) {
          if (Oc(H) && !H.name) {
            const tt = kO(H);
            return ot(tt, ek) ? false : (P || !!td(H)) && ot(tt, (Kt) => Sc(Kt) || xu(Kt) || D && _8(Kt));
          }
          return false;
        }
        function $e(H, tt) {
          if (p0(H)) {
            const Ft = K;
            K = void 0, H = t.updateBinaryExpression(
              H,
              Qe(H.left, Ye, ut),
              H.operatorToken,
              Qe(H.right, Z, ut)
            );
            const Kt = ot(K) ? t.inlineExpressions(OP([...K, H])) : H;
            return K = Ft, Kt;
          }
          if (El(H)) {
            Z_(H, Ae) && (H = sf(e, H), E.assertNode(H, El));
            const Ft = dc(
              H.left,
              9
              /* Parentheses */
            );
            if (EC(Ft)) {
              const Kt = gs(Ft.name);
              if (Kt)
                return ct(
                  Cn(
                    Le(Kt, Ft.expression, H.right, H.operatorToken.kind),
                    H
                  ),
                  H
                );
            } else if (F && he && O_(H.left) && KD(he) && ae?.data) {
              const { classConstructor: Kt, superClassReference: Hr, facts: Vn } = ae.data;
              if (Vn & 1)
                return t.updateBinaryExpression(
                  H,
                  Jt(H.left),
                  H.operatorToken,
                  Qe(H.right, Z, ut)
                );
              if (Kt && Hr) {
                let ln = oo(H.left) ? Qe(H.left.argumentExpression, Z, ut) : Me(H.left.name) ? t.createStringLiteralFromNode(H.left.name) : void 0;
                if (ln) {
                  let kr = Qe(H.right, Z, ut);
                  if (XD(H.operatorToken.kind)) {
                    let Yi = ln;
                    Zm(ln) || (Yi = t.createTempVariable(i), ln = t.createAssignment(Yi, ln));
                    const eo = t.createReflectGetCall(
                      Hr,
                      Yi,
                      Kt
                    );
                    Cn(eo, H.left), ct(eo, H.left), kr = t.createBinaryExpression(
                      eo,
                      QD(H.operatorToken.kind),
                      kr
                    ), ct(kr, H);
                  }
                  const Li = tt ? void 0 : t.createTempVariable(i);
                  return Li && (kr = t.createAssignment(Li, kr), ct(Li, H)), kr = t.createReflectSetCall(
                    Hr,
                    ln,
                    kr,
                    Kt
                  ), Cn(kr, H), ct(kr, H), Li && (kr = t.createComma(kr, Li), ct(kr, H)), kr;
                }
              }
            }
          }
          return hje(H) ? Ee(H) : br(H, Z, e);
        }
        function Ke(H, tt) {
          const Ft = bO(H.elements, Te);
          return t.updateCommaListExpression(H, Ft);
        }
        function Tt(H, tt) {
          const Ft = tt ? Te : Z, Kt = Qe(H.expression, Ft, ut);
          return t.updateParenthesizedExpression(H, Kt);
        }
        function Le(H, tt, Ft, Kt) {
          if (tt = Qe(tt, Z, ut), Ft = Qe(Ft, Z, ut), Jn(tt), XD(Kt)) {
            const { readExpression: Hr, initializeExpression: Vn } = Et(tt);
            tt = Vn || Hr, Ft = t.createBinaryExpression(
              ki(H, Hr),
              QD(Kt),
              Ft
            );
          }
          switch (Yc(tt, G1(tt, -1)), H.kind) {
            case "a":
              return n().createClassPrivateFieldSetHelper(
                tt,
                H.brandCheckIdentifier,
                Ft,
                H.kind,
                H.setterName
              );
            case "m":
              return n().createClassPrivateFieldSetHelper(
                tt,
                H.brandCheckIdentifier,
                Ft,
                H.kind,
                /*f*/
                void 0
              );
            case "f":
              return n().createClassPrivateFieldSetHelper(
                tt,
                H.brandCheckIdentifier,
                Ft,
                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 mt(H) {
          return kn(H.members, Ine);
        }
        function pt(H) {
          var tt;
          let Ft = 0;
          const Kt = zo(H);
          $n(Kt) && _0(S, Kt) && (Ft |= 1), P && (UW(H) || DO(H)) && (Ft |= 2);
          let Hr = false, Vn = false, ln = false, kr = false;
          for (const Yi of H.members)
            Bs(Yi) ? ((Yi.name && (Ai(Yi.name) || g_(Yi)) && P || g_(Yi) && A === -1 && !H.name && !((tt = H.emitNode) != null && tt.classThis)) && (Ft |= 2), (as(Yi) || Sc(Yi)) && (O && Yi.transformFlags & 16384 && (Ft |= 8, Ft & 1 || (Ft |= 2)), F && Yi.transformFlags & 134217728 && (Ft & 1 || (Ft |= 6)))) : Ob(zo(Yi)) || (g_(Yi) ? (kr = true, ln || (ln = xu(Yi))) : xu(Yi) ? (ln = true, u.hasNodeCheckFlag(
              Yi,
              262144
              /* ContainsConstructorReference */
            ) && (Ft |= 2)) : as(Yi) && (Hr = true, Vn || (Vn = !!Yi.initializer)));
          return (k && Hr || T && Vn || P && ln || P && kr && A === -1) && (Ft |= 16), Ft;
        }
        function Ct(H) {
          var tt;
          if ((((tt = ae?.data) == null ? void 0 : tt.facts) || 0) & 4) {
            const Kt = t.createTempVariable(
              i,
              /*reservedInNestedScopes*/
              true
            );
            return cr().superClassReference = Kt, t.updateExpressionWithTypeArguments(
              H,
              t.createAssignment(
                Kt,
                Qe(H.expression, Z, ut)
              ),
              /*typeArguments*/
              void 0
            );
          }
          return br(H, Z, e);
        }
        function qe(H, tt) {
          var Ft;
          const Kt = fe, Hr = K, Vn = ae;
          fe = H, K = void 0, nr();
          const ln = td(H) & 32;
          if (P || ln) {
            const Yi = us(H);
            if (Yi && Me(Yi))
              fr().data.className = Yi;
            else if ((Ft = H.emitNode) != null && Ft.assignedName && oa(H.emitNode.assignedName)) {
              if (H.emitNode.assignedName.textSourceNode && Me(H.emitNode.assignedName.textSourceNode))
                fr().data.className = H.emitNode.assignedName.textSourceNode;
              else if (F_(H.emitNode.assignedName.text, m)) {
                const eo = t.createIdentifier(H.emitNode.assignedName.text);
                fr().data.className = eo;
              }
            }
          }
          if (P) {
            const Yi = mt(H);
            ot(Yi) && (fr().data.weakSetName = ro(
              "instances",
              Yi[0].name
            ));
          }
          const kr = pt(H);
          kr && (cr().facts = kr), kr & 8 && vt();
          const Li = tt(H, kr);
          return kt(), E.assert(ae === Vn), fe = Kt, K = Hr, Li;
        }
        function Lt(H) {
          return qe(H, rn);
        }
        function rn(H, tt) {
          var Ft, Kt;
          let Hr;
          if (tt & 2)
            if (P && ((Ft = H.emitNode) != null && Ft.classThis))
              cr().classConstructor = H.emitNode.classThis, Hr = t.createAssignment(H.emitNode.classThis, t.getInternalName(H));
            else {
              const go = t.createTempVariable(
                i,
                /*reservedInNestedScopes*/
                true
              );
              cr().classConstructor = t.cloneNode(go), Hr = t.createAssignment(go, t.getInternalName(H));
            }
          (Kt = H.emitNode) != null && Kt.classThis && (cr().classThis = H.emitNode.classThis);
          const Vn = u.hasNodeCheckFlag(
            H,
            262144
            /* ContainsConstructorReference */
          ), ln = Gn(
            H,
            32
            /* Export */
          ), kr = Gn(
            H,
            2048
            /* Default */
          );
          let Li = Ar(H.modifiers, me, Ys);
          const Yi = Ar(H.heritageClauses, Fe, nf), { members: eo, prologue: ta } = ye(H), xo = [];
          if (Hr && vr().unshift(Hr), ot(K) && xo.push(t.createExpressionStatement(t.inlineExpressions(K))), T || P || td(H) & 32) {
            const go = kO(H);
            ot(go) && at(xo, go, t.getInternalName(H));
          }
          xo.length > 0 && ln && kr && (Li = Ar(Li, (go) => HN(go) ? void 0 : go, Ys), xo.push(t.createExportAssignment(
            /*modifiers*/
            void 0,
            /*isExportEquals*/
            false,
            t.getLocalName(
              H,
              /*allowComments*/
              false,
              /*allowSourceMaps*/
              true
            )
          )));
          const qc = cr().classConstructor;
          Vn && qc && (rt(), _e[s_(H)] = qc);
          const Rc = t.updateClassDeclaration(
            H,
            Li,
            H.name,
            /*typeParameters*/
            void 0,
            Yi,
            eo
          );
          return xo.unshift(Rc), ta && xo.unshift(t.createExpressionStatement(ta)), xo;
        }
        function Pe(H) {
          return qe(H, yt);
        }
        function yt(H, tt) {
          var Ft, Kt, Hr;
          const Vn = !!(tt & 1), ln = kO(H), kr = u.hasNodeCheckFlag(
            H,
            262144
            /* ContainsConstructorReference */
          ), Li = u.hasNodeCheckFlag(
            H,
            32768
            /* BlockScopedBindingInLoop */
          );
          let Yi;
          function eo() {
            var ru;
            if (P && ((ru = H.emitNode) != null && ru.classThis))
              return cr().classConstructor = H.emitNode.classThis;
            const Tf = t.createTempVariable(
              Li ? _ : i,
              /*reservedInNestedScopes*/
              true
            );
            return cr().classConstructor = t.cloneNode(Tf), Tf;
          }
          (Ft = H.emitNode) != null && Ft.classThis && (cr().classThis = H.emitNode.classThis), tt & 2 && (Yi ?? (Yi = eo()));
          const ta = Ar(H.modifiers, me, Ys), xo = Ar(H.heritageClauses, Fe, nf), { members: qc, prologue: Rc } = ye(H), go = t.updateClassExpression(
            H,
            ta,
            H.name,
            /*typeParameters*/
            void 0,
            xo,
            qc
          ), tc = [];
          if (Rc && tc.push(Rc), (P || td(H) & 32) && ot(ln, (ru) => Sc(ru) || xu(ru) || D && _8(ru)) || ot(K))
            if (Vn)
              E.assertIsDefined(V, "Decorated classes transformed by TypeScript are expected to be within a variable declaration."), ot(K) && In(V, hr(K, t.createExpressionStatement)), ot(ln) && at(V, ln, ((Kt = H.emitNode) == null ? void 0 : Kt.classThis) ?? t.getInternalName(H)), Yi ? tc.push(t.createAssignment(Yi, go)) : P && ((Hr = H.emitNode) != null && Hr.classThis) ? tc.push(t.createAssignment(H.emitNode.classThis, go)) : tc.push(go);
            else {
              if (Yi ?? (Yi = eo()), kr) {
                rt();
                const ru = t.cloneNode(Yi);
                ru.emitNode.autoGenerate.flags &= -9, _e[s_(H)] = ru;
              }
              tc.push(t.createAssignment(Yi, go)), In(tc, K), In(tc, Zr(ln, Yi)), tc.push(t.cloneNode(Yi));
            }
          else
            tc.push(go);
          return tc.length > 1 && (fm(
            go,
            131072
            /* Indented */
          ), tc.forEach(Du)), t.inlineExpressions(tc);
        }
        function ue(H) {
          if (!P)
            return br(H, Z, e);
        }
        function M(H) {
          if (O && he && Sc(he) && ae?.data) {
            const { classThis: tt, classConstructor: Ft } = ae.data;
            return tt ?? Ft ?? H;
          }
          return H;
        }
        function ye(H) {
          const tt = !!(td(H) & 32);
          if (P || $) {
            for (const ln of H.members)
              if (xu(ln))
                if (ui(ln))
                  Xo(ln, ln.name, Xt);
                else {
                  const kr = fr();
                  AS(kr, ln.name, { kind: "untransformed" });
                }
            if (P && ot(mt(H)) && Q(), ft()) {
              for (const ln of H.members)
                if (g_(ln)) {
                  const kr = t.getGeneratedPrivateNameForNode(
                    ln.name,
                    /*prefix*/
                    void 0,
                    "_accessor_storage"
                  );
                  if (P || tt && sl(ln))
                    Xo(ln, kr, oi);
                  else {
                    const Li = fr();
                    AS(Li, kr, { kind: "untransformed" });
                  }
                }
            }
          }
          let Ft = Ar(H.members, ne, Uc), Kt;
          ot(Ft, ec) || (Kt = dt(
            /*constructor*/
            void 0,
            H
          ));
          let Hr, Vn;
          if (!P && ot(K)) {
            let ln = t.createExpressionStatement(t.inlineExpressions(K));
            if (ln.transformFlags & 134234112) {
              const Li = t.createTempVariable(i), Yi = t.createArrowFunction(
                /*modifiers*/
                void 0,
                /*typeParameters*/
                void 0,
                /*parameters*/
                [],
                /*type*/
                void 0,
                /*equalsGreaterThanToken*/
                void 0,
                t.createBlock([ln])
              );
              Hr = t.createAssignment(Li, Yi), ln = t.createExpressionStatement(t.createCallExpression(
                Li,
                /*typeArguments*/
                void 0,
                []
              ));
            }
            const kr = t.createBlock([ln]);
            Vn = t.createClassStaticBlockDeclaration(kr), K = void 0;
          }
          if (Kt || Vn) {
            let ln;
            const kr = Nn(Ft, ZD), Li = Nn(Ft, ek);
            ln = Er(ln, kr), ln = Er(ln, Li), ln = Er(ln, Kt), ln = Er(ln, Vn);
            const Yi = kr || Li ? kn(Ft, (eo) => eo !== kr && eo !== Li) : Ft;
            ln = In(ln, Yi), Ft = ct(
              t.createNodeArray(ln),
              /*location*/
              H.members
            );
          }
          return { members: Ft, prologue: Hr };
        }
        function Q() {
          const { weakSetName: H } = fr().data;
          E.assert(H, "weakSetName should be set in private identifier environment"), vr().push(
            t.createAssignment(
              H,
              t.createNewExpression(
                t.createIdentifier("WeakSet"),
                /*typeArguments*/
                void 0,
                []
              )
            )
          );
        }
        function dt(H, tt) {
          if (H = Qe(H, Z, ec), !ae?.data || !(ae.data.facts & 16))
            return H;
          const Ft = kd(tt), Kt = !!(Ft && dc(Ft.expression).kind !== 106), Hr = cc(H ? H.parameters : void 0, Z, e), Vn = ke(tt, H, Kt);
          return Vn ? H ? (E.assert(Hr), t.updateConstructorDeclaration(
            H,
            /*modifiers*/
            void 0,
            Hr,
            Vn
          )) : Du(
            Cn(
              ct(
                t.createConstructorDeclaration(
                  /*modifiers*/
                  void 0,
                  Hr ?? [],
                  Vn
                ),
                H || tt
              ),
              H
            )
          ) : H;
        }
        function Mt(H, tt, Ft, Kt, Hr, Vn, ln) {
          const kr = Kt[Hr], Li = tt[kr];
          if (In(H, Ar(tt, Z, Ti, Ft, kr - Ft)), Ft = kr + 1, SS(Li)) {
            const Yi = [];
            Mt(
              Yi,
              Li.tryBlock.statements,
              /*statementOffset*/
              0,
              Kt,
              Hr + 1,
              Vn,
              ln
            );
            const eo = t.createNodeArray(Yi);
            ct(eo, Li.tryBlock.statements), H.push(t.updateTryStatement(
              Li,
              t.updateBlock(Li.tryBlock, Yi),
              Qe(Li.catchClause, Z, Hb),
              Qe(Li.finallyBlock, Z, Ps)
            ));
          } else {
            for (In(H, Ar(tt, Z, Ti, kr, 1)); Ft < tt.length; ) {
              const Yi = tt[Ft];
              if (X_(zo(Yi), ln))
                Ft++;
              else
                break;
            }
            In(H, Vn);
          }
          In(H, Ar(tt, Z, Ti, Ft));
        }
        function ke(H, tt, Ft) {
          var Kt;
          const Hr = JW(
            H,
            /*requireInitializer*/
            false,
            /*isStatic*/
            false
          );
          let Vn = Hr;
          h || (Vn = kn(Vn, (Rc) => !!Rc.initializer || Ai(Rc.name) || cm(Rc)));
          const ln = mt(H), kr = ot(Vn) || ot(ln);
          if (!tt && !kr)
            return Of(
              /*node*/
              void 0,
              Z,
              e
            );
          c();
          const Li = !tt && Ft;
          let Yi = 0, eo = [];
          const ta = [], xo = t.createThis();
          if (Nt(ta, ln, xo), tt) {
            const Rc = kn(Hr, (tc) => X_(zo(tc), tt)), go = kn(Vn, (tc) => !X_(zo(tc), tt));
            at(ta, Rc, xo), at(ta, go, xo);
          } else
            at(ta, Vn, xo);
          if (tt?.body) {
            Yi = t.copyPrologue(
              tt.body.statements,
              eo,
              /*ensureUseStrict*/
              false,
              Z
            );
            const Rc = xO(tt.body.statements, Yi);
            if (Rc.length)
              Mt(
                eo,
                tt.body.statements,
                Yi,
                Rc,
                /*superPathDepth*/
                0,
                ta,
                tt
              );
            else {
              for (; Yi < tt.body.statements.length; ) {
                const go = tt.body.statements[Yi];
                if (X_(zo(go), tt))
                  Yi++;
                else
                  break;
              }
              In(eo, ta), In(eo, Ar(tt.body.statements, Z, Ti, Yi));
            }
          } else
            Li && eo.push(
              t.createExpressionStatement(
                t.createCallExpression(
                  t.createSuper(),
                  /*typeArguments*/
                  void 0,
                  [t.createSpreadElement(t.createIdentifier("arguments"))]
                )
              )
            ), In(eo, ta);
          if (eo = t.mergeLexicalEnvironment(eo, s()), eo.length === 0 && !tt)
            return;
          const qc = tt?.body && tt.body.statements.length >= eo.length ? tt.body.multiLine ?? eo.length > 0 : eo.length > 0;
          return ct(
            t.createBlock(
              ct(
                t.createNodeArray(eo),
                /*location*/
                ((Kt = tt?.body) == null ? void 0 : Kt.statements) ?? H.members
              ),
              qc
            ),
            tt?.body
          );
        }
        function at(H, tt, Ft) {
          for (const Kt of tt) {
            if (Bs(Kt) && !P)
              continue;
            const Hr = wt(Kt, Ft);
            Hr && H.push(Hr);
          }
        }
        function wt(H, tt) {
          const Ft = Sc(H) ? Dt(H, Y, H) : Rr(H, tt);
          if (!Ft)
            return;
          const Kt = t.createExpressionStatement(Ft);
          Cn(Kt, H), fm(
            Kt,
            Ca(H) & 3072
            /* NoComments */
          ), Yc(Kt, H);
          const Hr = zo(H);
          return Ii(Hr) ? (ga(Kt, Hr), PN(Kt)) : ga(Kt, um(H)), Q1(Ft, void 0), Nx(Ft, void 0), cm(Hr) && fm(
            Kt,
            3072
            /* NoComments */
          ), Kt;
        }
        function Zr(H, tt) {
          const Ft = [];
          for (const Kt of H) {
            const Hr = Sc(Kt) ? Dt(Kt, Y, Kt) : Dt(
              Kt,
              () => Rr(Kt, tt),
              /*arg*/
              void 0
            );
            Hr && (Du(Hr), Cn(Hr, Kt), fm(
              Hr,
              Ca(Kt) & 3072
              /* NoComments */
            ), ga(Hr, um(Kt)), Yc(Hr, Kt), Ft.push(Hr));
          }
          return Ft;
        }
        function Rr(H, tt) {
          var Ft;
          const Kt = he, Hr = Pr(H, tt);
          return Hr && sl(H) && ((Ft = ae?.data) != null && Ft.facts) && (Cn(Hr, H), fm(
            Hr,
            4
            /* AdviseOnEmitNode */
          ), ga(Hr, y0(H.name)), se.set(zo(H), ae)), he = Kt, Hr;
        }
        function Pr(H, tt) {
          const Ft = !h;
          Z_(H, Ae) && (H = sf(e, H));
          const Kt = cm(H) ? t.getGeneratedPrivateNameForNode(H.name) : Hs(H.name) && !Zm(H.name.expression) ? t.updateComputedPropertyName(H.name, t.getGeneratedNameForNode(H.name)) : H.name;
          if (sl(H) && (he = H), Ai(Kt) && ui(H)) {
            const ln = gs(Kt);
            if (ln)
              return ln.kind === "f" ? ln.isStatic ? pje(
                t,
                ln.variableName,
                Qe(H.initializer, Z, ut)
              ) : dje(
                t,
                tt,
                Qe(H.initializer, Z, ut),
                ln.brandCheckIdentifier
              ) : void 0;
            E.fail("Undeclared private name for property declaration.");
          }
          if ((Ai(Kt) || sl(H)) && !H.initializer)
            return;
          const Hr = zo(H);
          if (Gn(
            Hr,
            64
            /* Abstract */
          ))
            return;
          let Vn = Qe(H.initializer, Z, ut);
          if (X_(Hr, Hr.parent) && Me(Kt)) {
            const ln = t.cloneNode(Kt);
            Vn ? (n_(Vn) && WN(Vn.expression) && xD(Vn.expression.left, "___runInitializers") && Jx(Vn.expression.right) && T_(Vn.expression.right.expression) && (Vn = Vn.expression.left), Vn = t.inlineExpressions([Vn, ln])) : Vn = ln, un(
              Kt,
              3168
              /* NoSourceMap */
            ), ga(ln, Hr.name), un(
              ln,
              3072
              /* NoComments */
            );
          } else
            Vn ?? (Vn = t.createVoidZero());
          if (Ft || Ai(Kt)) {
            const ln = ES(
              t,
              tt,
              Kt,
              /*location*/
              Kt
            );
            return fm(
              ln,
              1024
              /* NoLeadingComments */
            ), t.createAssignment(ln, Vn);
          } else {
            const ln = Hs(Kt) ? Kt.expression : Me(Kt) ? t.createStringLiteral(Si(Kt.escapedText)) : Kt, kr = t.createPropertyDescriptor({ value: Vn, configurable: true, writable: true, enumerable: true });
            return t.createObjectDefinePropertyCall(tt, ln, kr);
          }
        }
        function rt() {
          (W & 1) === 0 && (W |= 1, e.enableSubstitution(
            80
            /* Identifier */
          ), _e = []);
        }
        function vt() {
          (W & 2) === 0 && (W |= 2, e.enableSubstitution(
            110
            /* ThisKeyword */
          ), e.enableEmitNotification(
            263
            /* FunctionDeclaration */
          ), e.enableEmitNotification(
            219
            /* FunctionExpression */
          ), e.enableEmitNotification(
            177
            /* Constructor */
          ), e.enableEmitNotification(
            178
            /* GetAccessor */
          ), e.enableEmitNotification(
            179
            /* SetAccessor */
          ), e.enableEmitNotification(
            175
            /* MethodDeclaration */
          ), e.enableEmitNotification(
            173
            /* PropertyDeclaration */
          ), e.enableEmitNotification(
            168
            /* ComputedPropertyName */
          ));
        }
        function Nt(H, tt, Ft) {
          if (!P || !ot(tt))
            return;
          const { weakSetName: Kt } = fr().data;
          E.assert(Kt, "weakSetName should be set in private identifier environment"), H.push(
            t.createExpressionStatement(
              mje(t, Ft, Kt)
            )
          );
        }
        function Jt(H) {
          return wn(H) ? t.updatePropertyAccessExpression(
            H,
            t.createVoidZero(),
            H.name
          ) : t.updateElementAccessExpression(
            H,
            t.createVoidZero(),
            Qe(H.argumentExpression, Z, ut)
          );
        }
        function _r(H, tt) {
          if (Hs(H)) {
            const Ft = WF(H), Kt = Qe(H.expression, Z, ut), Hr = ed(Kt), Vn = Zm(Hr);
            if (!(!!Ft || El(Hr) && Mo(Hr.left)) && !Vn && tt) {
              const kr = t.getGeneratedNameForNode(H);
              return u.hasNodeCheckFlag(
                H,
                32768
                /* BlockScopedBindingInLoop */
              ) ? _(kr) : i(kr), t.createAssignment(kr, Kt);
            }
            return Vn || Me(Hr) ? void 0 : Kt;
          }
        }
        function nr() {
          ae = { previous: ae, data: void 0 };
        }
        function kt() {
          ae = ae?.previous;
        }
        function cr() {
          return E.assert(ae), ae.data ?? (ae.data = {
            facts: 0,
            classConstructor: void 0,
            classThis: void 0,
            superClassReference: void 0
            // privateIdentifierEnvironment: undefined,
          });
        }
        function fr() {
          return E.assert(ae), ae.privateEnv ?? (ae.privateEnv = One({
            className: void 0,
            weakSetName: void 0
          }));
        }
        function vr() {
          return K ?? (K = []);
        }
        function Xt(H, tt, Ft, Kt, Hr, Vn, ln) {
          g_(H) ? uc(H, tt, Ft, Kt, Hr, Vn) : as(H) ? oi(H, tt, Ft, Kt, Hr, Vn) : Ko(H) ? Is(H, tt, Ft, Kt, Hr, Vn) : lp(H) ? Ms(H, tt, Ft, Kt, Hr, Vn, ln) : R_(H) && ps(H, tt, Ft, Kt, Hr, Vn, ln);
        }
        function oi(H, tt, Ft, Kt, Hr, Vn, ln) {
          if (Hr) {
            const kr = E.checkDefined(Ft.classThis ?? Ft.classConstructor, "classConstructor should be set in private identifier environment"), Li = zi(tt);
            AS(Kt, tt, {
              kind: "f",
              isStatic: true,
              brandCheckIdentifier: kr,
              variableName: Li,
              isValid: Vn
            });
          } else {
            const kr = zi(tt);
            AS(Kt, tt, {
              kind: "f",
              isStatic: false,
              brandCheckIdentifier: kr,
              isValid: Vn
            }), vr().push(t.createAssignment(
              kr,
              t.createNewExpression(
                t.createIdentifier("WeakMap"),
                /*typeArguments*/
                void 0,
                []
              )
            ));
          }
        }
        function Is(H, tt, Ft, Kt, Hr, Vn, ln) {
          const kr = zi(tt), Li = Hr ? E.checkDefined(Ft.classThis ?? Ft.classConstructor, "classConstructor should be set in private identifier environment") : E.checkDefined(Kt.data.weakSetName, "weakSetName should be set in private identifier environment");
          AS(Kt, tt, {
            kind: "m",
            methodName: kr,
            brandCheckIdentifier: Li,
            isStatic: Hr,
            isValid: Vn
          });
        }
        function Ms(H, tt, Ft, Kt, Hr, Vn, ln) {
          const kr = zi(tt, "_get"), Li = Hr ? E.checkDefined(Ft.classThis ?? Ft.classConstructor, "classConstructor should be set in private identifier environment") : E.checkDefined(Kt.data.weakSetName, "weakSetName should be set in private identifier environment");
          ln?.kind === "a" && ln.isStatic === Hr && !ln.getterName ? ln.getterName = kr : AS(Kt, tt, {
            kind: "a",
            getterName: kr,
            setterName: void 0,
            brandCheckIdentifier: Li,
            isStatic: Hr,
            isValid: Vn
          });
        }
        function ps(H, tt, Ft, Kt, Hr, Vn, ln) {
          const kr = zi(tt, "_set"), Li = Hr ? E.checkDefined(Ft.classThis ?? Ft.classConstructor, "classConstructor should be set in private identifier environment") : E.checkDefined(Kt.data.weakSetName, "weakSetName should be set in private identifier environment");
          ln?.kind === "a" && ln.isStatic === Hr && !ln.setterName ? ln.setterName = kr : AS(Kt, tt, {
            kind: "a",
            getterName: void 0,
            setterName: kr,
            brandCheckIdentifier: Li,
            isStatic: Hr,
            isValid: Vn
          });
        }
        function uc(H, tt, Ft, Kt, Hr, Vn, ln) {
          const kr = zi(tt, "_get"), Li = zi(tt, "_set"), Yi = Hr ? E.checkDefined(Ft.classThis ?? Ft.classConstructor, "classConstructor should be set in private identifier environment") : E.checkDefined(Kt.data.weakSetName, "weakSetName should be set in private identifier environment");
          AS(Kt, tt, {
            kind: "a",
            getterName: kr,
            setterName: Li,
            brandCheckIdentifier: Yi,
            isStatic: Hr,
            isValid: Vn
          });
        }
        function Xo(H, tt, Ft) {
          const Kt = cr(), Hr = fr(), Vn = WW(Hr, tt), ln = sl(H), kr = !gje(tt) && Vn === void 0;
          Ft(H, tt, Kt, Hr, ln, kr, Vn);
        }
        function ro(H, tt, Ft) {
          const { className: Kt } = fr().data, Hr = Kt ? { prefix: "_", node: Kt, suffix: "_" } : "_", Vn = typeof H == "object" ? t.getGeneratedNameForNode(H, 24, Hr, Ft) : typeof H == "string" ? t.createUniqueName(H, 16, Hr, Ft) : t.createTempVariable(
            /*recordTempVariable*/
            void 0,
            /*reservedInNestedScopes*/
            true,
            Hr,
            Ft
          );
          return u.hasNodeCheckFlag(
            tt,
            32768
            /* BlockScopedBindingInLoop */
          ) ? _(Vn) : i(Vn), Vn;
        }
        function zi(H, tt) {
          const Ft = N4(H);
          return ro(Ft?.substring(1) ?? H, H, tt);
        }
        function gs(H) {
          const tt = Lne(ae, H);
          return tt?.kind === "untransformed" ? void 0 : tt;
        }
        function Vc(H) {
          const tt = t.getGeneratedNameForNode(H), Ft = gs(H.name);
          if (!Ft)
            return br(H, Z, e);
          let Kt = H.expression;
          return (w3(H) || O_(H) || !Qb(H.expression)) && (Kt = t.createTempVariable(
            i,
            /*reservedInNestedScopes*/
            true
          ), vr().push(t.createBinaryExpression(Kt, 64, Qe(H.expression, Z, ut)))), t.createAssignmentTargetWrapper(
            tt,
            Le(
              Ft,
              Kt,
              tt,
              64
              /* EqualsToken */
            )
          );
        }
        function To(H) {
          if (ua(H) || Kl(H))
            return zt(H);
          if (EC(H))
            return Vc(H);
          if (F && he && O_(H) && KD(he) && ae?.data) {
            const { classConstructor: tt, superClassReference: Ft, facts: Kt } = ae.data;
            if (Kt & 1)
              return Jt(H);
            if (tt && Ft) {
              const Hr = oo(H) ? Qe(H.argumentExpression, Z, ut) : Me(H.name) ? t.createStringLiteralFromNode(H.name) : void 0;
              if (Hr) {
                const Vn = t.createTempVariable(
                  /*recordTempVariable*/
                  void 0
                );
                return t.createAssignmentTargetWrapper(
                  Vn,
                  t.createReflectSetCall(
                    Ft,
                    Hr,
                    Vn,
                    tt
                  )
                );
              }
            }
          }
          return br(H, Z, e);
        }
        function ea(H) {
          if (Z_(H, Ae) && (H = sf(e, H)), El(
            H,
            /*excludeCompoundAssignment*/
            true
          )) {
            const tt = To(H.left), Ft = Qe(H.right, Z, ut);
            return t.updateBinaryExpression(H, tt, H.operatorToken, Ft);
          }
          return To(H);
        }
        function xc(H) {
          if (h_(H.expression)) {
            const tt = To(H.expression);
            return t.updateSpreadElement(H, tt);
          }
          return br(H, Z, e);
        }
        function Rf(H) {
          if (c3(H)) {
            if (up(H)) return xc(H);
            if (!gl(H)) return ea(H);
          }
          return br(H, Z, e);
        }
        function os(H) {
          const tt = Qe(H.name, Z, Wc);
          if (El(
            H.initializer,
            /*excludeCompoundAssignment*/
            true
          )) {
            const Ft = ea(H.initializer);
            return t.updatePropertyAssignment(H, tt, Ft);
          }
          if (h_(H.initializer)) {
            const Ft = To(H.initializer);
            return t.updatePropertyAssignment(H, tt, Ft);
          }
          return br(H, Z, e);
        }
        function zs(H) {
          return Z_(H, Ae) && (H = sf(e, H)), br(H, Z, e);
        }
        function Aa(H) {
          if (h_(H.expression)) {
            const tt = To(H.expression);
            return t.updateSpreadAssignment(H, tt);
          }
          return br(H, Z, e);
        }
        function ya(H) {
          return E.assertNode(H, o3), Bg(H) ? Aa(H) : fu(H) ? zs(H) : Kc(H) ? os(H) : br(H, Z, e);
        }
        function zt(H) {
          return Kl(H) ? t.updateArrayLiteralExpression(
            H,
            Ar(H.elements, Rf, ut)
          ) : t.updateObjectLiteralExpression(
            H,
            Ar(H.properties, ya, dh)
          );
        }
        function Xa(H, tt, Ft) {
          const Kt = zo(tt), Hr = se.get(Kt);
          if (Hr) {
            const Vn = ae, ln = be;
            ae = Hr, be = q, q = !Sc(Kt) || !(td(Kt) & 32), U(H, tt, Ft), q = be, be = ln, ae = Vn;
            return;
          }
          switch (tt.kind) {
            case 219:
              if (bo(Kt) || Ca(tt) & 524288)
                break;
            // falls through
            case 263:
            case 177:
            case 178:
            case 179:
            case 175:
            case 173: {
              const Vn = ae, ln = be;
              ae = void 0, be = q, q = false, U(H, tt, Ft), q = be, be = ln, ae = Vn;
              return;
            }
            case 168: {
              const Vn = ae, ln = q;
              ae = ae?.previous, q = be, U(H, tt, Ft), q = ln, ae = Vn;
              return;
            }
          }
          U(H, tt, Ft);
        }
        function mc(H, tt) {
          return tt = B(H, tt), H === 1 ? Nc(tt) : tt;
        }
        function Nc(H) {
          switch (H.kind) {
            case 80:
              return co(H);
            case 110:
              return Wl(H);
          }
          return H;
        }
        function Wl(H) {
          if (W & 2 && ae?.data && !ce.has(H)) {
            const { facts: tt, classConstructor: Ft, classThis: Kt } = ae.data, Hr = q ? Kt ?? Ft : Ft;
            if (Hr)
              return ct(
                Cn(
                  t.cloneNode(Hr),
                  H
                ),
                H
              );
            if (tt & 1 && S)
              return t.createParenthesizedExpression(t.createVoidZero());
          }
          return H;
        }
        function co(H) {
          return ge(H) || H;
        }
        function ge(H) {
          if (W & 1 && u.hasNodeCheckFlag(
            H,
            536870912
            /* ConstructorReference */
          )) {
            const tt = u.getReferencedValueDeclaration(H);
            if (tt) {
              const Ft = _e[tt.id];
              if (Ft) {
                const Kt = t.cloneNode(Ft);
                return ga(Kt, H), Yc(Kt, H), Kt;
              }
            }
          }
        }
      }
      function pje(e, t, n) {
        return e.createAssignment(
          t,
          e.createObjectLiteralExpression([
            e.createPropertyAssignment("value", n || e.createVoidZero())
          ])
        );
      }
      function dje(e, t, n, i) {
        return e.createCallExpression(
          e.createPropertyAccessExpression(i, "set"),
          /*typeArguments*/
          void 0,
          [t, n || e.createVoidZero()]
        );
      }
      function mje(e, t, n) {
        return e.createCallExpression(
          e.createPropertyAccessExpression(n, "add"),
          /*typeArguments*/
          void 0,
          [t]
        );
      }
      function gje(e) {
        return !$2(e) && e.escapedText === "#constructor";
      }
      function hje(e) {
        return Ai(e.left) && e.operatorToken.kind === 103;
      }
      function yje(e) {
        return as(e) && sl(e);
      }
      function KD(e) {
        return Sc(e) || yje(e);
      }
      function qne(e) {
        const {
          factory: t,
          hoistVariableDeclaration: n
        } = e, i = e.getEmitResolver(), s = e.getCompilerOptions(), o = pa(s), c = uu(s, "strictNullChecks");
        let _, u;
        return {
          serializeTypeNode: (K, V) => g(K, D, V),
          serializeTypeOfNode: (K, V, ae) => g(K, h, V, ae),
          serializeParameterTypesOfNode: (K, V, ae) => g(K, S, V, ae),
          serializeReturnTypeOfNode: (K, V) => g(K, k, V)
        };
        function g(K, V, ae, se) {
          const ce = _, fe = u;
          _ = K.currentLexicalScope, u = K.currentNameScope;
          const he = se === void 0 ? V(ae) : V(ae, se);
          return _ = ce, u = fe, he;
        }
        function m(K, V) {
          const ae = Fb(V.members, K);
          return ae.setAccessor && HK(ae.setAccessor) || ae.getAccessor && K_(ae.getAccessor);
        }
        function h(K, V) {
          switch (K.kind) {
            case 173:
            case 170:
              return D(K.type);
            case 179:
            case 178:
              return D(m(K, V));
            case 264:
            case 232:
            case 175:
              return t.createIdentifier("Function");
            default:
              return t.createVoidZero();
          }
        }
        function S(K, V) {
          const ae = $n(K) ? Ag(K) : Cs(K) && Ip(K.body) ? K : void 0, se = [];
          if (ae) {
            const ce = T(ae, V), fe = ce.length;
            for (let he = 0; he < fe; he++) {
              const q = ce[he];
              he === 0 && Me(q.name) && q.name.escapedText === "this" || (q.dotDotDotToken ? se.push(D(vB(q.type))) : se.push(h(q, V)));
            }
          }
          return t.createArrayLiteralExpression(se);
        }
        function T(K, V) {
          if (V && K.kind === 178) {
            const { setAccessor: ae } = Fb(V.members, K);
            if (ae)
              return ae.parameters;
          }
          return K.parameters;
        }
        function k(K) {
          return Cs(K) && K.type ? D(K.type) : q4(K) ? t.createIdentifier("Promise") : t.createVoidZero();
        }
        function D(K) {
          if (K === void 0)
            return t.createIdentifier("Object");
          switch (K = z4(K), K.kind) {
            case 116:
            case 157:
            case 146:
              return t.createVoidZero();
            case 185:
            case 186:
              return t.createIdentifier("Function");
            case 189:
            case 190:
              return t.createIdentifier("Array");
            case 183:
              return K.assertsModifier ? t.createVoidZero() : t.createIdentifier("Boolean");
            case 136:
              return t.createIdentifier("Boolean");
            case 204:
            case 154:
              return t.createIdentifier("String");
            case 151:
              return t.createIdentifier("Object");
            case 202:
              return P(K.literal);
            case 150:
              return t.createIdentifier("Number");
            case 163:
              return _e(
                "BigInt",
                7
                /* ES2020 */
              );
            case 155:
              return _e(
                "Symbol",
                2
                /* ES2015 */
              );
            case 184:
              return F(K);
            case 194:
              return A(
                K.types,
                /*isIntersection*/
                true
              );
            case 193:
              return A(
                K.types,
                /*isIntersection*/
                false
              );
            case 195:
              return A(
                [K.trueType, K.falseType],
                /*isIntersection*/
                false
              );
            case 199:
              if (K.operator === 148)
                return D(K.type);
              break;
            case 187:
            case 200:
            case 201:
            case 188:
            case 133:
            case 159:
            case 198:
            case 206:
              break;
            // handle JSDoc types from an invalid parse
            case 313:
            case 314:
            case 318:
            case 319:
            case 320:
              break;
            case 315:
            case 316:
            case 317:
              return D(K.type);
            default:
              return E.failBadSyntaxKind(K);
          }
          return t.createIdentifier("Object");
        }
        function P(K) {
          switch (K.kind) {
            case 11:
            case 15:
              return t.createIdentifier("String");
            case 225: {
              const V = K.operand;
              switch (V.kind) {
                case 9:
                case 10:
                  return P(V);
                default:
                  return E.failBadSyntaxKind(V);
              }
            }
            case 9:
              return t.createIdentifier("Number");
            case 10:
              return _e(
                "BigInt",
                7
                /* ES2020 */
              );
            case 112:
            case 97:
              return t.createIdentifier("Boolean");
            case 106:
              return t.createVoidZero();
            default:
              return E.failBadSyntaxKind(K);
          }
        }
        function A(K, V) {
          let ae;
          for (let se of K) {
            if (se = z4(se), se.kind === 146) {
              if (V) return t.createVoidZero();
              continue;
            }
            if (se.kind === 159) {
              if (!V) return t.createIdentifier("Object");
              continue;
            }
            if (se.kind === 133)
              return t.createIdentifier("Object");
            if (!c && (S0(se) && se.literal.kind === 106 || se.kind === 157))
              continue;
            const ce = D(se);
            if (Me(ce) && ce.escapedText === "Object")
              return ce;
            if (ae) {
              if (!O(ae, ce))
                return t.createIdentifier("Object");
            } else
              ae = ce;
          }
          return ae ?? t.createVoidZero();
        }
        function O(K, V) {
          return (
            // temp vars used in fallback
            Mo(K) ? Mo(V) : (
              // entity names
              Me(K) ? Me(V) && K.escapedText === V.escapedText : wn(K) ? wn(V) && O(K.expression, V.expression) && O(K.name, V.name) : (
                // `void 0`
                Jx(K) ? Jx(V) && T_(K.expression) && K.expression.text === "0" && T_(V.expression) && V.expression.text === "0" : (
                  // `"undefined"` or `"function"` in `typeof` checks
                  oa(K) ? oa(V) && K.text === V.text : (
                    // used in `typeof` checks for fallback
                    c6(K) ? c6(V) && O(K.expression, V.expression) : (
                      // parens in `typeof` checks with temps
                      n_(K) ? n_(V) && O(K.expression, V.expression) : (
                        // conditionals used in fallback
                        vS(K) ? vS(V) && O(K.condition, V.condition) && O(K.whenTrue, V.whenTrue) && O(K.whenFalse, V.whenFalse) : (
                          // logical binary and assignments used in fallback
                          _n(K) ? _n(V) && K.operatorToken.kind === V.operatorToken.kind && O(K.left, V.left) && O(K.right, V.right) : false
                        )
                      )
                    )
                  )
                )
              )
            )
          );
        }
        function F(K) {
          const V = i.getTypeReferenceSerializationKind(K.typeName, u ?? _);
          switch (V) {
            case 0:
              if (dr(K, (ce) => ce.parent && zb(ce.parent) && (ce.parent.trueType === ce || ce.parent.falseType === ce)))
                return t.createIdentifier("Object");
              const ae = B(K.typeName), se = t.createTempVariable(n);
              return t.createConditionalExpression(
                t.createTypeCheck(t.createAssignment(se, ae), "function"),
                /*questionToken*/
                void 0,
                se,
                /*colonToken*/
                void 0,
                t.createIdentifier("Object")
              );
            case 1:
              return U(K.typeName);
            case 2:
              return t.createVoidZero();
            case 4:
              return _e(
                "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 _e(
                "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(V);
          }
        }
        function R(K, V) {
          return t.createLogicalAnd(
            t.createStrictInequality(t.createTypeOfExpression(K), t.createStringLiteral("undefined")),
            V
          );
        }
        function B(K) {
          if (K.kind === 80) {
            const se = U(K);
            return R(se, se);
          }
          if (K.left.kind === 80)
            return R(U(K.left), U(K));
          const V = B(K.left), ae = t.createTempVariable(n);
          return t.createLogicalAnd(
            t.createLogicalAnd(
              V.left,
              t.createStrictInequality(t.createAssignment(ae, V.right), t.createVoidZero())
            ),
            t.createPropertyAccessExpression(ae, K.right)
          );
        }
        function U(K) {
          switch (K.kind) {
            case 80:
              const V = ja(ct(ov.cloneNode(K), K), K.parent);
              return V.original = void 0, ja(V, ys(_)), V;
            case 167:
              return $(K);
          }
        }
        function $(K) {
          return t.createPropertyAccessExpression(U(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 _e(K, V) {
          return o < V ? W(K) : t.createIdentifier(K);
        }
      }
      function Hne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          hoistVariableDeclaration: i
        } = e, s = e.getEmitResolver(), o = e.getCompilerOptions(), c = pa(o), _ = e.onSubstituteNode;
        e.onSubstituteNode = Se;
        let u;
        return Ad(e, g);
        function g(Ce) {
          const Ve = br(Ce, h, e);
          return Rg(Ve, e.readEmitHelpers()), Ve;
        }
        function m(Ce) {
          return ol(Ce) ? void 0 : Ce;
        }
        function h(Ce) {
          if (!(Ce.transformFlags & 33554432))
            return Ce;
          switch (Ce.kind) {
            case 171:
              return;
            case 264:
              return S(Ce);
            case 232:
              return F(Ce);
            case 177:
              return R(Ce);
            case 175:
              return U(Ce);
            case 179:
              return W(Ce);
            case 178:
              return $(Ce);
            case 173:
              return _e(Ce);
            case 170:
              return K(Ce);
            default:
              return br(Ce, h, e);
          }
        }
        function S(Ce) {
          if (!(_0(
            /*useLegacyDecorators*/
            true,
            Ce
          ) || O4(
            /*useLegacyDecorators*/
            true,
            Ce
          )))
            return br(Ce, h, e);
          const Ve = _0(
            /*useLegacyDecorators*/
            true,
            Ce
          ) ? O(Ce, Ce.name) : A(Ce, Ce.name);
          return jm(Ve);
        }
        function T(Ce) {
          return !!(Ce.transformFlags & 536870912);
        }
        function k(Ce) {
          return ot(Ce, T);
        }
        function D(Ce) {
          for (const Ve of Ce.members) {
            if (!$b(Ve)) continue;
            const St = CO(
              Ve,
              Ce,
              /*useLegacyDecorators*/
              true
            );
            if (ot(St?.decorators, T) || ot(St?.parameters, k)) return true;
          }
          return false;
        }
        function P(Ce, Ve) {
          let St = [];
          return se(
            St,
            Ce,
            /*isStatic*/
            false
          ), se(
            St,
            Ce,
            /*isStatic*/
            true
          ), D(Ce) && (Ve = ct(
            t.createNodeArray([
              ...Ve,
              t.createClassStaticBlockDeclaration(
                t.createBlock(
                  St,
                  /*multiLine*/
                  true
                )
              )
            ]),
            Ve
          ), St = void 0), { decorationStatements: St, members: Ve };
        }
        function A(Ce, Ve) {
          const St = Ar(Ce.modifiers, m, Ys), Bt = Ar(Ce.heritageClauses, h, nf);
          let tr = Ar(Ce.members, h, Uc), Nr = [];
          ({ members: tr, decorationStatements: Nr } = P(Ce, tr));
          const st = t.updateClassDeclaration(
            Ce,
            St,
            Ve,
            /*typeParameters*/
            void 0,
            Bt,
            tr
          );
          return In([st], Nr);
        }
        function O(Ce, Ve) {
          const St = Gn(
            Ce,
            32
            /* Export */
          ), Bt = Gn(
            Ce,
            2048
            /* Default */
          ), tr = Ar(Ce.modifiers, (ft) => HN(ft) || ol(ft) ? void 0 : ft, Ro), Nr = um(Ce), st = Fe(Ce), Wt = c < 2 ? t.getInternalName(
            Ce,
            /*allowComments*/
            false,
            /*allowSourceMaps*/
            true
          ) : t.getLocalName(
            Ce,
            /*allowComments*/
            false,
            /*allowSourceMaps*/
            true
          ), Jr = Ar(Ce.heritageClauses, h, nf);
          let ui = Ar(Ce.members, h, Uc), Ji = [];
          ({ members: ui, decorationStatements: Ji } = P(Ce, ui));
          const Dt = c >= 9 && !!st && ot(ui, (ft) => as(ft) && Gn(
            ft,
            256
            /* Static */
          ) || Sc(ft));
          Dt && (ui = ct(
            t.createNodeArray([
              t.createClassStaticBlockDeclaration(
                t.createBlock([
                  t.createExpressionStatement(
                    t.createAssignment(st, t.createThis())
                  )
                ])
              ),
              ...ui
            ]),
            ui
          ));
          const Mn = t.createClassExpression(
            tr,
            Ve && Mo(Ve) ? void 0 : Ve,
            /*typeParameters*/
            void 0,
            Jr,
            ui
          );
          Cn(Mn, Ce), ct(Mn, Nr);
          const ai = st && !Dt ? t.createAssignment(st, Mn) : Mn, fi = t.createVariableDeclaration(
            Wt,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            ai
          );
          Cn(fi, Ce);
          const pn = t.createVariableDeclarationList(
            [fi],
            1
            /* Let */
          ), _i = t.createVariableStatement(
            /*modifiers*/
            void 0,
            pn
          );
          Cn(_i, Ce), ct(_i, Nr), Yc(_i, Ce);
          const Je = [_i];
          if (In(Je, Ji), be(Je, Ce), St)
            if (Bt) {
              const ft = t.createExportDefault(Wt);
              Je.push(ft);
            } else {
              const ft = t.createExternalModuleExport(t.getDeclarationName(Ce));
              Je.push(ft);
            }
          return Je;
        }
        function F(Ce) {
          return t.updateClassExpression(
            Ce,
            Ar(Ce.modifiers, m, Ys),
            Ce.name,
            /*typeParameters*/
            void 0,
            Ar(Ce.heritageClauses, h, nf),
            Ar(Ce.members, h, Uc)
          );
        }
        function R(Ce) {
          return t.updateConstructorDeclaration(
            Ce,
            Ar(Ce.modifiers, m, Ys),
            Ar(Ce.parameters, h, Ii),
            Qe(Ce.body, h, Ps)
          );
        }
        function B(Ce, Ve) {
          return Ce !== Ve && (Yc(Ce, Ve), ga(Ce, um(Ve))), Ce;
        }
        function U(Ce) {
          return B(
            t.updateMethodDeclaration(
              Ce,
              Ar(Ce.modifiers, m, Ys),
              Ce.asteriskToken,
              E.checkDefined(Qe(Ce.name, h, Wc)),
              /*questionToken*/
              void 0,
              /*typeParameters*/
              void 0,
              Ar(Ce.parameters, h, Ii),
              /*type*/
              void 0,
              Qe(Ce.body, h, Ps)
            ),
            Ce
          );
        }
        function $(Ce) {
          return B(
            t.updateGetAccessorDeclaration(
              Ce,
              Ar(Ce.modifiers, m, Ys),
              E.checkDefined(Qe(Ce.name, h, Wc)),
              Ar(Ce.parameters, h, Ii),
              /*type*/
              void 0,
              Qe(Ce.body, h, Ps)
            ),
            Ce
          );
        }
        function W(Ce) {
          return B(
            t.updateSetAccessorDeclaration(
              Ce,
              Ar(Ce.modifiers, m, Ys),
              E.checkDefined(Qe(Ce.name, h, Wc)),
              Ar(Ce.parameters, h, Ii),
              Qe(Ce.body, h, Ps)
            ),
            Ce
          );
        }
        function _e(Ce) {
          if (!(Ce.flags & 33554432 || Gn(
            Ce,
            128
            /* Ambient */
          )))
            return B(
              t.updatePropertyDeclaration(
                Ce,
                Ar(Ce.modifiers, m, Ys),
                E.checkDefined(Qe(Ce.name, h, Wc)),
                /*questionOrExclamationToken*/
                void 0,
                /*type*/
                void 0,
                Qe(Ce.initializer, h, ut)
              ),
              Ce
            );
        }
        function K(Ce) {
          const Ve = t.updateParameterDeclaration(
            Ce,
            dre(t, Ce.modifiers),
            Ce.dotDotDotToken,
            E.checkDefined(Qe(Ce.name, h, X2)),
            /*questionToken*/
            void 0,
            /*type*/
            void 0,
            Qe(Ce.initializer, h, ut)
          );
          return Ve !== Ce && (Yc(Ve, Ce), ct(Ve, um(Ce)), ga(Ve, um(Ce)), un(
            Ve.name,
            64
            /* NoTrailingSourceMap */
          )), Ve;
        }
        function V(Ce) {
          return xD(Ce.expression, "___metadata");
        }
        function ae(Ce) {
          if (!Ce)
            return;
          const { false: Ve, true: St } = FR(Ce.decorators, V), Bt = [];
          return In(Bt, hr(Ve, me)), In(Bt, xa(Ce.parameters, Z)), In(Bt, hr(St, me)), Bt;
        }
        function se(Ce, Ve, St) {
          In(Ce, hr(he(Ve, St), (Bt) => t.createExpressionStatement(Bt)));
        }
        function ce(Ce, Ve, St) {
          return A3(
            /*useLegacyDecorators*/
            true,
            Ce,
            St
          ) && Ve === Bs(Ce);
        }
        function fe(Ce, Ve) {
          return kn(Ce.members, (St) => ce(St, Ve, Ce));
        }
        function he(Ce, Ve) {
          const St = fe(Ce, Ve);
          let Bt;
          for (const tr of St)
            Bt = Er(Bt, q(Ce, tr));
          return Bt;
        }
        function q(Ce, Ve) {
          const St = CO(
            Ve,
            Ce,
            /*useLegacyDecorators*/
            true
          ), Bt = ae(St);
          if (!Bt)
            return;
          const tr = ne(Ce, Ve), Nr = pe(
            Ve,
            /*generateNameForComputedPropertyName*/
            !Gn(
              Ve,
              128
              /* Ambient */
            )
          ), st = as(Ve) && !cm(Ve) ? t.createVoidZero() : t.createNull(), Wt = n().createDecorateHelper(
            Bt,
            tr,
            Nr,
            st
          );
          return un(
            Wt,
            3072
            /* NoComments */
          ), ga(Wt, um(Ve)), Wt;
        }
        function be(Ce, Ve) {
          const St = je(Ve);
          St && Ce.push(Cn(t.createExpressionStatement(St), Ve));
        }
        function je(Ce) {
          const Ve = zW(
            Ce,
            /*useLegacyDecorators*/
            true
          ), St = ae(Ve);
          if (!St)
            return;
          const Bt = u && u[s_(Ce)], tr = c < 2 ? t.getInternalName(
            Ce,
            /*allowComments*/
            false,
            /*allowSourceMaps*/
            true
          ) : t.getDeclarationName(
            Ce,
            /*allowComments*/
            false,
            /*allowSourceMaps*/
            true
          ), Nr = n().createDecorateHelper(St, tr), st = t.createAssignment(tr, Bt ? t.createAssignment(Bt, Nr) : Nr);
          return un(
            st,
            3072
            /* NoComments */
          ), ga(st, um(Ce)), st;
        }
        function me(Ce) {
          return E.checkDefined(Qe(Ce.expression, h, ut));
        }
        function Z(Ce, Ve) {
          let St;
          if (Ce) {
            St = [];
            for (const Bt of Ce) {
              const tr = n().createParamHelper(
                me(Bt),
                Ve
              );
              ct(tr, Bt.expression), un(
                tr,
                3072
                /* NoComments */
              ), St.push(tr);
            }
          }
          return St;
        }
        function pe(Ce, Ve) {
          const St = Ce.name;
          return Ai(St) ? t.createIdentifier("") : Hs(St) ? Ve && !Zm(St.expression) ? t.getGeneratedNameForNode(St) : St.expression : Me(St) ? t.createStringLiteral(An(St)) : t.cloneNode(St);
        }
        function Te() {
          u || (e.enableSubstitution(
            80
            /* Identifier */
          ), u = []);
        }
        function Fe(Ce) {
          if (s.hasNodeCheckFlag(
            Ce,
            262144
            /* ContainsConstructorReference */
          )) {
            Te();
            const Ve = t.createUniqueName(Ce.name && !Mo(Ce.name) ? An(Ce.name) : "default");
            return u[s_(Ce)] = Ve, i(Ve), Ve;
          }
        }
        function Ye(Ce) {
          return t.createPropertyAccessExpression(t.getDeclarationName(Ce), "prototype");
        }
        function ne(Ce, Ve) {
          return Bs(Ve) ? t.getDeclarationName(Ce) : Ye(Ce);
        }
        function Se(Ce, Ve) {
          return Ve = _(Ce, Ve), Ce === 1 ? ie(Ve) : Ve;
        }
        function ie(Ce) {
          switch (Ce.kind) {
            case 80:
              return Ne(Ce);
          }
          return Ce;
        }
        function Ne(Ce) {
          return Ee(Ce) ?? Ce;
        }
        function Ee(Ce) {
          if (u && s.hasNodeCheckFlag(
            Ce,
            536870912
            /* ConstructorReference */
          )) {
            const Ve = s.getReferencedValueDeclaration(Ce);
            if (Ve) {
              const St = u[Ve.id];
              if (St) {
                const Bt = t.cloneNode(St);
                return ga(Bt, Ce), Yc(Bt, Ce), Bt;
              }
            }
          }
        }
      }
      function Gne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          startLexicalEnvironment: i,
          endLexicalEnvironment: s,
          hoistVariableDeclaration: o
        } = e, c = pa(e.getCompilerOptions());
        let _, u, g, m, h, S;
        return Ad(e, T);
        function T(M) {
          _ = void 0, S = false;
          const ye = br(M, W, e);
          return Rg(ye, e.readEmitHelpers()), S && (pS(
            ye,
            32
            /* TransformPrivateStaticElements */
          ), S = false), 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 P() {
          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, Q;
          E.assert(_?.kind === "class", "Incorrect value for top.kind.", () => `Expected top.kind to be 'class' but got '${_?.kind}' instead.`), _ = { kind: "class-element", next: _ }, (Sc(M) || as(M) && sl(M)) && (_.classThis = (ye = _.next.classInfo) == null ? void 0 : ye.classThis, _.classSuper = (Q = _.next.classInfo) == null ? void 0 : Q.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 R() {
          E.assert(_?.kind === "name", "Incorrect value for top.kind.", () => `Expected top.kind to be 'name' but got '${_?.kind}' instead.`), _ = _.next, k();
        }
        function B() {
          _?.kind === "other" ? (E.assert(!h), _.depth++) : (_ = { kind: "other", next: _, depth: 0, savedPendingExpressions: h }, h = void 0, k());
        }
        function U() {
          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 $(M) {
          return !!(M.transformFlags & 33554432) || !!g && !!(M.transformFlags & 16384) || !!g && !!m && !!(M.transformFlags & 134217728);
        }
        function W(M) {
          if (!$(M))
            return M;
          switch (M.kind) {
            case 171:
              return E.fail("Use `modifierVisitor` instead.");
            case 264:
              return je(M);
            case 232:
              return me(M);
            case 177:
            case 173:
            case 176:
              return E.fail("Not supported outside of a class. Use 'classElementVisitor' instead.");
            case 170:
              return Nr(M);
            // Support NamedEvaluation to ensure the correct class name for class expressions.
            case 227:
              return Ji(
                M,
                /*discarded*/
                false
              );
            case 304:
              return _i(M);
            case 261:
              return Je(M);
            case 209:
              return ft(M);
            case 278:
              return Xe(M);
            case 110:
              return Ce(M);
            case 249:
              return Jr(M);
            case 245:
              return ui(M);
            case 357:
              return Mn(
                M,
                /*discarded*/
                false
              );
            case 218:
              return Et(
                M,
                /*discarded*/
                false
              );
            case 356:
              return re(
                M
              );
            case 214:
              return Ve(M);
            case 216:
              return St(M);
            case 225:
            case 226:
              return Dt(
                M,
                /*discarded*/
                false
              );
            case 212:
              return Bt(M);
            case 213:
              return tr(M);
            case 168:
              return pn(M);
            case 175:
            // object literal methods and accessors
            case 179:
            case 178:
            case 219:
            case 263: {
              B();
              const ye = br(M, _e, e);
              return U(), ye;
            }
            default:
              return br(M, _e, e);
          }
        }
        function _e(M) {
          switch (M.kind) {
            case 171:
              return;
            default:
              return W(M);
          }
        }
        function K(M) {
          switch (M.kind) {
            case 171:
              return;
            default:
              return M;
          }
        }
        function V(M) {
          switch (M.kind) {
            case 177:
              return Te(M);
            case 175:
              return ne(M);
            case 178:
              return Se(M);
            case 179:
              return ie(M);
            case 173:
              return Ee(M);
            case 176:
              return Ne(M);
            default:
              return W(M);
          }
        }
        function ae(M) {
          switch (M.kind) {
            case 225:
            case 226:
              return Dt(
                M,
                /*discarded*/
                true
              );
            case 227:
              return Ji(
                M,
                /*discarded*/
                true
              );
            case 357:
              return Mn(
                M,
                /*discarded*/
                true
              );
            case 218:
              return Et(
                M,
                /*discarded*/
                true
              );
            default:
              return W(M);
          }
        }
        function se(M) {
          let ye = M.name && Me(M.name) && !Mo(M.name) ? An(M.name) : M.name && Ai(M.name) && !Mo(M.name) ? An(M.name).slice(1) : M.name && oa(M.name) && F_(
            M.name.text,
            99
            /* ESNext */
          ) ? M.name.text : $n(M) ? "class" : "member";
          return kg(M) && (ye = `get_${ye}`), rm(M) && (ye = `set_${ye}`), M.name && Ai(M.name) && (ye = `private_${ye}`), Bs(M) && (ye = `static_${ye}`), "_" + ye;
        }
        function ce(M, ye) {
          return t.createUniqueName(
            `${se(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 he(M) {
          const ye = t.createUniqueName(
            "_metadata",
            48
            /* FileLevel */
          );
          let Q, dt, Mt = false, ke = false, at = false, wt, Zr, Rr;
          if (RC(
            /*useLegacyDecorators*/
            false,
            M
          )) {
            const Pr = ot(M.members, (rt) => (xu(rt) || g_(rt)) && sl(rt));
            wt = t.createUniqueName(
              "_classThis",
              Pr ? 24 : 48
              /* FileLevel */
            );
          }
          for (const Pr of M.members) {
            if (KT(Pr) && A3(
              /*useLegacyDecorators*/
              false,
              Pr,
              M
            ))
              if (sl(Pr)) {
                if (!dt) {
                  dt = t.createUniqueName(
                    "_staticExtraInitializers",
                    48
                    /* FileLevel */
                  );
                  const rt = n().createRunInitializersHelper(wt ?? t.createThis(), dt);
                  ga(rt, M.name ?? bh(M)), Zr ?? (Zr = []), Zr.push(rt);
                }
              } else {
                if (!Q) {
                  Q = t.createUniqueName(
                    "_instanceExtraInitializers",
                    48
                    /* FileLevel */
                  );
                  const rt = n().createRunInitializersHelper(t.createThis(), Q);
                  ga(rt, M.name ?? bh(M)), Rr ?? (Rr = []), Rr.push(rt);
                }
                Q ?? (Q = t.createUniqueName(
                  "_instanceExtraInitializers",
                  48
                  /* FileLevel */
                ));
              }
            if (Sc(Pr) ? ek(Pr) || (Mt = true) : as(Pr) && (sl(Pr) ? Mt || (Mt = !!Pr.initializer || Pf(Pr)) : ke || (ke = !fB(Pr))), (xu(Pr) || g_(Pr)) && sl(Pr) && (at = true), dt && Q && Mt && ke && at)
              break;
          }
          return {
            class: M,
            classThis: wt,
            metadataReference: ye,
            instanceMethodExtraInitializersName: Q,
            staticMethodExtraInitializersName: dt,
            hasStaticInitializers: Mt,
            hasNonAmbientInstanceFields: ke,
            hasStaticPrivateClassElements: at,
            pendingStaticInitializers: Zr,
            pendingInstanceInitializers: Rr
          };
        }
        function q(M) {
          i(), !VW(M) && _0(
            /*useLegacyDecorators*/
            false,
            M
          ) && (M = wO(e, M, t.createStringLiteral("")));
          const ye = t.getLocalName(
            M,
            /*allowComments*/
            false,
            /*allowSourceMaps*/
            false,
            /*ignoreAssignedName*/
            true
          ), Q = he(M), dt = [];
          let Mt, ke, at, wt, Zr = false;
          const Rr = $e(zW(
            M,
            /*useLegacyDecorators*/
            false
          ));
          Rr && (Q.classDecoratorsName = t.createUniqueName(
            "_classDecorators",
            48
            /* FileLevel */
          ), Q.classDescriptorName = t.createUniqueName(
            "_classDescriptor",
            48
            /* FileLevel */
          ), Q.classExtraInitializersName = t.createUniqueName(
            "_classExtraInitializers",
            48
            /* FileLevel */
          ), E.assertIsDefined(Q.classThis), dt.push(
            fe(Q.classDecoratorsName, t.createArrayLiteralExpression(Rr)),
            fe(Q.classDescriptorName),
            fe(Q.classExtraInitializersName, t.createArrayLiteralExpression()),
            fe(Q.classThis)
          ), Q.hasStaticPrivateClassElements && (Zr = true, S = true));
          const Pr = $3(
            M.heritageClauses,
            96
            /* ExtendsKeyword */
          ), rt = Pr && $c(Pr.types), vt = rt && Qe(rt.expression, W, ut);
          if (vt) {
            Q.classSuper = t.createUniqueName(
              "_classSuper",
              48
              /* FileLevel */
            );
            const fr = dc(vt), vr = Oc(fr) && !fr.name || mo(fr) && !fr.name || bo(fr) ? t.createComma(t.createNumericLiteral(0), vt) : vt;
            dt.push(fe(Q.classSuper, vr));
            const Xt = t.updateExpressionWithTypeArguments(
              rt,
              Q.classSuper,
              /*typeArguments*/
              void 0
            ), oi = t.updateHeritageClause(Pr, [Xt]);
            wt = t.createNodeArray([oi]);
          }
          const Nt = Q.classThis ?? t.createThis();
          D(Q), Mt = Er(Mt, Pe(Q.metadataReference, Q.classSuper));
          let Jt = M.members;
          if (Jt = Ar(Jt, (fr) => ec(fr) ? fr : V(fr), Uc), Jt = Ar(Jt, (fr) => ec(fr) ? V(fr) : fr, Uc), h) {
            let fr;
            for (let vr of h) {
              vr = Qe(vr, function oi(Is) {
                if (!(Is.transformFlags & 16384))
                  return Is;
                switch (Is.kind) {
                  case 110:
                    return fr || (fr = t.createUniqueName(
                      "_outerThis",
                      16
                      /* Optimistic */
                    ), dt.unshift(fe(fr, t.createThis()))), fr;
                  default:
                    return br(Is, oi, e);
                }
              }, ut);
              const Xt = t.createExpressionStatement(vr);
              Mt = Er(Mt, Xt);
            }
            h = void 0;
          }
          if (P(), ot(Q.pendingInstanceInitializers) && !Ag(M)) {
            const fr = Z(M, Q);
            if (fr) {
              const vr = kd(M), Xt = !!(vr && dc(vr.expression).kind !== 106), oi = [];
              if (Xt) {
                const Ms = t.createSpreadElement(t.createIdentifier("arguments")), ps = t.createCallExpression(
                  t.createSuper(),
                  /*typeArguments*/
                  void 0,
                  [Ms]
                );
                oi.push(t.createExpressionStatement(ps));
              }
              In(oi, fr);
              const Is = t.createBlock(
                oi,
                /*multiLine*/
                true
              );
              at = t.createConstructorDeclaration(
                /*modifiers*/
                void 0,
                [],
                Is
              );
            }
          }
          if (Q.staticMethodExtraInitializersName && dt.push(
            fe(Q.staticMethodExtraInitializersName, t.createArrayLiteralExpression())
          ), Q.instanceMethodExtraInitializersName && dt.push(
            fe(Q.instanceMethodExtraInitializersName, t.createArrayLiteralExpression())
          ), Q.memberInfos && dl(Q.memberInfos, (fr, vr) => {
            Bs(vr) && (dt.push(fe(fr.memberDecoratorsName)), fr.memberInitializersName && dt.push(fe(fr.memberInitializersName, t.createArrayLiteralExpression())), fr.memberExtraInitializersName && dt.push(fe(fr.memberExtraInitializersName, t.createArrayLiteralExpression())), fr.memberDescriptorName && dt.push(fe(fr.memberDescriptorName)));
          }), Q.memberInfos && dl(Q.memberInfos, (fr, vr) => {
            Bs(vr) || (dt.push(fe(fr.memberDecoratorsName)), fr.memberInitializersName && dt.push(fe(fr.memberInitializersName, t.createArrayLiteralExpression())), fr.memberExtraInitializersName && dt.push(fe(fr.memberExtraInitializersName, t.createArrayLiteralExpression())), fr.memberDescriptorName && dt.push(fe(fr.memberDescriptorName)));
          }), Mt = In(Mt, Q.staticNonFieldDecorationStatements), Mt = In(Mt, Q.nonStaticNonFieldDecorationStatements), Mt = In(Mt, Q.staticFieldDecorationStatements), Mt = In(Mt, Q.nonStaticFieldDecorationStatements), Q.classDescriptorName && Q.classDecoratorsName && Q.classExtraInitializersName && Q.classThis) {
            Mt ?? (Mt = []);
            const fr = t.createPropertyAssignment("value", Nt), vr = t.createObjectLiteralExpression([fr]), Xt = t.createAssignment(Q.classDescriptorName, vr), oi = t.createPropertyAccessExpression(Nt, "name"), Is = n().createESDecorateHelper(
              t.createNull(),
              Xt,
              Q.classDecoratorsName,
              { kind: "class", name: oi, metadata: Q.metadataReference },
              t.createNull(),
              Q.classExtraInitializersName
            ), Ms = t.createExpressionStatement(Is);
            ga(Ms, bh(M)), Mt.push(Ms);
            const ps = t.createPropertyAccessExpression(Q.classDescriptorName, "value"), uc = t.createAssignment(Q.classThis, ps), Xo = t.createAssignment(ye, uc);
            Mt.push(t.createExpressionStatement(Xo));
          }
          if (Mt.push(yt(Nt, Q.metadataReference)), ot(Q.pendingStaticInitializers)) {
            for (const fr of Q.pendingStaticInitializers) {
              const vr = t.createExpressionStatement(fr);
              ga(vr, y0(fr)), ke = Er(ke, vr);
            }
            Q.pendingStaticInitializers = void 0;
          }
          if (Q.classExtraInitializersName) {
            const fr = n().createRunInitializersHelper(Nt, Q.classExtraInitializersName), vr = t.createExpressionStatement(fr);
            ga(vr, M.name ?? bh(M)), ke = Er(ke, vr);
          }
          Mt && ke && !Q.hasStaticInitializers && (In(Mt, ke), ke = void 0);
          const _r = Mt && t.createClassStaticBlockDeclaration(t.createBlock(
            Mt,
            /*multiLine*/
            true
          ));
          _r && Zr && NN(
            _r,
            32
            /* TransformPrivateStaticElements */
          );
          const nr = ke && t.createClassStaticBlockDeclaration(t.createBlock(
            ke,
            /*multiLine*/
            true
          ));
          if (_r || at || nr) {
            const fr = [], vr = Jt.findIndex(ek);
            _r ? (In(fr, Jt, 0, vr + 1), fr.push(_r), In(fr, Jt, vr + 1)) : In(fr, Jt), at && fr.push(at), nr && fr.push(nr), Jt = ct(t.createNodeArray(fr), Jt);
          }
          const kt = s();
          let cr;
          if (Rr) {
            cr = t.createClassExpression(
              /*modifiers*/
              void 0,
              /*name*/
              void 0,
              /*typeParameters*/
              void 0,
              wt,
              Jt
            ), Q.classThis && (cr = Bne(t, cr, Q.classThis));
            const fr = t.createVariableDeclaration(
              ye,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              cr
            ), vr = t.createVariableDeclarationList([fr]), Xt = Q.classThis ? t.createAssignment(ye, Q.classThis) : ye;
            dt.push(
              t.createVariableStatement(
                /*modifiers*/
                void 0,
                vr
              ),
              t.createReturnStatement(Xt)
            );
          } else
            cr = t.createClassExpression(
              /*modifiers*/
              void 0,
              M.name,
              /*typeParameters*/
              void 0,
              wt,
              Jt
            ), dt.push(t.createReturnStatement(cr));
          if (Zr) {
            pS(
              cr,
              32
              /* TransformPrivateStaticElements */
            );
            for (const fr of cr.members)
              (xu(fr) || g_(fr)) && sl(fr) && pS(
                fr,
                32
                /* TransformPrivateStaticElements */
              );
          }
          return Cn(cr, M), t.createImmediatelyInvokedArrowFunction(t.mergeLexicalEnvironment(dt, kt));
        }
        function be(M) {
          return _0(
            /*useLegacyDecorators*/
            false,
            M
          ) || O4(
            /*useLegacyDecorators*/
            false,
            M
          );
        }
        function je(M) {
          if (be(M)) {
            const ye = [], Q = zo(M, $n) ?? M, dt = Q.name ? t.createStringLiteralFromNode(Q.name) : t.createStringLiteral("default"), Mt = Gn(
              M,
              32
              /* Export */
            ), ke = Gn(
              M,
              2048
              /* Default */
            );
            if (M.name || (M = wO(e, M, dt)), Mt && ke) {
              const at = q(M);
              if (M.name) {
                const wt = t.createVariableDeclaration(
                  t.getLocalName(M),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  at
                );
                Cn(wt, M);
                const Zr = t.createVariableDeclarationList(
                  [wt],
                  1
                  /* Let */
                ), Rr = t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  Zr
                );
                ye.push(Rr);
                const Pr = t.createExportDefault(t.getDeclarationName(M));
                Cn(Pr, M), Yc(Pr, pm(M)), ga(Pr, bh(M)), ye.push(Pr);
              } else {
                const wt = t.createExportDefault(at);
                Cn(wt, M), Yc(wt, pm(M)), ga(wt, bh(M)), ye.push(wt);
              }
            } else {
              E.assertIsDefined(M.name, "A class declaration that is not a default export must have a name.");
              const at = q(M), wt = Mt ? (Nt) => Ox(Nt) ? void 0 : K(Nt) : K, Zr = Ar(M.modifiers, wt, Ys), Rr = t.getLocalName(
                M,
                /*allowComments*/
                false,
                /*allowSourceMaps*/
                true
              ), Pr = t.createVariableDeclaration(
                Rr,
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                at
              );
              Cn(Pr, M);
              const rt = t.createVariableDeclarationList(
                [Pr],
                1
                /* Let */
              ), vt = t.createVariableStatement(Zr, rt);
              if (Cn(vt, M), Yc(vt, pm(M)), ye.push(vt), Mt) {
                const Nt = t.createExternalModuleExport(Rr);
                Cn(Nt, M), ye.push(Nt);
              }
            }
            return jm(ye);
          } else {
            const ye = Ar(M.modifiers, K, Ys), Q = Ar(M.heritageClauses, W, nf);
            D(
              /*classInfo*/
              void 0
            );
            const dt = Ar(M.members, V, Uc);
            return P(), t.updateClassDeclaration(
              M,
              ye,
              M.name,
              /*typeParameters*/
              void 0,
              Q,
              dt
            );
          }
        }
        function me(M) {
          if (be(M)) {
            const ye = q(M);
            return Cn(ye, M), ye;
          } else {
            const ye = Ar(M.modifiers, K, Ys), Q = Ar(M.heritageClauses, W, nf);
            D(
              /*classInfo*/
              void 0
            );
            const dt = Ar(M.members, V, Uc);
            return P(), t.updateClassExpression(
              M,
              ye,
              M.name,
              /*typeParameters*/
              void 0,
              Q,
              dt
            );
          }
        }
        function Z(M, ye) {
          if (ot(ye.pendingInstanceInitializers)) {
            const Q = [];
            return Q.push(
              t.createExpressionStatement(
                t.inlineExpressions(ye.pendingInstanceInitializers)
              )
            ), ye.pendingInstanceInitializers = void 0, Q;
          }
        }
        function pe(M, ye, Q, dt, Mt, ke) {
          const at = dt[Mt], wt = ye[at];
          if (In(M, Ar(ye, W, Ti, Q, at - Q)), SS(wt)) {
            const Zr = [];
            pe(
              Zr,
              wt.tryBlock.statements,
              /*statementOffset*/
              0,
              dt,
              Mt + 1,
              ke
            );
            const Rr = t.createNodeArray(Zr);
            ct(Rr, wt.tryBlock.statements), M.push(t.updateTryStatement(
              wt,
              t.updateBlock(wt.tryBlock, Zr),
              Qe(wt.catchClause, W, Hb),
              Qe(wt.finallyBlock, W, Ps)
            ));
          } else
            In(M, Ar(ye, W, Ti, at, 1)), In(M, ke);
          In(M, Ar(ye, W, Ti, at + 1));
        }
        function Te(M) {
          A(M);
          const ye = Ar(M.modifiers, K, Ys), Q = Ar(M.parameters, W, Ii);
          let dt;
          if (M.body && u) {
            const Mt = Z(u.class, u);
            if (Mt) {
              const ke = [], at = t.copyPrologue(
                M.body.statements,
                ke,
                /*ensureUseStrict*/
                false,
                W
              ), wt = xO(M.body.statements, at);
              wt.length > 0 ? pe(ke, M.body.statements, at, wt, 0, Mt) : (In(ke, Mt), In(ke, Ar(M.body.statements, W, Ti))), dt = t.createBlock(
                ke,
                /*multiLine*/
                true
              ), Cn(dt, M.body), ct(dt, M.body);
            }
          }
          return dt ?? (dt = Qe(M.body, W, Ps)), O(), t.updateConstructorDeclaration(M, ye, Q, dt);
        }
        function Fe(M, ye) {
          return M !== ye && (Yc(M, ye), ga(M, bh(ye))), M;
        }
        function Ye(M, ye, Q) {
          let dt, Mt, ke, at, wt, Zr;
          if (!ye) {
            const rt = Ar(M.modifiers, K, Ys);
            return F(), Mt = fi(M.name), R(), { modifiers: rt, referencedName: dt, name: Mt, initializersName: ke, descriptorName: Zr, thisArg: wt };
          }
          const Rr = $e(CO(
            M,
            ye.class,
            /*useLegacyDecorators*/
            false
          )), Pr = Ar(M.modifiers, K, Ys);
          if (Rr) {
            const rt = ce(M, "decorators"), vt = t.createArrayLiteralExpression(Rr), Nt = t.createAssignment(rt, vt), Jt = { memberDecoratorsName: rt };
            ye.memberInfos ?? (ye.memberInfos = /* @__PURE__ */ new Map()), ye.memberInfos.set(M, Jt), h ?? (h = []), h.push(Nt);
            const _r = KT(M) || g_(M) ? Bs(M) ? ye.staticNonFieldDecorationStatements ?? (ye.staticNonFieldDecorationStatements = []) : ye.nonStaticNonFieldDecorationStatements ?? (ye.nonStaticNonFieldDecorationStatements = []) : as(M) && !g_(M) ? Bs(M) ? ye.staticFieldDecorationStatements ?? (ye.staticFieldDecorationStatements = []) : ye.nonStaticFieldDecorationStatements ?? (ye.nonStaticFieldDecorationStatements = []) : E.fail(), nr = lp(M) ? "getter" : R_(M) ? "setter" : Ko(M) ? "method" : g_(M) ? "accessor" : as(M) ? "field" : E.fail();
            let kt;
            if (Me(M.name) || Ai(M.name))
              kt = { computed: false, name: M.name };
            else if (am(M.name))
              kt = { computed: true, name: t.createStringLiteralFromNode(M.name) };
            else {
              const fr = M.name.expression;
              am(fr) && !Me(fr) ? kt = { computed: true, name: t.createStringLiteralFromNode(fr) } : (F(), { referencedName: dt, name: Mt } = ai(M.name), kt = { computed: true, name: dt }, R());
            }
            const cr = {
              kind: nr,
              name: kt,
              static: Bs(M),
              private: Ai(M.name),
              access: {
                // 15.7.3 CreateDecoratorAccessObject (kind, name)
                // 2. If _kind_ is ~field~, ~method~, ~accessor~, or ~getter~, then ...
                get: as(M) || lp(M) || Ko(M),
                // 3. If _kind_ is ~field~, ~accessor~, or ~setter~, then ...
                set: as(M) || R_(M)
              },
              metadata: ye.metadataReference
            };
            if (KT(M)) {
              const fr = Bs(M) ? ye.staticMethodExtraInitializersName : ye.instanceMethodExtraInitializersName;
              E.assertIsDefined(fr);
              let vr;
              xu(M) && Q && (vr = Q(M, Ar(Pr, (Is) => Bn(Is, kD), Ys)), Jt.memberDescriptorName = Zr = ce(M, "descriptor"), vr = t.createAssignment(Zr, vr));
              const Xt = n().createESDecorateHelper(t.createThis(), vr ?? t.createNull(), rt, cr, t.createNull(), fr), oi = t.createExpressionStatement(Xt);
              ga(oi, bh(M)), _r.push(oi);
            } else if (as(M)) {
              ke = Jt.memberInitializersName ?? (Jt.memberInitializersName = ce(M, "initializers")), at = Jt.memberExtraInitializersName ?? (Jt.memberExtraInitializersName = ce(M, "extraInitializers")), Bs(M) && (wt = ye.classThis);
              let fr;
              xu(M) && cm(M) && Q && (fr = Q(
                M,
                /*modifiers*/
                void 0
              ), Jt.memberDescriptorName = Zr = ce(M, "descriptor"), fr = t.createAssignment(Zr, fr));
              const vr = n().createESDecorateHelper(
                g_(M) ? t.createThis() : t.createNull(),
                fr ?? t.createNull(),
                rt,
                cr,
                ke,
                at
              ), Xt = t.createExpressionStatement(vr);
              ga(Xt, bh(M)), _r.push(Xt);
            }
          }
          return Mt === void 0 && (F(), Mt = fi(M.name), R()), !ot(Pr) && (Ko(M) || as(M)) && un(
            Mt,
            1024
            /* NoLeadingComments */
          ), { modifiers: Pr, referencedName: dt, name: Mt, initializersName: ke, extraInitializersName: at, descriptorName: Zr, thisArg: wt };
        }
        function ne(M) {
          A(M);
          const { modifiers: ye, name: Q, descriptorName: dt } = Ye(M, u, Le);
          if (dt)
            return O(), Fe(qe(ye, Q, dt), M);
          {
            const Mt = Ar(M.parameters, W, Ii), ke = Qe(M.body, W, Ps);
            return O(), Fe(t.updateMethodDeclaration(
              M,
              ye,
              M.asteriskToken,
              Q,
              /*questionToken*/
              void 0,
              /*typeParameters*/
              void 0,
              Mt,
              /*type*/
              void 0,
              ke
            ), M);
          }
        }
        function Se(M) {
          A(M);
          const { modifiers: ye, name: Q, descriptorName: dt } = Ye(M, u, mt);
          if (dt)
            return O(), Fe(Lt(ye, Q, dt), M);
          {
            const Mt = Ar(M.parameters, W, Ii), ke = Qe(M.body, W, Ps);
            return O(), Fe(t.updateGetAccessorDeclaration(
              M,
              ye,
              Q,
              Mt,
              /*type*/
              void 0,
              ke
            ), M);
          }
        }
        function ie(M) {
          A(M);
          const { modifiers: ye, name: Q, descriptorName: dt } = Ye(M, u, pt);
          if (dt)
            return O(), Fe(rn(ye, Q, dt), M);
          {
            const Mt = Ar(M.parameters, W, Ii), ke = Qe(M.body, W, Ps);
            return O(), Fe(t.updateSetAccessorDeclaration(M, ye, Q, Mt, ke), M);
          }
        }
        function Ne(M) {
          A(M);
          let ye;
          if (ek(M))
            ye = br(M, W, e);
          else if (ZD(M)) {
            const Q = g;
            g = void 0, ye = br(M, W, e), g = Q;
          } else if (M = br(M, W, e), ye = M, u && (u.hasStaticInitializers = true, ot(u.pendingStaticInitializers))) {
            const Q = [];
            for (const ke of u.pendingStaticInitializers) {
              const at = t.createExpressionStatement(ke);
              ga(at, y0(ke)), Q.push(at);
            }
            const dt = t.createBlock(
              Q,
              /*multiLine*/
              true
            );
            ye = [t.createClassStaticBlockDeclaration(dt), ye], u.pendingStaticInitializers = void 0;
          }
          return O(), ye;
        }
        function Ee(M) {
          Z_(M, st) && (M = sf(e, M, Wt(M.initializer))), A(M), E.assert(!fB(M), "Not yet implemented.");
          const { modifiers: ye, name: Q, initializersName: dt, extraInitializersName: Mt, descriptorName: ke, thisArg: at } = Ye(M, u, cm(M) ? Ct : void 0);
          i();
          let wt = Qe(M.initializer, W, ut);
          dt && (wt = n().createRunInitializersHelper(
            at ?? t.createThis(),
            dt,
            wt ?? t.createVoidZero()
          )), Bs(M) && u && wt && (u.hasStaticInitializers = true);
          const Zr = s();
          if (ot(Zr) && (wt = t.createImmediatelyInvokedArrowFunction([
            ...Zr,
            t.createReturnStatement(wt)
          ])), u && (Bs(M) ? (wt = Ae(
            u,
            /*isStatic*/
            true,
            wt
          ), Mt && (u.pendingStaticInitializers ?? (u.pendingStaticInitializers = []), u.pendingStaticInitializers.push(
            n().createRunInitializersHelper(
              u.classThis ?? t.createThis(),
              Mt
            )
          ))) : (wt = Ae(
            u,
            /*isStatic*/
            false,
            wt
          ), Mt && (u.pendingInstanceInitializers ?? (u.pendingInstanceInitializers = []), u.pendingInstanceInitializers.push(
            n().createRunInitializersHelper(
              t.createThis(),
              Mt
            )
          )))), O(), cm(M) && ke) {
            const Rr = pm(M), Pr = y0(M), rt = M.name;
            let vt = rt, Nt = rt;
            if (Hs(rt) && !Zm(rt.expression)) {
              const cr = WF(rt);
              if (cr)
                vt = t.updateComputedPropertyName(rt, Qe(rt.expression, W, ut)), Nt = t.updateComputedPropertyName(rt, cr.left);
              else {
                const fr = t.createTempVariable(o);
                ga(fr, rt.expression);
                const vr = Qe(rt.expression, W, ut), Xt = t.createAssignment(fr, vr);
                ga(Xt, rt.expression), vt = t.updateComputedPropertyName(rt, Xt), Nt = t.updateComputedPropertyName(rt, fr);
              }
            }
            const Jt = Ar(ye, (cr) => cr.kind !== 129 ? cr : void 0, Ys), _r = Bz(t, M, Jt, wt);
            Cn(_r, M), un(
              _r,
              3072
              /* NoComments */
            ), ga(_r, Pr), ga(_r.name, M.name);
            const nr = Lt(Jt, vt, ke);
            Cn(nr, M), Yc(nr, Rr), ga(nr, Pr);
            const kt = rn(Jt, Nt, ke);
            return Cn(kt, M), un(
              kt,
              3072
              /* NoComments */
            ), ga(kt, Pr), [_r, nr, kt];
          }
          return Fe(t.updatePropertyDeclaration(
            M,
            ye,
            Q,
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            wt
          ), M);
        }
        function Ce(M) {
          return g ?? M;
        }
        function Ve(M) {
          if (O_(M.expression) && g) {
            const ye = Qe(M.expression, W, ut), Q = Ar(M.arguments, W, ut), dt = t.createFunctionCallCall(ye, g, Q);
            return Cn(dt, M), ct(dt, M), dt;
          }
          return br(M, W, e);
        }
        function St(M) {
          if (O_(M.tag) && g) {
            const ye = Qe(M.tag, W, ut), Q = t.createFunctionBindCall(ye, g, []);
            Cn(Q, M), ct(Q, M);
            const dt = Qe(M.template, W, ex);
            return t.updateTaggedTemplateExpression(
              M,
              Q,
              /*typeArguments*/
              void 0,
              dt
            );
          }
          return br(M, W, e);
        }
        function Bt(M) {
          if (O_(M) && Me(M.name) && g && m) {
            const ye = t.createStringLiteralFromNode(M.name), Q = t.createReflectGetCall(m, ye, g);
            return Cn(Q, M.expression), ct(Q, M.expression), Q;
          }
          return br(M, W, e);
        }
        function tr(M) {
          if (O_(M) && g && m) {
            const ye = Qe(M.argumentExpression, W, ut), Q = t.createReflectGetCall(m, ye, g);
            return Cn(Q, M.expression), ct(Q, M.expression), Q;
          }
          return br(M, W, e);
        }
        function Nr(M) {
          Z_(M, st) && (M = sf(e, M, Wt(M.initializer)));
          const ye = t.updateParameterDeclaration(
            M,
            /*modifiers*/
            void 0,
            M.dotDotDotToken,
            Qe(M.name, W, X2),
            /*questionToken*/
            void 0,
            /*type*/
            void 0,
            Qe(M.initializer, W, ut)
          );
          return ye !== M && (Yc(ye, M), ct(ye, um(M)), ga(ye, um(M)), un(
            ye.name,
            64
            /* NoTrailingSourceMap */
          )), ye;
        }
        function st(M) {
          return Oc(M) && !M.name && be(M);
        }
        function Wt(M) {
          const ye = dc(M);
          return Oc(ye) && !ye.name && !_0(
            /*useLegacyDecorators*/
            false,
            ye
          );
        }
        function Jr(M) {
          return t.updateForStatement(
            M,
            Qe(M.initializer, ae, ep),
            Qe(M.condition, W, ut),
            Qe(M.incrementor, ae, ut),
            i_(M.statement, W, e)
          );
        }
        function ui(M) {
          return br(M, ae, e);
        }
        function Ji(M, ye) {
          if (p0(M)) {
            const Q = vs(M.left), dt = Qe(M.right, W, ut);
            return t.updateBinaryExpression(M, Q, M.operatorToken, dt);
          }
          if (El(M)) {
            if (Z_(M, st))
              return M = sf(e, M, Wt(M.right)), br(M, W, e);
            if (O_(M.left) && g && m) {
              let Q = oo(M.left) ? Qe(M.left.argumentExpression, W, ut) : Me(M.left.name) ? t.createStringLiteralFromNode(M.left.name) : void 0;
              if (Q) {
                let dt = Qe(M.right, W, ut);
                if (XD(M.operatorToken.kind)) {
                  let ke = Q;
                  Zm(Q) || (ke = t.createTempVariable(o), Q = t.createAssignment(ke, Q));
                  const at = t.createReflectGetCall(
                    m,
                    ke,
                    g
                  );
                  Cn(at, M.left), ct(at, M.left), dt = t.createBinaryExpression(
                    at,
                    QD(M.operatorToken.kind),
                    dt
                  ), ct(dt, M);
                }
                const Mt = ye ? void 0 : t.createTempVariable(o);
                return Mt && (dt = t.createAssignment(Mt, dt), ct(Mt, M)), dt = t.createReflectSetCall(
                  m,
                  Q,
                  dt,
                  g
                ), Cn(dt, M), ct(dt, M), Mt && (dt = t.createComma(dt, Mt), ct(dt, M)), dt;
              }
            }
          }
          if (M.operatorToken.kind === 28) {
            const Q = Qe(M.left, ae, ut), dt = Qe(M.right, ye ? ae : W, ut);
            return t.updateBinaryExpression(M, Q, M.operatorToken, dt);
          }
          return br(M, W, e);
        }
        function Dt(M, ye) {
          if (M.operator === 46 || M.operator === 47) {
            const Q = Ra(M.operand);
            if (O_(Q) && g && m) {
              let dt = oo(Q) ? Qe(Q.argumentExpression, W, ut) : Me(Q.name) ? t.createStringLiteralFromNode(Q.name) : void 0;
              if (dt) {
                let Mt = dt;
                Zm(dt) || (Mt = t.createTempVariable(o), dt = t.createAssignment(Mt, dt));
                let ke = t.createReflectGetCall(m, Mt, g);
                Cn(ke, M), ct(ke, M);
                const at = ye ? void 0 : t.createTempVariable(o);
                return ke = MF(t, M, ke, o, at), ke = t.createReflectSetCall(m, dt, ke, g), Cn(ke, M), ct(ke, M), at && (ke = t.createComma(ke, at), ct(ke, M)), ke;
              }
            }
          }
          return br(M, W, e);
        }
        function Mn(M, ye) {
          const Q = ye ? bO(M.elements, ae) : bO(M.elements, W, ae);
          return t.updateCommaListExpression(M, Q);
        }
        function ai(M) {
          if (am(M) || Ai(M)) {
            const ke = t.createStringLiteralFromNode(M), at = Qe(M, W, Wc);
            return { referencedName: ke, name: at };
          }
          if (am(M.expression) && !Me(M.expression)) {
            const ke = t.createStringLiteralFromNode(M.expression), at = Qe(M, W, Wc);
            return { referencedName: ke, name: at };
          }
          const ye = t.getGeneratedNameForNode(M);
          o(ye);
          const Q = n().createPropKeyHelper(Qe(M.expression, W, ut)), dt = t.createAssignment(ye, Q), Mt = t.updateComputedPropertyName(M, Y(dt));
          return { referencedName: ye, name: Mt };
        }
        function fi(M) {
          return Hs(M) ? pn(M) : Qe(M, W, Wc);
        }
        function pn(M) {
          let ye = Qe(M.expression, W, ut);
          return Zm(ye) || (ye = Y(ye)), t.updateComputedPropertyName(M, ye);
        }
        function _i(M) {
          return Z_(M, st) && (M = sf(e, M, Wt(M.initializer))), br(M, W, e);
        }
        function Je(M) {
          return Z_(M, st) && (M = sf(e, M, Wt(M.initializer))), br(M, W, e);
        }
        function ft(M) {
          return Z_(M, st) && (M = sf(e, M, Wt(M.initializer))), br(M, W, e);
        }
        function er(M) {
          if (ua(M) || Kl(M))
            return vs(M);
          if (O_(M) && g && m) {
            const ye = oo(M) ? Qe(M.argumentExpression, W, ut) : Me(M.name) ? t.createStringLiteralFromNode(M.name) : void 0;
            if (ye) {
              const Q = t.createTempVariable(
                /*recordTempVariable*/
                void 0
              ), dt = t.createAssignmentTargetWrapper(
                Q,
                t.createReflectSetCall(
                  m,
                  ye,
                  Q,
                  g
                )
              );
              return Cn(dt, M), ct(dt, M), dt;
            }
          }
          return br(M, W, e);
        }
        function qr(M) {
          if (El(
            M,
            /*excludeCompoundAssignment*/
            true
          )) {
            Z_(M, st) && (M = sf(e, M, Wt(M.right)));
            const ye = er(M.left), Q = Qe(M.right, W, ut);
            return t.updateBinaryExpression(M, ye, M.operatorToken, Q);
          } else
            return er(M);
        }
        function Jn(M) {
          if (h_(M.expression)) {
            const ye = er(M.expression);
            return t.updateSpreadElement(M, ye);
          }
          return br(M, W, e);
        }
        function Un(M) {
          return E.assertNode(M, c3), up(M) ? Jn(M) : gl(M) ? br(M, W, e) : qr(M);
        }
        function ki(M) {
          const ye = Qe(M.name, W, Wc);
          if (El(
            M.initializer,
            /*excludeCompoundAssignment*/
            true
          )) {
            const Q = qr(M.initializer);
            return t.updatePropertyAssignment(M, ye, Q);
          }
          if (h_(M.initializer)) {
            const Q = er(M.initializer);
            return t.updatePropertyAssignment(M, ye, Q);
          }
          return br(M, W, e);
        }
        function Es(M) {
          return Z_(M, st) && (M = sf(e, M, Wt(M.objectAssignmentInitializer))), br(M, W, e);
        }
        function Zs(M) {
          if (h_(M.expression)) {
            const ye = er(M.expression);
            return t.updateSpreadAssignment(M, ye);
          }
          return br(M, W, e);
        }
        function yr(M) {
          return E.assertNode(M, o3), Bg(M) ? Zs(M) : fu(M) ? Es(M) : Kc(M) ? ki(M) : br(M, W, e);
        }
        function vs(M) {
          if (Kl(M)) {
            const ye = Ar(M.elements, Un, ut);
            return t.updateArrayLiteralExpression(M, ye);
          } else {
            const ye = Ar(M.properties, yr, dh);
            return t.updateObjectLiteralExpression(M, ye);
          }
        }
        function Xe(M) {
          return Z_(M, st) && (M = sf(e, M, Wt(M.expression))), br(M, W, e);
        }
        function Et(M, ye) {
          const Q = ye ? ae : W, dt = Qe(M.expression, Q, ut);
          return t.updateParenthesizedExpression(M, dt);
        }
        function re(M, ye) {
          const Q = W, dt = Qe(M.expression, Q, ut);
          return t.updatePartiallyEmittedExpression(M, dt);
        }
        function it(M, ye) {
          return ot(M) && (ye ? n_(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 Y(M) {
          const ye = it(h, M);
          return E.assertIsDefined(ye), ye !== M && (h = void 0), ye;
        }
        function Ae(M, ye, Q) {
          const dt = it(ye ? M.pendingStaticInitializers : M.pendingInstanceInitializers, Q);
          return dt !== Q && (ye ? M.pendingStaticInitializers = void 0 : M.pendingInstanceInitializers = void 0), dt;
        }
        function $e(M) {
          if (!M)
            return;
          const ye = [];
          return In(ye, hr(M.decorators, Ke)), ye;
        }
        function Ke(M) {
          const ye = Qe(M.expression, W, ut);
          un(
            ye,
            3072
            /* NoComments */
          );
          const Q = dc(ye);
          if (vo(Q)) {
            const { target: dt, thisArg: Mt } = t.createCallBinding(
              ye,
              o,
              c,
              /*cacheIdentifiers*/
              true
            );
            return t.restoreOuterExpressions(ye, t.createFunctionBindCall(dt, Mt, []));
          }
          return ye;
        }
        function Tt(M, ye, Q, dt, Mt, ke, at) {
          const wt = t.createFunctionExpression(
            Q,
            dt,
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            ke,
            /*type*/
            void 0,
            at ?? t.createBlock([])
          );
          Cn(wt, M), ga(wt, bh(M)), un(
            wt,
            3072
            /* NoComments */
          );
          const Zr = Mt === "get" || Mt === "set" ? Mt : void 0, Rr = t.createStringLiteralFromNode(
            ye,
            /*isSingleQuote*/
            void 0
          ), Pr = n().createSetFunctionNameHelper(wt, Rr, Zr), rt = t.createPropertyAssignment(t.createIdentifier(Mt), Pr);
          return Cn(rt, M), ga(rt, bh(M)), un(
            rt,
            3072
            /* NoComments */
          ), rt;
        }
        function Le(M, ye) {
          return t.createObjectLiteralExpression([
            Tt(
              M,
              M.name,
              ye,
              M.asteriskToken,
              "value",
              Ar(M.parameters, W, Ii),
              Qe(M.body, W, Ps)
            )
          ]);
        }
        function mt(M, ye) {
          return t.createObjectLiteralExpression([
            Tt(
              M,
              M.name,
              ye,
              /*asteriskToken*/
              void 0,
              "get",
              [],
              Qe(M.body, W, Ps)
            )
          ]);
        }
        function pt(M, ye) {
          return t.createObjectLiteralExpression([
            Tt(
              M,
              M.name,
              ye,
              /*asteriskToken*/
              void 0,
              "set",
              Ar(M.parameters, W, Ii),
              Qe(M.body, W, Ps)
            )
          ]);
        }
        function Ct(M, ye) {
          return t.createObjectLiteralExpression([
            Tt(
              M,
              M.name,
              ye,
              /*asteriskToken*/
              void 0,
              "get",
              [],
              t.createBlock([
                t.createReturnStatement(
                  t.createPropertyAccessExpression(
                    t.createThis(),
                    t.getGeneratedPrivateNameForNode(M.name)
                  )
                )
              ])
            ),
            Tt(
              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 qe(M, ye, Q) {
          return M = Ar(M, (dt) => Lx(dt) ? dt : void 0, Ys), t.createGetAccessorDeclaration(
            M,
            ye,
            [],
            /*type*/
            void 0,
            t.createBlock([
              t.createReturnStatement(
                t.createPropertyAccessExpression(
                  Q,
                  t.createIdentifier("value")
                )
              )
            ])
          );
        }
        function Lt(M, ye, Q) {
          return M = Ar(M, (dt) => Lx(dt) ? dt : void 0, Ys), t.createGetAccessorDeclaration(
            M,
            ye,
            [],
            /*type*/
            void 0,
            t.createBlock([
              t.createReturnStatement(
                t.createFunctionCallCall(
                  t.createPropertyAccessExpression(
                    Q,
                    t.createIdentifier("get")
                  ),
                  t.createThis(),
                  []
                )
              )
            ])
          );
        }
        function rn(M, ye, Q) {
          return M = Ar(M, (dt) => Lx(dt) ? dt : void 0, Ys), t.createSetAccessorDeclaration(
            M,
            ye,
            [t.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              "value"
            )],
            t.createBlock([
              t.createReturnStatement(
                t.createFunctionCallCall(
                  t.createPropertyAccessExpression(
                    Q,
                    t.createIdentifier("set")
                  ),
                  t.createThis(),
                  [t.createIdentifier("value")]
                )
              )
            ])
          );
        }
        function Pe(M, ye) {
          const Q = 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 ? ue(ye) : t.createNull()]
              ),
              t.createToken(
                59
                /* ColonToken */
              ),
              t.createVoidZero()
            )
          );
          return t.createVariableStatement(
            /*modifiers*/
            void 0,
            t.createVariableDeclarationList(
              [Q],
              2
              /* Const */
            )
          );
        }
        function yt(M, ye) {
          const Q = t.createObjectDefinePropertyCall(
            M,
            t.createPropertyAccessExpression(t.createIdentifier("Symbol"), "metadata"),
            t.createPropertyDescriptor(
              { configurable: true, writable: true, enumerable: true, value: ye },
              /*singleLine*/
              true
            )
          );
          return un(
            t.createIfStatement(ye, t.createExpressionStatement(Q)),
            1
            /* SingleLine */
          );
        }
        function ue(M) {
          return t.createBinaryExpression(
            t.createElementAccessExpression(
              M,
              t.createPropertyAccessExpression(t.createIdentifier("Symbol"), "metadata")
            ),
            61,
            t.createNull()
          );
        }
      }
      function $ne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          resumeLexicalEnvironment: i,
          endLexicalEnvironment: s,
          hoistVariableDeclaration: o
        } = e, c = e.getEmitResolver(), _ = e.getCompilerOptions(), u = pa(_);
        let g = 0, m = 0, h, S, T, k;
        const D = [];
        let P = 0;
        const A = e.onEmitNode, O = e.onSubstituteNode;
        return e.onEmitNode = ui, e.onSubstituteNode = Ji, Ad(e, F);
        function F(Je) {
          if (Je.isDeclarationFile)
            return Je;
          R(1, false), R(2, !_B(Je, _));
          const ft = br(Je, V, e);
          return Rg(ft, e.readEmitHelpers()), ft;
        }
        function R(Je, ft) {
          P = ft ? P | Je : P & ~Je;
        }
        function B(Je) {
          return (P & Je) !== 0;
        }
        function U() {
          return !B(
            1
            /* NonTopLevel */
          );
        }
        function $() {
          return B(
            2
            /* HasLexicalThis */
          );
        }
        function W(Je, ft, er) {
          const qr = Je & ~P;
          if (qr) {
            R(
              qr,
              /*val*/
              true
            );
            const Jn = ft(er);
            return R(
              qr,
              /*val*/
              false
            ), Jn;
          }
          return ft(er);
        }
        function _e(Je) {
          return br(Je, V, e);
        }
        function K(Je) {
          switch (Je.kind) {
            case 219:
            case 263:
            case 175:
            case 178:
            case 179:
            case 177:
              return Je;
            case 170:
            case 209:
            case 261:
              break;
            case 80:
              if (k && c.isArgumentsLocalBinding(Je))
                return k;
              break;
          }
          return br(Je, K, e);
        }
        function V(Je) {
          if ((Je.transformFlags & 256) === 0)
            return k ? K(Je) : Je;
          switch (Je.kind) {
            case 134:
              return;
            case 224:
              return be(Je);
            case 175:
              return W(3, me, Je);
            case 263:
              return W(3, Te, Je);
            case 219:
              return W(3, Fe, Je);
            case 220:
              return W(1, Ye, Je);
            case 212:
              return S && wn(Je) && Je.expression.kind === 108 && S.add(Je.name.escapedText), br(Je, V, e);
            case 213:
              return S && Je.expression.kind === 108 && (T = true), br(Je, V, e);
            case 178:
              return W(3, Z, Je);
            case 179:
              return W(3, pe, Je);
            case 177:
              return W(3, je, Je);
            case 264:
            case 232:
              return W(3, _e, Je);
            default:
              return br(Je, V, e);
          }
        }
        function ae(Je) {
          if (FK(Je))
            switch (Je.kind) {
              case 244:
                return ce(Je);
              case 249:
                return q(Je);
              case 250:
                return fe(Je);
              case 251:
                return he(Je);
              case 300:
                return se(Je);
              case 242:
              case 256:
              case 270:
              case 297:
              case 298:
              case 259:
              case 247:
              case 248:
              case 246:
              case 255:
              case 257:
                return br(Je, ae, e);
              default:
                return E.assertNever(Je, "Unhandled node.");
            }
          return V(Je);
        }
        function se(Je) {
          const ft = /* @__PURE__ */ new Set();
          ne(Je.variableDeclaration, ft);
          let er;
          if (ft.forEach((qr, Jn) => {
            h.has(Jn) && (er || (er = new Set(h)), er.delete(Jn));
          }), er) {
            const qr = h;
            h = er;
            const Jn = br(Je, ae, e);
            return h = qr, Jn;
          } else
            return br(Je, ae, e);
        }
        function ce(Je) {
          if (Se(Je.declarationList)) {
            const ft = ie(
              Je.declarationList,
              /*hasReceiver*/
              false
            );
            return ft ? t.createExpressionStatement(ft) : void 0;
          }
          return br(Je, V, e);
        }
        function fe(Je) {
          return t.updateForInStatement(
            Je,
            Se(Je.initializer) ? ie(
              Je.initializer,
              /*hasReceiver*/
              true
            ) : E.checkDefined(Qe(Je.initializer, V, ep)),
            E.checkDefined(Qe(Je.expression, V, ut)),
            i_(Je.statement, ae, e)
          );
        }
        function he(Je) {
          return t.updateForOfStatement(
            Je,
            Qe(Je.awaitModifier, V, _z),
            Se(Je.initializer) ? ie(
              Je.initializer,
              /*hasReceiver*/
              true
            ) : E.checkDefined(Qe(Je.initializer, V, ep)),
            E.checkDefined(Qe(Je.expression, V, ut)),
            i_(Je.statement, ae, e)
          );
        }
        function q(Je) {
          const ft = Je.initializer;
          return t.updateForStatement(
            Je,
            Se(ft) ? ie(
              ft,
              /*hasReceiver*/
              false
            ) : Qe(Je.initializer, V, ep),
            Qe(Je.condition, V, ut),
            Qe(Je.incrementor, V, ut),
            i_(Je.statement, ae, e)
          );
        }
        function be(Je) {
          return U() ? br(Je, V, e) : Cn(
            ct(
              t.createYieldExpression(
                /*asteriskToken*/
                void 0,
                Qe(Je.expression, V, ut)
              ),
              Je
            ),
            Je
          );
        }
        function je(Je) {
          const ft = k;
          k = void 0;
          const er = t.updateConstructorDeclaration(
            Je,
            Ar(Je.modifiers, V, Ys),
            cc(Je.parameters, V, e),
            St(Je)
          );
          return k = ft, er;
        }
        function me(Je) {
          let ft;
          const er = Fc(Je), qr = k;
          k = void 0;
          const Jn = t.updateMethodDeclaration(
            Je,
            Ar(Je.modifiers, V, Ro),
            Je.asteriskToken,
            Je.name,
            /*questionToken*/
            void 0,
            /*typeParameters*/
            void 0,
            ft = er & 2 ? tr(Je) : cc(Je.parameters, V, e),
            /*type*/
            void 0,
            er & 2 ? Nr(Je, ft) : St(Je)
          );
          return k = qr, Jn;
        }
        function Z(Je) {
          const ft = k;
          k = void 0;
          const er = t.updateGetAccessorDeclaration(
            Je,
            Ar(Je.modifiers, V, Ro),
            Je.name,
            cc(Je.parameters, V, e),
            /*type*/
            void 0,
            St(Je)
          );
          return k = ft, er;
        }
        function pe(Je) {
          const ft = k;
          k = void 0;
          const er = t.updateSetAccessorDeclaration(
            Je,
            Ar(Je.modifiers, V, Ro),
            Je.name,
            cc(Je.parameters, V, e),
            St(Je)
          );
          return k = ft, er;
        }
        function Te(Je) {
          let ft;
          const er = k;
          k = void 0;
          const qr = Fc(Je), Jn = t.updateFunctionDeclaration(
            Je,
            Ar(Je.modifiers, V, Ro),
            Je.asteriskToken,
            Je.name,
            /*typeParameters*/
            void 0,
            ft = qr & 2 ? tr(Je) : cc(Je.parameters, V, e),
            /*type*/
            void 0,
            qr & 2 ? Nr(Je, ft) : Of(Je.body, V, e)
          );
          return k = er, Jn;
        }
        function Fe(Je) {
          let ft;
          const er = k;
          k = void 0;
          const qr = Fc(Je), Jn = t.updateFunctionExpression(
            Je,
            Ar(Je.modifiers, V, Ys),
            Je.asteriskToken,
            Je.name,
            /*typeParameters*/
            void 0,
            ft = qr & 2 ? tr(Je) : cc(Je.parameters, V, e),
            /*type*/
            void 0,
            qr & 2 ? Nr(Je, ft) : Of(Je.body, V, e)
          );
          return k = er, Jn;
        }
        function Ye(Je) {
          let ft;
          const er = Fc(Je);
          return t.updateArrowFunction(
            Je,
            Ar(Je.modifiers, V, Ys),
            /*typeParameters*/
            void 0,
            ft = er & 2 ? tr(Je) : cc(Je.parameters, V, e),
            /*type*/
            void 0,
            Je.equalsGreaterThanToken,
            er & 2 ? Nr(Je, ft) : Of(Je.body, V, e)
          );
        }
        function ne({ name: Je }, ft) {
          if (Me(Je))
            ft.add(Je.escapedText);
          else
            for (const er of Je.elements)
              gl(er) || ne(er, ft);
        }
        function Se(Je) {
          return !!Je && Bl(Je) && !(Je.flags & 7) && Je.declarations.some(Ve);
        }
        function ie(Je, ft) {
          Ne(Je);
          const er = rD(Je);
          return er.length === 0 ? ft ? Qe(t.converters.convertToAssignmentElementTarget(Je.declarations[0].name), V, ut) : void 0 : t.inlineExpressions(hr(er, Ce));
        }
        function Ne(Je) {
          lr(Je.declarations, Ee);
        }
        function Ee({ name: Je }) {
          if (Me(Je))
            o(Je);
          else
            for (const ft of Je.elements)
              gl(ft) || Ee(ft);
        }
        function Ce(Je) {
          const ft = ga(
            t.createAssignment(
              t.converters.convertToAssignmentElementTarget(Je.name),
              Je.initializer
            ),
            Je
          );
          return E.checkDefined(Qe(ft, V, ut));
        }
        function Ve({ name: Je }) {
          if (Me(Je))
            return h.has(Je.escapedText);
          for (const ft of Je.elements)
            if (!gl(ft) && Ve(ft))
              return true;
          return false;
        }
        function St(Je) {
          E.assertIsDefined(Je.body);
          const ft = S, er = T;
          S = /* @__PURE__ */ new Set(), T = false;
          let qr = Of(Je.body, V, e);
          const Jn = zo(Je, to);
          if (u >= 2 && (c.hasNodeCheckFlag(
            Je,
            256
            /* MethodWithSuperPropertyAssignmentInAsync */
          ) || c.hasNodeCheckFlag(
            Je,
            128
            /* MethodWithSuperPropertyAccessInAsync */
          )) && (Fc(Jn) & 3) !== 3) {
            if (Jr(), S.size) {
              const ki = PO(t, c, Je, S);
              D[Oa(ki)] = true;
              const Es = qr.statements.slice();
              Dg(Es, [ki]), qr = t.updateBlock(qr, Es);
            }
            T && (c.hasNodeCheckFlag(
              Je,
              256
              /* MethodWithSuperPropertyAssignmentInAsync */
            ) ? Ax(qr, vF) : c.hasNodeCheckFlag(
              Je,
              128
              /* MethodWithSuperPropertyAccessInAsync */
            ) && Ax(qr, yF));
          }
          return S = ft, T = er, qr;
        }
        function Bt() {
          E.assert(k);
          const Je = t.createVariableDeclaration(
            k,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            t.createIdentifier("arguments")
          ), ft = t.createVariableStatement(
            /*modifiers*/
            void 0,
            [Je]
          );
          return Du(ft), fm(
            ft,
            2097152
            /* CustomPrologue */
          ), ft;
        }
        function tr(Je) {
          if (f8(Je.parameters))
            return cc(Je.parameters, V, e);
          const ft = [];
          for (const qr of Je.parameters) {
            if (qr.initializer || qr.dotDotDotToken) {
              if (Je.kind === 220) {
                const Un = t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  t.createToken(
                    26
                    /* DotDotDotToken */
                  ),
                  t.createUniqueName(
                    "args",
                    8
                    /* ReservedInNestedScopes */
                  )
                );
                ft.push(Un);
              }
              break;
            }
            const Jn = t.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              t.getGeneratedNameForNode(
                qr.name,
                8
                /* ReservedInNestedScopes */
              )
            );
            ft.push(Jn);
          }
          const er = t.createNodeArray(ft);
          return ct(er, Je.parameters), er;
        }
        function Nr(Je, ft) {
          const er = f8(Je.parameters) ? void 0 : cc(Je.parameters, V, e);
          i();
          const Jn = zo(Je, Cs).type, Un = u < 2 ? Wt(Jn) : void 0, ki = Je.kind === 220, Es = k, yr = c.hasNodeCheckFlag(
            Je,
            512
            /* CaptureArguments */
          ) && !k;
          yr && (k = t.createUniqueName("arguments"));
          let vs;
          if (er)
            if (ki) {
              const $e = [];
              E.assert(ft.length <= Je.parameters.length);
              for (let Ke = 0; Ke < Je.parameters.length; Ke++) {
                E.assert(Ke < ft.length);
                const Tt = Je.parameters[Ke], Le = ft[Ke];
                if (E.assertNode(Le.name, Me), Tt.initializer || Tt.dotDotDotToken) {
                  E.assert(Ke === ft.length - 1), $e.push(t.createSpreadElement(Le.name));
                  break;
                }
                $e.push(Le.name);
              }
              vs = t.createArrayLiteralExpression($e);
            } else
              vs = t.createIdentifier("arguments");
          const Xe = h;
          h = /* @__PURE__ */ new Set();
          for (const $e of Je.parameters)
            ne($e, h);
          const Et = S, re = T;
          ki || (S = /* @__PURE__ */ new Set(), T = false);
          const it = $();
          let Y = st(Je.body);
          Y = t.updateBlock(Y, t.mergeLexicalEnvironment(Y.statements, s()));
          let Ae;
          if (ki) {
            if (Ae = n().createAwaiterHelper(
              it,
              vs,
              Un,
              er,
              Y
            ), yr) {
              const $e = t.converters.convertToFunctionBlock(Ae);
              Ae = t.updateBlock($e, t.mergeLexicalEnvironment($e.statements, [Bt()]));
            }
          } else {
            const $e = [];
            $e.push(
              t.createReturnStatement(
                n().createAwaiterHelper(
                  it,
                  vs,
                  Un,
                  er,
                  Y
                )
              )
            );
            const Ke = u >= 2 && (c.hasNodeCheckFlag(
              Je,
              256
              /* MethodWithSuperPropertyAssignmentInAsync */
            ) || c.hasNodeCheckFlag(
              Je,
              128
              /* MethodWithSuperPropertyAccessInAsync */
            ));
            if (Ke && (Jr(), S.size)) {
              const Le = PO(t, c, Je, S);
              D[Oa(Le)] = true, Dg($e, [Le]);
            }
            yr && Dg($e, [Bt()]);
            const Tt = t.createBlock(
              $e,
              /*multiLine*/
              true
            );
            ct(Tt, Je.body), Ke && T && (c.hasNodeCheckFlag(
              Je,
              256
              /* MethodWithSuperPropertyAssignmentInAsync */
            ) ? Ax(Tt, vF) : c.hasNodeCheckFlag(
              Je,
              128
              /* MethodWithSuperPropertyAccessInAsync */
            ) && Ax(Tt, yF)), Ae = Tt;
          }
          return h = Xe, ki || (S = Et, T = re, k = Es), Ae;
        }
        function st(Je, ft) {
          return Ps(Je) ? t.updateBlock(Je, Ar(Je.statements, ae, Ti, ft)) : t.converters.convertToFunctionBlock(E.checkDefined(Qe(Je, ae, P7)));
        }
        function Wt(Je) {
          const ft = Je && P3(Je);
          if (ft && Zu(ft)) {
            const er = c.getTypeReferenceSerializationKind(ft);
            if (er === 1 || er === 0)
              return ft;
          }
        }
        function Jr() {
          (g & 1) === 0 && (g |= 1, e.enableSubstitution(
            214
            /* CallExpression */
          ), e.enableSubstitution(
            212
            /* PropertyAccessExpression */
          ), e.enableSubstitution(
            213
            /* ElementAccessExpression */
          ), e.enableEmitNotification(
            264
            /* ClassDeclaration */
          ), e.enableEmitNotification(
            175
            /* MethodDeclaration */
          ), e.enableEmitNotification(
            178
            /* GetAccessor */
          ), e.enableEmitNotification(
            179
            /* SetAccessor */
          ), e.enableEmitNotification(
            177
            /* Constructor */
          ), e.enableEmitNotification(
            244
            /* VariableStatement */
          ));
        }
        function ui(Je, ft, er) {
          if (g & 1 && pn(ft)) {
            const qr = (c.hasNodeCheckFlag(
              ft,
              128
              /* MethodWithSuperPropertyAccessInAsync */
            ) ? 128 : 0) | (c.hasNodeCheckFlag(
              ft,
              256
              /* MethodWithSuperPropertyAssignmentInAsync */
            ) ? 256 : 0);
            if (qr !== m) {
              const Jn = m;
              m = qr, A(Je, ft, er), m = Jn;
              return;
            }
          } else if (g && D[Oa(ft)]) {
            const qr = m;
            m = 0, A(Je, ft, er), m = qr;
            return;
          }
          A(Je, ft, er);
        }
        function Ji(Je, ft) {
          return ft = O(Je, ft), Je === 1 && m ? Dt(ft) : ft;
        }
        function Dt(Je) {
          switch (Je.kind) {
            case 212:
              return Mn(Je);
            case 213:
              return ai(Je);
            case 214:
              return fi(Je);
          }
          return Je;
        }
        function Mn(Je) {
          return Je.expression.kind === 108 ? ct(
            t.createPropertyAccessExpression(
              t.createUniqueName(
                "_super",
                48
                /* FileLevel */
              ),
              Je.name
            ),
            Je
          ) : Je;
        }
        function ai(Je) {
          return Je.expression.kind === 108 ? _i(
            Je.argumentExpression,
            Je
          ) : Je;
        }
        function fi(Je) {
          const ft = Je.expression;
          if (O_(ft)) {
            const er = wn(ft) ? Mn(ft) : ai(ft);
            return t.createCallExpression(
              t.createPropertyAccessExpression(er, "call"),
              /*typeArguments*/
              void 0,
              [
                t.createThis(),
                ...Je.arguments
              ]
            );
          }
          return Je;
        }
        function pn(Je) {
          const ft = Je.kind;
          return ft === 264 || ft === 177 || ft === 175 || ft === 178 || ft === 179;
        }
        function _i(Je, ft) {
          return m & 256 ? ct(
            t.createPropertyAccessExpression(
              t.createCallExpression(
                t.createUniqueName(
                  "_superIndex",
                  48
                  /* FileLevel */
                ),
                /*typeArguments*/
                void 0,
                [Je]
              ),
              "value"
            ),
            ft
          ) : ct(
            t.createCallExpression(
              t.createUniqueName(
                "_superIndex",
                48
                /* FileLevel */
              ),
              /*typeArguments*/
              void 0,
              [Je]
            ),
            ft
          );
        }
      }
      function PO(e, t, n, i) {
        const s = t.hasNodeCheckFlag(
          n,
          256
          /* MethodWithSuperPropertyAssignmentInAsync */
        ), o = [];
        return i.forEach((c, _) => {
          const u = Si(_), g = [];
          g.push(e.createPropertyAssignment(
            "get",
            e.createArrowFunction(
              /*modifiers*/
              void 0,
              /*typeParameters*/
              void 0,
              /* parameters */
              [],
              /*type*/
              void 0,
              /*equalsGreaterThanToken*/
              void 0,
              un(
                e.createPropertyAccessExpression(
                  un(
                    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(
                  un(
                    e.createPropertyAccessExpression(
                      un(
                        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*/
                      true
                    )
                  ]
                )
              )
            ],
            2
            /* Const */
          )
        );
      }
      function Xne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          resumeLexicalEnvironment: i,
          endLexicalEnvironment: s,
          hoistVariableDeclaration: o
        } = e, c = e.getEmitResolver(), _ = e.getCompilerOptions(), u = pa(_), g = e.onEmitNode;
        e.onEmitNode = Es;
        const m = e.onSubstituteNode;
        e.onSubstituteNode = Zs;
        let h = false, S = 0, T, k, D = 0, P = 0, A, O, F, R;
        const B = [];
        return Ad(e, K);
        function U(Y, Ae) {
          return P !== (P & ~Y | Ae);
        }
        function $(Y, Ae) {
          const $e = P;
          return P = (P & ~Y | Ae) & 3, $e;
        }
        function W(Y) {
          P = Y;
        }
        function _e(Y) {
          O = Er(
            O,
            t.createVariableDeclaration(Y)
          );
        }
        function K(Y) {
          if (Y.isDeclarationFile)
            return Y;
          A = Y;
          const Ae = Ye(Y);
          return Rg(Ae, e.readEmitHelpers()), A = void 0, O = void 0, Ae;
        }
        function V(Y) {
          return he(
            Y,
            /*expressionResultIsUnused*/
            false
          );
        }
        function ae(Y) {
          return he(
            Y,
            /*expressionResultIsUnused*/
            true
          );
        }
        function se(Y) {
          if (Y.kind !== 134)
            return Y;
        }
        function ce(Y, Ae, $e, Ke) {
          if (U($e, Ke)) {
            const Tt = $($e, Ke), Le = Y(Ae);
            return W(Tt), Le;
          }
          return Y(Ae);
        }
        function fe(Y) {
          return br(Y, V, e);
        }
        function he(Y, Ae) {
          if ((Y.transformFlags & 128) === 0)
            return Y;
          switch (Y.kind) {
            case 224:
              return q(Y);
            case 230:
              return be(Y);
            case 254:
              return je(Y);
            case 257:
              return me(Y);
            case 211:
              return pe(Y);
            case 227:
              return Se(Y, Ae);
            case 357:
              return ie(Y, Ae);
            case 300:
              return Ne(Y);
            case 244:
              return Ee(Y);
            case 261:
              return Ce(Y);
            case 247:
            case 248:
            case 250:
              return ce(
                fe,
                Y,
                0,
                2
                /* IterationStatementIncludes */
              );
            case 251:
              return tr(
                Y,
                /*outermostLabeledStatement*/
                void 0
              );
            case 249:
              return ce(
                St,
                Y,
                0,
                2
                /* IterationStatementIncludes */
              );
            case 223:
              return Bt(Y);
            case 177:
              return ce(
                Mn,
                Y,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            case 175:
              return ce(
                pn,
                Y,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            case 178:
              return ce(
                ai,
                Y,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            case 179:
              return ce(
                fi,
                Y,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            case 263:
              return ce(
                _i,
                Y,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            case 219:
              return ce(
                ft,
                Y,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            case 220:
              return ce(
                Je,
                Y,
                2,
                0
                /* ArrowFunctionIncludes */
              );
            case 170:
              return Ji(Y);
            case 245:
              return Te(Y);
            case 218:
              return Fe(Y, Ae);
            case 216:
              return ne(Y);
            case 212:
              return F && wn(Y) && Y.expression.kind === 108 && F.add(Y.name.escapedText), br(Y, V, e);
            case 213:
              return F && Y.expression.kind === 108 && (R = true), br(Y, V, e);
            case 264:
            case 232:
              return ce(
                fe,
                Y,
                2,
                1
                /* ClassOrFunctionIncludes */
              );
            default:
              return br(Y, V, e);
          }
        }
        function q(Y) {
          return T & 2 && T & 1 ? Cn(
            ct(
              t.createYieldExpression(
                /*asteriskToken*/
                void 0,
                n().createAwaitHelper(Qe(Y.expression, V, ut))
              ),
              /*location*/
              Y
            ),
            Y
          ) : br(Y, V, e);
        }
        function be(Y) {
          if (T & 2 && T & 1) {
            if (Y.asteriskToken) {
              const Ae = Qe(E.checkDefined(Y.expression), V, ut);
              return Cn(
                ct(
                  t.createYieldExpression(
                    /*asteriskToken*/
                    void 0,
                    n().createAwaitHelper(
                      t.updateYieldExpression(
                        Y,
                        Y.asteriskToken,
                        ct(
                          n().createAsyncDelegatorHelper(
                            ct(
                              n().createAsyncValuesHelper(Ae),
                              Ae
                            )
                          ),
                          Ae
                        )
                      )
                    )
                  ),
                  Y
                ),
                Y
              );
            }
            return Cn(
              ct(
                t.createYieldExpression(
                  /*asteriskToken*/
                  void 0,
                  Wt(
                    Y.expression ? Qe(Y.expression, V, ut) : t.createVoidZero()
                  )
                ),
                Y
              ),
              Y
            );
          }
          return br(Y, V, e);
        }
        function je(Y) {
          return T & 2 && T & 1 ? t.updateReturnStatement(
            Y,
            Wt(
              Y.expression ? Qe(Y.expression, V, ut) : t.createVoidZero()
            )
          ) : br(Y, V, e);
        }
        function me(Y) {
          if (T & 2) {
            const Ae = bB(Y);
            return Ae.kind === 251 && Ae.awaitModifier ? tr(Ae, Y) : t.restoreEnclosingLabel(Qe(Ae, V, Ti, t.liftToBlock), Y);
          }
          return br(Y, V, e);
        }
        function Z(Y) {
          let Ae;
          const $e = [];
          for (const Ke of Y)
            if (Ke.kind === 306) {
              Ae && ($e.push(t.createObjectLiteralExpression(Ae)), Ae = void 0);
              const Tt = Ke.expression;
              $e.push(Qe(Tt, V, ut));
            } else
              Ae = Er(
                Ae,
                Ke.kind === 304 ? t.createPropertyAssignment(Ke.name, Qe(Ke.initializer, V, ut)) : Qe(Ke, V, dh)
              );
          return Ae && $e.push(t.createObjectLiteralExpression(Ae)), $e;
        }
        function pe(Y) {
          if (Y.transformFlags & 65536) {
            const Ae = Z(Y.properties);
            Ae.length && Ae[0].kind !== 211 && Ae.unshift(t.createObjectLiteralExpression());
            let $e = Ae[0];
            if (Ae.length > 1) {
              for (let Ke = 1; Ke < Ae.length; Ke++)
                $e = n().createAssignHelper([$e, Ae[Ke]]);
              return $e;
            } else
              return n().createAssignHelper(Ae);
          }
          return br(Y, V, e);
        }
        function Te(Y) {
          return br(Y, ae, e);
        }
        function Fe(Y, Ae) {
          return br(Y, Ae ? ae : V, e);
        }
        function Ye(Y) {
          const Ae = $(
            2,
            _B(Y, _) ? 0 : 1
            /* SourceFileIncludes */
          );
          h = false;
          const $e = br(Y, V, e), Ke = Bi(
            $e.statements,
            O && [
              t.createVariableStatement(
                /*modifiers*/
                void 0,
                t.createVariableDeclarationList(O)
              )
            ]
          ), Tt = t.updateSourceFile($e, ct(t.createNodeArray(Ke), Y.statements));
          return W(Ae), Tt;
        }
        function ne(Y) {
          return qW(
            e,
            Y,
            V,
            A,
            _e,
            0
            /* LiftRestriction */
          );
        }
        function Se(Y, Ae) {
          return p0(Y) && $N(Y.left) ? IS(
            Y,
            V,
            e,
            1,
            !Ae
          ) : Y.operatorToken.kind === 28 ? t.updateBinaryExpression(
            Y,
            Qe(Y.left, ae, ut),
            Y.operatorToken,
            Qe(Y.right, Ae ? ae : V, ut)
          ) : br(Y, V, e);
        }
        function ie(Y, Ae) {
          if (Ae)
            return br(Y, ae, e);
          let $e;
          for (let Tt = 0; Tt < Y.elements.length; Tt++) {
            const Le = Y.elements[Tt], mt = Qe(Le, Tt < Y.elements.length - 1 ? ae : V, ut);
            ($e || mt !== Le) && ($e || ($e = Y.elements.slice(0, Tt)), $e.push(mt));
          }
          const Ke = $e ? ct(t.createNodeArray($e), Y.elements) : Y.elements;
          return t.updateCommaListExpression(Y, Ke);
        }
        function Ne(Y) {
          if (Y.variableDeclaration && Ds(Y.variableDeclaration.name) && Y.variableDeclaration.name.transformFlags & 65536) {
            const Ae = t.getGeneratedNameForNode(Y.variableDeclaration.name), $e = t.updateVariableDeclaration(
              Y.variableDeclaration,
              Y.variableDeclaration.name,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              Ae
            ), Ke = Yb(
              $e,
              V,
              e,
              1
              /* ObjectRest */
            );
            let Tt = Qe(Y.block, V, Ps);
            return ot(Ke) && (Tt = t.updateBlock(Tt, [
              t.createVariableStatement(
                /*modifiers*/
                void 0,
                Ke
              ),
              ...Tt.statements
            ])), t.updateCatchClause(
              Y,
              t.updateVariableDeclaration(
                Y.variableDeclaration,
                Ae,
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                /*initializer*/
                void 0
              ),
              Tt
            );
          }
          return br(Y, V, e);
        }
        function Ee(Y) {
          if (Gn(
            Y,
            32
            /* Export */
          )) {
            const Ae = h;
            h = true;
            const $e = br(Y, V, e);
            return h = Ae, $e;
          }
          return br(Y, V, e);
        }
        function Ce(Y) {
          if (h) {
            const Ae = h;
            h = false;
            const $e = Ve(
              Y,
              /*exportedVariableStatement*/
              true
            );
            return h = Ae, $e;
          }
          return Ve(
            Y,
            /*exportedVariableStatement*/
            false
          );
        }
        function Ve(Y, Ae) {
          return Ds(Y.name) && Y.name.transformFlags & 65536 ? Yb(
            Y,
            V,
            e,
            1,
            /*rval*/
            void 0,
            Ae
          ) : br(Y, V, e);
        }
        function St(Y) {
          return t.updateForStatement(
            Y,
            Qe(Y.initializer, ae, ep),
            Qe(Y.condition, V, ut),
            Qe(Y.incrementor, ae, ut),
            i_(Y.statement, V, e)
          );
        }
        function Bt(Y) {
          return br(Y, ae, e);
        }
        function tr(Y, Ae) {
          const $e = $(
            0,
            2
            /* IterationStatementIncludes */
          );
          (Y.initializer.transformFlags & 65536 || C4(Y.initializer) && $N(Y.initializer)) && (Y = Nr(Y));
          const Ke = Y.awaitModifier ? Jr(Y, Ae, $e) : t.restoreEnclosingLabel(br(Y, V, e), Ae);
          return W($e), Ke;
        }
        function Nr(Y) {
          const Ae = Ra(Y.initializer);
          if (Bl(Ae) || C4(Ae)) {
            let $e, Ke;
            const Tt = t.createTempVariable(
              /*recordTempVariable*/
              void 0
            ), Le = [Pz(t, Ae, Tt)];
            return Ps(Y.statement) ? (In(Le, Y.statement.statements), $e = Y.statement, Ke = Y.statement.statements) : Y.statement && (Er(Le, Y.statement), $e = Y.statement, Ke = Y.statement), t.updateForOfStatement(
              Y,
              Y.awaitModifier,
              ct(
                t.createVariableDeclarationList(
                  [
                    ct(t.createVariableDeclaration(Tt), Y.initializer)
                  ],
                  1
                  /* Let */
                ),
                Y.initializer
              ),
              Y.expression,
              ct(
                t.createBlock(
                  ct(t.createNodeArray(Le), Ke),
                  /*multiLine*/
                  true
                ),
                $e
              )
            );
          }
          return Y;
        }
        function st(Y, Ae, $e) {
          const Ke = t.createTempVariable(o), Tt = t.createAssignment(Ke, Ae), Le = t.createExpressionStatement(Tt);
          ga(Le, Y.expression);
          const mt = t.createAssignment($e, t.createFalse()), pt = t.createExpressionStatement(mt);
          ga(pt, Y.expression);
          const Ct = [Le, pt], qe = Pz(t, Y.initializer, Ke);
          Ct.push(Qe(qe, V, Ti));
          let Lt, rn;
          const Pe = i_(Y.statement, V, e);
          return Ps(Pe) ? (In(Ct, Pe.statements), Lt = Pe, rn = Pe.statements) : Ct.push(Pe), ct(
            t.createBlock(
              ct(t.createNodeArray(Ct), rn),
              /*multiLine*/
              true
            ),
            Lt
          );
        }
        function Wt(Y) {
          return T & 1 ? t.createYieldExpression(
            /*asteriskToken*/
            void 0,
            n().createAwaitHelper(Y)
          ) : t.createAwaitExpression(Y);
        }
        function Jr(Y, Ae, $e) {
          const Ke = Qe(Y.expression, V, ut), Tt = Me(Ke) ? t.getGeneratedNameForNode(Ke) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), Le = Me(Ke) ? t.getGeneratedNameForNode(Tt) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), mt = t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), pt = t.createTempVariable(o), Ct = t.createUniqueName("e"), qe = t.getGeneratedNameForNode(Ct), Lt = t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), rn = ct(n().createAsyncValuesHelper(Ke), Y.expression), Pe = t.createCallExpression(
            t.createPropertyAccessExpression(Tt, "next"),
            /*typeArguments*/
            void 0,
            []
          ), yt = t.createPropertyAccessExpression(Le, "done"), ue = t.createPropertyAccessExpression(Le, "value"), M = t.createFunctionCallCall(Lt, Tt, []);
          o(Ct), o(Lt);
          const ye = $e & 2 ? t.inlineExpressions([t.createAssignment(Ct, t.createVoidZero()), rn]) : rn, Q = un(
            ct(
              t.createForStatement(
                /*initializer*/
                un(
                  ct(
                    t.createVariableDeclarationList([
                      t.createVariableDeclaration(
                        mt,
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        t.createTrue()
                      ),
                      ct(t.createVariableDeclaration(
                        Tt,
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        ye
                      ), Y.expression),
                      t.createVariableDeclaration(Le)
                    ]),
                    Y.expression
                  ),
                  4194304
                  /* NoHoisting */
                ),
                /*condition*/
                t.inlineExpressions([
                  t.createAssignment(Le, Wt(Pe)),
                  t.createAssignment(pt, yt),
                  t.createLogicalNot(pt)
                ]),
                /*incrementor*/
                t.createAssignment(mt, t.createTrue()),
                /*statement*/
                st(Y, ue, mt)
              ),
              /*location*/
              Y
            ),
            512
            /* NoTokenTrailingSourceMaps */
          );
          return Cn(Q, Y), t.createTryStatement(
            t.createBlock([
              t.restoreEnclosingLabel(
                Q,
                Ae
              )
            ]),
            t.createCatchClause(
              t.createVariableDeclaration(qe),
              un(
                t.createBlock([
                  t.createExpressionStatement(
                    t.createAssignment(
                      Ct,
                      t.createObjectLiteralExpression([
                        t.createPropertyAssignment("error", qe)
                      ])
                    )
                  )
                ]),
                1
                /* SingleLine */
              )
            ),
            t.createBlock([
              t.createTryStatement(
                /*tryBlock*/
                t.createBlock([
                  un(
                    t.createIfStatement(
                      t.createLogicalAnd(
                        t.createLogicalAnd(
                          t.createLogicalNot(mt),
                          t.createLogicalNot(pt)
                        ),
                        t.createAssignment(
                          Lt,
                          t.createPropertyAccessExpression(Tt, "return")
                        )
                      ),
                      t.createExpressionStatement(Wt(M))
                    ),
                    1
                    /* SingleLine */
                  )
                ]),
                /*catchClause*/
                void 0,
                /*finallyBlock*/
                un(
                  t.createBlock([
                    un(
                      t.createIfStatement(
                        Ct,
                        t.createThrowStatement(
                          t.createPropertyAccessExpression(Ct, "error")
                        )
                      ),
                      1
                      /* SingleLine */
                    )
                  ]),
                  1
                  /* SingleLine */
                )
              )
            ])
          );
        }
        function ui(Y) {
          return E.assertNode(Y, Ii), Ji(Y);
        }
        function Ji(Y) {
          return k?.has(Y) ? t.updateParameterDeclaration(
            Y,
            /*modifiers*/
            void 0,
            Y.dotDotDotToken,
            Ds(Y.name) ? t.getGeneratedNameForNode(Y) : Y.name,
            /*questionToken*/
            void 0,
            /*type*/
            void 0,
            /*initializer*/
            void 0
          ) : Y.transformFlags & 65536 ? t.updateParameterDeclaration(
            Y,
            /*modifiers*/
            void 0,
            Y.dotDotDotToken,
            t.getGeneratedNameForNode(Y),
            /*questionToken*/
            void 0,
            /*type*/
            void 0,
            Qe(Y.initializer, V, ut)
          ) : br(Y, V, e);
        }
        function Dt(Y) {
          let Ae;
          for (const $e of Y.parameters)
            Ae ? Ae.add($e) : $e.transformFlags & 65536 && (Ae = /* @__PURE__ */ new Set());
          return Ae;
        }
        function Mn(Y) {
          const Ae = T, $e = k;
          T = Fc(Y), k = Dt(Y);
          const Ke = t.updateConstructorDeclaration(
            Y,
            Y.modifiers,
            cc(Y.parameters, ui, e),
            Jn(Y)
          );
          return T = Ae, k = $e, Ke;
        }
        function ai(Y) {
          const Ae = T, $e = k;
          T = Fc(Y), k = Dt(Y);
          const Ke = t.updateGetAccessorDeclaration(
            Y,
            Y.modifiers,
            Qe(Y.name, V, Wc),
            cc(Y.parameters, ui, e),
            /*type*/
            void 0,
            Jn(Y)
          );
          return T = Ae, k = $e, Ke;
        }
        function fi(Y) {
          const Ae = T, $e = k;
          T = Fc(Y), k = Dt(Y);
          const Ke = t.updateSetAccessorDeclaration(
            Y,
            Y.modifiers,
            Qe(Y.name, V, Wc),
            cc(Y.parameters, ui, e),
            Jn(Y)
          );
          return T = Ae, k = $e, Ke;
        }
        function pn(Y) {
          const Ae = T, $e = k;
          T = Fc(Y), k = Dt(Y);
          const Ke = t.updateMethodDeclaration(
            Y,
            T & 1 ? Ar(Y.modifiers, se, Ro) : Y.modifiers,
            T & 2 ? void 0 : Y.asteriskToken,
            Qe(Y.name, V, Wc),
            Qe(
              /*node*/
              void 0,
              V,
              By
            ),
            /*typeParameters*/
            void 0,
            T & 2 && T & 1 ? er(Y) : cc(Y.parameters, ui, e),
            /*type*/
            void 0,
            T & 2 && T & 1 ? qr(Y) : Jn(Y)
          );
          return T = Ae, k = $e, Ke;
        }
        function _i(Y) {
          const Ae = T, $e = k;
          T = Fc(Y), k = Dt(Y);
          const Ke = t.updateFunctionDeclaration(
            Y,
            T & 1 ? Ar(Y.modifiers, se, Ys) : Y.modifiers,
            T & 2 ? void 0 : Y.asteriskToken,
            Y.name,
            /*typeParameters*/
            void 0,
            T & 2 && T & 1 ? er(Y) : cc(Y.parameters, ui, e),
            /*type*/
            void 0,
            T & 2 && T & 1 ? qr(Y) : Jn(Y)
          );
          return T = Ae, k = $e, Ke;
        }
        function Je(Y) {
          const Ae = T, $e = k;
          T = Fc(Y), k = Dt(Y);
          const Ke = t.updateArrowFunction(
            Y,
            Y.modifiers,
            /*typeParameters*/
            void 0,
            cc(Y.parameters, ui, e),
            /*type*/
            void 0,
            Y.equalsGreaterThanToken,
            Jn(Y)
          );
          return T = Ae, k = $e, Ke;
        }
        function ft(Y) {
          const Ae = T, $e = k;
          T = Fc(Y), k = Dt(Y);
          const Ke = t.updateFunctionExpression(
            Y,
            T & 1 ? Ar(Y.modifiers, se, Ys) : Y.modifiers,
            T & 2 ? void 0 : Y.asteriskToken,
            Y.name,
            /*typeParameters*/
            void 0,
            T & 2 && T & 1 ? er(Y) : cc(Y.parameters, ui, e),
            /*type*/
            void 0,
            T & 2 && T & 1 ? qr(Y) : Jn(Y)
          );
          return T = Ae, k = $e, Ke;
        }
        function er(Y) {
          if (f8(Y.parameters))
            return cc(Y.parameters, V, e);
          const Ae = [];
          for (const Ke of Y.parameters) {
            if (Ke.initializer || Ke.dotDotDotToken)
              break;
            const Tt = t.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              t.getGeneratedNameForNode(
                Ke.name,
                8
                /* ReservedInNestedScopes */
              )
            );
            Ae.push(Tt);
          }
          const $e = t.createNodeArray(Ae);
          return ct($e, Y.parameters), $e;
        }
        function qr(Y) {
          const Ae = f8(Y.parameters) ? void 0 : cc(Y.parameters, V, e);
          i();
          const $e = F, Ke = R;
          F = /* @__PURE__ */ new Set(), R = false;
          const Tt = [];
          let Le = t.updateBlock(Y.body, Ar(Y.body.statements, V, Ti));
          Le = t.updateBlock(Le, t.mergeLexicalEnvironment(Le.statements, Un(s(), Y)));
          const mt = t.createReturnStatement(
            n().createAsyncGeneratorHelper(
              t.createFunctionExpression(
                /*modifiers*/
                void 0,
                t.createToken(
                  42
                  /* AsteriskToken */
                ),
                Y.name && t.getGeneratedNameForNode(Y.name),
                /*typeParameters*/
                void 0,
                Ae ?? [],
                /*type*/
                void 0,
                Le
              ),
              !!(P & 1)
            )
          ), pt = u >= 2 && (c.hasNodeCheckFlag(
            Y,
            256
            /* MethodWithSuperPropertyAssignmentInAsync */
          ) || c.hasNodeCheckFlag(
            Y,
            128
            /* MethodWithSuperPropertyAccessInAsync */
          ));
          if (pt) {
            ki();
            const qe = PO(t, c, Y, F);
            B[Oa(qe)] = true, Dg(Tt, [qe]);
          }
          Tt.push(mt);
          const Ct = t.updateBlock(Y.body, Tt);
          return pt && R && (c.hasNodeCheckFlag(
            Y,
            256
            /* MethodWithSuperPropertyAssignmentInAsync */
          ) ? Ax(Ct, vF) : c.hasNodeCheckFlag(
            Y,
            128
            /* MethodWithSuperPropertyAccessInAsync */
          ) && Ax(Ct, yF)), F = $e, R = Ke, Ct;
        }
        function Jn(Y) {
          i();
          let Ae = 0;
          const $e = [], Ke = Qe(Y.body, V, P7) ?? t.createBlock([]);
          Ps(Ke) && (Ae = t.copyPrologue(
            Ke.statements,
            $e,
            /*ensureUseStrict*/
            false,
            V
          )), In($e, Un(
            /*statements*/
            void 0,
            Y
          ));
          const Tt = s();
          if (Ae > 0 || ot($e) || ot(Tt)) {
            const Le = t.converters.convertToFunctionBlock(
              Ke,
              /*multiLine*/
              true
            );
            return Dg($e, Tt), In($e, Le.statements.slice(Ae)), t.updateBlock(Le, ct(t.createNodeArray($e), Le.statements));
          }
          return Ke;
        }
        function Un(Y, Ae) {
          let $e = false;
          for (const Ke of Ae.parameters)
            if ($e) {
              if (Ds(Ke.name)) {
                if (Ke.name.elements.length > 0) {
                  const Tt = Yb(
                    Ke,
                    V,
                    e,
                    0,
                    t.getGeneratedNameForNode(Ke)
                  );
                  if (ot(Tt)) {
                    const Le = t.createVariableDeclarationList(Tt), mt = t.createVariableStatement(
                      /*modifiers*/
                      void 0,
                      Le
                    );
                    un(
                      mt,
                      2097152
                      /* CustomPrologue */
                    ), Y = Er(Y, mt);
                  }
                } else if (Ke.initializer) {
                  const Tt = t.getGeneratedNameForNode(Ke), Le = Qe(Ke.initializer, V, ut), mt = t.createAssignment(Tt, Le), pt = t.createExpressionStatement(mt);
                  un(
                    pt,
                    2097152
                    /* CustomPrologue */
                  ), Y = Er(Y, pt);
                }
              } else if (Ke.initializer) {
                const Tt = t.cloneNode(Ke.name);
                ct(Tt, Ke.name), un(
                  Tt,
                  96
                  /* NoSourceMap */
                );
                const Le = Qe(Ke.initializer, V, ut);
                fm(
                  Le,
                  3168
                  /* NoComments */
                );
                const mt = t.createAssignment(Tt, Le);
                ct(mt, Ke), un(
                  mt,
                  3072
                  /* NoComments */
                );
                const pt = t.createBlock([t.createExpressionStatement(mt)]);
                ct(pt, Ke), un(
                  pt,
                  3905
                  /* NoComments */
                );
                const Ct = t.createTypeCheck(t.cloneNode(Ke.name), "undefined"), qe = t.createIfStatement(Ct, pt);
                Du(qe), ct(qe, Ke), un(
                  qe,
                  2101056
                  /* NoComments */
                ), Y = Er(Y, qe);
              }
            } else if (Ke.transformFlags & 65536) {
              $e = true;
              const Tt = Yb(
                Ke,
                V,
                e,
                1,
                t.getGeneratedNameForNode(Ke),
                /*hoistTempVariables*/
                false,
                /*skipInitializer*/
                true
              );
              if (ot(Tt)) {
                const Le = t.createVariableDeclarationList(Tt), mt = t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  Le
                );
                un(
                  mt,
                  2097152
                  /* CustomPrologue */
                ), Y = Er(Y, mt);
              }
            }
          return Y;
        }
        function ki() {
          (S & 1) === 0 && (S |= 1, e.enableSubstitution(
            214
            /* CallExpression */
          ), e.enableSubstitution(
            212
            /* PropertyAccessExpression */
          ), e.enableSubstitution(
            213
            /* ElementAccessExpression */
          ), e.enableEmitNotification(
            264
            /* ClassDeclaration */
          ), e.enableEmitNotification(
            175
            /* MethodDeclaration */
          ), e.enableEmitNotification(
            178
            /* GetAccessor */
          ), e.enableEmitNotification(
            179
            /* SetAccessor */
          ), e.enableEmitNotification(
            177
            /* Constructor */
          ), e.enableEmitNotification(
            244
            /* VariableStatement */
          ));
        }
        function Es(Y, Ae, $e) {
          if (S & 1 && re(Ae)) {
            const Ke = (c.hasNodeCheckFlag(
              Ae,
              128
              /* MethodWithSuperPropertyAccessInAsync */
            ) ? 128 : 0) | (c.hasNodeCheckFlag(
              Ae,
              256
              /* MethodWithSuperPropertyAssignmentInAsync */
            ) ? 256 : 0);
            if (Ke !== D) {
              const Tt = D;
              D = Ke, g(Y, Ae, $e), D = Tt;
              return;
            }
          } else if (S && B[Oa(Ae)]) {
            const Ke = D;
            D = 0, g(Y, Ae, $e), D = Ke;
            return;
          }
          g(Y, Ae, $e);
        }
        function Zs(Y, Ae) {
          return Ae = m(Y, Ae), Y === 1 && D ? yr(Ae) : Ae;
        }
        function yr(Y) {
          switch (Y.kind) {
            case 212:
              return vs(Y);
            case 213:
              return Xe(Y);
            case 214:
              return Et(Y);
          }
          return Y;
        }
        function vs(Y) {
          return Y.expression.kind === 108 ? ct(
            t.createPropertyAccessExpression(
              t.createUniqueName(
                "_super",
                48
                /* FileLevel */
              ),
              Y.name
            ),
            Y
          ) : Y;
        }
        function Xe(Y) {
          return Y.expression.kind === 108 ? it(
            Y.argumentExpression,
            Y
          ) : Y;
        }
        function Et(Y) {
          const Ae = Y.expression;
          if (O_(Ae)) {
            const $e = wn(Ae) ? vs(Ae) : Xe(Ae);
            return t.createCallExpression(
              t.createPropertyAccessExpression($e, "call"),
              /*typeArguments*/
              void 0,
              [
                t.createThis(),
                ...Y.arguments
              ]
            );
          }
          return Y;
        }
        function re(Y) {
          const Ae = Y.kind;
          return Ae === 264 || Ae === 177 || Ae === 175 || Ae === 178 || Ae === 179;
        }
        function it(Y, Ae) {
          return D & 256 ? ct(
            t.createPropertyAccessExpression(
              t.createCallExpression(
                t.createIdentifier("_superIndex"),
                /*typeArguments*/
                void 0,
                [Y]
              ),
              "value"
            ),
            Ae
          ) : ct(
            t.createCallExpression(
              t.createIdentifier("_superIndex"),
              /*typeArguments*/
              void 0,
              [Y]
            ),
            Ae
          );
        }
      }
      function Qne(e) {
        const t = e.factory;
        return Ad(e, n);
        function n(o) {
          return o.isDeclarationFile ? o : br(o, i, e);
        }
        function i(o) {
          if ((o.transformFlags & 64) === 0)
            return o;
          switch (o.kind) {
            case 300:
              return s(o);
            default:
              return br(o, i, e);
          }
        }
        function s(o) {
          return o.variableDeclaration ? br(o, i, e) : t.updateCatchClause(
            o,
            t.createVariableDeclaration(t.createTempVariable(
              /*recordTempVariable*/
              void 0
            )),
            Qe(o.block, i, Ps)
          );
        }
      }
      function Yne(e) {
        const {
          factory: t,
          hoistVariableDeclaration: n
        } = e;
        return Ad(e, i);
        function i(k) {
          return k.isDeclarationFile ? k : br(k, s, e);
        }
        function s(k) {
          if ((k.transformFlags & 32) === 0)
            return k;
          switch (k.kind) {
            case 214: {
              const D = u(
                k,
                /*captureThisArg*/
                false
              );
              return E.assertNotNode(D, Wx), D;
            }
            case 212:
            case 213:
              if (Tu(k)) {
                const D = m(
                  k,
                  /*captureThisArg*/
                  false,
                  /*isDelete*/
                  false
                );
                return E.assertNotNode(D, Wx), D;
              }
              return br(k, s, e);
            case 227:
              return k.operatorToken.kind === 61 ? S(k) : br(k, s, e);
            case 221:
              return T(k);
            default:
              return br(k, s, e);
          }
        }
        function o(k) {
          E.assertNotNode(k, x7);
          const D = [k];
          for (; !k.questionDotToken && !Z1(k); )
            k = Ws(ed(k.expression), Tu), E.assertNotNode(k, x7), D.unshift(k);
          return { expression: k.expression, chain: D };
        }
        function c(k, D, P) {
          const A = g(k.expression, D, P);
          return Wx(A) ? t.createSyntheticReferenceExpression(t.updateParenthesizedExpression(k, A.expression), A.thisArg) : t.updateParenthesizedExpression(k, A);
        }
        function _(k, D, P) {
          if (Tu(k))
            return m(k, D, P);
          let A = Qe(k.expression, s, ut);
          E.assertNotNode(A, Wx);
          let O;
          return D && (Qb(A) ? O = A : (O = t.createTempVariable(n), A = t.createAssignment(O, A))), A = k.kind === 212 ? t.updatePropertyAccessExpression(k, A, Qe(k.name, s, Me)) : t.updateElementAccessExpression(k, A, Qe(k.argumentExpression, s, ut)), O ? t.createSyntheticReferenceExpression(A, O) : A;
        }
        function u(k, D) {
          if (Tu(k))
            return m(
              k,
              D,
              /*isDelete*/
              false
            );
          if (n_(k.expression) && Tu(Ra(k.expression))) {
            const P = c(
              k.expression,
              /*captureThisArg*/
              true,
              /*isDelete*/
              false
            ), A = Ar(k.arguments, s, ut);
            return Wx(P) ? ct(t.createFunctionCallCall(P.expression, P.thisArg, A), k) : t.updateCallExpression(
              k,
              P,
              /*typeArguments*/
              void 0,
              A
            );
          }
          return br(k, s, e);
        }
        function g(k, D, P) {
          switch (k.kind) {
            case 218:
              return c(k, D, P);
            case 212:
            case 213:
              return _(k, D, P);
            case 214:
              return u(k, D);
            default:
              return Qe(k, s, ut);
          }
        }
        function m(k, D, P) {
          const { expression: A, chain: O } = o(k), F = g(
            ed(A),
            H2(O[0]),
            /*isDelete*/
            false
          );
          let R = Wx(F) ? F.thisArg : void 0, B = Wx(F) ? F.expression : F, U = t.restoreOuterExpressions(
            A,
            B,
            8
            /* PartiallyEmittedExpressions */
          );
          Qb(B) || (B = t.createTempVariable(n), U = t.createAssignment(B, U));
          let $ = B, W;
          for (let K = 0; K < O.length; K++) {
            const V = O[K];
            switch (V.kind) {
              case 212:
              case 213:
                K === O.length - 1 && D && (Qb($) ? W = $ : (W = t.createTempVariable(n), $ = t.createAssignment(W, $))), $ = V.kind === 212 ? t.createPropertyAccessExpression($, Qe(V.name, s, Me)) : t.createElementAccessExpression($, Qe(V.argumentExpression, s, ut));
                break;
              case 214:
                K === 0 && R ? (Mo(R) || (R = t.cloneNode(R), fm(
                  R,
                  3072
                  /* NoComments */
                )), $ = t.createFunctionCallCall(
                  $,
                  R.kind === 108 ? t.createThis() : R,
                  Ar(V.arguments, s, ut)
                )) : $ = t.createCallExpression(
                  $,
                  /*typeArguments*/
                  void 0,
                  Ar(V.arguments, s, ut)
                );
                break;
            }
            Cn($, V);
          }
          const _e = P ? t.createConditionalExpression(
            h(
              U,
              B,
              /*invert*/
              true
            ),
            /*questionToken*/
            void 0,
            t.createTrue(),
            /*colonToken*/
            void 0,
            t.createDeleteExpression($)
          ) : t.createConditionalExpression(
            h(
              U,
              B,
              /*invert*/
              true
            ),
            /*questionToken*/
            void 0,
            t.createVoidZero(),
            /*colonToken*/
            void 0,
            $
          );
          return ct(_e, k), W ? t.createSyntheticReferenceExpression(_e, W) : _e;
        }
        function h(k, D, P) {
          return t.createBinaryExpression(
            t.createBinaryExpression(
              k,
              t.createToken(
                P ? 37 : 38
                /* ExclamationEqualsEqualsToken */
              ),
              t.createNull()
            ),
            t.createToken(
              P ? 57 : 56
              /* AmpersandAmpersandToken */
            ),
            t.createBinaryExpression(
              D,
              t.createToken(
                P ? 37 : 38
                /* ExclamationEqualsEqualsToken */
              ),
              t.createVoidZero()
            )
          );
        }
        function S(k) {
          let D = Qe(k.left, s, ut), P = D;
          return Qb(D) || (P = t.createTempVariable(n), D = t.createAssignment(P, D)), ct(
            t.createConditionalExpression(
              h(D, P),
              /*questionToken*/
              void 0,
              P,
              /*colonToken*/
              void 0,
              Qe(k.right, s, ut)
            ),
            k
          );
        }
        function T(k) {
          return Tu(Ra(k.expression)) ? Cn(g(
            k.expression,
            /*captureThisArg*/
            false,
            /*isDelete*/
            true
          ), k) : t.updateDeleteExpression(k, Qe(k.expression, s, ut));
        }
      }
      function Zne(e) {
        const {
          hoistVariableDeclaration: t,
          factory: n
        } = e;
        return Ad(e, i);
        function i(c) {
          return c.isDeclarationFile ? c : br(c, s, e);
        }
        function s(c) {
          return (c.transformFlags & 16) === 0 ? c : nJ(c) ? o(c) : br(c, s, e);
        }
        function o(c) {
          const _ = c.operatorToken, u = QD(_.kind);
          let g = Ra(Qe(c.left, s, h_)), m = g;
          const h = Ra(Qe(c.right, s, ut));
          if (vo(g)) {
            const S = Qb(g.expression), T = S ? g.expression : n.createTempVariable(t), k = S ? g.expression : n.createAssignment(
              T,
              g.expression
            );
            if (wn(g))
              m = n.createPropertyAccessExpression(
                T,
                g.name
              ), g = n.createPropertyAccessExpression(
                k,
                g.name
              );
            else {
              const D = Qb(g.argumentExpression), P = D ? g.argumentExpression : n.createTempVariable(t);
              m = n.createElementAccessExpression(
                T,
                P
              ), g = n.createElementAccessExpression(
                k,
                D ? g.argumentExpression : n.createAssignment(
                  P,
                  g.argumentExpression
                )
              );
            }
          }
          return n.createBinaryExpression(
            g,
            u,
            n.createParenthesizedExpression(
              n.createAssignment(
                m,
                h
              )
            )
          );
        }
      }
      function Kne(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          hoistVariableDeclaration: i,
          startLexicalEnvironment: s,
          endLexicalEnvironment: o
        } = e;
        let c, _, u, g;
        return Ad(e, m);
        function m(ce) {
          if (ce.isDeclarationFile)
            return ce;
          const fe = Qe(ce, h, Di);
          return Rg(fe, e.readEmitHelpers()), _ = void 0, c = void 0, u = void 0, fe;
        }
        function h(ce) {
          if ((ce.transformFlags & 4) === 0)
            return ce;
          switch (ce.kind) {
            case 308:
              return S(ce);
            case 242:
              return T(ce);
            case 249:
              return k(ce);
            case 251:
              return D(ce);
            case 256:
              return A(ce);
            default:
              return br(ce, h, e);
          }
        }
        function S(ce) {
          const fe = HW(ce.statements);
          if (fe) {
            s(), c = new N6(), _ = [];
            const he = K1e(ce.statements), q = [];
            In(q, GD(ce.statements, h, Ti, 0, he));
            let be = he;
            for (; be < ce.statements.length; ) {
              const Z = ce.statements[be];
              if (tie(Z) !== 0) {
                be > he && In(q, Ar(ce.statements, h, Ti, he, be - he));
                break;
              }
              be++;
            }
            E.assert(be < ce.statements.length, "Should have encountered at least one 'using' statement.");
            const je = ae(), me = O(ce.statements, be, ce.statements.length, je, q);
            return c.size && Er(
              q,
              t.createExportDeclaration(
                /*modifiers*/
                void 0,
                /*isTypeOnly*/
                false,
                t.createNamedExports(ns(c.values()))
              )
            ), In(q, o()), _.length && q.push(t.createVariableStatement(
              t.createModifiersFromModifierFlags(
                32
                /* Export */
              ),
              t.createVariableDeclarationList(
                _,
                1
                /* Let */
              )
            )), In(q, se(
              me,
              je,
              fe === 2
              /* Async */
            )), g && q.push(t.createExportAssignment(
              /*modifiers*/
              void 0,
              /*isExportEquals*/
              true,
              g
            )), t.updateSourceFile(ce, q);
          }
          return br(ce, h, e);
        }
        function T(ce) {
          const fe = HW(ce.statements);
          if (fe) {
            const he = K1e(ce.statements), q = ae();
            return t.updateBlock(
              ce,
              [
                ...GD(ce.statements, h, Ti, 0, he),
                ...se(
                  O(
                    ce.statements,
                    he,
                    ce.statements.length,
                    q,
                    /*topLevelStatements*/
                    void 0
                  ),
                  q,
                  fe === 2
                  /* Async */
                )
              ]
            );
          }
          return br(ce, h, e);
        }
        function k(ce) {
          return ce.initializer && eve(ce.initializer) ? Qe(
            t.createBlock([
              t.createVariableStatement(
                /*modifiers*/
                void 0,
                ce.initializer
              ),
              t.updateForStatement(
                ce,
                /*initializer*/
                void 0,
                ce.condition,
                ce.incrementor,
                ce.statement
              )
            ]),
            h,
            Ti
          ) : br(ce, h, e);
        }
        function D(ce) {
          if (eve(ce.initializer)) {
            const fe = ce.initializer, he = $c(fe.declarations) || t.createVariableDeclaration(t.createTempVariable(
              /*recordTempVariable*/
              void 0
            )), q = eie(fe) === 2, be = t.getGeneratedNameForNode(he.name), je = t.updateVariableDeclaration(
              he,
              he.name,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              be
            ), me = t.createVariableDeclarationList(
              [je],
              q ? 6 : 4
              /* Using */
            ), Z = t.createVariableStatement(
              /*modifiers*/
              void 0,
              me
            );
            return Qe(
              t.updateForOfStatement(
                ce,
                ce.awaitModifier,
                t.createVariableDeclarationList(
                  [
                    t.createVariableDeclaration(be)
                  ],
                  2
                  /* Const */
                ),
                ce.expression,
                Ps(ce.statement) ? t.updateBlock(ce.statement, [
                  Z,
                  ...ce.statement.statements
                ]) : t.createBlock(
                  [
                    Z,
                    ce.statement
                  ],
                  /*multiLine*/
                  true
                )
              ),
              h,
              Ti
            );
          }
          return br(ce, h, e);
        }
        function P(ce, fe) {
          return HW(ce.statements) !== 0 ? p6(ce) ? t.updateCaseClause(
            ce,
            Qe(ce.expression, h, ut),
            O(
              ce.statements,
              /*start*/
              0,
              ce.statements.length,
              fe,
              /*topLevelStatements*/
              void 0
            )
          ) : t.updateDefaultClause(
            ce,
            O(
              ce.statements,
              /*start*/
              0,
              ce.statements.length,
              fe,
              /*topLevelStatements*/
              void 0
            )
          ) : br(ce, h, e);
        }
        function A(ce) {
          const fe = bje(ce.caseBlock.clauses);
          if (fe) {
            const he = ae();
            return se(
              [
                t.updateSwitchStatement(
                  ce,
                  Qe(ce.expression, h, ut),
                  t.updateCaseBlock(
                    ce.caseBlock,
                    ce.caseBlock.clauses.map((q) => P(q, he))
                  )
                )
              ],
              he,
              fe === 2
              /* Async */
            );
          }
          return br(ce, h, e);
        }
        function O(ce, fe, he, q, be) {
          const je = [];
          for (let pe = fe; pe < he; pe++) {
            const Te = ce[pe], Fe = tie(Te);
            if (Fe) {
              E.assertNode(Te, Pc);
              const ne = [];
              for (let Se of Te.declarationList.declarations) {
                if (!Me(Se.name)) {
                  ne.length = 0;
                  break;
                }
                Z_(Se) && (Se = sf(e, Se));
                const ie = Qe(Se.initializer, h, ut) ?? t.createVoidZero();
                ne.push(t.updateVariableDeclaration(
                  Se,
                  Se.name,
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  n().createAddDisposableResourceHelper(
                    q,
                    ie,
                    Fe === 2
                    /* Async */
                  )
                ));
              }
              if (ne.length) {
                const Se = t.createVariableDeclarationList(
                  ne,
                  2
                  /* Const */
                );
                Cn(Se, Te.declarationList), ct(Se, Te.declarationList), me(t.updateVariableStatement(
                  Te,
                  /*modifiers*/
                  void 0,
                  Se
                ));
                continue;
              }
            }
            const Ye = h(Te);
            ss(Ye) ? Ye.forEach(me) : Ye && me(Ye);
          }
          return je;
          function me(pe) {
            E.assertNode(pe, Ti), Er(je, Z(pe));
          }
          function Z(pe) {
            if (!be) return pe;
            switch (pe.kind) {
              case 273:
              case 272:
              case 279:
              case 263:
                return F(pe, be);
              case 278:
                return R(pe);
              case 264:
                return $(pe);
              case 244:
                return W(pe);
            }
            return pe;
          }
        }
        function F(ce, fe) {
          fe.push(ce);
        }
        function R(ce) {
          return ce.isExportEquals ? U(ce) : B(ce);
        }
        function B(ce) {
          if (u)
            return ce;
          u = t.createUniqueName(
            "_default",
            56
            /* Optimistic */
          ), V(
            u,
            /*isExport*/
            true,
            "default",
            ce
          );
          let fe = ce.expression, he = dc(fe);
          Z_(he) && (he = sf(
            e,
            he,
            /*ignoreEmptyStringLiteral*/
            false,
            "default"
          ), fe = t.restoreOuterExpressions(fe, he));
          const q = t.createAssignment(u, fe);
          return t.createExpressionStatement(q);
        }
        function U(ce) {
          if (g)
            return ce;
          g = t.createUniqueName(
            "_default",
            56
            /* Optimistic */
          ), i(g);
          const fe = t.createAssignment(g, ce.expression);
          return t.createExpressionStatement(fe);
        }
        function $(ce) {
          if (!ce.name && u)
            return ce;
          const fe = Gn(
            ce,
            32
            /* Export */
          ), he = Gn(
            ce,
            2048
            /* Default */
          );
          let q = t.converters.convertToClassExpression(ce);
          return ce.name && (V(
            t.getLocalName(ce),
            fe && !he,
            /*exportAlias*/
            void 0,
            ce
          ), q = t.createAssignment(t.getDeclarationName(ce), q), Z_(q) && (q = sf(
            e,
            q,
            /*ignoreEmptyStringLiteral*/
            false
          )), Cn(q, ce), ga(q, ce), Yc(q, ce)), he && !u && (u = t.createUniqueName(
            "_default",
            56
            /* Optimistic */
          ), V(
            u,
            /*isExport*/
            true,
            "default",
            ce
          ), q = t.createAssignment(u, q), Z_(q) && (q = sf(
            e,
            q,
            /*ignoreEmptyStringLiteral*/
            false,
            "default"
          )), Cn(q, ce)), t.createExpressionStatement(q);
        }
        function W(ce) {
          let fe;
          const he = Gn(
            ce,
            32
            /* Export */
          );
          for (const q of ce.declarationList.declarations)
            K(q, he, q), q.initializer && (fe = Er(fe, _e(q)));
          if (fe) {
            const q = t.createExpressionStatement(t.inlineExpressions(fe));
            return Cn(q, ce), Yc(q, ce), ga(q, ce), q;
          }
        }
        function _e(ce) {
          E.assertIsDefined(ce.initializer);
          let fe;
          Me(ce.name) ? (fe = t.cloneNode(ce.name), un(fe, Ca(fe) & -114689)) : fe = t.converters.convertToAssignmentPattern(ce.name);
          const he = t.createAssignment(fe, ce.initializer);
          return Cn(he, ce), Yc(he, ce), ga(he, ce), he;
        }
        function K(ce, fe, he) {
          if (Ds(ce.name))
            for (const q of ce.name.elements)
              gl(q) || K(q, fe, he);
          else
            V(
              ce.name,
              fe,
              /*exportAlias*/
              void 0,
              he
            );
        }
        function V(ce, fe, he, q) {
          const be = Mo(ce) ? ce : t.cloneNode(ce);
          if (fe) {
            if (he === void 0 && !Ch(be)) {
              const pe = t.createVariableDeclaration(be);
              q && Cn(pe, q), _.push(pe);
              return;
            }
            const je = he !== void 0 ? be : void 0, me = he !== void 0 ? he : be, Z = t.createExportSpecifier(
              /*isTypeOnly*/
              false,
              je,
              me
            );
            q && Cn(Z, q), c.set(be, Z);
          }
          i(be);
        }
        function ae() {
          return t.createUniqueName("env");
        }
        function se(ce, fe, he) {
          const q = [], be = t.createObjectLiteralExpression([
            t.createPropertyAssignment("stack", t.createArrayLiteralExpression()),
            t.createPropertyAssignment("error", t.createVoidZero()),
            t.createPropertyAssignment("hasError", t.createFalse())
          ]), je = t.createVariableDeclaration(
            fe,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            be
          ), me = t.createVariableDeclarationList(
            [je],
            2
            /* Const */
          ), Z = t.createVariableStatement(
            /*modifiers*/
            void 0,
            me
          );
          q.push(Z);
          const pe = t.createBlock(
            ce,
            /*multiLine*/
            true
          ), Te = t.createUniqueName("e"), Fe = t.createCatchClause(
            Te,
            t.createBlock(
              [
                t.createExpressionStatement(
                  t.createAssignment(
                    t.createPropertyAccessExpression(fe, "error"),
                    Te
                  )
                ),
                t.createExpressionStatement(
                  t.createAssignment(
                    t.createPropertyAccessExpression(fe, "hasError"),
                    t.createTrue()
                  )
                )
              ],
              /*multiLine*/
              true
            )
          );
          let Ye;
          if (he) {
            const Se = t.createUniqueName("result");
            Ye = t.createBlock(
              [
                t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  t.createVariableDeclarationList(
                    [
                      t.createVariableDeclaration(
                        Se,
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        n().createDisposeResourcesHelper(fe)
                      )
                    ],
                    2
                    /* Const */
                  )
                ),
                t.createIfStatement(Se, t.createExpressionStatement(t.createAwaitExpression(Se)))
              ],
              /*multiLine*/
              true
            );
          } else
            Ye = t.createBlock(
              [
                t.createExpressionStatement(
                  n().createDisposeResourcesHelper(fe)
                )
              ],
              /*multiLine*/
              true
            );
          const ne = t.createTryStatement(pe, Fe, Ye);
          return q.push(ne), q;
        }
      }
      function K1e(e) {
        for (let t = 0; t < e.length; t++)
          if (!im(e[t]) && !C3(e[t]))
            return t;
        return 0;
      }
      function eve(e) {
        return Bl(e) && eie(e) !== 0;
      }
      function eie(e) {
        return (e.flags & 7) === 6 ? 2 : (e.flags & 7) === 4 ? 1 : 0;
      }
      function vje(e) {
        return eie(e.declarationList);
      }
      function tie(e) {
        return Pc(e) ? vje(e) : 0;
      }
      function HW(e) {
        let t = 0;
        for (const n of e) {
          const i = tie(n);
          if (i === 2) return 2;
          i > t && (t = i);
        }
        return t;
      }
      function bje(e) {
        let t = 0;
        for (const n of e) {
          const i = HW(n.statements);
          if (i === 2) return 2;
          i > t && (t = i);
        }
        return t;
      }
      function rie(e) {
        const {
          factory: t,
          getEmitHelperFactory: n
        } = e, i = e.getCompilerOptions();
        let s, o;
        return Ad(e, h);
        function c() {
          if (o.filenameDeclaration)
            return o.filenameDeclaration.name;
          const ne = t.createVariableDeclaration(
            t.createUniqueName(
              "_jsxFileName",
              48
              /* FileLevel */
            ),
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            t.createStringLiteral(s.fileName)
          );
          return o.filenameDeclaration = ne, o.filenameDeclaration.name;
        }
        function _(ne) {
          return i.jsx === 5 ? "jsxDEV" : ne ? "jsxs" : "jsx";
        }
        function u(ne) {
          const Se = _(ne);
          return m(Se);
        }
        function g() {
          return m("Fragment");
        }
        function m(ne) {
          var Se, ie;
          const Ne = ne === "createElement" ? o.importSpecifier : G5(o.importSpecifier, i), Ee = (ie = (Se = o.utilizedImplicitRuntimeImports) == null ? void 0 : Se.get(Ne)) == null ? void 0 : ie.get(ne);
          if (Ee)
            return Ee.name;
          o.utilizedImplicitRuntimeImports || (o.utilizedImplicitRuntimeImports = /* @__PURE__ */ new Map());
          let Ce = o.utilizedImplicitRuntimeImports.get(Ne);
          Ce || (Ce = /* @__PURE__ */ new Map(), o.utilizedImplicitRuntimeImports.set(Ne, Ce));
          const Ve = t.createUniqueName(
            `_${ne}`,
            112
            /* AllowNameSubstitution */
          ), St = t.createImportSpecifier(
            /*isTypeOnly*/
            false,
            t.createIdentifier(ne),
            Ve
          );
          return bte(Ve, St), Ce.set(ne, St), Ve;
        }
        function h(ne) {
          if (ne.isDeclarationFile)
            return ne;
          s = ne, o = {}, o.importSpecifier = mN(i, ne);
          let Se = br(ne, S, e);
          Rg(Se, e.readEmitHelpers());
          let ie = Se.statements;
          if (o.filenameDeclaration && (ie = Z2(ie.slice(), t.createVariableStatement(
            /*modifiers*/
            void 0,
            t.createVariableDeclarationList(
              [o.filenameDeclaration],
              2
              /* Const */
            )
          ))), o.utilizedImplicitRuntimeImports) {
            for (const [Ne, Ee] of ns(o.utilizedImplicitRuntimeImports.entries()))
              if (ll(ne)) {
                const Ce = t.createImportDeclaration(
                  /*modifiers*/
                  void 0,
                  t.createImportClause(
                    /*phaseModifier*/
                    void 0,
                    /*name*/
                    void 0,
                    t.createNamedImports(ns(Ee.values()))
                  ),
                  t.createStringLiteral(Ne),
                  /*attributes*/
                  void 0
                );
                X1(
                  Ce,
                  /*incremental*/
                  false
                ), ie = Z2(ie.slice(), Ce);
              } else if (Y_(ne)) {
                const Ce = t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  t.createVariableDeclarationList(
                    [
                      t.createVariableDeclaration(
                        t.createObjectBindingPattern(ns(Ee.values(), (Ve) => t.createBindingElement(
                          /*dotDotDotToken*/
                          void 0,
                          Ve.propertyName,
                          Ve.name
                        ))),
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        t.createCallExpression(
                          t.createIdentifier("require"),
                          /*typeArguments*/
                          void 0,
                          [t.createStringLiteral(Ne)]
                        )
                      )
                    ],
                    2
                    /* Const */
                  )
                );
                X1(
                  Ce,
                  /*incremental*/
                  false
                ), ie = Z2(ie.slice(), Ce);
              }
          }
          return ie !== Se.statements && (Se = t.updateSourceFile(Se, ie)), o = void 0, Se;
        }
        function S(ne) {
          return ne.transformFlags & 2 ? T(ne) : ne;
        }
        function T(ne) {
          switch (ne.kind) {
            case 285:
              return O(
                ne,
                /*isChild*/
                false
              );
            case 286:
              return F(
                ne,
                /*isChild*/
                false
              );
            case 289:
              return R(
                ne,
                /*isChild*/
                false
              );
            case 295:
              return Ye(ne);
            default:
              return br(ne, S, e);
          }
        }
        function k(ne) {
          switch (ne.kind) {
            case 12:
              return be(ne);
            case 295:
              return Ye(ne);
            case 285:
              return O(
                ne,
                /*isChild*/
                true
              );
            case 286:
              return F(
                ne,
                /*isChild*/
                true
              );
            case 289:
              return R(
                ne,
                /*isChild*/
                true
              );
            default:
              return E.failBadSyntaxKind(ne);
          }
        }
        function D(ne) {
          return ne.properties.some(
            (Se) => Kc(Se) && (Me(Se.name) && An(Se.name) === "__proto__" || oa(Se.name) && Se.name.text === "__proto__")
          );
        }
        function P(ne) {
          let Se = false;
          for (const ie of ne.attributes.properties)
            if (Ux(ie) && (!ua(ie.expression) || ie.expression.properties.some(Bg)))
              Se = true;
            else if (Se && ym(ie) && Me(ie.name) && ie.name.escapedText === "key")
              return true;
          return false;
        }
        function A(ne) {
          return o.importSpecifier === void 0 || P(ne);
        }
        function O(ne, Se) {
          return (A(ne.openingElement) ? _e : $)(
            ne.openingElement,
            ne.children,
            Se,
            /*location*/
            ne
          );
        }
        function F(ne, Se) {
          return (A(ne) ? _e : $)(
            ne,
            /*children*/
            void 0,
            Se,
            /*location*/
            ne
          );
        }
        function R(ne, Se) {
          return (o.importSpecifier === void 0 ? V : K)(
            ne.openingFragment,
            ne.children,
            Se,
            /*location*/
            ne
          );
        }
        function B(ne) {
          const Se = U(ne);
          return Se && t.createObjectLiteralExpression([Se]);
        }
        function U(ne) {
          const Se = qC(ne);
          if (wr(Se) === 1 && !Se[0].dotDotDotToken) {
            const Ne = k(Se[0]);
            return Ne && t.createPropertyAssignment("children", Ne);
          }
          const ie = Fi(ne, k);
          return wr(ie) ? t.createPropertyAssignment("children", t.createArrayLiteralExpression(ie)) : void 0;
        }
        function $(ne, Se, ie, Ne) {
          const Ee = Te(ne), Ce = Se && Se.length ? U(Se) : void 0, Ve = Nn(ne.attributes.properties, (tr) => !!tr.name && Me(tr.name) && tr.name.escapedText === "key"), St = Ve ? kn(ne.attributes.properties, (tr) => tr !== Ve) : ne.attributes.properties, Bt = wr(St) ? se(St, Ce) : t.createObjectLiteralExpression(Ce ? [Ce] : Ge);
          return W(
            Ee,
            Bt,
            Ve,
            Se || Ge,
            ie,
            Ne
          );
        }
        function W(ne, Se, ie, Ne, Ee, Ce) {
          var Ve;
          const St = qC(Ne), Bt = wr(St) > 1 || !!((Ve = St[0]) != null && Ve.dotDotDotToken), tr = [ne, Se];
          if (ie && tr.push(q(ie.initializer)), i.jsx === 5) {
            const st = zo(s);
            if (st && Di(st)) {
              ie === void 0 && tr.push(t.createVoidZero()), tr.push(Bt ? t.createTrue() : t.createFalse());
              const Wt = Rs(st, 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 Nr = ct(
            t.createCallExpression(
              u(Bt),
              /*typeArguments*/
              void 0,
              tr
            ),
            Ce
          );
          return Ee && Du(Nr), Nr;
        }
        function _e(ne, Se, ie, Ne) {
          const Ee = Te(ne), Ce = ne.attributes.properties, Ve = wr(Ce) ? se(Ce) : t.createNull(), St = o.importSpecifier === void 0 ? wz(
            t,
            e.getEmitResolver().getJsxFactoryEntity(s),
            i.reactNamespace,
            // TODO: GH#18217
            ne
          ) : m("createElement"), Bt = ere(
            t,
            St,
            Ee,
            Ve,
            Fi(Se, k),
            Ne
          );
          return ie && Du(Bt), Bt;
        }
        function K(ne, Se, ie, Ne) {
          let Ee;
          if (Se && Se.length) {
            const Ce = B(Se);
            Ce && (Ee = Ce);
          }
          return W(
            g(),
            Ee || t.createObjectLiteralExpression([]),
            /*keyAttr*/
            void 0,
            Se,
            ie,
            Ne
          );
        }
        function V(ne, Se, ie, Ne) {
          const Ee = tre(
            t,
            e.getEmitResolver().getJsxFactoryEntity(s),
            e.getEmitResolver().getJsxFragmentFactoryEntity(s),
            i.reactNamespace,
            // TODO: GH#18217
            Fi(Se, k),
            ne,
            Ne
          );
          return ie && Du(Ee), Ee;
        }
        function ae(ne) {
          return ua(ne.expression) && !D(ne.expression) ? Gc(ne.expression.properties, (Se) => E.checkDefined(Qe(Se, S, dh))) : t.createSpreadAssignment(E.checkDefined(Qe(ne.expression, S, ut)));
        }
        function se(ne, Se) {
          const ie = pa(i);
          return ie && ie >= 5 ? t.createObjectLiteralExpression(ce(ne, Se)) : fe(ne, Se);
        }
        function ce(ne, Se) {
          const ie = wp(CR(ne, Ux, (Ne, Ee) => wp(hr(Ne, (Ce) => Ee ? ae(Ce) : he(Ce)))));
          return Se && ie.push(Se), ie;
        }
        function fe(ne, Se) {
          const ie = [];
          let Ne = [];
          for (const Ce of ne) {
            if (Ux(Ce)) {
              if (ua(Ce.expression) && !D(Ce.expression)) {
                for (const Ve of Ce.expression.properties) {
                  if (Bg(Ve)) {
                    Ee(), ie.push(E.checkDefined(Qe(Ve.expression, S, ut)));
                    continue;
                  }
                  Ne.push(E.checkDefined(Qe(Ve, S)));
                }
                continue;
              }
              Ee(), ie.push(E.checkDefined(Qe(Ce.expression, S, ut)));
              continue;
            }
            Ne.push(he(Ce));
          }
          return Se && Ne.push(Se), Ee(), ie.length && !ua(ie[0]) && ie.unshift(t.createObjectLiteralExpression()), yg(ie) || n().createAssignHelper(ie);
          function Ee() {
            Ne.length && (ie.push(t.createObjectLiteralExpression(Ne)), Ne = []);
          }
        }
        function he(ne) {
          const Se = Fe(ne), ie = q(ne.initializer);
          return t.createPropertyAssignment(Se, ie);
        }
        function q(ne) {
          if (ne === void 0)
            return t.createTrue();
          if (ne.kind === 11) {
            const Se = ne.singleQuote !== void 0 ? ne.singleQuote : !u5(ne, s), ie = t.createStringLiteral(pe(ne.text) || ne.text, Se);
            return ct(ie, ne);
          }
          return ne.kind === 295 ? ne.expression === void 0 ? t.createTrue() : E.checkDefined(Qe(ne.expression, S, ut)) : hm(ne) ? O(
            ne,
            /*isChild*/
            false
          ) : xS(ne) ? F(
            ne,
            /*isChild*/
            false
          ) : nv(ne) ? R(
            ne,
            /*isChild*/
            false
          ) : E.failBadSyntaxKind(ne);
        }
        function be(ne) {
          const Se = je(ne.text);
          return Se === void 0 ? void 0 : t.createStringLiteral(Se);
        }
        function je(ne) {
          let Se, ie = 0, Ne = -1;
          for (let Ee = 0; Ee < ne.length; Ee++) {
            const Ce = ne.charCodeAt(Ee);
            Su(Ce) ? (ie !== -1 && Ne !== -1 && (Se = me(Se, ne.substr(ie, Ne - ie + 1))), ie = -1) : em(Ce) || (Ne = Ee, ie === -1 && (ie = Ee));
          }
          return ie !== -1 ? me(Se, ne.substr(ie)) : Se;
        }
        function me(ne, Se) {
          const ie = Z(Se);
          return ne === void 0 ? ie : ne + " " + ie;
        }
        function Z(ne) {
          return ne.replace(/&((#((\d+)|x([\da-fA-F]+)))|(\w+));/g, (Se, ie, Ne, Ee, Ce, Ve, St) => {
            if (Ce)
              return m4(parseInt(Ce, 10));
            if (Ve)
              return m4(parseInt(Ve, 16));
            {
              const Bt = Sje.get(St);
              return Bt ? m4(Bt) : Se;
            }
          });
        }
        function pe(ne) {
          const Se = Z(ne);
          return Se === ne ? void 0 : Se;
        }
        function Te(ne) {
          if (ne.kind === 285)
            return Te(ne.openingElement);
          {
            const Se = ne.tagName;
            return Me(Se) && HC(Se.escapedText) ? t.createStringLiteral(An(Se)) : Pd(Se) ? t.createStringLiteral(An(Se.namespace) + ":" + An(Se.name)) : zN(t, Se);
          }
        }
        function Fe(ne) {
          const Se = ne.name;
          if (Me(Se)) {
            const ie = An(Se);
            return /^[A-Z_]\w*$/i.test(ie) ? Se : t.createStringLiteral(ie);
          }
          return t.createStringLiteral(An(Se.namespace) + ":" + An(Se.name));
        }
        function Ye(ne) {
          const Se = Qe(ne.expression, S, ut);
          return ne.dotDotDotToken ? t.createSpreadElement(Se) : Se;
        }
      }
      var Sje = 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 nie(e) {
        const {
          factory: t,
          hoistVariableDeclaration: n
        } = e;
        return Ad(e, i);
        function i(u) {
          return u.isDeclarationFile ? u : br(u, s, e);
        }
        function s(u) {
          if ((u.transformFlags & 512) === 0)
            return u;
          switch (u.kind) {
            case 227:
              return o(u);
            default:
              return br(u, s, e);
          }
        }
        function o(u) {
          switch (u.operatorToken.kind) {
            case 68:
              return c(u);
            case 43:
              return _(u);
            default:
              return br(u, s, e);
          }
        }
        function c(u) {
          let g, m;
          const h = Qe(u.left, s, ut), S = Qe(u.right, s, ut);
          if (oo(h)) {
            const T = t.createTempVariable(n), k = t.createTempVariable(n);
            g = ct(
              t.createElementAccessExpression(
                ct(t.createAssignment(T, h.expression), h.expression),
                ct(t.createAssignment(k, h.argumentExpression), h.argumentExpression)
              ),
              h
            ), m = ct(
              t.createElementAccessExpression(
                T,
                k
              ),
              h
            );
          } else if (wn(h)) {
            const T = t.createTempVariable(n);
            g = ct(
              t.createPropertyAccessExpression(
                ct(t.createAssignment(T, h.expression), h.expression),
                h.name
              ),
              h
            ), m = ct(
              t.createPropertyAccessExpression(
                T,
                h.name
              ),
              h
            );
          } else
            g = h, m = h;
          return ct(
            t.createAssignment(
              g,
              ct(t.createGlobalMethodCall("Math", "pow", [m, S]), u)
            ),
            u
          );
        }
        function _(u) {
          const g = Qe(u.left, s, ut), m = Qe(u.right, s, ut);
          return ct(t.createGlobalMethodCall("Math", "pow", [g, m]), u);
        }
      }
      function tve(e, t) {
        return { kind: e, expression: t };
      }
      function iie(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 = Nl, e.onSubstituteNode = pp;
        let h, S, T, k;
        function D(ee) {
          k = Er(
            k,
            t.createVariableDeclaration(ee)
          );
        }
        let P, A = 0;
        return Ad(e, O);
        function O(ee) {
          if (ee.isDeclarationFile)
            return ee;
          h = ee, S = ee.text;
          const et = se(ee);
          return Rg(et, e.readEmitHelpers()), h = void 0, S = void 0, k = void 0, T = 0, et;
        }
        function F(ee, et) {
          const Ut = T;
          return T = (T & ~ee | et) & 32767, Ut;
        }
        function R(ee, et, Ut) {
          T = (T & ~et | Ut) & -32768 | ee;
        }
        function B(ee) {
          return (T & 8192) !== 0 && ee.kind === 254 && !ee.expression;
        }
        function U(ee) {
          return ee.transformFlags & 4194304 && (Sf(ee) || ev(ee) || jte(ee) || ND(ee) || AD(ee) || p6(ee) || ID(ee) || SS(ee) || Hb(ee) || Wy(ee) || xy(
            ee,
            /*lookInLabeledStatements*/
            false
          ) || Ps(ee));
        }
        function $(ee) {
          return (ee.transformFlags & 1024) !== 0 || P !== void 0 || T & 8192 && U(ee) || xy(
            ee,
            /*lookInLabeledStatements*/
            false
          ) && zi(ee) || (td(ee) & 1) !== 0;
        }
        function W(ee) {
          return $(ee) ? ae(
            ee,
            /*expressionResultIsUnused*/
            false
          ) : ee;
        }
        function _e(ee) {
          return $(ee) ? ae(
            ee,
            /*expressionResultIsUnused*/
            true
          ) : ee;
        }
        function K(ee) {
          if ($(ee)) {
            const et = zo(ee);
            if (as(et) && sl(et)) {
              const Ut = F(
                32670,
                16449
                /* StaticInitializerIncludes */
              ), Gt = ae(
                ee,
                /*expressionResultIsUnused*/
                false
              );
              return R(
                Ut,
                229376,
                0
                /* None */
              ), Gt;
            }
            return ae(
              ee,
              /*expressionResultIsUnused*/
              false
            );
          }
          return ee;
        }
        function V(ee) {
          return ee.kind === 108 ? xf(
            ee,
            /*isExpressionOfCall*/
            true
          ) : W(ee);
        }
        function ae(ee, et) {
          switch (ee.kind) {
            case 126:
              return;
            // elide static keyword
            case 264:
              return Te(ee);
            case 232:
              return Fe(ee);
            case 170:
              return Zs(ee);
            case 263:
              return Lt(ee);
            case 220:
              return Ct(ee);
            case 219:
              return qe(ee);
            case 261:
              return Rr(ee);
            case 80:
              return Z(ee);
            case 262:
              return ke(ee);
            case 256:
              return ce(ee);
            case 270:
              return fe(ee);
            case 242:
              return yt(
                ee
              );
            case 253:
            case 252:
              return pe(ee);
            case 257:
              return vt(ee);
            case 247:
            case 248:
              return _r(
                ee,
                /*outermostLabeledStatement*/
                void 0
              );
            case 249:
              return nr(
                ee,
                /*outermostLabeledStatement*/
                void 0
              );
            case 250:
              return cr(
                ee,
                /*outermostLabeledStatement*/
                void 0
              );
            case 251:
              return fr(
                ee,
                /*outermostLabeledStatement*/
                void 0
              );
            case 245:
              return ue(ee);
            case 211:
              return Ms(ee);
            case 300:
              return Li(ee);
            case 305:
              return xo(ee);
            case 168:
              return qc(ee);
            case 210:
              return go(ee);
            case 214:
              return tc(ee);
            case 215:
              return Tf(ee);
            case 218:
              return M(ee, et);
            case 227:
              return ye(ee, et);
            case 357:
              return Q(ee, et);
            case 15:
            case 16:
            case 17:
            case 18:
              return Da(ee);
            case 11:
              return da(ee);
            case 9:
              return tl(ee);
            case 216:
              return Eo(ee);
            case 229:
              return rc(ee);
            case 230:
              return Rc(ee);
            case 231:
              return Ea(ee);
            case 108:
              return xf(
                ee,
                /*isExpressionOfCall*/
                false
              );
            case 110:
              return je(ee);
            case 237:
              return Ul(ee);
            case 175:
              return eo(ee);
            case 178:
            case 179:
              return ta(ee);
            case 244:
              return Mt(ee);
            case 254:
              return be(ee);
            case 223:
              return me(ee);
            default:
              return br(ee, W, e);
          }
        }
        function se(ee) {
          const et = F(
            8064,
            64
            /* SourceFileIncludes */
          ), Ut = [], Gt = [];
          i();
          const Sr = t.copyPrologue(
            ee.statements,
            Ut,
            /*ensureUseStrict*/
            false,
            W
          );
          return In(Gt, Ar(ee.statements, W, Ti, Sr)), k && Gt.push(
            t.createVariableStatement(
              /*modifiers*/
              void 0,
              t.createVariableDeclarationList(k)
            )
          ), t.mergeLexicalEnvironment(Ut, o()), Y(Ut, ee), R(
            et,
            0,
            0
            /* None */
          ), t.updateSourceFile(
            ee,
            ct(t.createNodeArray(Bi(Ut, Gt)), ee.statements)
          );
        }
        function ce(ee) {
          if (P !== void 0) {
            const et = P.allowedNonLabeledJumps;
            P.allowedNonLabeledJumps |= 2;
            const Ut = br(ee, W, e);
            return P.allowedNonLabeledJumps = et, Ut;
          }
          return br(ee, W, e);
        }
        function fe(ee) {
          const et = F(
            7104,
            0
            /* BlockScopeIncludes */
          ), Ut = br(ee, W, e);
          return R(
            et,
            0,
            0
            /* None */
          ), Ut;
        }
        function he(ee) {
          return Cn(t.createReturnStatement(q()), ee);
        }
        function q() {
          return t.createUniqueName(
            "_this",
            48
            /* FileLevel */
          );
        }
        function be(ee) {
          return P ? (P.nonLocalJumps |= 8, B(ee) && (ee = he(ee)), t.createReturnStatement(
            t.createObjectLiteralExpression(
              [
                t.createPropertyAssignment(
                  t.createIdentifier("value"),
                  ee.expression ? E.checkDefined(Qe(ee.expression, W, ut)) : t.createVoidZero()
                )
              ]
            )
          )) : B(ee) ? he(ee) : br(ee, W, e);
        }
        function je(ee) {
          return T |= 65536, T & 2 && !(T & 16384) && (T |= 131072), P ? T & 2 ? (P.containsLexicalThis = true, ee) : P.thisName || (P.thisName = t.createUniqueName("this")) : ee;
        }
        function me(ee) {
          return br(ee, _e, e);
        }
        function Z(ee) {
          return P && u.isArgumentsLocalBinding(ee) ? P.argumentsName || (P.argumentsName = t.createUniqueName("arguments")) : ee.flags & 256 ? Cn(
            ct(
              t.createIdentifier(Si(ee.escapedText)),
              ee
            ),
            ee
          ) : ee;
        }
        function pe(ee) {
          if (P) {
            const et = ee.kind === 253 ? 2 : 4;
            if (!(ee.label && P.labels && P.labels.get(An(ee.label)) || !ee.label && P.allowedNonLabeledJumps & et)) {
              let Gt;
              const Sr = ee.label;
              Sr ? ee.kind === 253 ? (Gt = `break-${Sr.escapedText}`, tt(
                P,
                /*isBreak*/
                true,
                An(Sr),
                Gt
              )) : (Gt = `continue-${Sr.escapedText}`, tt(
                P,
                /*isBreak*/
                false,
                An(Sr),
                Gt
              )) : ee.kind === 253 ? (P.nonLocalJumps |= 2, Gt = "break") : (P.nonLocalJumps |= 4, Gt = "continue");
              let zr = t.createStringLiteral(Gt);
              if (P.loopOutParameters.length) {
                const jn = P.loopOutParameters;
                let ni;
                for (let wi = 0; wi < jn.length; wi++) {
                  const L = Wl(
                    jn[wi],
                    1
                    /* ToOutParameter */
                  );
                  wi === 0 ? ni = L : ni = t.createBinaryExpression(ni, 28, L);
                }
                zr = t.createBinaryExpression(ni, 28, zr);
              }
              return t.createReturnStatement(zr);
            }
          }
          return br(ee, W, e);
        }
        function Te(ee) {
          const et = t.createVariableDeclaration(
            t.getLocalName(
              ee,
              /*allowComments*/
              true
            ),
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            Ye(ee)
          );
          Cn(et, ee);
          const Ut = [], Gt = t.createVariableStatement(
            /*modifiers*/
            void 0,
            t.createVariableDeclarationList([et])
          );
          if (Cn(Gt, ee), ct(Gt, ee), Du(Gt), Ut.push(Gt), Gn(
            ee,
            32
            /* Export */
          )) {
            const Sr = Gn(
              ee,
              2048
              /* Default */
            ) ? t.createExportDefault(t.getLocalName(ee)) : t.createExternalModuleExport(t.getLocalName(ee));
            Cn(Sr, Gt), Ut.push(Sr);
          }
          return jm(Ut);
        }
        function Fe(ee) {
          return Ye(ee);
        }
        function Ye(ee) {
          ee.name && lf();
          const et = Pb(ee), Ut = t.createFunctionExpression(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            et ? [t.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              gc()
            )] : [],
            /*type*/
            void 0,
            ne(ee, et)
          );
          un(
            Ut,
            Ca(ee) & 131072 | 1048576
            /* ReuseTempVariableScope */
          );
          const Gt = t.createPartiallyEmittedExpression(Ut);
          r6(Gt, ee.end), un(
            Gt,
            3072
            /* NoComments */
          );
          const Sr = t.createPartiallyEmittedExpression(Gt);
          r6(Sr, aa(S, ee.pos)), un(
            Sr,
            3072
            /* NoComments */
          );
          const zr = t.createParenthesizedExpression(
            t.createCallExpression(
              Sr,
              /*typeArguments*/
              void 0,
              et ? [E.checkDefined(Qe(et.expression, W, ut))] : []
            )
          );
          return jy(zr, 3, "* @class "), zr;
        }
        function ne(ee, et) {
          const Ut = [], Gt = t.getInternalName(ee), Sr = RB(Gt) ? t.getGeneratedNameForNode(Gt) : Gt;
          i(), Se(Ut, ee, et), ie(Ut, ee, Sr, et), Ke(Ut, ee);
          const zr = lJ(
            aa(S, ee.members.end),
            20
            /* CloseBraceToken */
          ), jn = t.createPartiallyEmittedExpression(Sr);
          r6(jn, zr.end), un(
            jn,
            3072
            /* NoComments */
          );
          const ni = t.createReturnStatement(jn);
          dD(ni, zr.pos), un(
            ni,
            3840
            /* NoTokenSourceMaps */
          ), Ut.push(ni), Dg(Ut, o());
          const wi = t.createBlock(
            ct(
              t.createNodeArray(Ut),
              /*location*/
              ee.members
            ),
            /*multiLine*/
            true
          );
          return un(
            wi,
            3072
            /* NoComments */
          ), wi;
        }
        function Se(ee, et, Ut) {
          Ut && ee.push(
            ct(
              t.createExpressionStatement(
                n().createExtendsHelper(t.getInternalName(et))
              ),
              /*location*/
              Ut
            )
          );
        }
        function ie(ee, et, Ut, Gt) {
          const Sr = P;
          P = void 0;
          const zr = F(
            32662,
            73
            /* ConstructorIncludes */
          ), jn = Ag(et), ni = Em(jn, Gt !== void 0), wi = t.createFunctionDeclaration(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            Ut,
            /*typeParameters*/
            void 0,
            Ne(jn, ni),
            /*type*/
            void 0,
            St(jn, et, Gt, ni)
          );
          ct(wi, jn || et), Gt && un(
            wi,
            16
            /* CapturesThis */
          ), ee.push(wi), R(
            zr,
            229376,
            0
            /* None */
          ), P = Sr;
        }
        function Ne(ee, et) {
          return cc(ee && !et ? ee.parameters : void 0, W, e) || [];
        }
        function Ee(ee, et) {
          const Ut = [];
          s(), t.mergeLexicalEnvironment(Ut, o()), et && Ut.push(t.createReturnStatement(Es()));
          const Gt = t.createNodeArray(Ut);
          ct(Gt, ee.members);
          const Sr = t.createBlock(
            Gt,
            /*multiLine*/
            true
          );
          return ct(Sr, ee), un(
            Sr,
            3072
            /* NoComments */
          ), Sr;
        }
        function Ce(ee) {
          return Pc(ee) && Ni(ee.declarationList.declarations, (et) => Me(et.name) && !et.initializer);
        }
        function Ve(ee) {
          if (eS(ee))
            return true;
          if (!(ee.transformFlags & 134217728))
            return false;
          switch (ee.kind) {
            // stop at function boundaries
            case 220:
            case 219:
            case 263:
            case 177:
            case 176:
              return false;
            // only step into computed property names for class and object literal elements
            case 178:
            case 179:
            case 175:
            case 173: {
              const et = ee;
              return Hs(et.name) ? !!Ts(et.name, Ve) : false;
            }
          }
          return !!Ts(ee, Ve);
        }
        function St(ee, et, Ut, Gt) {
          const Sr = !!Ut && dc(Ut.expression).kind !== 106;
          if (!ee) return Ee(et, Sr);
          const zr = [], jn = [];
          s();
          const ni = t.copyStandardPrologue(
            ee.body.statements,
            zr,
            /*statementOffset*/
            0
          );
          (Gt || Ve(ee.body)) && (T |= 8192), In(jn, Ar(ee.body.statements, W, Ti, ni));
          const wi = Sr || T & 8192;
          vs(zr, ee), it(zr, ee, Gt), $e(zr, ee), wi ? Ae(zr, ee, ki()) : Y(zr, ee), t.mergeLexicalEnvironment(zr, o()), wi && !Un(ee.body) && jn.push(t.createReturnStatement(q()));
          const L = t.createBlock(
            ct(
              t.createNodeArray(
                [
                  ...zr,
                  ...jn
                ]
              ),
              /*location*/
              ee.body.statements
            ),
            /*multiLine*/
            true
          );
          return ct(L, ee.body), Jn(L, ee.body, Gt);
        }
        function Bt(ee) {
          return Mo(ee) && An(ee) === "_this";
        }
        function tr(ee) {
          return Mo(ee) && An(ee) === "_super";
        }
        function Nr(ee) {
          return Pc(ee) && ee.declarationList.declarations.length === 1 && st(ee.declarationList.declarations[0]);
        }
        function st(ee) {
          return ei(ee) && Bt(ee.name) && !!ee.initializer;
        }
        function Wt(ee) {
          return El(
            ee,
            /*excludeCompoundAssignment*/
            true
          ) && Bt(ee.left);
        }
        function Jr(ee) {
          return ws(ee) && wn(ee.expression) && tr(ee.expression.expression) && Me(ee.expression.name) && (An(ee.expression.name) === "call" || An(ee.expression.name) === "apply") && ee.arguments.length >= 1 && ee.arguments[0].kind === 110;
        }
        function ui(ee) {
          return _n(ee) && ee.operatorToken.kind === 57 && ee.right.kind === 110 && Jr(ee.left);
        }
        function Ji(ee) {
          return _n(ee) && ee.operatorToken.kind === 56 && _n(ee.left) && ee.left.operatorToken.kind === 38 && tr(ee.left.left) && ee.left.right.kind === 106 && Jr(ee.right) && An(ee.right.expression.name) === "apply";
        }
        function Dt(ee) {
          return _n(ee) && ee.operatorToken.kind === 57 && ee.right.kind === 110 && Ji(ee.left);
        }
        function Mn(ee) {
          return Wt(ee) && ui(ee.right);
        }
        function ai(ee) {
          return Wt(ee) && Dt(ee.right);
        }
        function fi(ee) {
          return Jr(ee) || ui(ee) || Mn(ee) || Ji(ee) || Dt(ee) || ai(ee);
        }
        function pn(ee) {
          for (let et = 0; et < ee.statements.length - 1; et++) {
            const Ut = ee.statements[et];
            if (!Nr(Ut))
              continue;
            const Gt = Ut.declarationList.declarations[0];
            if (Gt.initializer.kind !== 110)
              continue;
            const Sr = et;
            let zr = et + 1;
            for (; zr < ee.statements.length; ) {
              const Tr = ee.statements[zr];
              if (Dl(Tr) && fi(dc(Tr.expression)))
                break;
              if (Ce(Tr)) {
                zr++;
                continue;
              }
              return ee;
            }
            const jn = ee.statements[zr];
            let ni = jn.expression;
            Wt(ni) && (ni = ni.right);
            const wi = t.updateVariableDeclaration(
              Gt,
              Gt.name,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              ni
            ), L = t.updateVariableDeclarationList(Ut.declarationList, [wi]), Oe = t.createVariableStatement(Ut.modifiers, L);
            Cn(Oe, jn), ct(Oe, jn);
            const xt = t.createNodeArray([
              ...ee.statements.slice(0, Sr),
              // copy statements preceding to `var _this`
              ...ee.statements.slice(Sr + 1, zr),
              // copy intervening temp variables
              Oe,
              ...ee.statements.slice(zr + 1)
              // copy statements following `super.call(this, ...)`
            ]);
            return ct(xt, ee.statements), t.updateBlock(ee, xt);
          }
          return ee;
        }
        function _i(ee, et) {
          for (const Gt of et.statements)
            if (Gt.transformFlags & 134217728 && !TO(Gt))
              return ee;
          const Ut = !(et.transformFlags & 16384) && !(T & 65536) && !(T & 131072);
          for (let Gt = ee.statements.length - 1; Gt > 0; Gt--) {
            const Sr = ee.statements[Gt];
            if (Sf(Sr) && Sr.expression && Bt(Sr.expression)) {
              const zr = ee.statements[Gt - 1];
              let jn;
              if (Dl(zr) && Mn(dc(zr.expression)))
                jn = zr.expression;
              else if (Ut && Nr(zr)) {
                const L = zr.declarationList.declarations[0];
                fi(dc(L.initializer)) && (jn = t.createAssignment(
                  q(),
                  L.initializer
                ));
              }
              if (!jn)
                break;
              const ni = t.createReturnStatement(jn);
              Cn(ni, zr), ct(ni, zr);
              const wi = t.createNodeArray([
                ...ee.statements.slice(0, Gt - 1),
                // copy all statements preceding `_super.call(this, ...)`
                ni,
                ...ee.statements.slice(Gt + 1)
                // copy all statements following `return _this;`
              ]);
              return ct(wi, ee.statements), t.updateBlock(ee, wi);
            }
          }
          return ee;
        }
        function Je(ee) {
          if (Nr(ee)) {
            if (ee.declarationList.declarations[0].initializer.kind === 110)
              return;
          } else if (Wt(ee))
            return t.createPartiallyEmittedExpression(ee.right, ee);
          switch (ee.kind) {
            // stop at function boundaries
            case 220:
            case 219:
            case 263:
            case 177:
            case 176:
              return ee;
            // only step into computed property names for class and object literal elements
            case 178:
            case 179:
            case 175:
            case 173: {
              const et = ee;
              return Hs(et.name) ? t.replacePropertyName(et, br(
                et.name,
                Je,
                /*context*/
                void 0
              )) : ee;
            }
          }
          return br(
            ee,
            Je,
            /*context*/
            void 0
          );
        }
        function ft(ee, et) {
          if (et.transformFlags & 16384 || T & 65536 || T & 131072)
            return ee;
          for (const Ut of et.statements)
            if (Ut.transformFlags & 134217728 && !TO(Ut))
              return ee;
          return t.updateBlock(ee, Ar(ee.statements, Je, Ti));
        }
        function er(ee) {
          if (Jr(ee) && ee.arguments.length === 2 && Me(ee.arguments[1]) && An(ee.arguments[1]) === "arguments")
            return t.createLogicalAnd(
              t.createStrictInequality(
                gc(),
                t.createNull()
              ),
              ee
            );
          switch (ee.kind) {
            // stop at function boundaries
            case 220:
            case 219:
            case 263:
            case 177:
            case 176:
              return ee;
            // only step into computed property names for class and object literal elements
            case 178:
            case 179:
            case 175:
            case 173: {
              const et = ee;
              return Hs(et.name) ? t.replacePropertyName(et, br(
                et.name,
                er,
                /*context*/
                void 0
              )) : ee;
            }
          }
          return br(
            ee,
            er,
            /*context*/
            void 0
          );
        }
        function qr(ee) {
          return t.updateBlock(ee, Ar(ee.statements, er, Ti));
        }
        function Jn(ee, et, Ut) {
          const Gt = ee;
          return ee = pn(ee), ee = _i(ee, et), ee !== Gt && (ee = ft(ee, et)), Ut && (ee = qr(ee)), ee;
        }
        function Un(ee) {
          if (ee.kind === 254)
            return true;
          if (ee.kind === 246) {
            const et = ee;
            if (et.elseStatement)
              return Un(et.thenStatement) && Un(et.elseStatement);
          } else if (ee.kind === 242) {
            const et = ko(ee.statements);
            if (et && Un(et))
              return true;
          }
          return false;
        }
        function ki() {
          return un(
            t.createThis(),
            8
            /* NoSubstitution */
          );
        }
        function Es() {
          return t.createLogicalOr(
            t.createLogicalAnd(
              t.createStrictInequality(
                gc(),
                t.createNull()
              ),
              t.createFunctionApplyCall(
                gc(),
                ki(),
                t.createIdentifier("arguments")
              )
            ),
            ki()
          );
        }
        function Zs(ee) {
          if (!ee.dotDotDotToken)
            return Ds(ee.name) ? Cn(
              ct(
                t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  t.getGeneratedNameForNode(ee),
                  /*questionToken*/
                  void 0,
                  /*type*/
                  void 0,
                  /*initializer*/
                  void 0
                ),
                /*location*/
                ee
              ),
              /*original*/
              ee
            ) : ee.initializer ? Cn(
              ct(
                t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  ee.name,
                  /*questionToken*/
                  void 0,
                  /*type*/
                  void 0,
                  /*initializer*/
                  void 0
                ),
                /*location*/
                ee
              ),
              /*original*/
              ee
            ) : ee;
        }
        function yr(ee) {
          return ee.initializer !== void 0 || Ds(ee.name);
        }
        function vs(ee, et) {
          if (!ot(et.parameters, yr))
            return false;
          let Ut = false;
          for (const Gt of et.parameters) {
            const { name: Sr, initializer: zr, dotDotDotToken: jn } = Gt;
            jn || (Ds(Sr) ? Ut = Xe(ee, Gt, Sr, zr) || Ut : zr && (Et(ee, Gt, Sr, zr), Ut = true));
          }
          return Ut;
        }
        function Xe(ee, et, Ut, Gt) {
          return Ut.elements.length > 0 ? (Z2(
            ee,
            un(
              t.createVariableStatement(
                /*modifiers*/
                void 0,
                t.createVariableDeclarationList(
                  Yb(
                    et,
                    W,
                    e,
                    0,
                    t.getGeneratedNameForNode(et)
                  )
                )
              ),
              2097152
              /* CustomPrologue */
            )
          ), true) : Gt ? (Z2(
            ee,
            un(
              t.createExpressionStatement(
                t.createAssignment(
                  t.getGeneratedNameForNode(et),
                  E.checkDefined(Qe(Gt, W, ut))
                )
              ),
              2097152
              /* CustomPrologue */
            )
          ), true) : false;
        }
        function Et(ee, et, Ut, Gt) {
          Gt = E.checkDefined(Qe(Gt, W, ut));
          const Sr = t.createIfStatement(
            t.createTypeCheck(t.cloneNode(Ut), "undefined"),
            un(
              ct(
                t.createBlock([
                  t.createExpressionStatement(
                    un(
                      ct(
                        t.createAssignment(
                          // TODO(rbuckton): Does this need to be parented?
                          un(
                            ja(ct(t.cloneNode(Ut), Ut), Ut.parent),
                            96
                            /* NoSourceMap */
                          ),
                          un(
                            Gt,
                            96 | Ca(Gt) | 3072
                            /* NoComments */
                          )
                        ),
                        et
                      ),
                      3072
                      /* NoComments */
                    )
                  )
                ]),
                et
              ),
              3905
              /* NoComments */
            )
          );
          Du(Sr), ct(Sr, et), un(
            Sr,
            2101056
            /* NoComments */
          ), Z2(ee, Sr);
        }
        function re(ee, et) {
          return !!(ee && ee.dotDotDotToken && !et);
        }
        function it(ee, et, Ut) {
          const Gt = [], Sr = ko(et.parameters);
          if (!re(Sr, Ut))
            return false;
          const zr = Sr.name.kind === 80 ? ja(ct(t.cloneNode(Sr.name), Sr.name), Sr.name.parent) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          );
          un(
            zr,
            96
            /* NoSourceMap */
          );
          const jn = Sr.name.kind === 80 ? t.cloneNode(Sr.name) : zr, ni = et.parameters.length - 1, wi = t.createLoopVariable();
          Gt.push(
            un(
              ct(
                t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  t.createVariableDeclarationList([
                    t.createVariableDeclaration(
                      zr,
                      /*exclamationToken*/
                      void 0,
                      /*type*/
                      void 0,
                      t.createArrayLiteralExpression([])
                    )
                  ])
                ),
                /*location*/
                Sr
              ),
              2097152
              /* CustomPrologue */
            )
          );
          const L = t.createForStatement(
            ct(
              t.createVariableDeclarationList([
                t.createVariableDeclaration(
                  wi,
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  t.createNumericLiteral(ni)
                )
              ]),
              Sr
            ),
            ct(
              t.createLessThan(
                wi,
                t.createPropertyAccessExpression(t.createIdentifier("arguments"), "length")
              ),
              Sr
            ),
            ct(t.createPostfixIncrement(wi), Sr),
            t.createBlock([
              Du(
                ct(
                  t.createExpressionStatement(
                    t.createAssignment(
                      t.createElementAccessExpression(
                        jn,
                        ni === 0 ? wi : t.createSubtract(wi, t.createNumericLiteral(ni))
                      ),
                      t.createElementAccessExpression(t.createIdentifier("arguments"), wi)
                    )
                  ),
                  /*location*/
                  Sr
                )
              )
            ])
          );
          return un(
            L,
            2097152
            /* CustomPrologue */
          ), Du(L), Gt.push(L), Sr.name.kind !== 80 && Gt.push(
            un(
              ct(
                t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  t.createVariableDeclarationList(
                    Yb(Sr, W, e, 0, jn)
                  )
                ),
                Sr
              ),
              2097152
              /* CustomPrologue */
            )
          ), rB(ee, Gt), true;
        }
        function Y(ee, et) {
          return T & 131072 && et.kind !== 220 ? (Ae(ee, et, t.createThis()), true) : false;
        }
        function Ae(ee, et, Ut) {
          Hu();
          const Gt = t.createVariableStatement(
            /*modifiers*/
            void 0,
            t.createVariableDeclarationList([
              t.createVariableDeclaration(
                q(),
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                Ut
              )
            ])
          );
          un(
            Gt,
            2100224
            /* CustomPrologue */
          ), ga(Gt, et), Z2(ee, Gt);
        }
        function $e(ee, et) {
          if (T & 32768) {
            let Ut;
            switch (et.kind) {
              case 220:
                return ee;
              case 175:
              case 178:
              case 179:
                Ut = t.createVoidZero();
                break;
              case 177:
                Ut = t.createPropertyAccessExpression(
                  un(
                    t.createThis(),
                    8
                    /* NoSubstitution */
                  ),
                  "constructor"
                );
                break;
              case 263:
              case 219:
                Ut = t.createConditionalExpression(
                  t.createLogicalAnd(
                    un(
                      t.createThis(),
                      8
                      /* NoSubstitution */
                    ),
                    t.createBinaryExpression(
                      un(
                        t.createThis(),
                        8
                        /* NoSubstitution */
                      ),
                      104,
                      t.getLocalName(et)
                    )
                  ),
                  /*questionToken*/
                  void 0,
                  t.createPropertyAccessExpression(
                    un(
                      t.createThis(),
                      8
                      /* NoSubstitution */
                    ),
                    "constructor"
                  ),
                  /*colonToken*/
                  void 0,
                  t.createVoidZero()
                );
                break;
              default:
                return E.failBadSyntaxKind(et);
            }
            const Gt = t.createVariableStatement(
              /*modifiers*/
              void 0,
              t.createVariableDeclarationList([
                t.createVariableDeclaration(
                  t.createUniqueName(
                    "_newTarget",
                    48
                    /* FileLevel */
                  ),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  Ut
                )
              ])
            );
            un(
              Gt,
              2100224
              /* CustomPrologue */
            ), Z2(ee, Gt);
          }
          return ee;
        }
        function Ke(ee, et) {
          for (const Ut of et.members)
            switch (Ut.kind) {
              case 241:
                ee.push(Tt(Ut));
                break;
              case 175:
                ee.push(Le(jf(et, Ut), Ut, et));
                break;
              case 178:
              case 179:
                const Gt = Fb(et.members, Ut);
                Ut === Gt.firstAccessor && ee.push(mt(jf(et, Ut), Gt, et));
                break;
              case 177:
              case 176:
                break;
              default:
                E.failBadSyntaxKind(Ut, h && h.fileName);
                break;
            }
        }
        function Tt(ee) {
          return ct(t.createEmptyStatement(), ee);
        }
        function Le(ee, et, Ut) {
          const Gt = pm(et), Sr = y0(et), zr = rn(
            et,
            /*location*/
            et,
            /*name*/
            void 0,
            Ut
          ), jn = Qe(et.name, W, Wc);
          E.assert(jn);
          let ni;
          if (!Ai(jn) && pN(e.getCompilerOptions())) {
            const L = Hs(jn) ? jn.expression : Me(jn) ? t.createStringLiteral(Si(jn.escapedText)) : jn;
            ni = t.createObjectDefinePropertyCall(ee, L, t.createPropertyDescriptor({ value: zr, enumerable: false, writable: true, configurable: true }));
          } else {
            const L = ES(
              t,
              ee,
              jn,
              /*location*/
              et.name
            );
            ni = t.createAssignment(L, zr);
          }
          un(
            zr,
            3072
            /* NoComments */
          ), ga(zr, Sr);
          const wi = ct(
            t.createExpressionStatement(ni),
            /*location*/
            et
          );
          return Cn(wi, et), Yc(wi, Gt), un(
            wi,
            96
            /* NoSourceMap */
          ), wi;
        }
        function mt(ee, et, Ut) {
          const Gt = t.createExpressionStatement(pt(
            ee,
            et,
            Ut,
            /*startsOnNewLine*/
            false
          ));
          return un(
            Gt,
            3072
            /* NoComments */
          ), ga(Gt, y0(et.firstAccessor)), Gt;
        }
        function pt(ee, { firstAccessor: et, getAccessor: Ut, setAccessor: Gt }, Sr, zr) {
          const jn = ja(ct(t.cloneNode(ee), ee), ee.parent);
          un(
            jn,
            3136
            /* NoTrailingSourceMap */
          ), ga(jn, et.name);
          const ni = Qe(et.name, W, Wc);
          if (E.assert(ni), Ai(ni))
            return E.failBadSyntaxKind(ni, "Encountered unhandled private identifier while transforming ES2015.");
          const wi = Nz(t, ni);
          un(
            wi,
            3104
            /* NoLeadingSourceMap */
          ), ga(wi, et.name);
          const L = [];
          if (Ut) {
            const xt = rn(
              Ut,
              /*location*/
              void 0,
              /*name*/
              void 0,
              Sr
            );
            ga(xt, y0(Ut)), un(
              xt,
              1024
              /* NoLeadingComments */
            );
            const Tr = t.createPropertyAssignment("get", xt);
            Yc(Tr, pm(Ut)), L.push(Tr);
          }
          if (Gt) {
            const xt = rn(
              Gt,
              /*location*/
              void 0,
              /*name*/
              void 0,
              Sr
            );
            ga(xt, y0(Gt)), un(
              xt,
              1024
              /* NoLeadingComments */
            );
            const Tr = t.createPropertyAssignment("set", xt);
            Yc(Tr, pm(Gt)), L.push(Tr);
          }
          L.push(
            t.createPropertyAssignment("enumerable", Ut || Gt ? t.createFalse() : t.createTrue()),
            t.createPropertyAssignment("configurable", t.createTrue())
          );
          const Oe = t.createCallExpression(
            t.createPropertyAccessExpression(t.createIdentifier("Object"), "defineProperty"),
            /*typeArguments*/
            void 0,
            [
              jn,
              wi,
              t.createObjectLiteralExpression(
                L,
                /*multiLine*/
                true
              )
            ]
          );
          return zr && Du(Oe), Oe;
        }
        function Ct(ee) {
          ee.transformFlags & 16384 && !(T & 16384) && (T |= 131072);
          const et = P;
          P = void 0;
          const Ut = F(
            15232,
            66
            /* ArrowFunctionIncludes */
          ), Gt = t.createFunctionExpression(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            cc(ee.parameters, W, e),
            /*type*/
            void 0,
            Pe(ee)
          );
          return ct(Gt, ee), Cn(Gt, ee), un(
            Gt,
            16
            /* CapturesThis */
          ), R(
            Ut,
            0,
            0
            /* None */
          ), P = et, Gt;
        }
        function qe(ee) {
          const et = Ca(ee) & 524288 ? F(
            32662,
            69
            /* AsyncFunctionBodyIncludes */
          ) : F(
            32670,
            65
            /* FunctionIncludes */
          ), Ut = P;
          P = void 0;
          const Gt = cc(ee.parameters, W, e), Sr = Pe(ee), zr = T & 32768 ? t.getLocalName(ee) : ee.name;
          return R(
            et,
            229376,
            0
            /* None */
          ), P = Ut, t.updateFunctionExpression(
            ee,
            /*modifiers*/
            void 0,
            ee.asteriskToken,
            zr,
            /*typeParameters*/
            void 0,
            Gt,
            /*type*/
            void 0,
            Sr
          );
        }
        function Lt(ee) {
          const et = P;
          P = void 0;
          const Ut = F(
            32670,
            65
            /* FunctionIncludes */
          ), Gt = cc(ee.parameters, W, e), Sr = Pe(ee), zr = T & 32768 ? t.getLocalName(ee) : ee.name;
          return R(
            Ut,
            229376,
            0
            /* None */
          ), P = et, t.updateFunctionDeclaration(
            ee,
            Ar(ee.modifiers, W, Ys),
            ee.asteriskToken,
            zr,
            /*typeParameters*/
            void 0,
            Gt,
            /*type*/
            void 0,
            Sr
          );
        }
        function rn(ee, et, Ut, Gt) {
          const Sr = P;
          P = void 0;
          const zr = Gt && $n(Gt) && !Bs(ee) ? F(
            32670,
            73
            /* NonStaticClassElement */
          ) : F(
            32670,
            65
            /* FunctionIncludes */
          ), jn = cc(ee.parameters, W, e), ni = Pe(ee);
          return T & 32768 && !Ut && (ee.kind === 263 || ee.kind === 219) && (Ut = t.getGeneratedNameForNode(ee)), R(
            zr,
            229376,
            0
            /* None */
          ), P = Sr, Cn(
            ct(
              t.createFunctionExpression(
                /*modifiers*/
                void 0,
                ee.asteriskToken,
                Ut,
                /*typeParameters*/
                void 0,
                jn,
                /*type*/
                void 0,
                ni
              ),
              et
            ),
            /*original*/
            ee
          );
        }
        function Pe(ee) {
          let et = false, Ut = false, Gt, Sr;
          const zr = [], jn = [], ni = ee.body;
          let wi;
          if (s(), Ps(ni) && (wi = t.copyStandardPrologue(
            ni.statements,
            zr,
            0,
            /*ensureUseStrict*/
            false
          ), wi = t.copyCustomPrologue(ni.statements, jn, wi, W, X7), wi = t.copyCustomPrologue(ni.statements, jn, wi, W, Q7)), et = vs(jn, ee) || et, et = it(
            jn,
            ee,
            /*inConstructorWithSynthesizedSuper*/
            false
          ) || et, Ps(ni))
            wi = t.copyCustomPrologue(ni.statements, jn, wi, W), Gt = ni.statements, In(jn, Ar(ni.statements, W, Ti, wi)), !et && ni.multiLine && (et = true);
          else {
            E.assert(
              ee.kind === 220
              /* ArrowFunction */
            ), Gt = O5(ni, -1);
            const Oe = ee.equalsGreaterThanToken;
            !ao(Oe) && !ao(ni) && (oN(Oe, ni, h) ? Ut = true : et = true);
            const xt = Qe(ni, W, ut), Tr = t.createReturnStatement(xt);
            ct(Tr, ni), dte(Tr, ni), un(
              Tr,
              2880
              /* NoTrailingComments */
            ), jn.push(Tr), Sr = ni;
          }
          if (t.mergeLexicalEnvironment(zr, o()), $e(zr, ee), Y(zr, ee), ot(zr) && (et = true), jn.unshift(...zr), Ps(ni) && yf(jn, ni.statements))
            return ni;
          const L = t.createBlock(ct(t.createNodeArray(jn), Gt), et);
          return ct(L, ee.body), !et && Ut && un(
            L,
            1
            /* SingleLine */
          ), Sr && pte(L, 20, Sr), Cn(L, ee.body), L;
        }
        function yt(ee, et) {
          const Ut = T & 256 ? F(
            7104,
            512
            /* IterationStatementBlockIncludes */
          ) : F(
            6976,
            128
            /* BlockIncludes */
          ), Gt = br(ee, W, e);
          return R(
            Ut,
            0,
            0
            /* None */
          ), Gt;
        }
        function ue(ee) {
          return br(ee, _e, e);
        }
        function M(ee, et) {
          return br(ee, et ? _e : W, e);
        }
        function ye(ee, et) {
          return p0(ee) ? IS(
            ee,
            W,
            e,
            0,
            !et
          ) : ee.operatorToken.kind === 28 ? t.updateBinaryExpression(
            ee,
            E.checkDefined(Qe(ee.left, _e, ut)),
            ee.operatorToken,
            E.checkDefined(Qe(ee.right, et ? _e : W, ut))
          ) : br(ee, W, e);
        }
        function Q(ee, et) {
          if (et)
            return br(ee, _e, e);
          let Ut;
          for (let Sr = 0; Sr < ee.elements.length; Sr++) {
            const zr = ee.elements[Sr], jn = Qe(zr, Sr < ee.elements.length - 1 ? _e : W, ut);
            (Ut || jn !== zr) && (Ut || (Ut = ee.elements.slice(0, Sr)), E.assert(jn), Ut.push(jn));
          }
          const Gt = Ut ? ct(t.createNodeArray(Ut), ee.elements) : ee.elements;
          return t.updateCommaListExpression(ee, Gt);
        }
        function dt(ee) {
          return ee.declarationList.declarations.length === 1 && !!ee.declarationList.declarations[0].initializer && !!(td(ee.declarationList.declarations[0].initializer) & 1);
        }
        function Mt(ee) {
          const et = F(
            0,
            Gn(
              ee,
              32
              /* Export */
            ) ? 32 : 0
            /* None */
          );
          let Ut;
          if (P && (ee.declarationList.flags & 7) === 0 && !dt(ee)) {
            let Gt;
            for (const Sr of ee.declarationList.declarations)
              if (Vc(P, Sr), Sr.initializer) {
                let zr;
                Ds(Sr.name) ? zr = IS(
                  Sr,
                  W,
                  e,
                  0
                  /* All */
                ) : (zr = t.createBinaryExpression(Sr.name, 64, E.checkDefined(Qe(Sr.initializer, W, ut))), ct(zr, Sr)), Gt = Er(Gt, zr);
              }
            Gt ? Ut = ct(t.createExpressionStatement(t.inlineExpressions(Gt)), ee) : Ut = void 0;
          } else
            Ut = br(ee, W, e);
          return R(
            et,
            0,
            0
            /* None */
          ), Ut;
        }
        function ke(ee) {
          if (ee.flags & 7 || ee.transformFlags & 524288) {
            ee.flags & 7 && lf();
            const et = Ar(
              ee.declarations,
              ee.flags & 1 ? Zr : Rr,
              ei
            ), Ut = t.createVariableDeclarationList(et);
            return Cn(Ut, ee), ct(Ut, ee), Yc(Ut, ee), ee.transformFlags & 524288 && (Ds(ee.declarations[0].name) || Ds(fa(ee.declarations).name)) && ga(Ut, at(et)), Ut;
          }
          return br(ee, W, e);
        }
        function at(ee) {
          let et = -1, Ut = -1;
          for (const Gt of ee)
            et = et === -1 ? Gt.pos : Gt.pos === -1 ? et : Math.min(et, Gt.pos), Ut = Math.max(Ut, Gt.end);
          return ip(et, Ut);
        }
        function wt(ee) {
          const et = u.hasNodeCheckFlag(
            ee,
            16384
            /* CapturedBlockScopedBinding */
          ), Ut = u.hasNodeCheckFlag(
            ee,
            32768
            /* BlockScopedBindingInLoop */
          );
          return !((T & 64) !== 0 || et && Ut && (T & 512) !== 0) && (T & 4096) === 0 && (!u.isDeclarationWithCollidingName(ee) || Ut && !et && (T & 6144) === 0);
        }
        function Zr(ee) {
          const et = ee.name;
          return Ds(et) ? Rr(ee) : !ee.initializer && wt(ee) ? t.updateVariableDeclaration(
            ee,
            ee.name,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            t.createVoidZero()
          ) : br(ee, W, e);
        }
        function Rr(ee) {
          const et = F(
            32,
            0
            /* None */
          );
          let Ut;
          return Ds(ee.name) ? Ut = Yb(
            ee,
            W,
            e,
            0,
            /*rval*/
            void 0,
            (et & 32) !== 0
          ) : Ut = br(ee, W, e), R(
            et,
            0,
            0
            /* None */
          ), Ut;
        }
        function Pr(ee) {
          P.labels.set(An(ee.label), true);
        }
        function rt(ee) {
          P.labels.set(An(ee.label), false);
        }
        function vt(ee) {
          P && !P.labels && (P.labels = /* @__PURE__ */ new Map());
          const et = bB(ee, P && Pr);
          return xy(
            et,
            /*lookInLabeledStatements*/
            false
          ) ? Nt(
            et,
            /*outermostLabeledStatement*/
            ee
          ) : t.restoreEnclosingLabel(Qe(et, W, Ti, t.liftToBlock) ?? ct(t.createEmptyStatement(), et), ee, P && rt);
        }
        function Nt(ee, et) {
          switch (ee.kind) {
            case 247:
            case 248:
              return _r(ee, et);
            case 249:
              return nr(ee, et);
            case 250:
              return cr(ee, et);
            case 251:
              return fr(ee, et);
          }
        }
        function Jt(ee, et, Ut, Gt, Sr) {
          const zr = F(ee, et), jn = To(Ut, Gt, zr, Sr);
          return R(
            zr,
            0,
            0
            /* None */
          ), jn;
        }
        function _r(ee, et) {
          return Jt(
            0,
            1280,
            ee,
            et
          );
        }
        function nr(ee, et) {
          return Jt(
            5056,
            3328,
            ee,
            et
          );
        }
        function kt(ee) {
          return t.updateForStatement(
            ee,
            Qe(ee.initializer, _e, ep),
            Qe(ee.condition, W, ut),
            Qe(ee.incrementor, _e, ut),
            E.checkDefined(Qe(ee.statement, W, Ti, t.liftToBlock))
          );
        }
        function cr(ee, et) {
          return Jt(
            3008,
            5376,
            ee,
            et
          );
        }
        function fr(ee, et) {
          return Jt(
            3008,
            5376,
            ee,
            et,
            _.downlevelIteration ? Is : oi
          );
        }
        function vr(ee, et, Ut) {
          const Gt = [], Sr = ee.initializer;
          if (Bl(Sr)) {
            ee.initializer.flags & 7 && lf();
            const zr = $c(Sr.declarations);
            if (zr && Ds(zr.name)) {
              const jn = Yb(
                zr,
                W,
                e,
                0,
                et
              ), ni = ct(t.createVariableDeclarationList(jn), ee.initializer);
              Cn(ni, ee.initializer), ga(ni, ip(jn[0].pos, fa(jn).end)), Gt.push(
                t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  ni
                )
              );
            } else
              Gt.push(
                ct(
                  t.createVariableStatement(
                    /*modifiers*/
                    void 0,
                    Cn(
                      ct(
                        t.createVariableDeclarationList([
                          t.createVariableDeclaration(
                            zr ? zr.name : t.createTempVariable(
                              /*recordTempVariable*/
                              void 0
                            ),
                            /*exclamationToken*/
                            void 0,
                            /*type*/
                            void 0,
                            et
                          )
                        ]),
                        G1(Sr, -1)
                      ),
                      Sr
                    )
                  ),
                  O5(Sr, -1)
                )
              );
          } else {
            const zr = t.createAssignment(Sr, et);
            p0(zr) ? Gt.push(t.createExpressionStatement(ye(
              zr,
              /*expressionResultIsUnused*/
              true
            ))) : (r6(zr, Sr.end), Gt.push(ct(t.createExpressionStatement(E.checkDefined(Qe(zr, W, ut))), O5(Sr, -1))));
          }
          if (Ut)
            return Xt(In(Gt, Ut));
          {
            const zr = Qe(ee.statement, W, Ti, t.liftToBlock);
            return E.assert(zr), Ps(zr) ? t.updateBlock(zr, ct(t.createNodeArray(Bi(Gt, zr.statements)), zr.statements)) : (Gt.push(zr), Xt(Gt));
          }
        }
        function Xt(ee) {
          return un(
            t.createBlock(
              t.createNodeArray(ee),
              /*multiLine*/
              true
            ),
            864
            /* NoTokenSourceMaps */
          );
        }
        function oi(ee, et, Ut) {
          const Gt = Qe(ee.expression, W, ut);
          E.assert(Gt);
          const Sr = t.createLoopVariable(), zr = Me(Gt) ? t.getGeneratedNameForNode(Gt) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          );
          un(Gt, 96 | Ca(Gt));
          const jn = ct(
            t.createForStatement(
              /*initializer*/
              un(
                ct(
                  t.createVariableDeclarationList([
                    ct(t.createVariableDeclaration(
                      Sr,
                      /*exclamationToken*/
                      void 0,
                      /*type*/
                      void 0,
                      t.createNumericLiteral(0)
                    ), G1(ee.expression, -1)),
                    ct(t.createVariableDeclaration(
                      zr,
                      /*exclamationToken*/
                      void 0,
                      /*type*/
                      void 0,
                      Gt
                    ), ee.expression)
                  ]),
                  ee.expression
                ),
                4194304
                /* NoHoisting */
              ),
              /*condition*/
              ct(
                t.createLessThan(
                  Sr,
                  t.createPropertyAccessExpression(zr, "length")
                ),
                ee.expression
              ),
              /*incrementor*/
              ct(t.createPostfixIncrement(Sr), ee.expression),
              /*statement*/
              vr(
                ee,
                t.createElementAccessExpression(zr, Sr),
                Ut
              )
            ),
            /*location*/
            ee
          );
          return un(
            jn,
            512
            /* NoTokenTrailingSourceMaps */
          ), ct(jn, ee), t.restoreEnclosingLabel(jn, et, P && rt);
        }
        function Is(ee, et, Ut, Gt) {
          const Sr = Qe(ee.expression, W, ut);
          E.assert(Sr);
          const zr = Me(Sr) ? t.getGeneratedNameForNode(Sr) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), jn = Me(Sr) ? t.getGeneratedNameForNode(zr) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), ni = t.createUniqueName("e"), wi = t.getGeneratedNameForNode(ni), L = t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), Oe = ct(n().createValuesHelper(Sr), ee.expression), xt = t.createCallExpression(
            t.createPropertyAccessExpression(zr, "next"),
            /*typeArguments*/
            void 0,
            []
          );
          c(ni), c(L);
          const Tr = Gt & 1024 ? t.inlineExpressions([t.createAssignment(ni, t.createVoidZero()), Oe]) : Oe, $i = un(
            ct(
              t.createForStatement(
                /*initializer*/
                un(
                  ct(
                    t.createVariableDeclarationList([
                      ct(t.createVariableDeclaration(
                        zr,
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        Tr
                      ), ee.expression),
                      t.createVariableDeclaration(
                        jn,
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        xt
                      )
                    ]),
                    ee.expression
                  ),
                  4194304
                  /* NoHoisting */
                ),
                /*condition*/
                t.createLogicalNot(t.createPropertyAccessExpression(jn, "done")),
                /*incrementor*/
                t.createAssignment(jn, xt),
                /*statement*/
                vr(
                  ee,
                  t.createPropertyAccessExpression(jn, "value"),
                  Ut
                )
              ),
              /*location*/
              ee
            ),
            512
            /* NoTokenTrailingSourceMaps */
          );
          return t.createTryStatement(
            t.createBlock([
              t.restoreEnclosingLabel(
                $i,
                et,
                P && rt
              )
            ]),
            t.createCatchClause(
              t.createVariableDeclaration(wi),
              un(
                t.createBlock([
                  t.createExpressionStatement(
                    t.createAssignment(
                      ni,
                      t.createObjectLiteralExpression([
                        t.createPropertyAssignment("error", wi)
                      ])
                    )
                  )
                ]),
                1
                /* SingleLine */
              )
            ),
            t.createBlock([
              t.createTryStatement(
                /*tryBlock*/
                t.createBlock([
                  un(
                    t.createIfStatement(
                      t.createLogicalAnd(
                        t.createLogicalAnd(
                          jn,
                          t.createLogicalNot(
                            t.createPropertyAccessExpression(jn, "done")
                          )
                        ),
                        t.createAssignment(
                          L,
                          t.createPropertyAccessExpression(zr, "return")
                        )
                      ),
                      t.createExpressionStatement(
                        t.createFunctionCallCall(L, zr, [])
                      )
                    ),
                    1
                    /* SingleLine */
                  )
                ]),
                /*catchClause*/
                void 0,
                /*finallyBlock*/
                un(
                  t.createBlock([
                    un(
                      t.createIfStatement(
                        ni,
                        t.createThrowStatement(
                          t.createPropertyAccessExpression(ni, "error")
                        )
                      ),
                      1
                      /* SingleLine */
                    )
                  ]),
                  1
                  /* SingleLine */
                )
              )
            ])
          );
        }
        function Ms(ee) {
          const et = ee.properties;
          let Ut = -1, Gt = false;
          for (let ni = 0; ni < et.length; ni++) {
            const wi = et[ni];
            if (wi.transformFlags & 1048576 && T & 4 || (Gt = E.checkDefined(wi.name).kind === 168)) {
              Ut = ni;
              break;
            }
          }
          if (Ut < 0)
            return br(ee, W, e);
          const Sr = t.createTempVariable(c), zr = [], jn = t.createAssignment(
            Sr,
            un(
              t.createObjectLiteralExpression(
                Ar(et, W, dh, 0, Ut),
                ee.multiLine
              ),
              Gt ? 131072 : 0
            )
          );
          return ee.multiLine && Du(jn), zr.push(jn), Hr(zr, ee, Sr, Ut), zr.push(ee.multiLine ? Du(ja(ct(t.cloneNode(Sr), Sr), Sr.parent)) : Sr), t.inlineExpressions(zr);
        }
        function ps(ee) {
          return u.hasNodeCheckFlag(
            ee,
            8192
            /* ContainsCapturedBlockScopeBinding */
          );
        }
        function uc(ee) {
          return tv(ee) && !!ee.initializer && ps(ee.initializer);
        }
        function Xo(ee) {
          return tv(ee) && !!ee.condition && ps(ee.condition);
        }
        function ro(ee) {
          return tv(ee) && !!ee.incrementor && ps(ee.incrementor);
        }
        function zi(ee) {
          return gs(ee) || uc(ee);
        }
        function gs(ee) {
          return u.hasNodeCheckFlag(
            ee,
            4096
            /* LoopWithCapturedBlockScopedBinding */
          );
        }
        function Vc(ee, et) {
          ee.hoistedLocalVariables || (ee.hoistedLocalVariables = []), Ut(et.name);
          function Ut(Gt) {
            if (Gt.kind === 80)
              ee.hoistedLocalVariables.push(Gt);
            else
              for (const Sr of Gt.elements)
                gl(Sr) || Ut(Sr.name);
          }
        }
        function To(ee, et, Ut, Gt) {
          if (!zi(ee)) {
            let Oe;
            P && (Oe = P.allowedNonLabeledJumps, P.allowedNonLabeledJumps = 6);
            const xt = Gt ? Gt(
              ee,
              et,
              /*convertedLoopBodyStatements*/
              void 0,
              Ut
            ) : t.restoreEnclosingLabel(
              tv(ee) ? kt(ee) : br(ee, W, e),
              et,
              P && rt
            );
            return P && (P.allowedNonLabeledJumps = Oe), xt;
          }
          const Sr = ya(ee), zr = [], jn = P;
          P = Sr;
          const ni = uc(ee) ? mc(ee, Sr) : void 0, wi = gs(ee) ? Nc(ee, Sr, jn) : void 0;
          P = jn, ni && zr.push(ni.functionDeclaration), wi && zr.push(wi.functionDeclaration), zt(zr, Sr, jn), ni && zr.push(ge(ni.functionName, ni.containsYield));
          let L;
          if (wi)
            if (Gt)
              L = Gt(ee, et, wi.part, Ut);
            else {
              const Oe = ea(ee, ni, t.createBlock(
                wi.part,
                /*multiLine*/
                true
              ));
              L = t.restoreEnclosingLabel(Oe, et, P && rt);
            }
          else {
            const Oe = ea(ee, ni, E.checkDefined(Qe(ee.statement, W, Ti, t.liftToBlock)));
            L = t.restoreEnclosingLabel(Oe, et, P && rt);
          }
          return zr.push(L), zr;
        }
        function ea(ee, et, Ut) {
          switch (ee.kind) {
            case 249:
              return xc(ee, et, Ut);
            case 250:
              return os(ee, Ut);
            case 251:
              return Rf(ee, Ut);
            case 247:
              return zs(ee, Ut);
            case 248:
              return Aa(ee, Ut);
            default:
              return E.failBadSyntaxKind(ee, "IterationStatement expected");
          }
        }
        function xc(ee, et, Ut) {
          const Gt = ee.condition && ps(ee.condition), Sr = Gt || ee.incrementor && ps(ee.incrementor);
          return t.updateForStatement(
            ee,
            Qe(et ? et.part : ee.initializer, _e, ep),
            Qe(Gt ? void 0 : ee.condition, W, ut),
            Qe(Sr ? void 0 : ee.incrementor, _e, ut),
            Ut
          );
        }
        function Rf(ee, et) {
          return t.updateForOfStatement(
            ee,
            /*awaitModifier*/
            void 0,
            E.checkDefined(Qe(ee.initializer, W, ep)),
            E.checkDefined(Qe(ee.expression, W, ut)),
            et
          );
        }
        function os(ee, et) {
          return t.updateForInStatement(
            ee,
            E.checkDefined(Qe(ee.initializer, W, ep)),
            E.checkDefined(Qe(ee.expression, W, ut)),
            et
          );
        }
        function zs(ee, et) {
          return t.updateDoStatement(
            ee,
            et,
            E.checkDefined(Qe(ee.expression, W, ut))
          );
        }
        function Aa(ee, et) {
          return t.updateWhileStatement(
            ee,
            E.checkDefined(Qe(ee.expression, W, ut)),
            et
          );
        }
        function ya(ee) {
          let et;
          switch (ee.kind) {
            case 249:
            case 250:
            case 251:
              const zr = ee.initializer;
              zr && zr.kind === 262 && (et = zr);
              break;
          }
          const Ut = [], Gt = [];
          if (et && ph(et) & 7) {
            const zr = uc(ee) || Xo(ee) || ro(ee);
            for (const jn of et.declarations)
              Kt(ee, jn, Ut, Gt, zr);
          }
          const Sr = { loopParameters: Ut, loopOutParameters: Gt };
          return P && (P.argumentsName && (Sr.argumentsName = P.argumentsName), P.thisName && (Sr.thisName = P.thisName), P.hoistedLocalVariables && (Sr.hoistedLocalVariables = P.hoistedLocalVariables)), Sr;
        }
        function zt(ee, et, Ut) {
          let Gt;
          if (et.argumentsName && (Ut ? Ut.argumentsName = et.argumentsName : (Gt || (Gt = [])).push(
            t.createVariableDeclaration(
              et.argumentsName,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              t.createIdentifier("arguments")
            )
          )), et.thisName && (Ut ? Ut.thisName = et.thisName : (Gt || (Gt = [])).push(
            t.createVariableDeclaration(
              et.thisName,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              t.createIdentifier("this")
            )
          )), et.hoistedLocalVariables)
            if (Ut)
              Ut.hoistedLocalVariables = et.hoistedLocalVariables;
            else {
              Gt || (Gt = []);
              for (const Sr of et.hoistedLocalVariables)
                Gt.push(t.createVariableDeclaration(Sr));
            }
          if (et.loopOutParameters.length) {
            Gt || (Gt = []);
            for (const Sr of et.loopOutParameters)
              Gt.push(t.createVariableDeclaration(Sr.outParamName));
          }
          et.conditionVariable && (Gt || (Gt = []), Gt.push(t.createVariableDeclaration(
            et.conditionVariable,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            t.createFalse()
          ))), Gt && ee.push(t.createVariableStatement(
            /*modifiers*/
            void 0,
            t.createVariableDeclarationList(Gt)
          ));
        }
        function Xa(ee) {
          return t.createVariableDeclaration(
            ee.originalName,
            /*exclamationToken*/
            void 0,
            /*type*/
            void 0,
            ee.outParamName
          );
        }
        function mc(ee, et) {
          const Ut = t.createUniqueName("_loop_init"), Gt = (ee.initializer.transformFlags & 1048576) !== 0;
          let Sr = 0;
          et.containsLexicalThis && (Sr |= 16), Gt && T & 4 && (Sr |= 524288);
          const zr = [];
          zr.push(t.createVariableStatement(
            /*modifiers*/
            void 0,
            ee.initializer
          )), co(et.loopOutParameters, 2, 1, zr);
          const jn = t.createVariableStatement(
            /*modifiers*/
            void 0,
            un(
              t.createVariableDeclarationList([
                t.createVariableDeclaration(
                  Ut,
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  un(
                    t.createFunctionExpression(
                      /*modifiers*/
                      void 0,
                      Gt ? t.createToken(
                        42
                        /* AsteriskToken */
                      ) : void 0,
                      /*name*/
                      void 0,
                      /*typeParameters*/
                      void 0,
                      /*parameters*/
                      void 0,
                      /*type*/
                      void 0,
                      E.checkDefined(Qe(
                        t.createBlock(
                          zr,
                          /*multiLine*/
                          true
                        ),
                        W,
                        Ps
                      ))
                    ),
                    Sr
                  )
                )
              ]),
              4194304
              /* NoHoisting */
            )
          ), ni = t.createVariableDeclarationList(hr(et.loopOutParameters, Xa));
          return { functionName: Ut, containsYield: Gt, functionDeclaration: jn, part: ni };
        }
        function Nc(ee, et, Ut) {
          const Gt = t.createUniqueName("_loop");
          i();
          const Sr = Qe(ee.statement, W, Ti, t.liftToBlock), zr = o(), jn = [];
          (Xo(ee) || ro(ee)) && (et.conditionVariable = t.createUniqueName("inc"), ee.incrementor ? jn.push(t.createIfStatement(
            et.conditionVariable,
            t.createExpressionStatement(E.checkDefined(Qe(ee.incrementor, W, ut))),
            t.createExpressionStatement(t.createAssignment(et.conditionVariable, t.createTrue()))
          )) : jn.push(t.createIfStatement(
            t.createLogicalNot(et.conditionVariable),
            t.createExpressionStatement(t.createAssignment(et.conditionVariable, t.createTrue()))
          )), Xo(ee) && jn.push(t.createIfStatement(
            t.createPrefixUnaryExpression(54, E.checkDefined(Qe(ee.condition, W, ut))),
            E.checkDefined(Qe(t.createBreakStatement(), W, Ti))
          ))), E.assert(Sr), Ps(Sr) ? In(jn, Sr.statements) : jn.push(Sr), co(et.loopOutParameters, 1, 1, jn), Dg(jn, zr);
          const ni = t.createBlock(
            jn,
            /*multiLine*/
            true
          );
          Ps(Sr) && Cn(ni, Sr);
          const wi = (ee.statement.transformFlags & 1048576) !== 0;
          let L = 1048576;
          et.containsLexicalThis && (L |= 16), wi && (T & 4) !== 0 && (L |= 524288);
          const Oe = t.createVariableStatement(
            /*modifiers*/
            void 0,
            un(
              t.createVariableDeclarationList(
                [
                  t.createVariableDeclaration(
                    Gt,
                    /*exclamationToken*/
                    void 0,
                    /*type*/
                    void 0,
                    un(
                      t.createFunctionExpression(
                        /*modifiers*/
                        void 0,
                        wi ? t.createToken(
                          42
                          /* AsteriskToken */
                        ) : void 0,
                        /*name*/
                        void 0,
                        /*typeParameters*/
                        void 0,
                        et.loopParameters,
                        /*type*/
                        void 0,
                        ni
                      ),
                      L
                    )
                  )
                ]
              ),
              4194304
              /* NoHoisting */
            )
          ), xt = H(Gt, et, Ut, wi);
          return { functionName: Gt, containsYield: wi, functionDeclaration: Oe, part: xt };
        }
        function Wl(ee, et) {
          const Ut = et === 0 ? ee.outParamName : ee.originalName, Gt = et === 0 ? ee.originalName : ee.outParamName;
          return t.createBinaryExpression(Gt, 64, Ut);
        }
        function co(ee, et, Ut, Gt) {
          for (const Sr of ee)
            Sr.flags & et && Gt.push(t.createExpressionStatement(Wl(Sr, Ut)));
        }
        function ge(ee, et) {
          const Ut = t.createCallExpression(
            ee,
            /*typeArguments*/
            void 0,
            []
          ), Gt = et ? t.createYieldExpression(
            t.createToken(
              42
              /* AsteriskToken */
            ),
            un(
              Ut,
              8388608
              /* Iterator */
            )
          ) : Ut;
          return t.createExpressionStatement(Gt);
        }
        function H(ee, et, Ut, Gt) {
          const Sr = [], zr = !(et.nonLocalJumps & -5) && !et.labeledNonLocalBreaks && !et.labeledNonLocalContinues, jn = t.createCallExpression(
            ee,
            /*typeArguments*/
            void 0,
            hr(et.loopParameters, (wi) => wi.name)
          ), ni = Gt ? t.createYieldExpression(
            t.createToken(
              42
              /* AsteriskToken */
            ),
            un(
              jn,
              8388608
              /* Iterator */
            )
          ) : jn;
          if (zr)
            Sr.push(t.createExpressionStatement(ni)), co(et.loopOutParameters, 1, 0, Sr);
          else {
            const wi = t.createUniqueName("state"), L = t.createVariableStatement(
              /*modifiers*/
              void 0,
              t.createVariableDeclarationList(
                [t.createVariableDeclaration(
                  wi,
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  ni
                )]
              )
            );
            if (Sr.push(L), co(et.loopOutParameters, 1, 0, Sr), et.nonLocalJumps & 8) {
              let Oe;
              Ut ? (Ut.nonLocalJumps |= 8, Oe = t.createReturnStatement(wi)) : Oe = t.createReturnStatement(t.createPropertyAccessExpression(wi, "value")), Sr.push(
                t.createIfStatement(
                  t.createTypeCheck(wi, "object"),
                  Oe
                )
              );
            }
            if (et.nonLocalJumps & 2 && Sr.push(
              t.createIfStatement(
                t.createStrictEquality(
                  wi,
                  t.createStringLiteral("break")
                ),
                t.createBreakStatement()
              )
            ), et.labeledNonLocalBreaks || et.labeledNonLocalContinues) {
              const Oe = [];
              Ft(
                et.labeledNonLocalBreaks,
                /*isBreak*/
                true,
                wi,
                Ut,
                Oe
              ), Ft(
                et.labeledNonLocalContinues,
                /*isBreak*/
                false,
                wi,
                Ut,
                Oe
              ), Sr.push(
                t.createSwitchStatement(
                  wi,
                  t.createCaseBlock(Oe)
                )
              );
            }
          }
          return Sr;
        }
        function tt(ee, et, Ut, Gt) {
          et ? (ee.labeledNonLocalBreaks || (ee.labeledNonLocalBreaks = /* @__PURE__ */ new Map()), ee.labeledNonLocalBreaks.set(Ut, Gt)) : (ee.labeledNonLocalContinues || (ee.labeledNonLocalContinues = /* @__PURE__ */ new Map()), ee.labeledNonLocalContinues.set(Ut, Gt));
        }
        function Ft(ee, et, Ut, Gt, Sr) {
          ee && ee.forEach((zr, jn) => {
            const ni = [];
            if (!Gt || Gt.labels && Gt.labels.get(jn)) {
              const wi = t.createIdentifier(jn);
              ni.push(et ? t.createBreakStatement(wi) : t.createContinueStatement(wi));
            } else
              tt(Gt, et, jn, zr), ni.push(t.createReturnStatement(Ut));
            Sr.push(t.createCaseClause(t.createStringLiteral(zr), ni));
          });
        }
        function Kt(ee, et, Ut, Gt, Sr) {
          const zr = et.name;
          if (Ds(zr))
            for (const jn of zr.elements)
              gl(jn) || Kt(ee, jn, Ut, Gt, Sr);
          else {
            Ut.push(t.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              zr
            ));
            const jn = u.hasNodeCheckFlag(
              et,
              65536
              /* NeedsLoopOutParameter */
            );
            if (jn || Sr) {
              const ni = t.createUniqueName("out_" + An(zr));
              let wi = 0;
              jn && (wi |= 1), tv(ee) && (ee.initializer && u.isBindingCapturedByNode(ee.initializer, et) && (wi |= 2), (ee.condition && u.isBindingCapturedByNode(ee.condition, et) || ee.incrementor && u.isBindingCapturedByNode(ee.incrementor, et)) && (wi |= 1)), Gt.push({ flags: wi, originalName: zr, outParamName: ni });
            }
          }
        }
        function Hr(ee, et, Ut, Gt) {
          const Sr = et.properties, zr = Sr.length;
          for (let jn = Gt; jn < zr; jn++) {
            const ni = Sr[jn];
            switch (ni.kind) {
              case 178:
              case 179:
                const wi = Fb(et.properties, ni);
                ni === wi.firstAccessor && ee.push(pt(Ut, wi, et, !!et.multiLine));
                break;
              case 175:
                ee.push(kr(ni, Ut, et, et.multiLine));
                break;
              case 304:
                ee.push(Vn(ni, Ut, et.multiLine));
                break;
              case 305:
                ee.push(ln(ni, Ut, et.multiLine));
                break;
              default:
                E.failBadSyntaxKind(et);
                break;
            }
          }
        }
        function Vn(ee, et, Ut) {
          const Gt = t.createAssignment(
            ES(
              t,
              et,
              E.checkDefined(Qe(ee.name, W, Wc))
            ),
            E.checkDefined(Qe(ee.initializer, W, ut))
          );
          return ct(Gt, ee), Ut && Du(Gt), Gt;
        }
        function ln(ee, et, Ut) {
          const Gt = t.createAssignment(
            ES(
              t,
              et,
              E.checkDefined(Qe(ee.name, W, Wc))
            ),
            t.cloneNode(ee.name)
          );
          return ct(Gt, ee), Ut && Du(Gt), Gt;
        }
        function kr(ee, et, Ut, Gt) {
          const Sr = t.createAssignment(
            ES(
              t,
              et,
              E.checkDefined(Qe(ee.name, W, Wc))
            ),
            rn(
              ee,
              /*location*/
              ee,
              /*name*/
              void 0,
              Ut
            )
          );
          return ct(Sr, ee), Gt && Du(Sr), Sr;
        }
        function Li(ee) {
          const et = F(
            7104,
            0
            /* BlockScopeIncludes */
          );
          let Ut;
          if (E.assert(!!ee.variableDeclaration, "Catch clause variable should always be present when downleveling ES2015."), Ds(ee.variableDeclaration.name)) {
            const Gt = t.createTempVariable(
              /*recordTempVariable*/
              void 0
            ), Sr = t.createVariableDeclaration(Gt);
            ct(Sr, ee.variableDeclaration);
            const zr = Yb(
              ee.variableDeclaration,
              W,
              e,
              0,
              Gt
            ), jn = t.createVariableDeclarationList(zr);
            ct(jn, ee.variableDeclaration);
            const ni = t.createVariableStatement(
              /*modifiers*/
              void 0,
              jn
            );
            Ut = t.updateCatchClause(ee, Sr, Yi(ee.block, ni));
          } else
            Ut = br(ee, W, e);
          return R(
            et,
            0,
            0
            /* None */
          ), Ut;
        }
        function Yi(ee, et) {
          const Ut = Ar(ee.statements, W, Ti);
          return t.updateBlock(ee, [et, ...Ut]);
        }
        function eo(ee) {
          E.assert(!Hs(ee.name));
          const et = rn(
            ee,
            /*location*/
            G1(ee, -1),
            /*name*/
            void 0,
            /*container*/
            void 0
          );
          return un(et, 1024 | Ca(et)), ct(
            t.createPropertyAssignment(
              ee.name,
              et
            ),
            /*location*/
            ee
          );
        }
        function ta(ee) {
          E.assert(!Hs(ee.name));
          const et = P;
          P = void 0;
          const Ut = F(
            32670,
            65
            /* FunctionIncludes */
          );
          let Gt;
          const Sr = cc(ee.parameters, W, e), zr = Pe(ee);
          return ee.kind === 178 ? Gt = t.updateGetAccessorDeclaration(ee, ee.modifiers, ee.name, Sr, ee.type, zr) : Gt = t.updateSetAccessorDeclaration(ee, ee.modifiers, ee.name, Sr, zr), R(
            Ut,
            229376,
            0
            /* None */
          ), P = et, Gt;
        }
        function xo(ee) {
          return ct(
            t.createPropertyAssignment(
              ee.name,
              Z(t.cloneNode(ee.name))
            ),
            /*location*/
            ee
          );
        }
        function qc(ee) {
          return br(ee, W, e);
        }
        function Rc(ee) {
          return br(ee, W, e);
        }
        function go(ee) {
          return ot(ee.elements, up) ? C_(
            ee.elements,
            /*isArgumentList*/
            false,
            !!ee.multiLine,
            /*hasTrailingComma*/
            !!ee.elements.hasTrailingComma
          ) : br(ee, W, e);
        }
        function tc(ee) {
          if (td(ee) & 1)
            return Ld(ee);
          const et = dc(ee.expression);
          return et.kind === 108 || O_(et) || ot(ee.arguments, up) ? ru(
            ee
          ) : t.updateCallExpression(
            ee,
            E.checkDefined(Qe(ee.expression, V, ut)),
            /*typeArguments*/
            void 0,
            Ar(ee.arguments, W, ut)
          );
        }
        function Ld(ee) {
          const et = Ws(Ws(dc(ee.expression), bo).body, Ps), Ut = (ra) => Pc(ra) && !!ka(ra.declarationList.declarations).initializer, Gt = P;
          P = void 0;
          const Sr = Ar(et.statements, K, Ti);
          P = Gt;
          const zr = kn(Sr, Ut), jn = kn(Sr, (ra) => !Ut(ra)), wi = Ws(ka(zr), Pc).declarationList.declarations[0], L = dc(wi.initializer);
          let Oe = Bn(L, El);
          !Oe && _n(L) && L.operatorToken.kind === 28 && (Oe = Bn(L.left, El));
          const xt = Ws(Oe ? dc(Oe.right) : L, ws), Tr = Ws(dc(xt.expression), mo), $i = Tr.body.statements;
          let Ns = 0, Zi = -1;
          const hs = [];
          if (Oe) {
            const ra = Bn($i[Ns], Dl);
            ra && (hs.push(ra), Ns++), hs.push($i[Ns]), Ns++, hs.push(
              t.createExpressionStatement(
                t.createAssignment(
                  Oe.left,
                  Ws(wi.name, Me)
                )
              )
            );
          }
          for (; !Sf(oy($i, Zi)); )
            Zi--;
          In(hs, $i, Ns, Zi), Zi < -1 && In(hs, $i, Zi + 1);
          const jo = Bn(oy($i, Zi), Sf);
          for (const ra of jn)
            Sf(ra) && jo?.expression && !Me(jo.expression) ? hs.push(jo) : hs.push(ra);
          return In(
            hs,
            zr,
            /*start*/
            1
          ), t.restoreOuterExpressions(
            ee.expression,
            t.restoreOuterExpressions(
              wi.initializer,
              t.restoreOuterExpressions(
                Oe && Oe.right,
                t.updateCallExpression(
                  xt,
                  t.restoreOuterExpressions(
                    xt.expression,
                    t.updateFunctionExpression(
                      Tr,
                      /*modifiers*/
                      void 0,
                      /*asteriskToken*/
                      void 0,
                      /*name*/
                      void 0,
                      /*typeParameters*/
                      void 0,
                      Tr.parameters,
                      /*type*/
                      void 0,
                      t.updateBlock(
                        Tr.body,
                        hs
                      )
                    )
                  ),
                  /*typeArguments*/
                  void 0,
                  xt.arguments
                )
              )
            )
          );
        }
        function ru(ee, et) {
          if (ee.transformFlags & 32768 || ee.expression.kind === 108 || O_(dc(ee.expression))) {
            const { target: Ut, thisArg: Gt } = t.createCallBinding(ee.expression, c);
            ee.expression.kind === 108 && un(
              Gt,
              8
              /* NoSubstitution */
            );
            let Sr;
            if (ee.transformFlags & 32768 ? Sr = t.createFunctionApplyCall(
              E.checkDefined(Qe(Ut, V, ut)),
              ee.expression.kind === 108 ? Gt : E.checkDefined(Qe(Gt, W, ut)),
              C_(
                ee.arguments,
                /*isArgumentList*/
                true,
                /*multiLine*/
                false,
                /*hasTrailingComma*/
                false
              )
            ) : Sr = ct(
              t.createFunctionCallCall(
                E.checkDefined(Qe(Ut, V, ut)),
                ee.expression.kind === 108 ? Gt : E.checkDefined(Qe(Gt, W, ut)),
                Ar(ee.arguments, W, ut)
              ),
              ee
            ), ee.expression.kind === 108) {
              const zr = t.createLogicalOr(
                Sr,
                ki()
              );
              Sr = t.createAssignment(q(), zr);
            }
            return Cn(Sr, ee);
          }
          return eS(ee) && (T |= 131072), br(ee, W, e);
        }
        function Tf(ee) {
          if (ot(ee.arguments, up)) {
            const { target: et, thisArg: Ut } = t.createCallBinding(t.createPropertyAccessExpression(ee.expression, "bind"), c);
            return t.createNewExpression(
              t.createFunctionApplyCall(
                E.checkDefined(Qe(et, W, ut)),
                Ut,
                C_(
                  t.createNodeArray([t.createVoidZero(), ...ee.arguments]),
                  /*isArgumentList*/
                  true,
                  /*multiLine*/
                  false,
                  /*hasTrailingComma*/
                  false
                )
              ),
              /*typeArguments*/
              void 0,
              []
            );
          }
          return br(ee, W, e);
        }
        function C_(ee, et, Ut, Gt) {
          const Sr = ee.length, zr = wp(
            // 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]`
            CR(ee, Ie, (L, Oe, xt, Tr) => Oe(L, Ut, Gt && Tr === Sr))
          );
          if (zr.length === 1) {
            const L = zr[0];
            if (et && !_.downlevelIteration || BJ(L.expression) || xD(L.expression, "___spreadArray"))
              return L.expression;
          }
          const jn = n(), ni = zr[0].kind !== 0;
          let wi = ni ? t.createArrayLiteralExpression() : zr[0].expression;
          for (let L = ni ? 0 : 1; L < zr.length; L++) {
            const Oe = zr[L];
            wi = jn.createSpreadArrayHelper(
              wi,
              Oe.expression,
              Oe.kind === 1 && !et
            );
          }
          return wi;
        }
        function Ie(ee) {
          return up(ee) ? Ot : Gi;
        }
        function Ot(ee) {
          return hr(ee, Mr);
        }
        function Mr(ee) {
          E.assertNode(ee, up);
          let et = Qe(ee.expression, W, ut);
          E.assert(et);
          const Ut = xD(et, "___read");
          let Gt = Ut || BJ(et) ? 2 : 1;
          return _.downlevelIteration && Gt === 1 && !Kl(et) && !Ut && (et = n().createReadHelper(
            et,
            /*count*/
            void 0
          ), Gt = 2), tve(Gt, et);
        }
        function Gi(ee, et, Ut) {
          const Gt = t.createArrayLiteralExpression(
            Ar(t.createNodeArray(ee, Ut), W, ut),
            et
          );
          return tve(0, Gt);
        }
        function Ea(ee) {
          return Qe(ee.expression, W, ut);
        }
        function Da(ee) {
          return ct(t.createStringLiteral(ee.text), ee);
        }
        function da(ee) {
          return ee.hasExtendedUnicodeEscape ? ct(t.createStringLiteral(ee.text), ee) : ee;
        }
        function tl(ee) {
          return ee.numericLiteralFlags & 384 ? ct(t.createNumericLiteral(ee.text), ee) : ee;
        }
        function Eo(ee) {
          return qW(
            e,
            ee,
            W,
            h,
            D,
            1
            /* All */
          );
        }
        function rc(ee) {
          let et = t.createStringLiteral(ee.head.text);
          for (const Ut of ee.templateSpans) {
            const Gt = [E.checkDefined(Qe(Ut.expression, W, ut))];
            Ut.literal.text.length > 0 && Gt.push(t.createStringLiteral(Ut.literal.text)), et = t.createCallExpression(
              t.createPropertyAccessExpression(et, "concat"),
              /*typeArguments*/
              void 0,
              Gt
            );
          }
          return ct(et, ee);
        }
        function gc() {
          return t.createUniqueName(
            "_super",
            48
            /* FileLevel */
          );
        }
        function xf(ee, et) {
          const Ut = T & 8 && !et ? t.createPropertyAccessExpression(Cn(gc(), ee), "prototype") : gc();
          return Cn(Ut, ee), Yc(Ut, ee), ga(Ut, ee), Ut;
        }
        function Ul(ee) {
          return ee.keywordToken === 105 && ee.name.escapedText === "target" ? (T |= 32768, t.createUniqueName(
            "_newTarget",
            48
            /* FileLevel */
          )) : ee;
        }
        function Nl(ee, et, Ut) {
          if (A & 1 && Cs(et)) {
            const Gt = F(
              32670,
              Ca(et) & 16 ? 81 : 65
              /* FunctionIncludes */
            );
            m(ee, et, Ut), R(
              Gt,
              0,
              0
              /* None */
            );
            return;
          }
          m(ee, et, Ut);
        }
        function lf() {
          (A & 2) === 0 && (A |= 2, e.enableSubstitution(
            80
            /* Identifier */
          ));
        }
        function Hu() {
          (A & 1) === 0 && (A |= 1, e.enableSubstitution(
            110
            /* ThisKeyword */
          ), e.enableEmitNotification(
            177
            /* Constructor */
          ), e.enableEmitNotification(
            175
            /* MethodDeclaration */
          ), e.enableEmitNotification(
            178
            /* GetAccessor */
          ), e.enableEmitNotification(
            179
            /* SetAccessor */
          ), e.enableEmitNotification(
            220
            /* ArrowFunction */
          ), e.enableEmitNotification(
            219
            /* FunctionExpression */
          ), e.enableEmitNotification(
            263
            /* FunctionDeclaration */
          ));
        }
        function pp(ee, et) {
          return et = g(ee, et), ee === 1 ? Ug(et) : Me(et) ? eg(et) : et;
        }
        function eg(ee) {
          if (A & 2 && !Az(ee)) {
            const et = ys(ee, Me);
            if (et && Wg(et))
              return ct(t.getGeneratedNameForNode(et), ee);
          }
          return ee;
        }
        function Wg(ee) {
          switch (ee.parent.kind) {
            case 209:
            case 264:
            case 267:
            case 261:
              return ee.parent.name === ee && u.isDeclarationWithCollidingName(ee.parent);
          }
          return false;
        }
        function Ug(ee) {
          switch (ee.kind) {
            case 80:
              return E_(ee);
            case 110:
              return Md(ee);
          }
          return ee;
        }
        function E_(ee) {
          if (A & 2 && !Az(ee)) {
            const et = u.getReferencedDeclarationWithCollidingName(ee);
            if (et && !($n(et) && yl(et, ee)))
              return ct(t.getGeneratedNameForNode(us(et)), ee);
          }
          return ee;
        }
        function yl(ee, et) {
          let Ut = ys(et);
          if (!Ut || Ut === ee || Ut.end <= ee.pos || Ut.pos >= ee.end)
            return false;
          const Gt = xd(ee);
          for (; Ut; ) {
            if (Ut === Gt || Ut === ee)
              return false;
            if (Uc(Ut) && Ut.parent === ee)
              return true;
            Ut = Ut.parent;
          }
          return false;
        }
        function Md(ee) {
          return A & 1 && T & 16 ? ct(q(), ee) : ee;
        }
        function jf(ee, et) {
          return Bs(et) ? t.getInternalName(ee) : t.createPropertyAccessExpression(t.getInternalName(ee), "prototype");
        }
        function Em(ee, et) {
          if (!ee || !et || ot(ee.parameters))
            return false;
          const Ut = $c(ee.body.statements);
          if (!Ut || !ao(Ut) || Ut.kind !== 245)
            return false;
          const Gt = Ut.expression;
          if (!ao(Gt) || Gt.kind !== 214)
            return false;
          const Sr = Gt.expression;
          if (!ao(Sr) || Sr.kind !== 108)
            return false;
          const zr = yg(Gt.arguments);
          if (!zr || !ao(zr) || zr.kind !== 231)
            return false;
          const jn = zr.expression;
          return Me(jn) && jn.escapedText === "arguments";
        }
      }
      function Tje(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 sie(e) {
        const {
          factory: t,
          getEmitHelperFactory: n,
          resumeLexicalEnvironment: i,
          endLexicalEnvironment: s,
          hoistFunctionDeclaration: o,
          hoistVariableDeclaration: c
        } = e, _ = e.getCompilerOptions(), u = pa(_), g = e.getEmitResolver(), m = e.onSubstituteNode;
        e.onSubstituteNode = ue;
        let h, S, T, k, D, P, A, O, F, R, B = 1, U, $, W, _e, K = 0, V = 0, ae, se, ce, fe, he, q, be, je;
        return Ad(e, me);
        function me(Ie) {
          if (Ie.isDeclarationFile || (Ie.transformFlags & 2048) === 0)
            return Ie;
          const Ot = br(Ie, Z, e);
          return Rg(Ot, e.readEmitHelpers()), Ot;
        }
        function Z(Ie) {
          const Ot = Ie.transformFlags;
          return k ? pe(Ie) : T ? Te(Ie) : to(Ie) && Ie.asteriskToken ? Ye(Ie) : Ot & 2048 ? br(Ie, Z, e) : Ie;
        }
        function pe(Ie) {
          switch (Ie.kind) {
            case 247:
              return Es(Ie);
            case 248:
              return yr(Ie);
            case 256:
              return pt(Ie);
            case 257:
              return qe(Ie);
            default:
              return Te(Ie);
          }
        }
        function Te(Ie) {
          switch (Ie.kind) {
            case 263:
              return ne(Ie);
            case 219:
              return Se(Ie);
            case 178:
            case 179:
              return ie(Ie);
            case 244:
              return Ee(Ie);
            case 249:
              return Xe(Ie);
            case 250:
              return re(Ie);
            case 253:
              return $e(Ie);
            case 252:
              return Y(Ie);
            case 254:
              return Tt(Ie);
            default:
              return Ie.transformFlags & 1048576 ? Fe(Ie) : Ie.transformFlags & 4196352 ? br(Ie, Z, e) : Ie;
          }
        }
        function Fe(Ie) {
          switch (Ie.kind) {
            case 227:
              return Ce(Ie);
            case 357:
              return tr(Ie);
            case 228:
              return st(Ie);
            case 230:
              return Wt(Ie);
            case 210:
              return Jr(Ie);
            case 211:
              return Ji(Ie);
            case 213:
              return Dt(Ie);
            case 214:
              return Mn(Ie);
            case 215:
              return ai(Ie);
            default:
              return br(Ie, Z, e);
          }
        }
        function Ye(Ie) {
          switch (Ie.kind) {
            case 263:
              return ne(Ie);
            case 219:
              return Se(Ie);
            default:
              return E.failBadSyntaxKind(Ie);
          }
        }
        function ne(Ie) {
          if (Ie.asteriskToken)
            Ie = Cn(
              ct(
                t.createFunctionDeclaration(
                  Ie.modifiers,
                  /*asteriskToken*/
                  void 0,
                  Ie.name,
                  /*typeParameters*/
                  void 0,
                  cc(Ie.parameters, Z, e),
                  /*type*/
                  void 0,
                  Ne(Ie.body)
                ),
                /*location*/
                Ie
              ),
              Ie
            );
          else {
            const Ot = T, Mr = k;
            T = false, k = false, Ie = br(Ie, Z, e), T = Ot, k = Mr;
          }
          if (T) {
            o(Ie);
            return;
          } else
            return Ie;
        }
        function Se(Ie) {
          if (Ie.asteriskToken)
            Ie = Cn(
              ct(
                t.createFunctionExpression(
                  /*modifiers*/
                  void 0,
                  /*asteriskToken*/
                  void 0,
                  Ie.name,
                  /*typeParameters*/
                  void 0,
                  cc(Ie.parameters, Z, e),
                  /*type*/
                  void 0,
                  Ne(Ie.body)
                ),
                /*location*/
                Ie
              ),
              Ie
            );
          else {
            const Ot = T, Mr = k;
            T = false, k = false, Ie = br(Ie, Z, e), T = Ot, k = Mr;
          }
          return Ie;
        }
        function ie(Ie) {
          const Ot = T, Mr = k;
          return T = false, k = false, Ie = br(Ie, Z, e), T = Ot, k = Mr, Ie;
        }
        function Ne(Ie) {
          const Ot = [], Mr = T, Gi = k, Ea = D, Da = P, da = A, tl = O, Eo = F, rc = R, gc = B, xf = U, Ul = $, Nl = W, lf = _e;
          T = true, k = false, D = void 0, P = void 0, A = void 0, O = void 0, F = void 0, R = void 0, B = 1, U = void 0, $ = void 0, W = void 0, _e = t.createTempVariable(
            /*recordTempVariable*/
            void 0
          ), i();
          const Hu = t.copyPrologue(
            Ie.statements,
            Ot,
            /*ensureUseStrict*/
            false,
            Z
          );
          fi(Ie.statements, Hu);
          const pp = tt();
          return Dg(Ot, s()), Ot.push(t.createReturnStatement(pp)), T = Mr, k = Gi, D = Ea, P = Da, A = da, O = tl, F = Eo, R = rc, B = gc, U = xf, $ = Ul, W = Nl, _e = lf, ct(t.createBlock(Ot, Ie.multiLine), Ie);
        }
        function Ee(Ie) {
          if (Ie.transformFlags & 1048576) {
            qr(Ie.declarationList);
            return;
          } else {
            if (Ca(Ie) & 2097152)
              return Ie;
            for (const Mr of Ie.declarationList.declarations)
              c(Mr.name);
            const Ot = rD(Ie.declarationList);
            return Ot.length === 0 ? void 0 : ga(
              t.createExpressionStatement(
                t.inlineExpressions(
                  hr(Ot, Jn)
                )
              ),
              Ie
            );
          }
        }
        function Ce(Ie) {
          const Ot = zB(Ie);
          switch (Ot) {
            case 0:
              return St(Ie);
            case 1:
              return Ve(Ie);
            default:
              return E.assertNever(Ot);
          }
        }
        function Ve(Ie) {
          const { left: Ot, right: Mr } = Ie;
          if (Pe(Mr)) {
            let Gi;
            switch (Ot.kind) {
              case 212:
                Gi = t.updatePropertyAccessExpression(
                  Ot,
                  Q(E.checkDefined(Qe(Ot.expression, Z, h_))),
                  Ot.name
                );
                break;
              case 213:
                Gi = t.updateElementAccessExpression(Ot, Q(E.checkDefined(Qe(Ot.expression, Z, h_))), Q(E.checkDefined(Qe(Ot.argumentExpression, Z, ut))));
                break;
              default:
                Gi = E.checkDefined(Qe(Ot, Z, ut));
                break;
            }
            const Ea = Ie.operatorToken.kind;
            return XD(Ea) ? ct(
              t.createAssignment(
                Gi,
                ct(
                  t.createBinaryExpression(
                    Q(Gi),
                    QD(Ea),
                    E.checkDefined(Qe(Mr, Z, ut))
                  ),
                  Ie
                )
              ),
              Ie
            ) : t.updateBinaryExpression(Ie, Gi, Ie.operatorToken, E.checkDefined(Qe(Mr, Z, ut)));
          }
          return br(Ie, Z, e);
        }
        function St(Ie) {
          return Pe(Ie.right) ? tee(Ie.operatorToken.kind) ? Nr(Ie) : Ie.operatorToken.kind === 28 ? Bt(Ie) : t.updateBinaryExpression(Ie, Q(E.checkDefined(Qe(Ie.left, Z, ut))), Ie.operatorToken, E.checkDefined(Qe(Ie.right, Z, ut))) : br(Ie, Z, e);
        }
        function Bt(Ie) {
          let Ot = [];
          return Mr(Ie.left), Mr(Ie.right), t.inlineExpressions(Ot);
          function Mr(Gi) {
            _n(Gi) && Gi.operatorToken.kind === 28 ? (Mr(Gi.left), Mr(Gi.right)) : (Pe(Gi) && Ot.length > 0 && (H(1, [t.createExpressionStatement(t.inlineExpressions(Ot))]), Ot = []), Ot.push(E.checkDefined(Qe(Gi, Z, ut))));
          }
        }
        function tr(Ie) {
          let Ot = [];
          for (const Mr of Ie.elements)
            _n(Mr) && Mr.operatorToken.kind === 28 ? Ot.push(Bt(Mr)) : (Pe(Mr) && Ot.length > 0 && (H(1, [t.createExpressionStatement(t.inlineExpressions(Ot))]), Ot = []), Ot.push(E.checkDefined(Qe(Mr, Z, ut))));
          return t.inlineExpressions(Ot);
        }
        function Nr(Ie) {
          const Ot = Mt(), Mr = dt();
          return Aa(
            Mr,
            E.checkDefined(Qe(Ie.left, Z, ut)),
            /*location*/
            Ie.left
          ), Ie.operatorToken.kind === 56 ? Xa(
            Ot,
            Mr,
            /*location*/
            Ie.left
          ) : zt(
            Ot,
            Mr,
            /*location*/
            Ie.left
          ), Aa(
            Mr,
            E.checkDefined(Qe(Ie.right, Z, ut)),
            /*location*/
            Ie.right
          ), ke(Ot), Mr;
        }
        function st(Ie) {
          if (Pe(Ie.whenTrue) || Pe(Ie.whenFalse)) {
            const Ot = Mt(), Mr = Mt(), Gi = dt();
            return Xa(
              Ot,
              E.checkDefined(Qe(Ie.condition, Z, ut)),
              /*location*/
              Ie.condition
            ), Aa(
              Gi,
              E.checkDefined(Qe(Ie.whenTrue, Z, ut)),
              /*location*/
              Ie.whenTrue
            ), ya(Mr), ke(Ot), Aa(
              Gi,
              E.checkDefined(Qe(Ie.whenFalse, Z, ut)),
              /*location*/
              Ie.whenFalse
            ), ke(Mr), Gi;
          }
          return br(Ie, Z, e);
        }
        function Wt(Ie) {
          const Ot = Mt(), Mr = Qe(Ie.expression, Z, ut);
          if (Ie.asteriskToken) {
            const Gi = (Ca(Ie.expression) & 8388608) === 0 ? ct(n().createValuesHelper(Mr), Ie) : Mr;
            mc(
              Gi,
              /*location*/
              Ie
            );
          } else
            Nc(
              Mr,
              /*location*/
              Ie
            );
          return ke(Ot), Rf(
            /*location*/
            Ie
          );
        }
        function Jr(Ie) {
          return ui(
            Ie.elements,
            /*leadingElement*/
            void 0,
            /*location*/
            void 0,
            Ie.multiLine
          );
        }
        function ui(Ie, Ot, Mr, Gi) {
          const Ea = yt(Ie);
          let Da;
          if (Ea > 0) {
            Da = dt();
            const Eo = Ar(Ie, Z, ut, 0, Ea);
            Aa(
              Da,
              t.createArrayLiteralExpression(
                Ot ? [Ot, ...Eo] : Eo
              )
            ), Ot = void 0;
          }
          const da = ju(Ie, tl, [], Ea);
          return Da ? t.createArrayConcatCall(Da, [t.createArrayLiteralExpression(da, Gi)]) : ct(
            t.createArrayLiteralExpression(Ot ? [Ot, ...da] : da, Gi),
            Mr
          );
          function tl(Eo, rc) {
            if (Pe(rc) && Eo.length > 0) {
              const gc = Da !== void 0;
              Da || (Da = dt()), Aa(
                Da,
                gc ? t.createArrayConcatCall(
                  Da,
                  [t.createArrayLiteralExpression(Eo, Gi)]
                ) : t.createArrayLiteralExpression(
                  Ot ? [Ot, ...Eo] : Eo,
                  Gi
                )
              ), Ot = void 0, Eo = [];
            }
            return Eo.push(E.checkDefined(Qe(rc, Z, ut))), Eo;
          }
        }
        function Ji(Ie) {
          const Ot = Ie.properties, Mr = Ie.multiLine, Gi = yt(Ot), Ea = dt();
          Aa(
            Ea,
            t.createObjectLiteralExpression(
              Ar(Ot, Z, dh, 0, Gi),
              Mr
            )
          );
          const Da = ju(Ot, da, [], Gi);
          return Da.push(Mr ? Du(ja(ct(t.cloneNode(Ea), Ea), Ea.parent)) : Ea), t.inlineExpressions(Da);
          function da(tl, Eo) {
            Pe(Eo) && tl.length > 0 && (zs(t.createExpressionStatement(t.inlineExpressions(tl))), tl = []);
            const rc = rre(t, Ie, Eo, Ea), gc = Qe(rc, Z, ut);
            return gc && (Mr && Du(gc), tl.push(gc)), tl;
          }
        }
        function Dt(Ie) {
          return Pe(Ie.argumentExpression) ? t.updateElementAccessExpression(Ie, Q(E.checkDefined(Qe(Ie.expression, Z, h_))), E.checkDefined(Qe(Ie.argumentExpression, Z, ut))) : br(Ie, Z, e);
        }
        function Mn(Ie) {
          if (!y_(Ie) && lr(Ie.arguments, Pe)) {
            const { target: Ot, thisArg: Mr } = t.createCallBinding(
              Ie.expression,
              c,
              u,
              /*cacheIdentifiers*/
              true
            );
            return Cn(
              ct(
                t.createFunctionApplyCall(
                  Q(E.checkDefined(Qe(Ot, Z, h_))),
                  Mr,
                  ui(Ie.arguments)
                ),
                Ie
              ),
              Ie
            );
          }
          return br(Ie, Z, e);
        }
        function ai(Ie) {
          if (lr(Ie.arguments, Pe)) {
            const { target: Ot, thisArg: Mr } = t.createCallBinding(t.createPropertyAccessExpression(Ie.expression, "bind"), c);
            return Cn(
              ct(
                t.createNewExpression(
                  t.createFunctionApplyCall(
                    Q(E.checkDefined(Qe(Ot, Z, ut))),
                    Mr,
                    ui(
                      Ie.arguments,
                      /*leadingElement*/
                      t.createVoidZero()
                    )
                  ),
                  /*typeArguments*/
                  void 0,
                  []
                ),
                Ie
              ),
              Ie
            );
          }
          return br(Ie, Z, e);
        }
        function fi(Ie, Ot = 0) {
          const Mr = Ie.length;
          for (let Gi = Ot; Gi < Mr; Gi++)
            _i(Ie[Gi]);
        }
        function pn(Ie) {
          Ps(Ie) ? fi(Ie.statements) : _i(Ie);
        }
        function _i(Ie) {
          const Ot = k;
          k || (k = Pe(Ie)), Je(Ie), k = Ot;
        }
        function Je(Ie) {
          switch (Ie.kind) {
            case 242:
              return ft(Ie);
            case 245:
              return er(Ie);
            case 246:
              return Un(Ie);
            case 247:
              return ki(Ie);
            case 248:
              return Zs(Ie);
            case 249:
              return vs(Ie);
            case 250:
              return Et(Ie);
            case 252:
              return it(Ie);
            case 253:
              return Ae(Ie);
            case 254:
              return Ke(Ie);
            case 255:
              return Le(Ie);
            case 256:
              return mt(Ie);
            case 257:
              return Ct(Ie);
            case 258:
              return Lt(Ie);
            case 259:
              return rn(Ie);
            default:
              return zs(Qe(Ie, Z, Ti));
          }
        }
        function ft(Ie) {
          Pe(Ie) ? fi(Ie.statements) : zs(Qe(Ie, Z, Ti));
        }
        function er(Ie) {
          zs(Qe(Ie, Z, Ti));
        }
        function qr(Ie) {
          for (const Da of Ie.declarations) {
            const da = t.cloneNode(Da.name);
            Yc(da, Da.name), c(da);
          }
          const Ot = rD(Ie), Mr = Ot.length;
          let Gi = 0, Ea = [];
          for (; Gi < Mr; ) {
            for (let Da = Gi; Da < Mr; Da++) {
              const da = Ot[Da];
              if (Pe(da.initializer) && Ea.length > 0)
                break;
              Ea.push(Jn(da));
            }
            Ea.length && (zs(t.createExpressionStatement(t.inlineExpressions(Ea))), Gi += Ea.length, Ea = []);
          }
        }
        function Jn(Ie) {
          return ga(
            t.createAssignment(
              ga(t.cloneNode(Ie.name), Ie.name),
              E.checkDefined(Qe(Ie.initializer, Z, ut))
            ),
            Ie
          );
        }
        function Un(Ie) {
          if (Pe(Ie))
            if (Pe(Ie.thenStatement) || Pe(Ie.elseStatement)) {
              const Ot = Mt(), Mr = Ie.elseStatement ? Mt() : void 0;
              Xa(
                Ie.elseStatement ? Mr : Ot,
                E.checkDefined(Qe(Ie.expression, Z, ut)),
                /*location*/
                Ie.expression
              ), pn(Ie.thenStatement), Ie.elseStatement && (ya(Ot), ke(Mr), pn(Ie.elseStatement)), ke(Ot);
            } else
              zs(Qe(Ie, Z, Ti));
          else
            zs(Qe(Ie, Z, Ti));
        }
        function ki(Ie) {
          if (Pe(Ie)) {
            const Ot = Mt(), Mr = Mt();
            kt(
              /*continueLabel*/
              Ot
            ), ke(Mr), pn(Ie.statement), ke(Ot), zt(Mr, E.checkDefined(Qe(Ie.expression, Z, ut))), cr();
          } else
            zs(Qe(Ie, Z, Ti));
        }
        function Es(Ie) {
          return k ? (nr(), Ie = br(Ie, Z, e), cr(), Ie) : br(Ie, Z, e);
        }
        function Zs(Ie) {
          if (Pe(Ie)) {
            const Ot = Mt(), Mr = kt(Ot);
            ke(Ot), Xa(Mr, E.checkDefined(Qe(Ie.expression, Z, ut))), pn(Ie.statement), ya(Ot), cr();
          } else
            zs(Qe(Ie, Z, Ti));
        }
        function yr(Ie) {
          return k ? (nr(), Ie = br(Ie, Z, e), cr(), Ie) : br(Ie, Z, e);
        }
        function vs(Ie) {
          if (Pe(Ie)) {
            const Ot = Mt(), Mr = Mt(), Gi = kt(Mr);
            if (Ie.initializer) {
              const Ea = Ie.initializer;
              Bl(Ea) ? qr(Ea) : zs(
                ct(
                  t.createExpressionStatement(
                    E.checkDefined(Qe(Ea, Z, ut))
                  ),
                  Ea
                )
              );
            }
            ke(Ot), Ie.condition && Xa(Gi, E.checkDefined(Qe(Ie.condition, Z, ut))), pn(Ie.statement), ke(Mr), Ie.incrementor && zs(
              ct(
                t.createExpressionStatement(
                  E.checkDefined(Qe(Ie.incrementor, Z, ut))
                ),
                Ie.incrementor
              )
            ), ya(Ot), cr();
          } else
            zs(Qe(Ie, Z, Ti));
        }
        function Xe(Ie) {
          k && nr();
          const Ot = Ie.initializer;
          if (Ot && Bl(Ot)) {
            for (const Gi of Ot.declarations)
              c(Gi.name);
            const Mr = rD(Ot);
            Ie = t.updateForStatement(
              Ie,
              Mr.length > 0 ? t.inlineExpressions(hr(Mr, Jn)) : void 0,
              Qe(Ie.condition, Z, ut),
              Qe(Ie.incrementor, Z, ut),
              i_(Ie.statement, Z, e)
            );
          } else
            Ie = br(Ie, Z, e);
          return k && cr(), Ie;
        }
        function Et(Ie) {
          if (Pe(Ie)) {
            const Ot = dt(), Mr = dt(), Gi = dt(), Ea = t.createLoopVariable(), Da = Ie.initializer;
            c(Ea), Aa(Ot, E.checkDefined(Qe(Ie.expression, Z, ut))), Aa(Mr, t.createArrayLiteralExpression()), zs(
              t.createForInStatement(
                Gi,
                Ot,
                t.createExpressionStatement(
                  t.createCallExpression(
                    t.createPropertyAccessExpression(Mr, "push"),
                    /*typeArguments*/
                    void 0,
                    [Gi]
                  )
                )
              )
            ), Aa(Ea, t.createNumericLiteral(0));
            const da = Mt(), tl = Mt(), Eo = kt(tl);
            ke(da), Xa(Eo, t.createLessThan(Ea, t.createPropertyAccessExpression(Mr, "length"))), Aa(Gi, t.createElementAccessExpression(Mr, Ea)), Xa(tl, t.createBinaryExpression(Gi, 103, Ot));
            let rc;
            if (Bl(Da)) {
              for (const gc of Da.declarations)
                c(gc.name);
              rc = t.cloneNode(Da.declarations[0].name);
            } else
              rc = E.checkDefined(Qe(Da, Z, ut)), E.assert(h_(rc));
            Aa(rc, Gi), pn(Ie.statement), ke(tl), zs(t.createExpressionStatement(t.createPostfixIncrement(Ea))), ya(da), cr();
          } else
            zs(Qe(Ie, Z, Ti));
        }
        function re(Ie) {
          k && nr();
          const Ot = Ie.initializer;
          if (Bl(Ot)) {
            for (const Mr of Ot.declarations)
              c(Mr.name);
            Ie = t.updateForInStatement(Ie, Ot.declarations[0].name, E.checkDefined(Qe(Ie.expression, Z, ut)), E.checkDefined(Qe(Ie.statement, Z, Ti, t.liftToBlock)));
          } else
            Ie = br(Ie, Z, e);
          return k && cr(), Ie;
        }
        function it(Ie) {
          const Ot = gs(Ie.label ? An(Ie.label) : void 0);
          Ot > 0 ? ya(
            Ot,
            /*location*/
            Ie
          ) : zs(Ie);
        }
        function Y(Ie) {
          if (k) {
            const Ot = gs(Ie.label && An(Ie.label));
            if (Ot > 0)
              return ea(
                Ot,
                /*location*/
                Ie
              );
          }
          return br(Ie, Z, e);
        }
        function Ae(Ie) {
          const Ot = zi(Ie.label ? An(Ie.label) : void 0);
          Ot > 0 ? ya(
            Ot,
            /*location*/
            Ie
          ) : zs(Ie);
        }
        function $e(Ie) {
          if (k) {
            const Ot = zi(Ie.label && An(Ie.label));
            if (Ot > 0)
              return ea(
                Ot,
                /*location*/
                Ie
              );
          }
          return br(Ie, Z, e);
        }
        function Ke(Ie) {
          Wl(
            Qe(Ie.expression, Z, ut),
            /*location*/
            Ie
          );
        }
        function Tt(Ie) {
          return xc(
            Qe(Ie.expression, Z, ut),
            /*location*/
            Ie
          );
        }
        function Le(Ie) {
          Pe(Ie) ? (Pr(Q(E.checkDefined(Qe(Ie.expression, Z, ut)))), pn(Ie.statement), rt()) : zs(Qe(Ie, Z, Ti));
        }
        function mt(Ie) {
          if (Pe(Ie.caseBlock)) {
            const Ot = Ie.caseBlock, Mr = Ot.clauses.length, Gi = vr(), Ea = Q(E.checkDefined(Qe(Ie.expression, Z, ut))), Da = [];
            let da = -1;
            for (let rc = 0; rc < Mr; rc++) {
              const gc = Ot.clauses[rc];
              Da.push(Mt()), gc.kind === 298 && da === -1 && (da = rc);
            }
            let tl = 0, Eo = [];
            for (; tl < Mr; ) {
              let rc = 0;
              for (let gc = tl; gc < Mr; gc++) {
                const xf = Ot.clauses[gc];
                if (xf.kind === 297) {
                  if (Pe(xf.expression) && Eo.length > 0)
                    break;
                  Eo.push(
                    t.createCaseClause(
                      E.checkDefined(Qe(xf.expression, Z, ut)),
                      [
                        ea(
                          Da[gc],
                          /*location*/
                          xf.expression
                        )
                      ]
                    )
                  );
                } else
                  rc++;
              }
              Eo.length && (zs(t.createSwitchStatement(Ea, t.createCaseBlock(Eo))), tl += Eo.length, Eo = []), rc > 0 && (tl += rc, rc = 0);
            }
            da >= 0 ? ya(Da[da]) : ya(Gi);
            for (let rc = 0; rc < Mr; rc++)
              ke(Da[rc]), fi(Ot.clauses[rc].statements);
            Xt();
          } else
            zs(Qe(Ie, Z, Ti));
        }
        function pt(Ie) {
          return k && fr(), Ie = br(Ie, Z, e), k && Xt(), Ie;
        }
        function Ct(Ie) {
          Pe(Ie) ? (Is(An(Ie.label)), pn(Ie.statement), Ms()) : zs(Qe(Ie, Z, Ti));
        }
        function qe(Ie) {
          return k && oi(An(Ie.label)), Ie = br(Ie, Z, e), k && Ms(), Ie;
        }
        function Lt(Ie) {
          co(
            E.checkDefined(Qe(Ie.expression ?? t.createVoidZero(), Z, ut)),
            /*location*/
            Ie
          );
        }
        function rn(Ie) {
          Pe(Ie) ? (vt(), pn(Ie.tryBlock), Ie.catchClause && (Nt(Ie.catchClause.variableDeclaration), pn(Ie.catchClause.block)), Ie.finallyBlock && (Jt(), pn(Ie.finallyBlock)), _r()) : zs(br(Ie, Z, e));
        }
        function Pe(Ie) {
          return !!Ie && (Ie.transformFlags & 1048576) !== 0;
        }
        function yt(Ie) {
          const Ot = Ie.length;
          for (let Mr = 0; Mr < Ot; Mr++)
            if (Pe(Ie[Mr]))
              return Mr;
          return -1;
        }
        function ue(Ie, Ot) {
          return Ot = m(Ie, Ot), Ie === 1 ? M(Ot) : Ot;
        }
        function M(Ie) {
          return Me(Ie) ? ye(Ie) : Ie;
        }
        function ye(Ie) {
          if (!Mo(Ie) && h && h.has(An(Ie))) {
            const Ot = zo(Ie);
            if (Me(Ot) && Ot.parent) {
              const Mr = g.getReferencedValueDeclaration(Ot);
              if (Mr) {
                const Gi = S[s_(Mr)];
                if (Gi) {
                  const Ea = ja(ct(t.cloneNode(Gi), Gi), Gi.parent);
                  return ga(Ea, Ie), Yc(Ea, Ie), Ea;
                }
              }
            }
          }
          return Ie;
        }
        function Q(Ie) {
          if (Mo(Ie) || Ca(Ie) & 8192)
            return Ie;
          const Ot = t.createTempVariable(c);
          return Aa(
            Ot,
            Ie,
            /*location*/
            Ie
          ), Ot;
        }
        function dt(Ie) {
          const Ot = Ie ? t.createUniqueName(Ie) : t.createTempVariable(
            /*recordTempVariable*/
            void 0
          );
          return c(Ot), Ot;
        }
        function Mt() {
          F || (F = []);
          const Ie = B;
          return B++, F[Ie] = -1, Ie;
        }
        function ke(Ie) {
          E.assert(F !== void 0, "No labels were defined."), F[Ie] = U ? U.length : 0;
        }
        function at(Ie) {
          D || (D = [], A = [], P = [], O = []);
          const Ot = A.length;
          return A[Ot] = 0, P[Ot] = U ? U.length : 0, D[Ot] = Ie, O.push(Ie), Ot;
        }
        function wt() {
          const Ie = Zr();
          if (Ie === void 0) return E.fail("beginBlock was never called.");
          const Ot = A.length;
          return A[Ot] = 1, P[Ot] = U ? U.length : 0, D[Ot] = Ie, O.pop(), Ie;
        }
        function Zr() {
          return ko(O);
        }
        function Rr() {
          const Ie = Zr();
          return Ie && Ie.kind;
        }
        function Pr(Ie) {
          const Ot = Mt(), Mr = Mt();
          ke(Ot), at({
            kind: 1,
            expression: Ie,
            startLabel: Ot,
            endLabel: Mr
          });
        }
        function rt() {
          E.assert(
            Rr() === 1
            /* With */
          );
          const Ie = wt();
          ke(Ie.endLabel);
        }
        function vt() {
          const Ie = Mt(), Ot = Mt();
          return ke(Ie), at({
            kind: 0,
            state: 0,
            startLabel: Ie,
            endLabel: Ot
          }), os(), Ot;
        }
        function Nt(Ie) {
          E.assert(
            Rr() === 0
            /* Exception */
          );
          let Ot;
          if (Mo(Ie.name))
            Ot = Ie.name, c(Ie.name);
          else {
            const Da = An(Ie.name);
            Ot = dt(Da), h || (h = /* @__PURE__ */ new Map(), S = [], e.enableSubstitution(
              80
              /* Identifier */
            )), h.set(Da, true), S[s_(Ie)] = Ot;
          }
          const Mr = Zr();
          E.assert(
            Mr.state < 1
            /* Catch */
          );
          const Gi = Mr.endLabel;
          ya(Gi);
          const Ea = Mt();
          ke(Ea), Mr.state = 1, Mr.catchVariable = Ot, Mr.catchLabel = Ea, Aa(Ot, t.createCallExpression(
            t.createPropertyAccessExpression(_e, "sent"),
            /*typeArguments*/
            void 0,
            []
          )), os();
        }
        function Jt() {
          E.assert(
            Rr() === 0
            /* Exception */
          );
          const Ie = Zr();
          E.assert(
            Ie.state < 2
            /* Finally */
          );
          const Ot = Ie.endLabel;
          ya(Ot);
          const Mr = Mt();
          ke(Mr), Ie.state = 2, Ie.finallyLabel = Mr;
        }
        function _r() {
          E.assert(
            Rr() === 0
            /* Exception */
          );
          const Ie = wt();
          Ie.state < 2 ? ya(Ie.endLabel) : ge(), ke(Ie.endLabel), os(), Ie.state = 3;
        }
        function nr() {
          at({
            kind: 3,
            isScript: true,
            breakLabel: -1,
            continueLabel: -1
          });
        }
        function kt(Ie) {
          const Ot = Mt();
          return at({
            kind: 3,
            isScript: false,
            breakLabel: Ot,
            continueLabel: Ie
          }), Ot;
        }
        function cr() {
          E.assert(
            Rr() === 3
            /* Loop */
          );
          const Ie = wt(), Ot = Ie.breakLabel;
          Ie.isScript || ke(Ot);
        }
        function fr() {
          at({
            kind: 2,
            isScript: true,
            breakLabel: -1
          });
        }
        function vr() {
          const Ie = Mt();
          return at({
            kind: 2,
            isScript: false,
            breakLabel: Ie
          }), Ie;
        }
        function Xt() {
          E.assert(
            Rr() === 2
            /* Switch */
          );
          const Ie = wt(), Ot = Ie.breakLabel;
          Ie.isScript || ke(Ot);
        }
        function oi(Ie) {
          at({
            kind: 4,
            isScript: true,
            labelText: Ie,
            breakLabel: -1
          });
        }
        function Is(Ie) {
          const Ot = Mt();
          at({
            kind: 4,
            isScript: false,
            labelText: Ie,
            breakLabel: Ot
          });
        }
        function Ms() {
          E.assert(
            Rr() === 4
            /* Labeled */
          );
          const Ie = wt();
          Ie.isScript || ke(Ie.breakLabel);
        }
        function ps(Ie) {
          return Ie.kind === 2 || Ie.kind === 3;
        }
        function uc(Ie) {
          return Ie.kind === 4;
        }
        function Xo(Ie) {
          return Ie.kind === 3;
        }
        function ro(Ie, Ot) {
          for (let Mr = Ot; Mr >= 0; Mr--) {
            const Gi = O[Mr];
            if (uc(Gi)) {
              if (Gi.labelText === Ie)
                return true;
            } else
              break;
          }
          return false;
        }
        function zi(Ie) {
          if (O)
            if (Ie)
              for (let Ot = O.length - 1; Ot >= 0; Ot--) {
                const Mr = O[Ot];
                if (uc(Mr) && Mr.labelText === Ie)
                  return Mr.breakLabel;
                if (ps(Mr) && ro(Ie, Ot - 1))
                  return Mr.breakLabel;
              }
            else
              for (let Ot = O.length - 1; Ot >= 0; Ot--) {
                const Mr = O[Ot];
                if (ps(Mr))
                  return Mr.breakLabel;
              }
          return 0;
        }
        function gs(Ie) {
          if (O)
            if (Ie)
              for (let Ot = O.length - 1; Ot >= 0; Ot--) {
                const Mr = O[Ot];
                if (Xo(Mr) && ro(Ie, Ot - 1))
                  return Mr.continueLabel;
              }
            else
              for (let Ot = O.length - 1; Ot >= 0; Ot--) {
                const Mr = O[Ot];
                if (Xo(Mr))
                  return Mr.continueLabel;
              }
          return 0;
        }
        function Vc(Ie) {
          if (Ie !== void 0 && Ie > 0) {
            R === void 0 && (R = []);
            const Ot = t.createNumericLiteral(Number.MAX_SAFE_INTEGER);
            return R[Ie] === void 0 ? R[Ie] = [Ot] : R[Ie].push(Ot), Ot;
          }
          return t.createOmittedExpression();
        }
        function To(Ie) {
          const Ot = t.createNumericLiteral(Ie);
          return TD(Ot, 3, Tje(Ie)), Ot;
        }
        function ea(Ie, Ot) {
          return E.assertLessThan(0, Ie, "Invalid label"), ct(
            t.createReturnStatement(
              t.createArrayLiteralExpression([
                To(
                  3
                  /* Break */
                ),
                Vc(Ie)
              ])
            ),
            Ot
          );
        }
        function xc(Ie, Ot) {
          return ct(
            t.createReturnStatement(
              t.createArrayLiteralExpression(
                Ie ? [To(
                  2
                  /* Return */
                ), Ie] : [To(
                  2
                  /* Return */
                )]
              )
            ),
            Ot
          );
        }
        function Rf(Ie) {
          return ct(
            t.createCallExpression(
              t.createPropertyAccessExpression(_e, "sent"),
              /*typeArguments*/
              void 0,
              []
            ),
            Ie
          );
        }
        function os() {
          H(
            0
            /* Nop */
          );
        }
        function zs(Ie) {
          Ie ? H(1, [Ie]) : os();
        }
        function Aa(Ie, Ot, Mr) {
          H(2, [Ie, Ot], Mr);
        }
        function ya(Ie, Ot) {
          H(3, [Ie], Ot);
        }
        function zt(Ie, Ot, Mr) {
          H(4, [Ie, Ot], Mr);
        }
        function Xa(Ie, Ot, Mr) {
          H(5, [Ie, Ot], Mr);
        }
        function mc(Ie, Ot) {
          H(7, [Ie], Ot);
        }
        function Nc(Ie, Ot) {
          H(6, [Ie], Ot);
        }
        function Wl(Ie, Ot) {
          H(8, [Ie], Ot);
        }
        function co(Ie, Ot) {
          H(9, [Ie], Ot);
        }
        function ge() {
          H(
            10
            /* Endfinally */
          );
        }
        function H(Ie, Ot, Mr) {
          U === void 0 && (U = [], $ = [], W = []), F === void 0 && ke(Mt());
          const Gi = U.length;
          U[Gi] = Ie, $[Gi] = Ot, W[Gi] = Mr;
        }
        function tt() {
          K = 0, V = 0, ae = void 0, se = false, ce = false, fe = void 0, he = void 0, q = void 0, be = void 0, je = void 0;
          const Ie = Ft();
          return n().createGeneratorHelper(
            un(
              t.createFunctionExpression(
                /*modifiers*/
                void 0,
                /*asteriskToken*/
                void 0,
                /*name*/
                void 0,
                /*typeParameters*/
                void 0,
                [t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  _e
                )],
                /*type*/
                void 0,
                t.createBlock(
                  Ie,
                  /*multiLine*/
                  Ie.length > 0
                )
              ),
              1048576
              /* ReuseTempVariableScope */
            )
          );
        }
        function Ft() {
          if (U) {
            for (let Ie = 0; Ie < U.length; Ie++)
              eo(Ie);
            Hr(U.length);
          } else
            Hr(0);
          if (fe) {
            const Ie = t.createPropertyAccessExpression(_e, "label"), Ot = t.createSwitchStatement(Ie, t.createCaseBlock(fe));
            return [Du(Ot)];
          }
          return he || [];
        }
        function Kt() {
          he && (ln(
            /*markLabelEnd*/
            !se
          ), se = false, ce = false, V++);
        }
        function Hr(Ie) {
          Vn(Ie) && (kr(Ie), je = void 0, Rc(
            /*expression*/
            void 0,
            /*operationLocation*/
            void 0
          )), he && fe && ln(
            /*markLabelEnd*/
            false
          ), Li();
        }
        function Vn(Ie) {
          if (!ce)
            return true;
          if (!F || !R)
            return false;
          for (let Ot = 0; Ot < F.length; Ot++)
            if (F[Ot] === Ie && R[Ot])
              return true;
          return false;
        }
        function ln(Ie) {
          if (fe || (fe = []), he) {
            if (je)
              for (let Ot = je.length - 1; Ot >= 0; Ot--) {
                const Mr = je[Ot];
                he = [t.createWithStatement(Mr.expression, t.createBlock(he))];
              }
            if (be) {
              const { startLabel: Ot, catchLabel: Mr, finallyLabel: Gi, endLabel: Ea } = be;
              he.unshift(
                t.createExpressionStatement(
                  t.createCallExpression(
                    t.createPropertyAccessExpression(t.createPropertyAccessExpression(_e, "trys"), "push"),
                    /*typeArguments*/
                    void 0,
                    [
                      t.createArrayLiteralExpression([
                        Vc(Ot),
                        Vc(Mr),
                        Vc(Gi),
                        Vc(Ea)
                      ])
                    ]
                  )
                )
              ), be = void 0;
            }
            Ie && he.push(
              t.createExpressionStatement(
                t.createAssignment(
                  t.createPropertyAccessExpression(_e, "label"),
                  t.createNumericLiteral(V + 1)
                )
              )
            );
          }
          fe.push(
            t.createCaseClause(
              t.createNumericLiteral(V),
              he || []
            )
          ), he = void 0;
        }
        function kr(Ie) {
          if (F)
            for (let Ot = 0; Ot < F.length; Ot++)
              F[Ot] === Ie && (Kt(), ae === void 0 && (ae = []), ae[V] === void 0 ? ae[V] = [Ot] : ae[V].push(Ot));
        }
        function Li() {
          if (R !== void 0 && ae !== void 0)
            for (let Ie = 0; Ie < ae.length; Ie++) {
              const Ot = ae[Ie];
              if (Ot !== void 0)
                for (const Mr of Ot) {
                  const Gi = R[Mr];
                  if (Gi !== void 0)
                    for (const Ea of Gi)
                      Ea.text = String(Ie);
                }
            }
        }
        function Yi(Ie) {
          if (D)
            for (; K < A.length && P[K] <= Ie; K++) {
              const Ot = D[K], Mr = A[K];
              switch (Ot.kind) {
                case 0:
                  Mr === 0 ? (q || (q = []), he || (he = []), q.push(be), be = Ot) : Mr === 1 && (be = q.pop());
                  break;
                case 1:
                  Mr === 0 ? (je || (je = []), je.push(Ot)) : Mr === 1 && je.pop();
                  break;
              }
            }
        }
        function eo(Ie) {
          if (kr(Ie), Yi(Ie), se)
            return;
          se = false, ce = false;
          const Ot = U[Ie];
          if (Ot === 0)
            return;
          if (Ot === 10)
            return C_();
          const Mr = $[Ie];
          if (Ot === 1)
            return ta(Mr[0]);
          const Gi = W[Ie];
          switch (Ot) {
            case 2:
              return xo(Mr[0], Mr[1], Gi);
            case 3:
              return go(Mr[0], Gi);
            case 4:
              return tc(Mr[0], Mr[1], Gi);
            case 5:
              return Ld(Mr[0], Mr[1], Gi);
            case 6:
              return ru(Mr[0], Gi);
            case 7:
              return Tf(Mr[0], Gi);
            case 8:
              return Rc(Mr[0], Gi);
            case 9:
              return qc(Mr[0], Gi);
          }
        }
        function ta(Ie) {
          Ie && (he ? he.push(Ie) : he = [Ie]);
        }
        function xo(Ie, Ot, Mr) {
          ta(ct(t.createExpressionStatement(t.createAssignment(Ie, Ot)), Mr));
        }
        function qc(Ie, Ot) {
          se = true, ce = true, ta(ct(t.createThrowStatement(Ie), Ot));
        }
        function Rc(Ie, Ot) {
          se = true, ce = true, ta(
            un(
              ct(
                t.createReturnStatement(
                  t.createArrayLiteralExpression(
                    Ie ? [To(
                      2
                      /* Return */
                    ), Ie] : [To(
                      2
                      /* Return */
                    )]
                  )
                ),
                Ot
              ),
              768
              /* NoTokenSourceMaps */
            )
          );
        }
        function go(Ie, Ot) {
          se = true, ta(
            un(
              ct(
                t.createReturnStatement(
                  t.createArrayLiteralExpression([
                    To(
                      3
                      /* Break */
                    ),
                    Vc(Ie)
                  ])
                ),
                Ot
              ),
              768
              /* NoTokenSourceMaps */
            )
          );
        }
        function tc(Ie, Ot, Mr) {
          ta(
            un(
              t.createIfStatement(
                Ot,
                un(
                  ct(
                    t.createReturnStatement(
                      t.createArrayLiteralExpression([
                        To(
                          3
                          /* Break */
                        ),
                        Vc(Ie)
                      ])
                    ),
                    Mr
                  ),
                  768
                  /* NoTokenSourceMaps */
                )
              ),
              1
              /* SingleLine */
            )
          );
        }
        function Ld(Ie, Ot, Mr) {
          ta(
            un(
              t.createIfStatement(
                t.createLogicalNot(Ot),
                un(
                  ct(
                    t.createReturnStatement(
                      t.createArrayLiteralExpression([
                        To(
                          3
                          /* Break */
                        ),
                        Vc(Ie)
                      ])
                    ),
                    Mr
                  ),
                  768
                  /* NoTokenSourceMaps */
                )
              ),
              1
              /* SingleLine */
            )
          );
        }
        function ru(Ie, Ot) {
          se = true, ta(
            un(
              ct(
                t.createReturnStatement(
                  t.createArrayLiteralExpression(
                    Ie ? [To(
                      4
                      /* Yield */
                    ), Ie] : [To(
                      4
                      /* Yield */
                    )]
                  )
                ),
                Ot
              ),
              768
              /* NoTokenSourceMaps */
            )
          );
        }
        function Tf(Ie, Ot) {
          se = true, ta(
            un(
              ct(
                t.createReturnStatement(
                  t.createArrayLiteralExpression([
                    To(
                      5
                      /* YieldStar */
                    ),
                    Ie
                  ])
                ),
                Ot
              ),
              768
              /* NoTokenSourceMaps */
            )
          );
        }
        function C_() {
          se = true, ta(
            t.createReturnStatement(
              t.createArrayLiteralExpression([
                To(
                  7
                  /* Endfinally */
                )
              ])
            )
          );
        }
      }
      function GW(e) {
        function t(ue) {
          switch (ue) {
            case 2:
              return $;
            case 3:
              return W;
            default:
              return U;
          }
        }
        const {
          factory: n,
          getEmitHelperFactory: i,
          startLexicalEnvironment: s,
          endLexicalEnvironment: o,
          hoistVariableDeclaration: c
        } = e, _ = e.getCompilerOptions(), u = e.getEmitResolver(), g = e.getEmitHost(), m = pa(_), h = Wu(_), S = e.onSubstituteNode, T = e.onEmitNode;
        e.onSubstituteNode = mt, e.onEmitNode = Le, e.enableSubstitution(
          214
          /* CallExpression */
        ), e.enableSubstitution(
          216
          /* TaggedTemplateExpression */
        ), e.enableSubstitution(
          80
          /* Identifier */
        ), e.enableSubstitution(
          227
          /* BinaryExpression */
        ), e.enableSubstitution(
          305
          /* ShorthandPropertyAssignment */
        ), e.enableEmitNotification(
          308
          /* SourceFile */
        );
        const k = [];
        let D, P, A;
        const O = [];
        let F;
        return Ad(e, R);
        function R(ue) {
          if (ue.isDeclarationFile || !(IC(ue, _) || ue.transformFlags & 8388608 || rp(ue) && U5(_) && _.outFile))
            return ue;
          D = ue, P = BW(e, ue), k[s_(ue)] = P, _.rewriteRelativeImportExtensions && pF(
            ue,
            /*includeTypeSpaceImports*/
            false,
            /*requireStringLiteralLikeArgument*/
            false,
            (Q) => {
              (!Ma(Q.arguments[0]) || z3(Q.arguments[0].text, _)) && (A = Er(A, Q));
            }
          );
          const ye = t(h)(ue);
          return D = void 0, P = void 0, F = false, ye;
        }
        function B() {
          return Og(D.fileName) && D.commonJsModuleIndicator && (!D.externalModuleIndicator || D.externalModuleIndicator === true) ? false : !!(!P.exportEquals && ll(D));
        }
        function U(ue) {
          s();
          const M = [], ye = uu(_, "alwaysStrict") || ll(D), Q = n.copyPrologue(ue.statements, M, ye && !rp(ue), se);
          if (B() && Er(M, Ae()), ot(P.exportedNames))
            for (let ke = 0; ke < P.exportedNames.length; ke += 50)
              Er(
                M,
                n.createExpressionStatement(
                  ju(
                    P.exportedNames.slice(ke, ke + 50),
                    (at, wt) => wt.kind === 11 ? n.createAssignment(n.createElementAccessExpression(n.createIdentifier("exports"), n.createStringLiteral(wt.text)), at) : n.createAssignment(n.createPropertyAccessExpression(n.createIdentifier("exports"), n.createIdentifier(An(wt))), at),
                    n.createVoidZero()
                  )
                )
              );
          for (const Mt of P.exportedFunctions)
            re(M, Mt);
          Er(M, Qe(P.externalHelpersImportDeclaration, se, Ti)), In(M, Ar(ue.statements, se, Ti, Q)), ae(
            M,
            /*emitAsReturn*/
            false
          ), Dg(M, o());
          const dt = n.updateSourceFile(ue, ct(n.createNodeArray(M), ue.statements));
          return Rg(dt, e.readEmitHelpers()), dt;
        }
        function $(ue) {
          const M = n.createIdentifier("define"), ye = VN(n, ue, g, _), Q = rp(ue) && ue, { aliasedModuleNames: dt, unaliasedModuleNames: Mt, importAliasNames: ke } = _e(
            ue,
            /*includeNonAmdDependencies*/
            true
          ), at = n.updateSourceFile(
            ue,
            ct(
              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(
                        Q ? Ge : [
                          n.createStringLiteral("require"),
                          n.createStringLiteral("exports"),
                          ...dt,
                          ...Mt
                        ]
                      ),
                      // Add the module body function argument:
                      //
                      //     function (require, exports, module1, module2) ...
                      Q ? Q.statements.length ? Q.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,
                        V(ue)
                      )
                    ]
                  )
                )
              ]),
              /*location*/
              ue.statements
            )
          );
          return Rg(at, e.readEmitHelpers()), at;
        }
        function W(ue) {
          const { aliasedModuleNames: M, unaliasedModuleNames: ye, importAliasNames: Q } = _e(
            ue,
            /*includeNonAmdDependencies*/
            false
          ), dt = VN(n, ue, g, _), Mt = 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,
            ct(
              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")
                              ]
                            )
                          )
                        ]
                      ),
                      un(
                        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).
                              ...dt ? [dt] : [],
                              n.createArrayLiteralExpression([
                                n.createStringLiteral("require"),
                                n.createStringLiteral("exports"),
                                ...M,
                                ...ye
                              ]),
                              n.createIdentifier("factory")
                            ]
                          )
                        )
                      ])
                    )
                  )
                ],
                /*multiLine*/
                true
              ),
              /*location*/
              void 0
            )
          ), ke = n.updateSourceFile(
            ue,
            ct(
              n.createNodeArray([
                n.createExpressionStatement(
                  n.createCallExpression(
                    Mt,
                    /*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"
                          ),
                          ...Q
                        ],
                        /*type*/
                        void 0,
                        V(ue)
                      )
                    ]
                  )
                )
              ]),
              /*location*/
              ue.statements
            )
          );
          return Rg(ke, e.readEmitHelpers()), ke;
        }
        function _e(ue, M) {
          const ye = [], Q = [], dt = [];
          for (const Mt of ue.amdDependencies)
            Mt.name ? (ye.push(n.createStringLiteral(Mt.path)), dt.push(n.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              Mt.name
            ))) : Q.push(n.createStringLiteral(Mt.path));
          for (const Mt of P.externalImports) {
            const ke = qx(n, Mt, D, g, u, _), at = v6(n, Mt, D);
            ke && (M && at ? (un(
              at,
              8
              /* NoSubstitution */
            ), ye.push(ke), dt.push(n.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              at
            ))) : Q.push(ke));
          }
          return { aliasedModuleNames: ye, unaliasedModuleNames: Q, importAliasNames: dt };
        }
        function K(ue) {
          if (cl(ue) || Mc(ue) || !qx(n, ue, D, g, u, _))
            return;
          const M = v6(n, ue, D), ye = fi(ue, M);
          if (ye !== M)
            return n.createExpressionStatement(n.createAssignment(M, ye));
        }
        function V(ue) {
          s();
          const M = [], ye = n.copyPrologue(
            ue.statements,
            M,
            /*ensureUseStrict*/
            true,
            se
          );
          B() && Er(M, Ae()), ot(P.exportedNames) && Er(
            M,
            n.createExpressionStatement(ju(P.exportedNames, (dt, Mt) => Mt.kind === 11 ? n.createAssignment(n.createElementAccessExpression(n.createIdentifier("exports"), n.createStringLiteral(Mt.text)), dt) : n.createAssignment(n.createPropertyAccessExpression(n.createIdentifier("exports"), n.createIdentifier(An(Mt))), dt), n.createVoidZero()))
          );
          for (const dt of P.exportedFunctions)
            re(M, dt);
          Er(M, Qe(P.externalHelpersImportDeclaration, se, Ti)), h === 2 && In(M, Fi(P.externalImports, K)), In(M, Ar(ue.statements, se, Ti, ye)), ae(
            M,
            /*emitAsReturn*/
            true
          ), Dg(M, o());
          const Q = n.createBlock(
            M,
            /*multiLine*/
            true
          );
          return F && Ax(Q, xje), Q;
        }
        function ae(ue, M) {
          if (P.exportEquals) {
            const ye = Qe(P.exportEquals.expression, he, ut);
            if (ye)
              if (M) {
                const Q = n.createReturnStatement(ye);
                ct(Q, P.exportEquals), un(
                  Q,
                  3840
                  /* NoComments */
                ), ue.push(Q);
              } else {
                const Q = n.createExpressionStatement(
                  n.createAssignment(
                    n.createPropertyAccessExpression(
                      n.createIdentifier("module"),
                      "exports"
                    ),
                    ye
                  )
                );
                ct(Q, P.exportEquals), un(
                  Q,
                  3072
                  /* NoComments */
                ), ue.push(Q);
              }
          }
        }
        function se(ue) {
          switch (ue.kind) {
            case 273:
              return pn(ue);
            case 272:
              return Je(ue);
            case 279:
              return ft(ue);
            case 278:
              return er(ue);
            default:
              return ce(ue);
          }
        }
        function ce(ue) {
          switch (ue.kind) {
            case 244:
              return Un(ue);
            case 263:
              return qr(ue);
            case 264:
              return Jn(ue);
            case 249:
              return me(
                ue,
                /*isTopLevel*/
                true
              );
            case 250:
              return Z(ue);
            case 251:
              return pe(ue);
            case 247:
              return Te(ue);
            case 248:
              return Fe(ue);
            case 257:
              return Ye(ue);
            case 255:
              return ne(ue);
            case 246:
              return Se(ue);
            case 256:
              return ie(ue);
            case 270:
              return Ne(ue);
            case 297:
              return Ee(ue);
            case 298:
              return Ce(ue);
            case 259:
              return Ve(ue);
            case 300:
              return St(ue);
            case 242:
              return Bt(ue);
            default:
              return he(ue);
          }
        }
        function fe(ue, M) {
          if (!(ue.transformFlags & 276828160) && !A?.length)
            return ue;
          switch (ue.kind) {
            case 249:
              return me(
                ue,
                /*isTopLevel*/
                false
              );
            case 245:
              return tr(ue);
            case 218:
              return Nr(ue, M);
            case 356:
              return st(ue, M);
            case 214:
              const ye = ue === $c(A);
              if (ye && A.shift(), y_(ue) && g.shouldTransformImportCall(D))
                return ui(ue, ye);
              if (ye)
                return Jr(ue);
              break;
            case 227:
              if (p0(ue))
                return je(ue, M);
              break;
            case 225:
            case 226:
              return Wt(ue, M);
          }
          return br(ue, he, e);
        }
        function he(ue) {
          return fe(
            ue,
            /*valueIsDiscarded*/
            false
          );
        }
        function q(ue) {
          return fe(
            ue,
            /*valueIsDiscarded*/
            true
          );
        }
        function be(ue) {
          if (ua(ue))
            for (const M of ue.properties)
              switch (M.kind) {
                case 304:
                  if (be(M.initializer))
                    return true;
                  break;
                case 305:
                  if (be(M.name))
                    return true;
                  break;
                case 306:
                  if (be(M.expression))
                    return true;
                  break;
                case 175:
                case 178:
                case 179:
                  return false;
                default:
                  E.assertNever(M, "Unhandled object member kind");
              }
          else if (Kl(ue)) {
            for (const M of ue.elements)
              if (up(M)) {
                if (be(M.expression))
                  return true;
              } else if (be(M))
                return true;
          } else if (Me(ue))
            return wr(yt(ue)) > (RF(ue) ? 1 : 0);
          return false;
        }
        function je(ue, M) {
          return be(ue.left) ? IS(ue, he, e, 0, !M, ki) : br(ue, he, e);
        }
        function me(ue, M) {
          if (M && ue.initializer && Bl(ue.initializer) && !(ue.initializer.flags & 7)) {
            const ye = Xe(
              /*statements*/
              void 0,
              ue.initializer,
              /*isForInOrOfInitializer*/
              false
            );
            if (ye) {
              const Q = [], dt = Qe(ue.initializer, q, Bl), Mt = n.createVariableStatement(
                /*modifiers*/
                void 0,
                dt
              );
              Q.push(Mt), In(Q, ye);
              const ke = Qe(ue.condition, he, ut), at = Qe(ue.incrementor, q, ut), wt = i_(ue.statement, M ? ce : he, e);
              return Q.push(n.updateForStatement(
                ue,
                /*initializer*/
                void 0,
                ke,
                at,
                wt
              )), Q;
            }
          }
          return n.updateForStatement(
            ue,
            Qe(ue.initializer, q, ep),
            Qe(ue.condition, he, ut),
            Qe(ue.incrementor, q, ut),
            i_(ue.statement, M ? ce : he, e)
          );
        }
        function Z(ue) {
          if (Bl(ue.initializer) && !(ue.initializer.flags & 7)) {
            const M = Xe(
              /*statements*/
              void 0,
              ue.initializer,
              /*isForInOrOfInitializer*/
              true
            );
            if (ot(M)) {
              const ye = Qe(ue.initializer, q, ep), Q = Qe(ue.expression, he, ut), dt = i_(ue.statement, ce, e), Mt = Ps(dt) ? n.updateBlock(dt, [...M, ...dt.statements]) : n.createBlock(
                [...M, dt],
                /*multiLine*/
                true
              );
              return n.updateForInStatement(ue, ye, Q, Mt);
            }
          }
          return n.updateForInStatement(
            ue,
            Qe(ue.initializer, q, ep),
            Qe(ue.expression, he, ut),
            i_(ue.statement, ce, e)
          );
        }
        function pe(ue) {
          if (Bl(ue.initializer) && !(ue.initializer.flags & 7)) {
            const M = Xe(
              /*statements*/
              void 0,
              ue.initializer,
              /*isForInOrOfInitializer*/
              true
            ), ye = Qe(ue.initializer, q, ep), Q = Qe(ue.expression, he, ut);
            let dt = i_(ue.statement, ce, e);
            return ot(M) && (dt = Ps(dt) ? n.updateBlock(dt, [...M, ...dt.statements]) : n.createBlock(
              [...M, dt],
              /*multiLine*/
              true
            )), n.updateForOfStatement(ue, ue.awaitModifier, ye, Q, dt);
          }
          return n.updateForOfStatement(
            ue,
            ue.awaitModifier,
            Qe(ue.initializer, q, ep),
            Qe(ue.expression, he, ut),
            i_(ue.statement, ce, e)
          );
        }
        function Te(ue) {
          return n.updateDoStatement(
            ue,
            i_(ue.statement, ce, e),
            Qe(ue.expression, he, ut)
          );
        }
        function Fe(ue) {
          return n.updateWhileStatement(
            ue,
            Qe(ue.expression, he, ut),
            i_(ue.statement, ce, e)
          );
        }
        function Ye(ue) {
          return n.updateLabeledStatement(
            ue,
            ue.label,
            Qe(ue.statement, ce, Ti, n.liftToBlock) ?? ct(n.createEmptyStatement(), ue.statement)
          );
        }
        function ne(ue) {
          return n.updateWithStatement(
            ue,
            Qe(ue.expression, he, ut),
            E.checkDefined(Qe(ue.statement, ce, Ti, n.liftToBlock))
          );
        }
        function Se(ue) {
          return n.updateIfStatement(
            ue,
            Qe(ue.expression, he, ut),
            Qe(ue.thenStatement, ce, Ti, n.liftToBlock) ?? n.createBlock([]),
            Qe(ue.elseStatement, ce, Ti, n.liftToBlock)
          );
        }
        function ie(ue) {
          return n.updateSwitchStatement(
            ue,
            Qe(ue.expression, he, ut),
            E.checkDefined(Qe(ue.caseBlock, ce, AD))
          );
        }
        function Ne(ue) {
          return n.updateCaseBlock(
            ue,
            Ar(ue.clauses, ce, A7)
          );
        }
        function Ee(ue) {
          return n.updateCaseClause(
            ue,
            Qe(ue.expression, he, ut),
            Ar(ue.statements, ce, Ti)
          );
        }
        function Ce(ue) {
          return br(ue, ce, e);
        }
        function Ve(ue) {
          return br(ue, ce, e);
        }
        function St(ue) {
          return n.updateCatchClause(
            ue,
            ue.variableDeclaration,
            E.checkDefined(Qe(ue.block, ce, Ps))
          );
        }
        function Bt(ue) {
          return ue = br(ue, ce, e), ue;
        }
        function tr(ue) {
          return n.updateExpressionStatement(
            ue,
            Qe(ue.expression, q, ut)
          );
        }
        function Nr(ue, M) {
          return n.updateParenthesizedExpression(ue, Qe(ue.expression, M ? q : he, ut));
        }
        function st(ue, M) {
          return n.updatePartiallyEmittedExpression(ue, Qe(ue.expression, M ? q : he, ut));
        }
        function Wt(ue, M) {
          if ((ue.operator === 46 || ue.operator === 47) && Me(ue.operand) && !Mo(ue.operand) && !Ch(ue.operand) && !fJ(ue.operand)) {
            const ye = yt(ue.operand);
            if (ye) {
              let Q, dt = Qe(ue.operand, he, ut);
              K1(ue) ? dt = n.updatePrefixUnaryExpression(ue, dt) : (dt = n.updatePostfixUnaryExpression(ue, dt), M || (Q = n.createTempVariable(c), dt = n.createAssignment(Q, dt), ct(dt, ue)), dt = n.createComma(dt, n.cloneNode(ue.operand)), ct(dt, ue));
              for (const Mt of ye)
                O[Oa(dt)] = true, dt = Ke(Mt, dt), ct(dt, ue);
              return Q && (O[Oa(dt)] = true, dt = n.createComma(dt, Q), ct(dt, ue)), dt;
            }
          }
          return br(ue, he, e);
        }
        function Jr(ue) {
          return n.updateCallExpression(
            ue,
            ue.expression,
            /*typeArguments*/
            void 0,
            Ar(ue.arguments, (M) => M === ue.arguments[0] ? Ma(M) ? Zx(M, _) : i().createRewriteRelativeImportExtensionsHelper(M) : he(M), ut)
          );
        }
        function ui(ue, M) {
          if (h === 0 && m >= 7)
            return br(ue, he, e);
          const ye = qx(n, ue, D, g, u, _), Q = Qe($c(ue.arguments), he, ut), dt = ye && (!Q || !oa(Q) || Q.text !== ye.text) ? ye : Q && M ? oa(Q) ? Zx(Q, _) : i().createRewriteRelativeImportExtensionsHelper(Q) : Q, Mt = !!(ue.transformFlags & 16384);
          switch (_.module) {
            case 2:
              return Dt(dt, Mt);
            case 3:
              return Ji(dt ?? n.createVoidZero(), Mt);
            case 1:
            default:
              return Mn(dt);
          }
        }
        function Ji(ue, M) {
          if (F = true, Qb(ue)) {
            const ye = Mo(ue) ? ue : oa(ue) ? n.createStringLiteralFromNode(ue) : un(
              ct(n.cloneNode(ue), ue),
              3072
              /* NoComments */
            );
            return n.createConditionalExpression(
              /*condition*/
              n.createIdentifier("__syncRequire"),
              /*questionToken*/
              void 0,
              /*whenTrue*/
              Mn(ue),
              /*colonToken*/
              void 0,
              /*whenFalse*/
              Dt(ye, M)
            );
          } else {
            const ye = n.createTempVariable(c);
            return n.createComma(
              n.createAssignment(ye, ue),
              n.createConditionalExpression(
                /*condition*/
                n.createIdentifier("__syncRequire"),
                /*questionToken*/
                void 0,
                /*whenTrue*/
                Mn(
                  ye,
                  /*isInlineable*/
                  true
                ),
                /*colonToken*/
                void 0,
                /*whenFalse*/
                Dt(ye, M)
              )
            );
          }
        }
        function Dt(ue, M) {
          const ye = n.createUniqueName("resolve"), Q = n.createUniqueName("reject"), dt = [
            n.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              /*name*/
              ye
            ),
            n.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              /*name*/
              Q
            )
          ], Mt = n.createBlock([
            n.createExpressionStatement(
              n.createCallExpression(
                n.createIdentifier("require"),
                /*typeArguments*/
                void 0,
                [n.createArrayLiteralExpression([ue || n.createOmittedExpression()]), ye, Q]
              )
            )
          ]);
          let ke;
          m >= 2 ? ke = n.createArrowFunction(
            /*modifiers*/
            void 0,
            /*typeParameters*/
            void 0,
            dt,
            /*type*/
            void 0,
            /*equalsGreaterThanToken*/
            void 0,
            Mt
          ) : (ke = n.createFunctionExpression(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            dt,
            /*type*/
            void 0,
            Mt
          ), M && un(
            ke,
            16
            /* CapturesThis */
          ));
          const at = n.createNewExpression(
            n.createIdentifier("Promise"),
            /*typeArguments*/
            void 0,
            [ke]
          );
          return _m(_) ? n.createCallExpression(
            n.createPropertyAccessExpression(at, n.createIdentifier("then")),
            /*typeArguments*/
            void 0,
            [i().createImportStarCallbackHelper()]
          ) : at;
        }
        function Mn(ue, M) {
          const ye = ue && !Zm(ue) && !M, Q = n.createCallExpression(
            n.createPropertyAccessExpression(n.createIdentifier("Promise"), "resolve"),
            /*typeArguments*/
            void 0,
            /*argumentsArray*/
            ye ? m >= 2 ? [
              n.createTemplateExpression(n.createTemplateHead(""), [
                n.createTemplateSpan(ue, n.createTemplateTail(""))
              ])
            ] : [
              n.createCallExpression(
                n.createPropertyAccessExpression(n.createStringLiteral(""), "concat"),
                /*typeArguments*/
                void 0,
                [ue]
              )
            ] : []
          );
          let dt = n.createCallExpression(
            n.createIdentifier("require"),
            /*typeArguments*/
            void 0,
            ye ? [n.createIdentifier("s")] : ue ? [ue] : []
          );
          _m(_) && (dt = i().createImportStarHelper(dt));
          const Mt = 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*/
            Mt,
            /*type*/
            void 0,
            /*equalsGreaterThanToken*/
            void 0,
            dt
          ) : ke = n.createFunctionExpression(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            /*parameters*/
            Mt,
            /*type*/
            void 0,
            n.createBlock([n.createReturnStatement(dt)])
          ), n.createCallExpression(
            n.createPropertyAccessExpression(Q, "then"),
            /*typeArguments*/
            void 0,
            [ke]
          );
        }
        function ai(ue, M) {
          return !_m(_) || td(ue) & 2 ? M : Ane(ue) ? i().createImportStarHelper(M) : M;
        }
        function fi(ue, M) {
          return !_m(_) || td(ue) & 2 ? M : SO(ue) ? i().createImportStarHelper(M) : jW(ue) ? i().createImportDefaultHelper(M) : M;
        }
        function pn(ue) {
          let M;
          const ye = JC(ue);
          if (h !== 2)
            if (ue.importClause) {
              const Q = [];
              ye && !sS(ue) ? Q.push(
                n.createVariableDeclaration(
                  n.cloneNode(ye.name),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  fi(ue, _i(ue))
                )
              ) : (Q.push(
                n.createVariableDeclaration(
                  n.getGeneratedNameForNode(ue),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  fi(ue, _i(ue))
                )
              ), ye && sS(ue) && Q.push(
                n.createVariableDeclaration(
                  n.cloneNode(ye.name),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  n.getGeneratedNameForNode(ue)
                )
              )), M = Er(
                M,
                Cn(
                  ct(
                    n.createVariableStatement(
                      /*modifiers*/
                      void 0,
                      n.createVariableDeclarationList(
                        Q,
                        m >= 2 ? 2 : 0
                        /* None */
                      )
                    ),
                    /*location*/
                    ue
                  ),
                  /*original*/
                  ue
                )
              );
            } else
              return Cn(ct(n.createExpressionStatement(_i(ue)), ue), ue);
          else ye && sS(ue) && (M = Er(
            M,
            n.createVariableStatement(
              /*modifiers*/
              void 0,
              n.createVariableDeclarationList(
                [
                  Cn(
                    ct(
                      n.createVariableDeclaration(
                        n.cloneNode(ye.name),
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        n.getGeneratedNameForNode(ue)
                      ),
                      /*location*/
                      ue
                    ),
                    /*original*/
                    ue
                  )
                ],
                m >= 2 ? 2 : 0
                /* None */
              )
            )
          ));
          return M = Zs(M, ue), jm(M);
        }
        function _i(ue) {
          const M = qx(n, ue, D, g, u, _), ye = [];
          return M && ye.push(Zx(M, _)), n.createCallExpression(
            n.createIdentifier("require"),
            /*typeArguments*/
            void 0,
            ye
          );
        }
        function Je(ue) {
          E.assert(z1(ue), "import= for internal module references should be handled in an earlier transformer.");
          let M;
          return h !== 2 ? Gn(
            ue,
            32
            /* Export */
          ) ? M = Er(
            M,
            Cn(
              ct(
                n.createExpressionStatement(
                  Ke(
                    ue.name,
                    _i(ue)
                  )
                ),
                ue
              ),
              ue
            )
          ) : M = Er(
            M,
            Cn(
              ct(
                n.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  n.createVariableDeclarationList(
                    [
                      n.createVariableDeclaration(
                        n.cloneNode(ue.name),
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        _i(ue)
                      )
                    ],
                    /*flags*/
                    m >= 2 ? 2 : 0
                    /* None */
                  )
                ),
                ue
              ),
              ue
            )
          ) : Gn(
            ue,
            32
            /* Export */
          ) && (M = Er(
            M,
            Cn(
              ct(
                n.createExpressionStatement(
                  Ke(n.getExportName(ue), n.getLocalName(ue))
                ),
                ue
              ),
              ue
            )
          )), M = yr(M, ue), jm(M);
        }
        function ft(ue) {
          if (!ue.moduleSpecifier)
            return;
          const M = n.getGeneratedNameForNode(ue);
          if (ue.exportClause && _p(ue.exportClause)) {
            const ye = [];
            h !== 2 && ye.push(
              Cn(
                ct(
                  n.createVariableStatement(
                    /*modifiers*/
                    void 0,
                    n.createVariableDeclarationList([
                      n.createVariableDeclaration(
                        M,
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        _i(ue)
                      )
                    ])
                  ),
                  /*location*/
                  ue
                ),
                /* original */
                ue
              )
            );
            for (const Q of ue.exportClause.elements) {
              const dt = Q.propertyName || Q.name, ke = !!_m(_) && !(td(ue) & 2) && Um(dt) ? i().createImportDefaultHelper(M) : M, at = dt.kind === 11 ? n.createElementAccessExpression(ke, dt) : n.createPropertyAccessExpression(ke, dt);
              ye.push(
                Cn(
                  ct(
                    n.createExpressionStatement(
                      Ke(
                        Q.name.kind === 11 ? n.cloneNode(Q.name) : n.getExportName(Q),
                        at,
                        /*location*/
                        void 0,
                        /*liveBinding*/
                        true
                      )
                    ),
                    Q
                  ),
                  Q
                )
              );
            }
            return jm(ye);
          } else if (ue.exportClause) {
            const ye = [];
            return ye.push(
              Cn(
                ct(
                  n.createExpressionStatement(
                    Ke(
                      n.cloneNode(ue.exportClause.name),
                      ai(
                        ue,
                        h !== 2 ? _i(ue) : U7(ue) || ue.exportClause.name.kind === 11 ? M : n.createIdentifier(An(ue.exportClause.name))
                      )
                    )
                  ),
                  ue
                ),
                ue
              )
            ), jm(ye);
          } else
            return Cn(
              ct(
                n.createExpressionStatement(
                  i().createExportStarHelper(h !== 2 ? _i(ue) : M)
                ),
                ue
              ),
              ue
            );
        }
        function er(ue) {
          if (!ue.isExportEquals)
            return $e(
              n.createIdentifier("default"),
              Qe(ue.expression, he, ut),
              /*location*/
              ue,
              /*allowComments*/
              true
            );
        }
        function qr(ue) {
          let M;
          return Gn(
            ue,
            32
            /* Export */
          ) ? M = Er(
            M,
            Cn(
              ct(
                n.createFunctionDeclaration(
                  Ar(ue.modifiers, Tt, Ys),
                  ue.asteriskToken,
                  n.getDeclarationName(
                    ue,
                    /*allowComments*/
                    true,
                    /*allowSourceMaps*/
                    true
                  ),
                  /*typeParameters*/
                  void 0,
                  Ar(ue.parameters, he, Ii),
                  /*type*/
                  void 0,
                  br(ue.body, he, e)
                ),
                /*location*/
                ue
              ),
              /*original*/
              ue
            )
          ) : M = Er(M, br(ue, he, e)), jm(M);
        }
        function Jn(ue) {
          let M;
          return Gn(
            ue,
            32
            /* Export */
          ) ? M = Er(
            M,
            Cn(
              ct(
                n.createClassDeclaration(
                  Ar(ue.modifiers, Tt, Ro),
                  n.getDeclarationName(
                    ue,
                    /*allowComments*/
                    true,
                    /*allowSourceMaps*/
                    true
                  ),
                  /*typeParameters*/
                  void 0,
                  Ar(ue.heritageClauses, he, nf),
                  Ar(ue.members, he, Uc)
                ),
                ue
              ),
              ue
            )
          ) : M = Er(M, br(ue, he, e)), M = re(M, ue), jm(M);
        }
        function Un(ue) {
          let M, ye, Q;
          if (Gn(
            ue,
            32
            /* Export */
          )) {
            let dt, Mt = false;
            for (const ke of ue.declarationList.declarations)
              if (Me(ke.name) && Ch(ke.name))
                if (dt || (dt = Ar(ue.modifiers, Tt, Ys)), ke.initializer) {
                  const at = n.updateVariableDeclaration(
                    ke,
                    ke.name,
                    /*exclamationToken*/
                    void 0,
                    /*type*/
                    void 0,
                    Ke(
                      ke.name,
                      Qe(ke.initializer, he, ut)
                    )
                  );
                  ye = Er(ye, at);
                } else
                  ye = Er(ye, ke);
              else if (ke.initializer)
                if (!Ds(ke.name) && (bo(ke.initializer) || mo(ke.initializer) || Oc(ke.initializer))) {
                  const at = n.createAssignment(
                    ct(
                      n.createPropertyAccessExpression(
                        n.createIdentifier("exports"),
                        ke.name
                      ),
                      /*location*/
                      ke.name
                    ),
                    n.createIdentifier(np(ke.name))
                  ), wt = n.createVariableDeclaration(
                    ke.name,
                    ke.exclamationToken,
                    ke.type,
                    Qe(ke.initializer, he, ut)
                  );
                  ye = Er(ye, wt), Q = Er(Q, at), Mt = true;
                } else
                  Q = Er(Q, Es(ke));
            if (ye && (M = Er(M, n.updateVariableStatement(ue, dt, n.updateVariableDeclarationList(ue.declarationList, ye)))), Q) {
              const ke = Cn(ct(n.createExpressionStatement(n.inlineExpressions(Q)), ue), ue);
              Mt && PN(ke), M = Er(M, ke);
            }
          } else
            M = Er(M, br(ue, he, e));
          return M = vs(M, ue), jm(M);
        }
        function ki(ue, M, ye) {
          const Q = yt(ue);
          if (Q) {
            let dt = RF(ue) ? M : n.createAssignment(ue, M);
            for (const Mt of Q)
              un(
                dt,
                8
                /* NoSubstitution */
              ), dt = Ke(
                Mt,
                dt,
                /*location*/
                ye
              );
            return dt;
          }
          return n.createAssignment(ue, M);
        }
        function Es(ue) {
          return Ds(ue.name) ? IS(
            Qe(ue, he, cN),
            he,
            e,
            0,
            /*needsValue*/
            false,
            ki
          ) : n.createAssignment(
            ct(
              n.createPropertyAccessExpression(
                n.createIdentifier("exports"),
                ue.name
              ),
              /*location*/
              ue.name
            ),
            ue.initializer ? Qe(ue.initializer, he, ut) : n.createVoidZero()
          );
        }
        function Zs(ue, M) {
          if (P.exportEquals)
            return ue;
          const ye = M.importClause;
          if (!ye)
            return ue;
          const Q = new N6();
          ye.name && (ue = it(ue, Q, ye));
          const dt = ye.namedBindings;
          if (dt)
            switch (dt.kind) {
              case 275:
                ue = it(ue, Q, dt);
                break;
              case 276:
                for (const Mt of dt.elements)
                  ue = it(
                    ue,
                    Q,
                    Mt,
                    /*liveBinding*/
                    true
                  );
                break;
            }
          return ue;
        }
        function yr(ue, M) {
          return P.exportEquals ? ue : it(ue, new N6(), M);
        }
        function vs(ue, M) {
          return Xe(
            ue,
            M.declarationList,
            /*isForInOrOfInitializer*/
            false
          );
        }
        function Xe(ue, M, ye) {
          if (P.exportEquals)
            return ue;
          for (const Q of M.declarations)
            ue = Et(ue, Q, ye);
          return ue;
        }
        function Et(ue, M, ye) {
          if (P.exportEquals)
            return ue;
          if (Ds(M.name))
            for (const Q of M.name.elements)
              gl(Q) || (ue = Et(ue, Q, ye));
          else !Mo(M.name) && (!ei(M) || M.initializer || ye) && (ue = it(ue, new N6(), M));
          return ue;
        }
        function re(ue, M) {
          if (P.exportEquals)
            return ue;
          const ye = new N6();
          if (Gn(
            M,
            32
            /* Export */
          )) {
            const Q = Gn(
              M,
              2048
              /* Default */
            ) ? n.createIdentifier("default") : n.getDeclarationName(M);
            ue = Y(
              ue,
              ye,
              Q,
              n.getLocalName(M),
              /*location*/
              M
            );
          }
          return M.name && (ue = it(ue, ye, M)), ue;
        }
        function it(ue, M, ye, Q) {
          const dt = n.getDeclarationName(ye), Mt = P.exportSpecifiers.get(dt);
          if (Mt)
            for (const ke of Mt)
              ue = Y(
                ue,
                M,
                ke.name,
                dt,
                /*location*/
                ke.name,
                /*allowComments*/
                void 0,
                Q
              );
          return ue;
        }
        function Y(ue, M, ye, Q, dt, Mt, ke) {
          if (ye.kind !== 11) {
            if (M.has(ye))
              return ue;
            M.set(ye, true);
          }
          return ue = Er(ue, $e(ye, Q, dt, Mt, ke)), ue;
        }
        function Ae() {
          const ue = 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 un(
            ue,
            2097152
            /* CustomPrologue */
          ), ue;
        }
        function $e(ue, M, ye, Q, dt) {
          const Mt = ct(n.createExpressionStatement(Ke(
            ue,
            M,
            /*location*/
            void 0,
            dt
          )), ye);
          return Du(Mt), Q || un(
            Mt,
            3072
            /* NoComments */
          ), Mt;
        }
        function Ke(ue, M, ye, Q) {
          return ct(
            Q ? n.createCallExpression(
              n.createPropertyAccessExpression(
                n.createIdentifier("Object"),
                "defineProperty"
              ),
              /*typeArguments*/
              void 0,
              [
                n.createIdentifier("exports"),
                n.createStringLiteralFromNode(ue),
                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(
              ue.kind === 11 ? n.createElementAccessExpression(
                n.createIdentifier("exports"),
                n.cloneNode(ue)
              ) : n.createPropertyAccessExpression(
                n.createIdentifier("exports"),
                n.cloneNode(ue)
              ),
              M
            ),
            ye
          );
        }
        function Tt(ue) {
          switch (ue.kind) {
            case 95:
            case 90:
              return;
          }
          return ue;
        }
        function Le(ue, M, ye) {
          M.kind === 308 ? (D = M, P = k[s_(D)], T(ue, M, ye), D = void 0, P = void 0) : T(ue, M, ye);
        }
        function mt(ue, M) {
          return M = S(ue, M), M.id && O[M.id] ? M : ue === 1 ? Ct(M) : fu(M) ? pt(M) : M;
        }
        function pt(ue) {
          const M = ue.name, ye = rn(M);
          if (ye !== M) {
            if (ue.objectAssignmentInitializer) {
              const Q = n.createAssignment(ye, ue.objectAssignmentInitializer);
              return ct(n.createPropertyAssignment(M, Q), ue);
            }
            return ct(n.createPropertyAssignment(M, ye), ue);
          }
          return ue;
        }
        function Ct(ue) {
          switch (ue.kind) {
            case 80:
              return rn(ue);
            case 214:
              return qe(ue);
            case 216:
              return Lt(ue);
            case 227:
              return Pe(ue);
          }
          return ue;
        }
        function qe(ue) {
          if (Me(ue.expression)) {
            const M = rn(ue.expression);
            if (O[Oa(M)] = true, !Me(M) && !(Ca(ue.expression) & 8192))
              return pS(
                n.updateCallExpression(
                  ue,
                  M,
                  /*typeArguments*/
                  void 0,
                  ue.arguments
                ),
                16
                /* IndirectCall */
              );
          }
          return ue;
        }
        function Lt(ue) {
          if (Me(ue.tag)) {
            const M = rn(ue.tag);
            if (O[Oa(M)] = true, !Me(M) && !(Ca(ue.tag) & 8192))
              return pS(
                n.updateTaggedTemplateExpression(
                  ue,
                  M,
                  /*typeArguments*/
                  void 0,
                  ue.template
                ),
                16
                /* IndirectCall */
              );
          }
          return ue;
        }
        function rn(ue) {
          var M, ye;
          if (Ca(ue) & 8192) {
            const Q = UN(D);
            return Q ? n.createPropertyAccessExpression(Q, ue) : ue;
          } else if (!(Mo(ue) && !(ue.emitNode.autoGenerate.flags & 64)) && !Ch(ue)) {
            const Q = u.getReferencedExportContainer(ue, RF(ue));
            if (Q && Q.kind === 308)
              return ct(
                n.createPropertyAccessExpression(
                  n.createIdentifier("exports"),
                  n.cloneNode(ue)
                ),
                /*location*/
                ue
              );
            const dt = u.getReferencedImportDeclaration(ue);
            if (dt) {
              if (sd(dt))
                return ct(
                  n.createPropertyAccessExpression(
                    n.getGeneratedNameForNode(dt.parent),
                    n.createIdentifier("default")
                  ),
                  /*location*/
                  ue
                );
              if (qu(dt)) {
                const Mt = dt.propertyName || dt.name, ke = n.getGeneratedNameForNode(((ye = (M = dt.parent) == null ? void 0 : M.parent) == null ? void 0 : ye.parent) || dt);
                return ct(
                  Mt.kind === 11 ? n.createElementAccessExpression(ke, n.cloneNode(Mt)) : n.createPropertyAccessExpression(ke, n.cloneNode(Mt)),
                  /*location*/
                  ue
                );
              }
            }
          }
          return ue;
        }
        function Pe(ue) {
          if (vh(ue.operatorToken.kind) && Me(ue.left) && (!Mo(ue.left) || i3(ue.left)) && !Ch(ue.left)) {
            const M = yt(ue.left);
            if (M) {
              let ye = ue;
              for (const Q of M)
                O[Oa(ye)] = true, ye = Ke(
                  Q,
                  ye,
                  /*location*/
                  ue
                );
              return ye;
            }
          }
          return ue;
        }
        function yt(ue) {
          if (Mo(ue)) {
            if (i3(ue)) {
              const M = P?.exportSpecifiers.get(ue);
              if (M) {
                const ye = [];
                for (const Q of M)
                  ye.push(Q.name);
                return ye;
              }
            }
          } else {
            const M = u.getReferencedImportDeclaration(ue);
            if (M)
              return P?.exportedBindings[s_(M)];
            const ye = /* @__PURE__ */ new Set(), Q = u.getReferencedValueDeclarations(ue);
            if (Q) {
              for (const dt of Q) {
                const Mt = P?.exportedBindings[s_(dt)];
                if (Mt)
                  for (const ke of Mt)
                    ye.add(ke);
              }
              if (ye.size)
                return ns(ye);
            }
          }
        }
      }
      var xje = {
        name: "typescript:dynamicimport-sync-require",
        scoped: true,
        text: `
            var __syncRequire = typeof module === "object" && typeof module.exports === "object";`
      };
      function aie(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 = Ae, e.onEmitNode = Y, e.enableSubstitution(
          80
          /* Identifier */
        ), e.enableSubstitution(
          305
          /* ShorthandPropertyAssignment */
        ), e.enableSubstitution(
          227
          /* BinaryExpression */
        ), e.enableSubstitution(
          237
          /* MetaProperty */
        ), e.enableEmitNotification(
          308
          /* SourceFile */
        );
        const m = [], h = [], S = [], T = [];
        let k, D, P, A, O, F, R;
        return Ad(e, B);
        function B(Pe) {
          if (Pe.isDeclarationFile || !(IC(Pe, o) || Pe.transformFlags & 8388608))
            return Pe;
          const yt = s_(Pe);
          k = Pe, F = Pe, D = m[yt] = BW(e, Pe), P = t.createUniqueName("exports"), h[yt] = P, A = T[yt] = t.createUniqueName("context");
          const ue = U(D.externalImports), M = $(Pe, ue), ye = t.createFunctionExpression(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            /*name*/
            void 0,
            /*typeParameters*/
            void 0,
            [
              t.createParameterDeclaration(
                /*modifiers*/
                void 0,
                /*dotDotDotToken*/
                void 0,
                P
              ),
              t.createParameterDeclaration(
                /*modifiers*/
                void 0,
                /*dotDotDotToken*/
                void 0,
                A
              )
            ],
            /*type*/
            void 0,
            M
          ), Q = VN(t, Pe, _, o), dt = t.createArrayLiteralExpression(hr(ue, (ke) => ke.name)), Mt = un(
            t.updateSourceFile(
              Pe,
              ct(
                t.createNodeArray([
                  t.createExpressionStatement(
                    t.createCallExpression(
                      t.createPropertyAccessExpression(t.createIdentifier("System"), "register"),
                      /*typeArguments*/
                      void 0,
                      Q ? [Q, dt, ye] : [dt, ye]
                    )
                  )
                ]),
                Pe.statements
              )
            ),
            2048
            /* NoTrailingComments */
          );
          return o.outFile || hte(Mt, M, (ke) => !ke.scoped), R && (S[yt] = R, R = void 0), k = void 0, D = void 0, P = void 0, A = void 0, O = void 0, F = void 0, Mt;
        }
        function U(Pe) {
          const yt = /* @__PURE__ */ new Map(), ue = [];
          for (const M of Pe) {
            const ye = qx(t, M, k, _, c, o);
            if (ye) {
              const Q = ye.text, dt = yt.get(Q);
              dt !== void 0 ? ue[dt].externalImports.push(M) : (yt.set(Q, ue.length), ue.push({
                name: ye,
                externalImports: [M]
              }));
            }
          }
          return ue;
        }
        function $(Pe, yt) {
          const ue = [];
          n();
          const M = uu(o, "alwaysStrict") || ll(k), ye = t.copyPrologue(Pe.statements, ue, M, V);
          ue.push(
            t.createVariableStatement(
              /*modifiers*/
              void 0,
              t.createVariableDeclarationList([
                t.createVariableDeclaration(
                  "__moduleName",
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  t.createLogicalAnd(
                    A,
                    t.createPropertyAccessExpression(A, "id")
                  )
                )
              ])
            )
          ), Qe(D.externalHelpersImportDeclaration, V, Ti);
          const Q = Ar(Pe.statements, V, Ti, ye);
          In(ue, O), Dg(ue, i());
          const dt = W(ue), Mt = Pe.transformFlags & 2097152 ? t.createModifiersFromModifierFlags(
            1024
            /* Async */
          ) : void 0, ke = t.createObjectLiteralExpression(
            [
              t.createPropertyAssignment("setters", K(dt, yt)),
              t.createPropertyAssignment(
                "execute",
                t.createFunctionExpression(
                  Mt,
                  /*asteriskToken*/
                  void 0,
                  /*name*/
                  void 0,
                  /*typeParameters*/
                  void 0,
                  /*parameters*/
                  [],
                  /*type*/
                  void 0,
                  t.createBlock(
                    Q,
                    /*multiLine*/
                    true
                  )
                )
              )
            ],
            /*multiLine*/
            true
          );
          return ue.push(t.createReturnStatement(ke)), t.createBlock(
            ue,
            /*multiLine*/
            true
          );
        }
        function W(Pe) {
          if (!D.hasExportStarsToExportValues)
            return;
          if (!ot(D.exportedNames) && D.exportedFunctions.size === 0 && D.exportSpecifiers.size === 0) {
            let ye = false;
            for (const Q of D.externalImports)
              if (Q.kind === 279 && Q.exportClause) {
                ye = true;
                break;
              }
            if (!ye) {
              const Q = _e(
                /*localNames*/
                void 0
              );
              return Pe.push(Q), Q.name;
            }
          }
          const yt = [];
          if (D.exportedNames)
            for (const ye of D.exportedNames)
              Um(ye) || yt.push(
                t.createPropertyAssignment(
                  t.createStringLiteralFromNode(ye),
                  t.createTrue()
                )
              );
          for (const ye of D.exportedFunctions)
            Gn(
              ye,
              2048
              /* Default */
            ) || (E.assert(!!ye.name), yt.push(
              t.createPropertyAssignment(
                t.createStringLiteralFromNode(ye.name),
                t.createTrue()
              )
            ));
          const ue = t.createUniqueName("exportedNames");
          Pe.push(
            t.createVariableStatement(
              /*modifiers*/
              void 0,
              t.createVariableDeclarationList([
                t.createVariableDeclaration(
                  ue,
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  t.createObjectLiteralExpression(
                    yt,
                    /*multiLine*/
                    true
                  )
                )
              ])
            )
          );
          const M = _e(ue);
          return Pe.push(M), M.name;
        }
        function _e(Pe) {
          const yt = t.createUniqueName("exportStar"), ue = t.createIdentifier("m"), M = t.createIdentifier("n"), ye = t.createIdentifier("exports");
          let Q = t.createStrictInequality(M, t.createStringLiteral("default"));
          return Pe && (Q = t.createLogicalAnd(
            Q,
            t.createLogicalNot(
              t.createCallExpression(
                t.createPropertyAccessExpression(Pe, "hasOwnProperty"),
                /*typeArguments*/
                void 0,
                [M]
              )
            )
          )), t.createFunctionDeclaration(
            /*modifiers*/
            void 0,
            /*asteriskToken*/
            void 0,
            yt,
            /*typeParameters*/
            void 0,
            [t.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              ue
            )],
            /*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)
                  ]),
                  ue,
                  t.createBlock([
                    un(
                      t.createIfStatement(
                        Q,
                        t.createExpressionStatement(
                          t.createAssignment(
                            t.createElementAccessExpression(ye, M),
                            t.createElementAccessExpression(ue, M)
                          )
                        )
                      ),
                      1
                      /* SingleLine */
                    )
                  ])
                ),
                t.createExpressionStatement(
                  t.createCallExpression(
                    P,
                    /*typeArguments*/
                    void 0,
                    [ye]
                  )
                )
              ],
              /*multiLine*/
              true
            )
          );
        }
        function K(Pe, yt) {
          const ue = [];
          for (const M of yt) {
            const ye = lr(M.externalImports, (Mt) => v6(t, Mt, k)), Q = ye ? t.getGeneratedNameForNode(ye) : t.createUniqueName(""), dt = [];
            for (const Mt of M.externalImports) {
              const ke = v6(t, Mt, k);
              switch (Mt.kind) {
                case 273:
                  if (!Mt.importClause)
                    break;
                // falls through
                case 272:
                  E.assert(ke !== void 0), dt.push(
                    t.createExpressionStatement(
                      t.createAssignment(ke, Q)
                    )
                  ), Gn(
                    Mt,
                    32
                    /* Export */
                  ) && dt.push(
                    t.createExpressionStatement(
                      t.createCallExpression(
                        P,
                        /*typeArguments*/
                        void 0,
                        [
                          t.createStringLiteral(An(ke)),
                          Q
                        ]
                      )
                    )
                  );
                  break;
                case 279:
                  if (E.assert(ke !== void 0), Mt.exportClause)
                    if (_p(Mt.exportClause)) {
                      const at = [];
                      for (const wt of Mt.exportClause.elements)
                        at.push(
                          t.createPropertyAssignment(
                            t.createStringLiteral(Dy(wt.name)),
                            t.createElementAccessExpression(
                              Q,
                              t.createStringLiteral(Dy(wt.propertyName || wt.name))
                            )
                          )
                        );
                      dt.push(
                        t.createExpressionStatement(
                          t.createCallExpression(
                            P,
                            /*typeArguments*/
                            void 0,
                            [t.createObjectLiteralExpression(
                              at,
                              /*multiLine*/
                              true
                            )]
                          )
                        )
                      );
                    } else
                      dt.push(
                        t.createExpressionStatement(
                          t.createCallExpression(
                            P,
                            /*typeArguments*/
                            void 0,
                            [
                              t.createStringLiteral(Dy(Mt.exportClause.name)),
                              Q
                            ]
                          )
                        )
                      );
                  else
                    dt.push(
                      t.createExpressionStatement(
                        t.createCallExpression(
                          Pe,
                          /*typeArguments*/
                          void 0,
                          [Q]
                        )
                      )
                    );
                  break;
              }
            }
            ue.push(
              t.createFunctionExpression(
                /*modifiers*/
                void 0,
                /*asteriskToken*/
                void 0,
                /*name*/
                void 0,
                /*typeParameters*/
                void 0,
                [t.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  Q
                )],
                /*type*/
                void 0,
                t.createBlock(
                  dt,
                  /*multiLine*/
                  true
                )
              )
            );
          }
          return t.createArrayLiteralExpression(
            ue,
            /*multiLine*/
            true
          );
        }
        function V(Pe) {
          switch (Pe.kind) {
            case 273:
              return ae(Pe);
            case 272:
              return ce(Pe);
            case 279:
              return se(Pe);
            case 278:
              return fe(Pe);
            default:
              return Bt(Pe);
          }
        }
        function ae(Pe) {
          let yt;
          return Pe.importClause && s(v6(t, Pe, k)), jm(Ye(yt, Pe));
        }
        function se(Pe) {
          E.assertIsDefined(Pe);
        }
        function ce(Pe) {
          E.assert(z1(Pe), "import= for internal module references should be handled in an earlier transformer.");
          let yt;
          return s(v6(t, Pe, k)), jm(ne(yt, Pe));
        }
        function fe(Pe) {
          if (Pe.isExportEquals)
            return;
          const yt = Qe(Pe.expression, Un, ut);
          return Ve(
            t.createIdentifier("default"),
            yt,
            /*allowComments*/
            true
          );
        }
        function he(Pe) {
          Gn(
            Pe,
            32
            /* Export */
          ) ? O = Er(
            O,
            t.updateFunctionDeclaration(
              Pe,
              Ar(Pe.modifiers, it, Ro),
              Pe.asteriskToken,
              t.getDeclarationName(
                Pe,
                /*allowComments*/
                true,
                /*allowSourceMaps*/
                true
              ),
              /*typeParameters*/
              void 0,
              Ar(Pe.parameters, Un, Ii),
              /*type*/
              void 0,
              Qe(Pe.body, Un, Ps)
            )
          ) : O = Er(O, br(Pe, Un, e)), O = Ne(O, Pe);
        }
        function q(Pe) {
          let yt;
          const ue = t.getLocalName(Pe);
          return s(ue), yt = Er(
            yt,
            ct(
              t.createExpressionStatement(
                t.createAssignment(
                  ue,
                  ct(
                    t.createClassExpression(
                      Ar(Pe.modifiers, it, Ro),
                      Pe.name,
                      /*typeParameters*/
                      void 0,
                      Ar(Pe.heritageClauses, Un, nf),
                      Ar(Pe.members, Un, Uc)
                    ),
                    Pe
                  )
                )
              ),
              Pe
            )
          ), yt = Ne(yt, Pe), jm(yt);
        }
        function be(Pe) {
          if (!me(Pe.declarationList))
            return Qe(Pe, Un, Ti);
          let yt;
          if (k3(Pe.declarationList) || x3(Pe.declarationList)) {
            const ue = Ar(Pe.modifiers, it, Ro), M = [];
            for (const Q of Pe.declarationList.declarations)
              M.push(t.updateVariableDeclaration(
                Q,
                t.getGeneratedNameForNode(Q.name),
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                Z(
                  Q,
                  /*isExportedDeclaration*/
                  false
                )
              ));
            const ye = t.updateVariableDeclarationList(
              Pe.declarationList,
              M
            );
            yt = Er(yt, t.updateVariableStatement(Pe, ue, ye));
          } else {
            let ue;
            const M = Gn(
              Pe,
              32
              /* Export */
            );
            for (const ye of Pe.declarationList.declarations)
              ye.initializer ? ue = Er(ue, Z(ye, M)) : je(ye);
            ue && (yt = Er(yt, ct(t.createExpressionStatement(t.inlineExpressions(ue)), Pe)));
          }
          return yt = Se(
            yt,
            Pe,
            /*exportSelf*/
            false
          ), jm(yt);
        }
        function je(Pe) {
          if (Ds(Pe.name))
            for (const yt of Pe.name.elements)
              gl(yt) || je(yt);
          else
            s(t.cloneNode(Pe.name));
        }
        function me(Pe) {
          return (Ca(Pe) & 4194304) === 0 && (F.kind === 308 || (zo(Pe).flags & 7) === 0);
        }
        function Z(Pe, yt) {
          const ue = yt ? pe : Te;
          return Ds(Pe.name) ? IS(
            Pe,
            Un,
            e,
            0,
            /*needsValue*/
            false,
            ue
          ) : Pe.initializer ? ue(Pe.name, Qe(Pe.initializer, Un, ut)) : Pe.name;
        }
        function pe(Pe, yt, ue) {
          return Fe(
            Pe,
            yt,
            ue,
            /*isExportedDeclaration*/
            true
          );
        }
        function Te(Pe, yt, ue) {
          return Fe(
            Pe,
            yt,
            ue,
            /*isExportedDeclaration*/
            false
          );
        }
        function Fe(Pe, yt, ue, M) {
          return s(t.cloneNode(Pe)), M ? St(Pe, Lt(ct(t.createAssignment(Pe, yt), ue))) : Lt(ct(t.createAssignment(Pe, yt), ue));
        }
        function Ye(Pe, yt) {
          if (D.exportEquals)
            return Pe;
          const ue = yt.importClause;
          if (!ue)
            return Pe;
          ue.name && (Pe = Ee(Pe, ue));
          const M = ue.namedBindings;
          if (M)
            switch (M.kind) {
              case 275:
                Pe = Ee(Pe, M);
                break;
              case 276:
                for (const ye of M.elements)
                  Pe = Ee(Pe, ye);
                break;
            }
          return Pe;
        }
        function ne(Pe, yt) {
          return D.exportEquals ? Pe : Ee(Pe, yt);
        }
        function Se(Pe, yt, ue) {
          if (D.exportEquals)
            return Pe;
          for (const M of yt.declarationList.declarations)
            (M.initializer || ue) && (Pe = ie(Pe, M));
          return Pe;
        }
        function ie(Pe, yt, ue) {
          if (D.exportEquals)
            return Pe;
          if (Ds(yt.name))
            for (const M of yt.name.elements)
              gl(M) || (Pe = ie(Pe, M));
          else Mo(yt.name) || (Pe = Ee(Pe, yt, void 0));
          return Pe;
        }
        function Ne(Pe, yt) {
          if (D.exportEquals)
            return Pe;
          let ue;
          if (Gn(
            yt,
            32
            /* Export */
          )) {
            const M = Gn(
              yt,
              2048
              /* Default */
            ) ? t.createStringLiteral("default") : yt.name;
            Pe = Ce(Pe, M, t.getLocalName(yt)), ue = np(M);
          }
          return yt.name && (Pe = Ee(Pe, yt, ue)), Pe;
        }
        function Ee(Pe, yt, ue) {
          if (D.exportEquals)
            return Pe;
          const M = t.getDeclarationName(yt), ye = D.exportSpecifiers.get(M);
          if (ye)
            for (const Q of ye)
              Dy(Q.name) !== ue && (Pe = Ce(Pe, Q.name, M));
          return Pe;
        }
        function Ce(Pe, yt, ue, M) {
          return Pe = Er(Pe, Ve(yt, ue, M)), Pe;
        }
        function Ve(Pe, yt, ue) {
          const M = t.createExpressionStatement(St(Pe, yt));
          return Du(M), ue || un(
            M,
            3072
            /* NoComments */
          ), M;
        }
        function St(Pe, yt) {
          const ue = Me(Pe) ? t.createStringLiteralFromNode(Pe) : Pe;
          return un(
            yt,
            Ca(yt) | 3072
            /* NoComments */
          ), Yc(t.createCallExpression(
            P,
            /*typeArguments*/
            void 0,
            [ue, yt]
          ), yt);
        }
        function Bt(Pe) {
          switch (Pe.kind) {
            case 244:
              return be(Pe);
            case 263:
              return he(Pe);
            case 264:
              return q(Pe);
            case 249:
              return tr(
                Pe,
                /*isTopLevel*/
                true
              );
            case 250:
              return Nr(Pe);
            case 251:
              return st(Pe);
            case 247:
              return ui(Pe);
            case 248:
              return Ji(Pe);
            case 257:
              return Dt(Pe);
            case 255:
              return Mn(Pe);
            case 246:
              return ai(Pe);
            case 256:
              return fi(Pe);
            case 270:
              return pn(Pe);
            case 297:
              return _i(Pe);
            case 298:
              return Je(Pe);
            case 259:
              return ft(Pe);
            case 300:
              return er(Pe);
            case 242:
              return qr(Pe);
            default:
              return Un(Pe);
          }
        }
        function tr(Pe, yt) {
          const ue = F;
          return F = Pe, Pe = t.updateForStatement(
            Pe,
            Qe(Pe.initializer, yt ? Jr : ki, ep),
            Qe(Pe.condition, Un, ut),
            Qe(Pe.incrementor, ki, ut),
            i_(Pe.statement, yt ? Bt : Un, e)
          ), F = ue, Pe;
        }
        function Nr(Pe) {
          const yt = F;
          return F = Pe, Pe = t.updateForInStatement(
            Pe,
            Jr(Pe.initializer),
            Qe(Pe.expression, Un, ut),
            i_(Pe.statement, Bt, e)
          ), F = yt, Pe;
        }
        function st(Pe) {
          const yt = F;
          return F = Pe, Pe = t.updateForOfStatement(
            Pe,
            Pe.awaitModifier,
            Jr(Pe.initializer),
            Qe(Pe.expression, Un, ut),
            i_(Pe.statement, Bt, e)
          ), F = yt, Pe;
        }
        function Wt(Pe) {
          return Bl(Pe) && me(Pe);
        }
        function Jr(Pe) {
          if (Wt(Pe)) {
            let yt;
            for (const ue of Pe.declarations)
              yt = Er(yt, Z(
                ue,
                /*isExportedDeclaration*/
                false
              )), ue.initializer || je(ue);
            return yt ? t.inlineExpressions(yt) : t.createOmittedExpression();
          } else
            return Qe(Pe, ki, ep);
        }
        function ui(Pe) {
          return t.updateDoStatement(
            Pe,
            i_(Pe.statement, Bt, e),
            Qe(Pe.expression, Un, ut)
          );
        }
        function Ji(Pe) {
          return t.updateWhileStatement(
            Pe,
            Qe(Pe.expression, Un, ut),
            i_(Pe.statement, Bt, e)
          );
        }
        function Dt(Pe) {
          return t.updateLabeledStatement(
            Pe,
            Pe.label,
            Qe(Pe.statement, Bt, Ti, t.liftToBlock) ?? t.createExpressionStatement(t.createIdentifier(""))
          );
        }
        function Mn(Pe) {
          return t.updateWithStatement(
            Pe,
            Qe(Pe.expression, Un, ut),
            E.checkDefined(Qe(Pe.statement, Bt, Ti, t.liftToBlock))
          );
        }
        function ai(Pe) {
          return t.updateIfStatement(
            Pe,
            Qe(Pe.expression, Un, ut),
            Qe(Pe.thenStatement, Bt, Ti, t.liftToBlock) ?? t.createBlock([]),
            Qe(Pe.elseStatement, Bt, Ti, t.liftToBlock)
          );
        }
        function fi(Pe) {
          return t.updateSwitchStatement(
            Pe,
            Qe(Pe.expression, Un, ut),
            E.checkDefined(Qe(Pe.caseBlock, Bt, AD))
          );
        }
        function pn(Pe) {
          const yt = F;
          return F = Pe, Pe = t.updateCaseBlock(
            Pe,
            Ar(Pe.clauses, Bt, A7)
          ), F = yt, Pe;
        }
        function _i(Pe) {
          return t.updateCaseClause(
            Pe,
            Qe(Pe.expression, Un, ut),
            Ar(Pe.statements, Bt, Ti)
          );
        }
        function Je(Pe) {
          return br(Pe, Bt, e);
        }
        function ft(Pe) {
          return br(Pe, Bt, e);
        }
        function er(Pe) {
          const yt = F;
          return F = Pe, Pe = t.updateCatchClause(
            Pe,
            Pe.variableDeclaration,
            E.checkDefined(Qe(Pe.block, Bt, Ps))
          ), F = yt, Pe;
        }
        function qr(Pe) {
          const yt = F;
          return F = Pe, Pe = br(Pe, Bt, e), F = yt, Pe;
        }
        function Jn(Pe, yt) {
          if (!(Pe.transformFlags & 276828160))
            return Pe;
          switch (Pe.kind) {
            case 249:
              return tr(
                Pe,
                /*isTopLevel*/
                false
              );
            case 245:
              return Es(Pe);
            case 218:
              return Zs(Pe, yt);
            case 356:
              return yr(Pe, yt);
            case 227:
              if (p0(Pe))
                return Xe(Pe, yt);
              break;
            case 214:
              if (y_(Pe))
                return vs(Pe);
              break;
            case 225:
            case 226:
              return re(Pe, yt);
          }
          return br(Pe, Un, e);
        }
        function Un(Pe) {
          return Jn(
            Pe,
            /*valueIsDiscarded*/
            false
          );
        }
        function ki(Pe) {
          return Jn(
            Pe,
            /*valueIsDiscarded*/
            true
          );
        }
        function Es(Pe) {
          return t.updateExpressionStatement(Pe, Qe(Pe.expression, ki, ut));
        }
        function Zs(Pe, yt) {
          return t.updateParenthesizedExpression(Pe, Qe(Pe.expression, yt ? ki : Un, ut));
        }
        function yr(Pe, yt) {
          return t.updatePartiallyEmittedExpression(Pe, Qe(Pe.expression, yt ? ki : Un, ut));
        }
        function vs(Pe) {
          const yt = qx(t, Pe, k, _, c, o), ue = Qe($c(Pe.arguments), Un, ut), M = yt && (!ue || !oa(ue) || ue.text !== yt.text) ? yt : ue;
          return t.createCallExpression(
            t.createPropertyAccessExpression(
              A,
              t.createIdentifier("import")
            ),
            /*typeArguments*/
            void 0,
            M ? [M] : []
          );
        }
        function Xe(Pe, yt) {
          return Et(Pe.left) ? IS(
            Pe,
            Un,
            e,
            0,
            !yt
          ) : br(Pe, Un, e);
        }
        function Et(Pe) {
          if (El(
            Pe,
            /*excludeCompoundAssignment*/
            true
          ))
            return Et(Pe.left);
          if (up(Pe))
            return Et(Pe.expression);
          if (ua(Pe))
            return ot(Pe.properties, Et);
          if (Kl(Pe))
            return ot(Pe.elements, Et);
          if (fu(Pe))
            return Et(Pe.name);
          if (Kc(Pe))
            return Et(Pe.initializer);
          if (Me(Pe)) {
            const yt = c.getReferencedExportContainer(Pe);
            return yt !== void 0 && yt.kind === 308;
          } else
            return false;
        }
        function re(Pe, yt) {
          if ((Pe.operator === 46 || Pe.operator === 47) && Me(Pe.operand) && !Mo(Pe.operand) && !Ch(Pe.operand) && !fJ(Pe.operand)) {
            const ue = Ct(Pe.operand);
            if (ue) {
              let M, ye = Qe(Pe.operand, Un, ut);
              K1(Pe) ? ye = t.updatePrefixUnaryExpression(Pe, ye) : (ye = t.updatePostfixUnaryExpression(Pe, ye), yt || (M = t.createTempVariable(s), ye = t.createAssignment(M, ye), ct(ye, Pe)), ye = t.createComma(ye, t.cloneNode(Pe.operand)), ct(ye, Pe));
              for (const Q of ue)
                ye = St(Q, Lt(ye));
              return M && (ye = t.createComma(ye, M), ct(ye, Pe)), ye;
            }
          }
          return br(Pe, Un, e);
        }
        function it(Pe) {
          switch (Pe.kind) {
            case 95:
            case 90:
              return;
          }
          return Pe;
        }
        function Y(Pe, yt, ue) {
          if (yt.kind === 308) {
            const M = s_(yt);
            k = yt, D = m[M], P = h[M], R = S[M], A = T[M], R && delete S[M], g(Pe, yt, ue), k = void 0, D = void 0, P = void 0, A = void 0, R = void 0;
          } else
            g(Pe, yt, ue);
        }
        function Ae(Pe, yt) {
          return yt = u(Pe, yt), rn(yt) ? yt : Pe === 1 ? Tt(yt) : Pe === 4 ? $e(yt) : yt;
        }
        function $e(Pe) {
          switch (Pe.kind) {
            case 305:
              return Ke(Pe);
          }
          return Pe;
        }
        function Ke(Pe) {
          var yt, ue;
          const M = Pe.name;
          if (!Mo(M) && !Ch(M)) {
            const ye = c.getReferencedImportDeclaration(M);
            if (ye) {
              if (sd(ye))
                return ct(
                  t.createPropertyAssignment(
                    t.cloneNode(M),
                    t.createPropertyAccessExpression(
                      t.getGeneratedNameForNode(ye.parent),
                      t.createIdentifier("default")
                    )
                  ),
                  /*location*/
                  Pe
                );
              if (qu(ye)) {
                const Q = ye.propertyName || ye.name, dt = t.getGeneratedNameForNode(((ue = (yt = ye.parent) == null ? void 0 : yt.parent) == null ? void 0 : ue.parent) || ye);
                return ct(
                  t.createPropertyAssignment(
                    t.cloneNode(M),
                    Q.kind === 11 ? t.createElementAccessExpression(dt, t.cloneNode(Q)) : t.createPropertyAccessExpression(dt, t.cloneNode(Q))
                  ),
                  /*location*/
                  Pe
                );
              }
            }
          }
          return Pe;
        }
        function Tt(Pe) {
          switch (Pe.kind) {
            case 80:
              return Le(Pe);
            case 227:
              return mt(Pe);
            case 237:
              return pt(Pe);
          }
          return Pe;
        }
        function Le(Pe) {
          var yt, ue;
          if (Ca(Pe) & 8192) {
            const M = UN(k);
            return M ? t.createPropertyAccessExpression(M, Pe) : Pe;
          }
          if (!Mo(Pe) && !Ch(Pe)) {
            const M = c.getReferencedImportDeclaration(Pe);
            if (M) {
              if (sd(M))
                return ct(
                  t.createPropertyAccessExpression(
                    t.getGeneratedNameForNode(M.parent),
                    t.createIdentifier("default")
                  ),
                  /*location*/
                  Pe
                );
              if (qu(M)) {
                const ye = M.propertyName || M.name, Q = t.getGeneratedNameForNode(((ue = (yt = M.parent) == null ? void 0 : yt.parent) == null ? void 0 : ue.parent) || M);
                return ct(
                  ye.kind === 11 ? t.createElementAccessExpression(Q, t.cloneNode(ye)) : t.createPropertyAccessExpression(Q, t.cloneNode(ye)),
                  /*location*/
                  Pe
                );
              }
            }
          }
          return Pe;
        }
        function mt(Pe) {
          if (vh(Pe.operatorToken.kind) && Me(Pe.left) && (!Mo(Pe.left) || i3(Pe.left)) && !Ch(Pe.left)) {
            const yt = Ct(Pe.left);
            if (yt) {
              let ue = Pe;
              for (const M of yt)
                ue = St(M, Lt(ue));
              return ue;
            }
          }
          return Pe;
        }
        function pt(Pe) {
          return LC(Pe) ? t.createPropertyAccessExpression(A, t.createIdentifier("meta")) : Pe;
        }
        function Ct(Pe) {
          let yt;
          const ue = qe(Pe);
          if (ue) {
            const M = c.getReferencedExportContainer(
              Pe,
              /*prefixLocals*/
              false
            );
            M && M.kind === 308 && (yt = Er(yt, t.getDeclarationName(ue))), yt = In(yt, D?.exportedBindings[s_(ue)]);
          } else if (Mo(Pe) && i3(Pe)) {
            const M = D?.exportSpecifiers.get(Pe);
            if (M) {
              const ye = [];
              for (const Q of M)
                ye.push(Q.name);
              return ye;
            }
          }
          return yt;
        }
        function qe(Pe) {
          if (!Mo(Pe)) {
            const yt = c.getReferencedImportDeclaration(Pe);
            if (yt) return yt;
            const ue = c.getReferencedValueDeclaration(Pe);
            if (ue && D?.exportedBindings[s_(ue)]) return ue;
            const M = c.getReferencedValueDeclarations(Pe);
            if (M) {
              for (const ye of M)
                if (ye !== ue && D?.exportedBindings[s_(ye)]) return ye;
            }
            return ue;
          }
        }
        function Lt(Pe) {
          return R === void 0 && (R = []), R[Oa(Pe)] = true, Pe;
        }
        function rn(Pe) {
          return R && Pe.id && R[Pe.id];
        }
      }
      function $W(e) {
        const {
          factory: t,
          getEmitHelperFactory: n
        } = e, i = e.getEmitHost(), s = e.getEmitResolver(), o = e.getCompilerOptions(), c = pa(o), _ = e.onEmitNode, u = e.onSubstituteNode;
        e.onEmitNode = W, e.onSubstituteNode = _e, e.enableEmitNotification(
          308
          /* SourceFile */
        ), e.enableSubstitution(
          80
          /* Identifier */
        );
        const g = /* @__PURE__ */ new Set();
        let m, h, S, T;
        return Ad(e, k);
        function k(V) {
          if (V.isDeclarationFile)
            return V;
          if (ll(V) || Rp(o)) {
            S = V, T = void 0, o.rewriteRelativeImportExtensions && (S.flags & 4194304 || an(V)) && pF(
              V,
              /*includeTypeSpaceImports*/
              false,
              /*requireStringLiteralLikeArgument*/
              false,
              (se) => {
                (!Ma(se.arguments[0]) || z3(se.arguments[0].text, o)) && (m = Er(m, se));
              }
            );
            let ae = D(V);
            return Rg(ae, e.readEmitHelpers()), S = void 0, T && (ae = t.updateSourceFile(
              ae,
              ct(t.createNodeArray(rB(ae.statements.slice(), T)), ae.statements)
            )), !ll(V) || Wu(o) === 200 || ot(ae.statements, u3) ? ae : t.updateSourceFile(
              ae,
              ct(t.createNodeArray([...ae.statements, JN(t)]), ae.statements)
            );
          }
          return V;
        }
        function D(V) {
          const ae = Fz(t, n(), V, o);
          if (ae) {
            const se = [], ce = t.copyPrologue(V.statements, se);
            return In(se, GD([ae], P, Ti)), In(se, Ar(V.statements, P, Ti, ce)), t.updateSourceFile(
              V,
              ct(t.createNodeArray(se), V.statements)
            );
          } else
            return br(V, P, e);
        }
        function P(V) {
          switch (V.kind) {
            case 272:
              return Wu(o) >= 100 ? R(V) : void 0;
            case 278:
              return U(V);
            case 279:
              return $(V);
            case 273:
              return A(V);
            case 214:
              if (V === m?.[0])
                return O(m.shift());
            // fallthrough
            default:
              if (m?.length && S_(V, m[0]))
                return br(V, P, e);
          }
          return V;
        }
        function A(V) {
          if (!o.rewriteRelativeImportExtensions)
            return V;
          const ae = Zx(V.moduleSpecifier, o);
          return ae === V.moduleSpecifier ? V : t.updateImportDeclaration(
            V,
            V.modifiers,
            V.importClause,
            ae,
            V.attributes
          );
        }
        function O(V) {
          return t.updateCallExpression(
            V,
            V.expression,
            V.typeArguments,
            [
              Ma(V.arguments[0]) ? Zx(V.arguments[0], o) : n().createRewriteRelativeImportExtensionsHelper(V.arguments[0]),
              ...V.arguments.slice(1)
            ]
          );
        }
        function F(V) {
          const ae = qx(t, V, E.checkDefined(S), i, s, o), se = [];
          if (ae && se.push(Zx(ae, o)), Wu(o) === 200)
            return t.createCallExpression(
              t.createIdentifier("require"),
              /*typeArguments*/
              void 0,
              se
            );
          if (!T) {
            const fe = t.createUniqueName(
              "_createRequire",
              48
              /* FileLevel */
            ), he = t.createImportDeclaration(
              /*modifiers*/
              void 0,
              t.createImportClause(
                /*phaseModifier*/
                void 0,
                /*name*/
                void 0,
                t.createNamedImports([
                  t.createImportSpecifier(
                    /*isTypeOnly*/
                    false,
                    t.createIdentifier("createRequire"),
                    fe
                  )
                ])
              ),
              t.createStringLiteral("module"),
              /*attributes*/
              void 0
            ), q = t.createUniqueName(
              "__require",
              48
              /* FileLevel */
            ), be = 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 = [he, be];
          }
          const ce = T[1].declarationList.declarations[0].name;
          return E.assertNode(ce, Me), t.createCallExpression(
            t.cloneNode(ce),
            /*typeArguments*/
            void 0,
            se
          );
        }
        function R(V) {
          E.assert(z1(V), "import= for internal module references should be handled in an earlier transformer.");
          let ae;
          return ae = Er(
            ae,
            Cn(
              ct(
                t.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  t.createVariableDeclarationList(
                    [
                      t.createVariableDeclaration(
                        t.cloneNode(V.name),
                        /*exclamationToken*/
                        void 0,
                        /*type*/
                        void 0,
                        F(V)
                      )
                    ],
                    /*flags*/
                    c >= 2 ? 2 : 0
                    /* None */
                  )
                ),
                V
              ),
              V
            )
          ), ae = B(ae, V), jm(ae);
        }
        function B(V, ae) {
          return Gn(
            ae,
            32
            /* Export */
          ) && (V = Er(
            V,
            t.createExportDeclaration(
              /*modifiers*/
              void 0,
              ae.isTypeOnly,
              t.createNamedExports([t.createExportSpecifier(
                /*isTypeOnly*/
                false,
                /*propertyName*/
                void 0,
                An(ae.name)
              )])
            )
          )), V;
        }
        function U(V) {
          return V.isExportEquals ? Wu(o) === 200 ? Cn(
            t.createExpressionStatement(
              t.createAssignment(
                t.createPropertyAccessExpression(
                  t.createIdentifier("module"),
                  "exports"
                ),
                V.expression
              )
            ),
            V
          ) : void 0 : V;
        }
        function $(V) {
          const ae = Zx(V.moduleSpecifier, o);
          if (o.module !== void 0 && o.module > 5 || !V.exportClause || !Xm(V.exportClause) || !V.moduleSpecifier)
            return !V.moduleSpecifier || ae === V.moduleSpecifier ? V : t.updateExportDeclaration(
              V,
              V.modifiers,
              V.isTypeOnly,
              V.exportClause,
              ae,
              V.attributes
            );
          const se = V.exportClause.name, ce = t.getGeneratedNameForNode(se), fe = t.createImportDeclaration(
            /*modifiers*/
            void 0,
            t.createImportClause(
              /*phaseModifier*/
              void 0,
              /*name*/
              void 0,
              t.createNamespaceImport(
                ce
              )
            ),
            ae,
            V.attributes
          );
          Cn(fe, V.exportClause);
          const he = U7(V) ? t.createExportDefault(ce) : t.createExportDeclaration(
            /*modifiers*/
            void 0,
            /*isTypeOnly*/
            false,
            t.createNamedExports([t.createExportSpecifier(
              /*isTypeOnly*/
              false,
              ce,
              se
            )])
          );
          return Cn(he, V), [fe, he];
        }
        function W(V, ae, se) {
          Di(ae) ? ((ll(ae) || Rp(o)) && o.importHelpers && (h = /* @__PURE__ */ new Map()), S = ae, _(V, ae, se), S = void 0, h = void 0) : _(V, ae, se);
        }
        function _e(V, ae) {
          return ae = u(V, ae), ae.id && g.has(ae.id) ? ae : Me(ae) && Ca(ae) & 8192 ? K(ae) : ae;
        }
        function K(V) {
          const ae = S && UN(S);
          if (ae)
            return g.add(Oa(V)), t.createPropertyAccessExpression(ae, V);
          if (h) {
            const se = An(V);
            let ce = h.get(se);
            return ce || h.set(se, ce = t.createUniqueName(
              se,
              48
              /* FileLevel */
            )), ce;
          }
          return V;
        }
      }
      function oie(e) {
        const t = e.onSubstituteNode, n = e.onEmitNode, i = $W(e), s = e.onSubstituteNode, o = e.onEmitNode;
        e.onSubstituteNode = t, e.onEmitNode = n;
        const c = GW(e), _ = e.onSubstituteNode, u = e.onEmitNode, g = (A) => e.getEmitHost().getEmitModuleFormatOfFile(A);
        e.onSubstituteNode = h, e.onEmitNode = S, e.enableSubstitution(
          308
          /* SourceFile */
        ), e.enableEmitNotification(
          308
          /* SourceFile */
        );
        let m;
        return D;
        function h(A, O) {
          return Di(O) ? (m = O, t(A, O)) : m ? g(m) >= 5 ? s(A, O) : _(A, O) : t(A, O);
        }
        function S(A, O, F) {
          return Di(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(Di(O)), O;
        }
        function D(A) {
          return A.kind === 308 ? k(A) : P(A);
        }
        function P(A) {
          return e.factory.createBundle(hr(A.sourceFiles, k));
        }
      }
      function p8(e) {
        return ei(e) || as(e) || Vu(e) || ha(e) || rm(e) || kg(e) || DD(e) || Mx(e) || Ko(e) || id(e) || Tc(e) || Ii(e) || Io(e) || Th(e) || cl(e) || jp(e) || ec(e) || Jy(e) || wn(e) || oo(e) || _n(e) || Op(e);
      }
      function cie(e) {
        if (rm(e) || kg(e))
          return t;
        return id(e) || Ko(e) ? i : _v(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 Bs(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 === 264 ? 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 Bs(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 === 264 ? 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 _v(e) {
        if (ei(e) || as(e) || Vu(e) || wn(e) || oo(e) || _n(e) || ha(e) || ec(e))
          return n;
        return rm(e) || kg(e) ? i : DD(e) || Mx(e) || Ko(e) || id(e) || Tc(e) || Jy(e) ? s : Ii(e) ? X_(e, e.parent) && Gn(
          e.parent,
          2
          /* Private */
        ) ? n : o : Io(e) ? _ : Th(e) ? u : cl(e) ? g : jp(e) || Op(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 === 261 || e.kind === 209)
            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 === 173 || e.kind === 212 || e.kind === 213 || e.kind === 227 || e.kind === 172 || e.kind === 170 && Gn(
            e.parent,
            2
            /* Private */
          ))
            return Bs(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 === 264 || e.kind === 170 ? 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 === 179 ? Bs(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 : Bs(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 181:
              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 180:
              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 182:
              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 175:
            case 174:
              Bs(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 === 264 ? 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 263:
              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 177:
              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 181:
            case 186:
              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 180:
              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 182:
              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 175:
            case 174:
              return Bs(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 === 264 ? 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 263:
            case 185:
              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 179:
            case 178:
              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 264:
              h = p.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;
              break;
            case 265:
              h = p.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;
              break;
            case 201:
              h = p.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1;
              break;
            case 186:
            case 181:
              h = p.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;
              break;
            case 180:
              h = p.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;
              break;
            case 175:
            case 174:
              Bs(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 === 264 ? 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 185:
            case 263:
              h = p.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;
              break;
            case 196:
              h = p.Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1;
              break;
            case 266:
              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 Zc(e.parent.parent) ? h = nf(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: us(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: Op(e) ? E.checkDefined(e.typeExpression) : e.type,
            typeName: Op(e) ? us(e) : e.name
          };
        }
      }
      function lie(e) {
        const t = {
          220: p.Add_a_return_type_to_the_function_expression,
          219: p.Add_a_return_type_to_the_function_expression,
          175: p.Add_a_return_type_to_the_method,
          178: p.Add_a_return_type_to_the_get_accessor_declaration,
          179: p.Add_a_type_to_parameter_of_the_set_accessor_declaration,
          263: p.Add_a_return_type_to_the_function_declaration,
          181: p.Add_a_return_type_to_the_function_declaration,
          170: p.Add_a_type_annotation_to_the_parameter_0,
          261: p.Add_a_type_annotation_to_the_variable_0,
          173: p.Add_a_type_annotation_to_the_property_0,
          172: p.Add_a_type_annotation_to_the_property_0,
          278: p.Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it
        }, n = {
          219: p.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,
          263: p.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,
          220: p.Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,
          175: p.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,
          181: p.Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations,
          178: p.At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations,
          179: p.At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations,
          170: p.Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations,
          261: p.Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations,
          173: p.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations,
          172: p.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations,
          168: p.Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations,
          306: p.Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations,
          305: p.Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations,
          210: p.Only_const_arrays_can_be_inferred_with_isolatedDeclarations,
          278: p.Default_exports_can_t_be_inferred_with_isolatedDeclarations,
          231: p.Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations
        };
        return i;
        function i(P) {
          if (dr(P, nf))
            return sn(P, p.Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations);
          if ((sm(P) || Jb(P.parent)) && (Zu(P) || Za(P)))
            return k(P);
          switch (E.type(P), P.kind) {
            case 178:
            case 179:
              return o(P);
            case 168:
            case 305:
            case 306:
              return _(P);
            case 210:
            case 231:
              return u(P);
            case 175:
            case 181:
            case 219:
            case 220:
            case 263:
              return g(P);
            case 209:
              return m(P);
            case 173:
            case 261:
              return h(P);
            case 170:
              return S(P);
            case 304:
              return D(P.initializer);
            case 232:
              return T(P);
            default:
              return D(P);
          }
        }
        function s(P) {
          const A = dr(P, (O) => Fo(O) || Ti(O) || ei(O) || as(O) || Ii(O));
          if (A)
            return Fo(A) ? A : Sf(A) ? dr(A, (O) => to(O) && !ec(O)) : Ti(A) ? void 0 : A;
        }
        function o(P) {
          const { getAccessor: A, setAccessor: O } = Fb(P.symbol.declarations, P), F = (rm(P) ? P.parameters[0] : P) ?? P, R = sn(F, n[P.kind]);
          return O && Js(R, sn(O, t[O.kind])), A && Js(R, sn(A, t[A.kind])), R;
        }
        function c(P, A) {
          const O = s(P);
          if (O) {
            const F = Fo(O) || !O.name ? "" : Go(
              O.name,
              /*includeTrivia*/
              false
            );
            Js(A, sn(O, t[O.kind], F));
          }
          return A;
        }
        function _(P) {
          const A = sn(P, n[P.kind]);
          return c(P, A), A;
        }
        function u(P) {
          const A = sn(P, n[P.kind]);
          return c(P, A), A;
        }
        function g(P) {
          const A = sn(P, n[P.kind]);
          return c(P, A), Js(A, sn(P, t[P.kind])), A;
        }
        function m(P) {
          return sn(P, p.Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations);
        }
        function h(P) {
          const A = sn(P, n[P.kind]), O = Go(
            P.name,
            /*includeTrivia*/
            false
          );
          return Js(A, sn(P, t[P.kind], O)), A;
        }
        function S(P) {
          if (rm(P.parent))
            return o(P.parent);
          const A = e.requiresAddingImplicitUndefined(P, P.parent);
          if (!A && P.initializer)
            return D(P.initializer);
          const O = A ? p.Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_its_type_This_is_not_supported_with_isolatedDeclarations : n[P.kind], F = sn(P, O), R = Go(
            P.name,
            /*includeTrivia*/
            false
          );
          return Js(F, sn(P, t[P.kind], R)), F;
        }
        function T(P) {
          return D(P, p.Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations);
        }
        function k(P) {
          const A = sn(P, p.Type_containing_private_name_0_can_t_be_used_with_isolatedDeclarations, Go(
            P,
            /*includeTrivia*/
            false
          ));
          return c(P, A), A;
        }
        function D(P, A) {
          const O = s(P);
          let F;
          if (O) {
            const R = Fo(O) || !O.name ? "" : Go(
              O.name,
              /*includeTrivia*/
              false
            ), B = dr(P.parent, (U) => Fo(U) || (Ti(U) ? "quit" : !n_(U) && !EF(U) && !l6(U)));
            O === B ? (F = sn(P, A ?? n[O.kind]), Js(F, sn(O, t[O.kind], R))) : (F = sn(P, A ?? p.Expression_type_can_t_be_inferred_with_isolatedDeclarations), Js(F, sn(O, t[O.kind], R)), Js(F, sn(P, p.Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit)));
          } else
            F = sn(P, A ?? p.Expression_type_can_t_be_inferred_with_isolatedDeclarations);
          return F;
        }
      }
      function uie(e, t, n) {
        const i = e.getCompilerOptions(), s = kn(C5(e, n), c5);
        return ds(s, n) ? h8(
          t,
          e,
          N,
          i,
          [n],
          [XW],
          /*allowDtsFiles*/
          false
        ).diagnostics : void 0;
      }
      var d8 = 531469, m8 = 8;
      function XW(e) {
        const t = () => E.fail("Diagnostic emitted without context");
        let n = t, i = true, s = false, o = false, c = false, _ = false, u, g, m, h;
        const { factory: S } = e, T = e.getEmitHost();
        let k = () => {
        };
        const D = {
          trackSymbol: ce,
          reportInaccessibleThisError: je,
          reportInaccessibleUniqueSymbolError: q,
          reportCyclicStructureError: be,
          reportPrivateInBaseOfClassExpression: fe,
          reportLikelyUnsafeImportRequiredError: me,
          reportTruncationError: Z,
          moduleResolverHost: T,
          reportNonlocalAugmentation: pe,
          reportNonSerializableProperty: Te,
          reportInferenceFallback: ae,
          pushErrorFallbackNode(re) {
            const it = A, Y = k;
            k = () => {
              k = Y, A = it;
            }, A = re;
          },
          popErrorFallbackNode() {
            k();
          }
        };
        let P, A, O, F, R, B;
        const U = e.getEmitResolver(), $ = e.getCompilerOptions(), W = lie(U), { stripInternal: _e, isolatedDeclarations: K } = $;
        return Ye;
        function V(re) {
          U.getPropertiesOfContainerFunction(re).forEach((it) => {
            if (Px(it.valueDeclaration)) {
              const Y = _n(it.valueDeclaration) ? it.valueDeclaration.left : it.valueDeclaration;
              e.addDiagnostic(sn(
                Y,
                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 ae(re) {
          !K || Ku(O) || xr(re) === O && (ei(re) && U.isExpandoFunctionDeclaration(re) ? V(re) : e.addDiagnostic(W(re)));
        }
        function se(re) {
          if (re.accessibility === 0) {
            if (re.aliasesToMakeVisible)
              if (!g)
                g = re.aliasesToMakeVisible;
              else
                for (const it of re.aliasesToMakeVisible)
                  Yf(g, it);
          } else if (re.accessibility !== 3) {
            const it = n(re);
            if (it)
              return it.typeName ? e.addDiagnostic(sn(re.errorNode || it.errorNode, it.diagnosticMessage, Go(it.typeName), re.errorSymbolName, re.errorModuleName)) : e.addDiagnostic(sn(re.errorNode || it.errorNode, it.diagnosticMessage, re.errorSymbolName, re.errorModuleName)), true;
          }
          return false;
        }
        function ce(re, it, Y) {
          return re.flags & 262144 ? false : se(U.isSymbolAccessible(
            re,
            it,
            Y,
            /*shouldComputeAliasToMarkVisible*/
            true
          ));
        }
        function fe(re) {
          (P || A) && e.addDiagnostic(
            Js(
              sn(P || A, p.Property_0_of_exported_anonymous_class_type_may_not_be_private_or_protected, re),
              ...ei((P || A).parent) ? [sn(P || A, p.Add_a_type_annotation_to_the_variable_0, he())] : []
            )
          );
        }
        function he() {
          return P ? so(P) : A && us(A) ? so(us(A)) : A && Fo(A) ? A.isExportEquals ? "export=" : "default" : "(Missing)";
        }
        function q() {
          (P || A) && e.addDiagnostic(sn(P || A, p.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary, he(), "unique symbol"));
        }
        function be() {
          (P || A) && e.addDiagnostic(sn(P || A, p.The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary, he()));
        }
        function je() {
          (P || A) && e.addDiagnostic(sn(P || A, p.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary, he(), "this"));
        }
        function me(re) {
          (P || A) && e.addDiagnostic(sn(P || 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, he(), re));
        }
        function Z() {
          (P || A) && e.addDiagnostic(sn(P || A, p.The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed));
        }
        function pe(re, it, Y) {
          var Ae;
          const $e = (Ae = it.declarations) == null ? void 0 : Ae.find((Tt) => xr(Tt) === re), Ke = kn(Y.declarations, (Tt) => xr(Tt) !== re);
          if ($e && Ke)
            for (const Tt of Ke)
              e.addDiagnostic(Js(
                sn(Tt, p.Declaration_augments_declaration_in_another_file_This_cannot_be_serialized),
                sn($e, p.This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file)
              ));
        }
        function Te(re) {
          (P || A) && e.addDiagnostic(sn(P || A, p.The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized, re));
        }
        function Fe(re) {
          const it = n;
          n = (Ae) => Ae.errorNode && p8(Ae.errorNode) ? _v(Ae.errorNode)(Ae) : {
            diagnosticMessage: Ae.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: Ae.errorNode || re
          };
          const Y = U.getDeclarationStatementsForSourceFile(re, d8, m8, D);
          return n = it, Y;
        }
        function Ye(re) {
          if (re.kind === 308 && re.isDeclarationFile)
            return re;
          if (re.kind === 309) {
            s = true, F = [], R = [], B = [];
            let mt = false;
            const pt = S.createBundle(
              hr(re.sourceFiles, (qe) => {
                if (qe.isDeclarationFile) return;
                if (mt = mt || qe.hasNoDefaultLib, O = qe, u = qe, g = void 0, h = false, m = /* @__PURE__ */ new Map(), n = t, c = false, _ = false, Ae(qe), Y_(qe) || rp(qe)) {
                  o = false, i = false;
                  const rn = Ku(qe) ? S.createNodeArray(Fe(qe)) : Ar(qe.statements, _i, Ti);
                  return S.updateSourceFile(
                    qe,
                    [S.createModuleDeclaration(
                      [S.createModifier(
                        138
                        /* DeclareKeyword */
                      )],
                      S.createStringLiteral(GB(e.getEmitHost(), qe)),
                      S.createModuleBlock(ct(S.createNodeArray(ai(rn)), qe.statements))
                    )],
                    /*isDeclarationFile*/
                    true,
                    /*referencedFiles*/
                    [],
                    /*typeReferences*/
                    [],
                    /*hasNoDefaultLib*/
                    false,
                    /*libReferences*/
                    []
                  );
                }
                i = true;
                const Lt = Ku(qe) ? S.createNodeArray(Fe(qe)) : Ar(qe.statements, _i, Ti);
                return S.updateSourceFile(
                  qe,
                  ai(Lt),
                  /*isDeclarationFile*/
                  true,
                  /*referencedFiles*/
                  [],
                  /*typeReferences*/
                  [],
                  /*hasNoDefaultLib*/
                  false,
                  /*libReferences*/
                  []
                );
              })
            ), Ct = Hn(Rl(tw(
              re,
              T,
              /*forceDtsPaths*/
              true
            ).declarationFilePath));
            return pt.syntheticFileReferences = Le(Ct), pt.syntheticTypeReferences = Ke(), pt.syntheticLibReferences = Tt(), pt.hasNoDefaultLib = mt, pt;
          }
          i = true, c = false, _ = false, u = re, O = re, n = t, s = false, o = false, h = false, g = void 0, m = /* @__PURE__ */ new Map(), F = [], R = [], B = [], Ae(O);
          let it;
          if (Ku(O))
            it = S.createNodeArray(Fe(re));
          else {
            const mt = Ar(re.statements, _i, Ti);
            it = ct(S.createNodeArray(ai(mt)), re.statements), ll(re) && (!o || c && !_) && (it = ct(S.createNodeArray([...it, JN(S)]), it));
          }
          const Y = Hn(Rl(tw(
            re,
            T,
            /*forceDtsPaths*/
            true
          ).declarationFilePath));
          return S.updateSourceFile(
            re,
            it,
            /*isDeclarationFile*/
            true,
            Le(Y),
            Ke(),
            re.hasNoDefaultLib,
            Tt()
          );
          function Ae(mt) {
            F = Bi(F, hr(mt.referencedFiles, (pt) => [mt, pt])), R = Bi(R, mt.typeReferenceDirectives), B = Bi(B, mt.libReferenceDirectives);
          }
          function $e(mt) {
            const pt = { ...mt };
            return pt.pos = -1, pt.end = -1, pt;
          }
          function Ke() {
            return Fi(R, (mt) => {
              if (mt.preserve)
                return $e(mt);
            });
          }
          function Tt() {
            return Fi(B, (mt) => {
              if (mt.preserve)
                return $e(mt);
            });
          }
          function Le(mt) {
            return Fi(F, ([pt, Ct]) => {
              if (!Ct.preserve) return;
              const qe = T.getSourceFileFromReference(pt, Ct);
              if (!qe)
                return;
              let Lt;
              if (qe.isDeclarationFile)
                Lt = qe.fileName;
              else {
                if (s && ds(re.sourceFiles, qe)) return;
                const yt = tw(
                  qe,
                  T,
                  /*forceDtsPaths*/
                  true
                );
                Lt = yt.declarationFilePath || yt.jsFilePath || qe.fileName;
              }
              if (!Lt) return;
              const rn = XT(
                mt,
                Lt,
                T.getCurrentDirectory(),
                T.getCanonicalFileName,
                /*isAbsolutePathAnUrl*/
                false
              ), Pe = $e(Ct);
              return Pe.fileName = rn, Pe;
            });
          }
        }
        function ne(re) {
          if (re.kind === 80)
            return re;
          return re.kind === 208 ? S.updateArrayBindingPattern(re, Ar(re.elements, it, D7)) : S.updateObjectBindingPattern(re, Ar(re.elements, it, ha));
          function it(Y) {
            return Y.kind === 233 ? Y : (Y.propertyName && Hs(Y.propertyName) && Za(Y.propertyName.expression) && Wt(Y.propertyName.expression, u), S.updateBindingElement(
              Y,
              Y.dotDotDotToken,
              Y.propertyName,
              ne(Y.name),
              /*initializer*/
              void 0
            ));
          }
        }
        function Se(re, it) {
          let Y;
          h || (Y = n, n = _v(re));
          const Ae = S.updateParameterDeclaration(
            re,
            Cje(S, re, it),
            re.dotDotDotToken,
            ne(re.name),
            U.isOptionalParameter(re) ? re.questionToken || S.createToken(
              58
              /* QuestionToken */
            ) : void 0,
            Ee(
              re,
              /*ignorePrivate*/
              true
            ),
            // Ignore private param props, since this type is going straight back into a param
            Ne(re)
          );
          return h || (n = Y), Ae;
        }
        function ie(re) {
          return nve(re) && !!re.initializer && U.isLiteralConstDeclaration(ys(re));
        }
        function Ne(re) {
          if (ie(re)) {
            const it = ete(re.initializer);
            return uF(it) || ae(re), U.createLiteralConstValue(ys(re, nve), D);
          }
        }
        function Ee(re, it) {
          if (!it && ef(
            re,
            2
            /* Private */
          ) || ie(re))
            return;
          if (!Fo(re) && !ha(re) && re.type && (!Ii(re) || !U.requiresAddingImplicitUndefined(re, u)))
            return Qe(re.type, fi, li);
          const Y = P;
          P = re.name;
          let Ae;
          h || (Ae = n, p8(re) && (n = _v(re)));
          let $e;
          return _F(re) ? $e = U.createTypeOfDeclaration(re, u, d8, m8, D) : Cs(re) ? $e = U.createReturnTypeOfSignatureDeclaration(re, u, d8, m8, D) : E.assertNever(re), P = Y, h || (n = Ae), $e ?? S.createKeywordTypeNode(
            133
            /* AnyKeyword */
          );
        }
        function Ce(re) {
          switch (re = ys(re), re.kind) {
            case 263:
            case 268:
            case 265:
            case 264:
            case 266:
            case 267:
              return !U.isDeclarationVisible(re);
            // The following should be doing their own visibility checks based on filtering their members
            case 261:
              return !St(re);
            case 272:
            case 273:
            case 279:
            case 278:
              return false;
            case 176:
              return true;
          }
          return false;
        }
        function Ve(re) {
          var it;
          if (re.body)
            return true;
          const Y = (it = re.symbol.declarations) == null ? void 0 : it.filter((Ae) => Tc(Ae) && !Ae.body);
          return !Y || Y.indexOf(re) === Y.length - 1;
        }
        function St(re) {
          return gl(re) ? false : Ds(re.name) ? ot(re.name.elements, St) : U.isDeclarationVisible(re);
        }
        function Bt(re, it, Y) {
          if (ef(
            re,
            2
            /* Private */
          ))
            return S.createNodeArray();
          const Ae = hr(it, ($e) => Se($e, Y));
          return Ae ? S.createNodeArray(Ae, it.hasTrailingComma) : S.createNodeArray();
        }
        function tr(re, it) {
          let Y;
          if (!it) {
            const Ae = Ab(re);
            Ae && (Y = [Se(Ae)]);
          }
          if (R_(re)) {
            let Ae;
            if (!it) {
              const $e = Y4(re);
              $e && (Ae = Se($e));
            }
            Ae || (Ae = S.createParameterDeclaration(
              /*modifiers*/
              void 0,
              /*dotDotDotToken*/
              void 0,
              "value"
            )), Y = Er(Y, Ae);
          }
          return S.createNodeArray(Y || Ge);
        }
        function Nr(re, it) {
          return ef(
            re,
            2
            /* Private */
          ) ? void 0 : Ar(it, fi, Io);
        }
        function st(re) {
          return Di(re) || jp(re) || Lc(re) || Zc(re) || Jl(re) || Cs(re) || Jy(re) || yS(re);
        }
        function Wt(re, it) {
          const Y = U.isEntityNameVisible(re, it);
          se(Y);
        }
        function Jr(re, it) {
          return bf(re) && bf(it) && (re.jsDoc = it.jsDoc), Yc(re, pm(it));
        }
        function ui(re, it) {
          if (it) {
            if (o = o || re.kind !== 268 && re.kind !== 206, Ma(it) && s) {
              const Y = WK(e.getEmitHost(), U, re);
              if (Y)
                return S.createStringLiteral(Y);
            }
            return it;
          }
        }
        function Ji(re) {
          if (U.isDeclarationVisible(re))
            if (re.moduleReference.kind === 284) {
              const it = L4(re);
              return S.updateImportEqualsDeclaration(
                re,
                re.modifiers,
                re.isTypeOnly,
                re.name,
                S.updateExternalModuleReference(re.moduleReference, ui(re, it))
              );
            } else {
              const it = n;
              return n = _v(re), Wt(re.moduleReference, u), n = it, re;
            }
        }
        function Dt(re) {
          if (!re.importClause)
            return S.updateImportDeclaration(
              re,
              re.modifiers,
              re.importClause,
              ui(re, re.moduleSpecifier),
              Mn(re.attributes)
            );
          const it = re.importClause.phaseModifier === 166 ? void 0 : re.importClause.phaseModifier, Y = re.importClause && re.importClause.name && U.isDeclarationVisible(re.importClause) ? re.importClause.name : void 0;
          if (!re.importClause.namedBindings)
            return Y && S.updateImportDeclaration(
              re,
              re.modifiers,
              S.updateImportClause(
                re.importClause,
                it,
                Y,
                /*namedBindings*/
                void 0
              ),
              ui(re, re.moduleSpecifier),
              Mn(re.attributes)
            );
          if (re.importClause.namedBindings.kind === 275) {
            const $e = U.isDeclarationVisible(re.importClause.namedBindings) ? re.importClause.namedBindings : (
              /*namedBindings*/
              void 0
            );
            return Y || $e ? S.updateImportDeclaration(
              re,
              re.modifiers,
              S.updateImportClause(
                re.importClause,
                it,
                Y,
                $e
              ),
              ui(re, re.moduleSpecifier),
              Mn(re.attributes)
            ) : void 0;
          }
          const Ae = Fi(re.importClause.namedBindings.elements, ($e) => U.isDeclarationVisible($e) ? $e : void 0);
          if (Ae && Ae.length || Y)
            return S.updateImportDeclaration(
              re,
              re.modifiers,
              S.updateImportClause(
                re.importClause,
                it,
                Y,
                Ae && Ae.length ? S.updateNamedImports(re.importClause.namedBindings, Ae) : void 0
              ),
              ui(re, re.moduleSpecifier),
              Mn(re.attributes)
            );
          if (U.isImportRequiredByAugmentation(re))
            return K && e.addDiagnostic(sn(re, p.Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations)), S.updateImportDeclaration(
              re,
              re.modifiers,
              /*importClause*/
              void 0,
              ui(re, re.moduleSpecifier),
              Mn(re.attributes)
            );
        }
        function Mn(re) {
          const it = I6(re);
          return re && it !== void 0 ? re : void 0;
        }
        function ai(re) {
          for (; wr(g); ) {
            const Y = g.shift();
            if (!q7(Y))
              return E.fail(`Late replaced statement was found which is not handled by the declaration transformer!: ${E.formatSyntaxKind(Y.kind)}`);
            const Ae = i;
            i = Y.parent && Di(Y.parent) && !(ll(Y.parent) && s);
            const $e = er(Y);
            i = Ae, m.set(s_(Y), $e);
          }
          return Ar(re, it, Ti);
          function it(Y) {
            if (q7(Y)) {
              const Ae = s_(Y);
              if (m.has(Ae)) {
                const $e = m.get(Ae);
                return m.delete(Ae), $e && ((ss($e) ? ot($e, w7) : w7($e)) && (c = true), Di(Y.parent) && (ss($e) ? ot($e, u3) : u3($e)) && (o = true)), $e;
              }
            }
            return Y;
          }
        }
        function fi(re) {
          if (Es(re)) return;
          if (Cl(re)) {
            if (Ce(re)) return;
            if (hh(re)) {
              if (K) {
                if (!U.isDefinitelyReferenceToGlobalSymbolObject(re.name.expression)) {
                  if (Zc(re.parent) || ua(re.parent)) {
                    e.addDiagnostic(sn(re, 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
                    (Jl(re.parent) || r_(re.parent)) && !Za(re.name.expression)
                  ) {
                    e.addDiagnostic(sn(re, p.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations));
                    return;
                  }
                }
              } else if (!U.isLateBound(ys(re)) || !Za(re.name.expression))
                return;
            }
          }
          if (Cs(re) && U.isImplementationOfOverload(re) || Rte(re)) return;
          let it;
          st(re) && (it = u, u = re);
          const Y = n, Ae = p8(re), $e = h;
          let Ke = (re.kind === 188 || re.kind === 201) && re.parent.kind !== 266;
          if ((Ko(re) || id(re)) && ef(
            re,
            2
            /* Private */
          ))
            return re.symbol && re.symbol.declarations && re.symbol.declarations[0] !== re ? void 0 : Tt(S.createPropertyDeclaration(
              vs(re),
              re.name,
              /*questionOrExclamationToken*/
              void 0,
              /*type*/
              void 0,
              /*initializer*/
              void 0
            ));
          if (Ae && !h && (n = _v(re)), Jb(re) && Wt(re.exprName, u), Ke && (h = true), Dje(re))
            switch (re.kind) {
              case 234: {
                (Zu(re.expression) || Za(re.expression)) && Wt(re.expression, u);
                const Le = br(re, fi, e);
                return Tt(S.updateExpressionWithTypeArguments(Le, Le.expression, Le.typeArguments));
              }
              case 184: {
                Wt(re.typeName, u);
                const Le = br(re, fi, e);
                return Tt(S.updateTypeReferenceNode(Le, Le.typeName, Le.typeArguments));
              }
              case 181:
                return Tt(S.updateConstructSignature(
                  re,
                  Nr(re, re.typeParameters),
                  Bt(re, re.parameters),
                  Ee(re)
                ));
              case 177: {
                const Le = S.createConstructorDeclaration(
                  /*modifiers*/
                  vs(re),
                  Bt(
                    re,
                    re.parameters,
                    0
                    /* None */
                  ),
                  /*body*/
                  void 0
                );
                return Tt(Le);
              }
              case 175: {
                if (Ai(re.name))
                  return Tt(
                    /*returnValue*/
                    void 0
                  );
                const Le = S.createMethodDeclaration(
                  vs(re),
                  /*asteriskToken*/
                  void 0,
                  re.name,
                  re.questionToken,
                  Nr(re, re.typeParameters),
                  Bt(re, re.parameters),
                  Ee(re),
                  /*body*/
                  void 0
                );
                return Tt(Le);
              }
              case 178:
                return Ai(re.name) ? Tt(
                  /*returnValue*/
                  void 0
                ) : Tt(S.updateGetAccessorDeclaration(
                  re,
                  vs(re),
                  re.name,
                  tr(re, ef(
                    re,
                    2
                    /* Private */
                  )),
                  Ee(re),
                  /*body*/
                  void 0
                ));
              case 179:
                return Ai(re.name) ? Tt(
                  /*returnValue*/
                  void 0
                ) : Tt(S.updateSetAccessorDeclaration(
                  re,
                  vs(re),
                  re.name,
                  tr(re, ef(
                    re,
                    2
                    /* Private */
                  )),
                  /*body*/
                  void 0
                ));
              case 173:
                return Ai(re.name) ? Tt(
                  /*returnValue*/
                  void 0
                ) : Tt(S.updatePropertyDeclaration(
                  re,
                  vs(re),
                  re.name,
                  re.questionToken,
                  Ee(re),
                  Ne(re)
                ));
              case 172:
                return Ai(re.name) ? Tt(
                  /*returnValue*/
                  void 0
                ) : Tt(S.updatePropertySignature(
                  re,
                  vs(re),
                  re.name,
                  re.questionToken,
                  Ee(re)
                ));
              case 174:
                return Ai(re.name) ? Tt(
                  /*returnValue*/
                  void 0
                ) : Tt(S.updateMethodSignature(
                  re,
                  vs(re),
                  re.name,
                  re.questionToken,
                  Nr(re, re.typeParameters),
                  Bt(re, re.parameters),
                  Ee(re)
                ));
              case 180:
                return Tt(
                  S.updateCallSignature(
                    re,
                    Nr(re, re.typeParameters),
                    Bt(re, re.parameters),
                    Ee(re)
                  )
                );
              case 182:
                return Tt(S.updateIndexSignature(
                  re,
                  vs(re),
                  Bt(re, re.parameters),
                  Qe(re.type, fi, li) || S.createKeywordTypeNode(
                    133
                    /* AnyKeyword */
                  )
                ));
              case 261:
                return Ds(re.name) ? Jn(re.name) : (Ke = true, h = true, Tt(S.updateVariableDeclaration(
                  re,
                  re.name,
                  /*exclamationToken*/
                  void 0,
                  Ee(re),
                  Ne(re)
                )));
              case 169:
                return pn(re) && (re.default || re.constraint) ? Tt(S.updateTypeParameterDeclaration(
                  re,
                  re.modifiers,
                  re.name,
                  /*constraint*/
                  void 0,
                  /*defaultType*/
                  void 0
                )) : Tt(br(re, fi, e));
              case 195: {
                const Le = Qe(re.checkType, fi, li), mt = Qe(re.extendsType, fi, li), pt = u;
                u = re.trueType;
                const Ct = Qe(re.trueType, fi, li);
                u = pt;
                const qe = Qe(re.falseType, fi, li);
                return E.assert(Le), E.assert(mt), E.assert(Ct), E.assert(qe), Tt(S.updateConditionalTypeNode(re, Le, mt, Ct, qe));
              }
              case 185:
                return Tt(S.updateFunctionTypeNode(
                  re,
                  Ar(re.typeParameters, fi, Io),
                  Bt(re, re.parameters),
                  E.checkDefined(Qe(re.type, fi, li))
                ));
              case 186:
                return Tt(S.updateConstructorTypeNode(
                  re,
                  vs(re),
                  Ar(re.typeParameters, fi, Io),
                  Bt(re, re.parameters),
                  E.checkDefined(Qe(re.type, fi, li))
                ));
              case 206:
                return mh(re) ? Tt(S.updateImportTypeNode(
                  re,
                  S.updateLiteralTypeNode(re.argument, ui(re, re.argument.literal)),
                  re.attributes,
                  re.qualifier,
                  Ar(re.typeArguments, fi, li),
                  re.isTypeOf
                )) : Tt(re);
              default:
                E.assertNever(re, `Attempted to process unhandled node kind: ${E.formatSyntaxKind(re.kind)}`);
            }
          return jx(re) && Rs(O, re.pos).line === Rs(O, re.end).line && un(
            re,
            1
            /* SingleLine */
          ), Tt(br(re, fi, e));
          function Tt(Le) {
            return Le && Ae && hh(re) && ki(re), st(re) && (u = it), Ae && !h && (n = Y), Ke && (h = $e), Le === re ? Le : Le && Cn(Jr(Le, re), re);
          }
        }
        function pn(re) {
          return re.parent.kind === 175 && ef(
            re.parent,
            2
            /* Private */
          );
        }
        function _i(re) {
          if (!Eje(re) || Es(re)) return;
          switch (re.kind) {
            case 279:
              return Di(re.parent) && (o = true), _ = true, S.updateExportDeclaration(
                re,
                re.modifiers,
                re.isTypeOnly,
                re.exportClause,
                ui(re, re.moduleSpecifier),
                Mn(re.attributes)
              );
            case 278: {
              if (Di(re.parent) && (o = true), _ = true, re.expression.kind === 80)
                return re;
              {
                const Y = S.createUniqueName(
                  "_default",
                  16
                  /* Optimistic */
                );
                n = () => ({
                  diagnosticMessage: p.Default_export_of_the_module_has_or_is_using_private_name_0,
                  errorNode: re
                }), A = re;
                const Ae = Ee(re), $e = S.createVariableDeclaration(
                  Y,
                  /*exclamationToken*/
                  void 0,
                  Ae,
                  /*initializer*/
                  void 0
                );
                A = void 0;
                const Ke = S.createVariableStatement(i ? [S.createModifier(
                  138
                  /* DeclareKeyword */
                )] : [], S.createVariableDeclarationList(
                  [$e],
                  2
                  /* Const */
                ));
                return Jr(Ke, re), PN(re), [Ke, S.updateExportAssignment(re, re.modifiers, Y)];
              }
            }
          }
          const it = er(re);
          return m.set(s_(re), it), re;
        }
        function Je(re) {
          if (cl(re) || ef(
            re,
            2048
            /* Default */
          ) || !Jp(re))
            return re;
          const it = S.createModifiersFromModifierFlags(lu(re) & 131039);
          return S.replaceModifiers(re, it);
        }
        function ft(re, it, Y, Ae) {
          const $e = S.updateModuleDeclaration(re, it, Y, Ae);
          if (Ju($e) || $e.flags & 32)
            return $e;
          const Ke = S.createModuleDeclaration(
            $e.modifiers,
            $e.name,
            $e.body,
            $e.flags | 32
            /* Namespace */
          );
          return Cn(Ke, $e), ct(Ke, $e), Ke;
        }
        function er(re) {
          if (g)
            for (; KE(g, re); ) ;
          if (Es(re)) return;
          switch (re.kind) {
            case 272:
              return Ji(re);
            case 273:
              return Dt(re);
          }
          if (Cl(re) && Ce(re) || vm(re) || Cs(re) && U.isImplementationOfOverload(re)) return;
          let it;
          st(re) && (it = u, u = re);
          const Y = p8(re), Ae = n;
          Y && (n = _v(re));
          const $e = i;
          switch (re.kind) {
            case 266: {
              i = false;
              const Tt = Ke(S.updateTypeAliasDeclaration(
                re,
                vs(re),
                re.name,
                Ar(re.typeParameters, fi, Io),
                E.checkDefined(Qe(re.type, fi, li))
              ));
              return i = $e, Tt;
            }
            case 265:
              return Ke(S.updateInterfaceDeclaration(
                re,
                vs(re),
                re.name,
                Nr(re, re.typeParameters),
                Et(re.heritageClauses),
                Ar(re.members, fi, yb)
              ));
            case 263: {
              const Tt = Ke(S.updateFunctionDeclaration(
                re,
                vs(re),
                /*asteriskToken*/
                void 0,
                re.name,
                Nr(re, re.typeParameters),
                Bt(re, re.parameters),
                Ee(re),
                /*body*/
                void 0
              ));
              if (Tt && U.isExpandoFunctionDeclaration(re) && Ve(re)) {
                const Le = U.getPropertiesOfContainerFunction(re);
                K && V(re);
                const mt = ov.createModuleDeclaration(
                  /*modifiers*/
                  void 0,
                  Tt.name || S.createIdentifier("_default"),
                  S.createModuleBlock([]),
                  32
                  /* Namespace */
                );
                ja(mt, u), mt.locals = js(Le), mt.symbol = Le[0].parent;
                const pt = [];
                let Ct = Fi(Le, (ue) => {
                  if (!Px(ue.valueDeclaration))
                    return;
                  const M = Si(ue.escapedName);
                  if (!F_(
                    M,
                    99
                    /* ESNext */
                  ))
                    return;
                  n = _v(ue.valueDeclaration);
                  const ye = U.createTypeOfDeclaration(ue.valueDeclaration, mt, d8, m8 | 2, D);
                  n = Ae;
                  const Q = dx(M), dt = Q ? S.getGeneratedNameForNode(ue.valueDeclaration) : S.createIdentifier(M);
                  Q && pt.push([dt, M]);
                  const Mt = S.createVariableDeclaration(
                    dt,
                    /*exclamationToken*/
                    void 0,
                    ye,
                    /*initializer*/
                    void 0
                  );
                  return S.createVariableStatement(Q ? void 0 : [S.createToken(
                    95
                    /* ExportKeyword */
                  )], S.createVariableDeclarationList([Mt]));
                });
                pt.length ? Ct.push(S.createExportDeclaration(
                  /*modifiers*/
                  void 0,
                  /*isTypeOnly*/
                  false,
                  S.createNamedExports(hr(pt, ([ue, M]) => S.createExportSpecifier(
                    /*isTypeOnly*/
                    false,
                    ue,
                    M
                  )))
                )) : Ct = Fi(Ct, (ue) => S.replaceModifiers(
                  ue,
                  0
                  /* None */
                ));
                const qe = S.createModuleDeclaration(
                  vs(re),
                  re.name,
                  S.createModuleBlock(Ct),
                  32
                  /* Namespace */
                );
                if (!ef(
                  Tt,
                  2048
                  /* Default */
                ))
                  return [Tt, qe];
                const Lt = S.createModifiersFromModifierFlags(
                  lu(Tt) & -2081 | 128
                  /* Ambient */
                ), rn = S.updateFunctionDeclaration(
                  Tt,
                  Lt,
                  /*asteriskToken*/
                  void 0,
                  Tt.name,
                  Tt.typeParameters,
                  Tt.parameters,
                  Tt.type,
                  /*body*/
                  void 0
                ), Pe = S.updateModuleDeclaration(
                  qe,
                  Lt,
                  qe.name,
                  qe.body
                ), yt = S.createExportAssignment(
                  /*modifiers*/
                  void 0,
                  /*isExportEquals*/
                  false,
                  qe.name
                );
                return Di(re.parent) && (o = true), _ = true, [rn, Pe, yt];
              } else
                return Tt;
            }
            case 268: {
              i = false;
              const Tt = re.body;
              if (Tt && Tt.kind === 269) {
                const Le = c, mt = _;
                _ = false, c = false;
                const pt = Ar(Tt.statements, _i, Ti);
                let Ct = ai(pt);
                re.flags & 33554432 && (c = false), !Vm(re) && !yr(Ct) && !_ && (c ? Ct = S.createNodeArray([...Ct, JN(S)]) : Ct = Ar(Ct, Je, Ti));
                const qe = S.updateModuleBlock(Tt, Ct);
                i = $e, c = Le, _ = mt;
                const Lt = vs(re);
                return Ke(ft(
                  re,
                  Lt,
                  xb(re) ? ui(re, re.name) : re.name,
                  qe
                ));
              } else {
                i = $e;
                const Le = vs(re);
                i = false, Qe(Tt, _i);
                const mt = s_(Tt), pt = m.get(mt);
                return m.delete(mt), Ke(ft(
                  re,
                  Le,
                  re.name,
                  pt
                ));
              }
            }
            case 264: {
              P = re.name, A = re;
              const Tt = S.createNodeArray(vs(re)), Le = Nr(re, re.typeParameters), mt = Ag(re);
              let pt;
              if (mt) {
                const ue = n;
                pt = OP(xa(mt.parameters, (M) => {
                  if (!Gn(
                    M,
                    31
                    /* ParameterPropertyModifier */
                  ) || Es(M)) return;
                  if (n = _v(M), M.name.kind === 80)
                    return Jr(
                      S.createPropertyDeclaration(
                        vs(M),
                        M.name,
                        M.questionToken,
                        Ee(M),
                        Ne(M)
                      ),
                      M
                    );
                  return ye(M.name);
                  function ye(Q) {
                    let dt;
                    for (const Mt of Q.elements)
                      gl(Mt) || (Ds(Mt.name) && (dt = Bi(dt, ye(Mt.name))), dt = dt || [], dt.push(S.createPropertyDeclaration(
                        vs(M),
                        Mt.name,
                        /*questionOrExclamationToken*/
                        void 0,
                        Ee(Mt),
                        /*initializer*/
                        void 0
                      )));
                    return dt;
                  }
                })), n = ue;
              }
              const qe = ot(re.members, (ue) => !!ue.name && Ai(ue.name)) ? [
                S.createPropertyDeclaration(
                  /*modifiers*/
                  void 0,
                  S.createPrivateIdentifier("#private"),
                  /*questionOrExclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  /*initializer*/
                  void 0
                )
              ] : void 0, Lt = U.createLateBoundIndexSignatures(re, u, d8, m8, D), rn = Bi(Bi(Bi(qe, Lt), pt), Ar(re.members, fi, Uc)), Pe = S.createNodeArray(rn), yt = kd(re);
              if (yt && !Za(yt.expression) && yt.expression.kind !== 106) {
                const ue = re.name ? Si(re.name.escapedText) : "default", M = S.createUniqueName(
                  `${ue}_base`,
                  16
                  /* Optimistic */
                );
                n = () => ({
                  diagnosticMessage: p.extends_clause_of_exported_class_0_has_or_is_using_private_name_1,
                  errorNode: yt,
                  typeName: re.name
                });
                const ye = S.createVariableDeclaration(
                  M,
                  /*exclamationToken*/
                  void 0,
                  U.createTypeOfExpression(yt.expression, re, d8, m8, D),
                  /*initializer*/
                  void 0
                ), Q = S.createVariableStatement(i ? [S.createModifier(
                  138
                  /* DeclareKeyword */
                )] : [], S.createVariableDeclarationList(
                  [ye],
                  2
                  /* Const */
                )), dt = S.createNodeArray(hr(re.heritageClauses, (Mt) => {
                  if (Mt.token === 96) {
                    const ke = n;
                    n = _v(Mt.types[0]);
                    const at = S.updateHeritageClause(Mt, hr(Mt.types, (wt) => S.updateExpressionWithTypeArguments(wt, M, Ar(wt.typeArguments, fi, li))));
                    return n = ke, at;
                  }
                  return S.updateHeritageClause(Mt, Ar(S.createNodeArray(kn(
                    Mt.types,
                    (ke) => Za(ke.expression) || ke.expression.kind === 106
                    /* NullKeyword */
                  )), fi, Th));
                }));
                return [
                  Q,
                  Ke(S.updateClassDeclaration(
                    re,
                    Tt,
                    re.name,
                    Le,
                    dt,
                    Pe
                  ))
                ];
              } else {
                const ue = Et(re.heritageClauses);
                return Ke(S.updateClassDeclaration(
                  re,
                  Tt,
                  re.name,
                  Le,
                  ue,
                  Pe
                ));
              }
            }
            case 244:
              return Ke(qr(re));
            case 267:
              return Ke(S.updateEnumDeclaration(
                re,
                S.createNodeArray(vs(re)),
                re.name,
                S.createNodeArray(Fi(re.members, (Tt) => {
                  if (Es(Tt)) return;
                  const Le = U.getEnumMemberValue(Tt), mt = Le?.value;
                  K && Tt.initializer && Le?.hasExternalReferences && // This will be its own compiler error instead, so don't report.
                  !Hs(Tt.name) && e.addDiagnostic(sn(Tt, p.Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations));
                  const pt = mt === void 0 ? void 0 : typeof mt == "string" ? S.createStringLiteral(mt) : mt < 0 ? S.createPrefixUnaryExpression(41, S.createNumericLiteral(-mt)) : S.createNumericLiteral(mt);
                  return Jr(S.updateEnumMember(Tt, Tt.name, pt), Tt);
                }))
              ));
          }
          return E.assertNever(re, `Unhandled top-level node in declaration emit: ${E.formatSyntaxKind(re.kind)}`);
          function Ke(Tt) {
            return st(re) && (u = it), Y && (n = Ae), re.kind === 268 && (i = $e), Tt === re ? Tt : (A = void 0, P = void 0, Tt && Cn(Jr(Tt, re), re));
          }
        }
        function qr(re) {
          if (!lr(re.declarationList.declarations, St)) return;
          const it = Ar(re.declarationList.declarations, fi, ei);
          if (!wr(it)) return;
          const Y = S.createNodeArray(vs(re));
          let Ae;
          return k3(re.declarationList) || x3(re.declarationList) ? (Ae = S.createVariableDeclarationList(
            it,
            2
            /* Const */
          ), Cn(Ae, re.declarationList), ct(Ae, re.declarationList), Yc(Ae, re.declarationList)) : Ae = S.updateVariableDeclarationList(re.declarationList, it), S.updateVariableStatement(re, Y, Ae);
        }
        function Jn(re) {
          return wp(Fi(re.elements, (it) => Un(it)));
        }
        function Un(re) {
          if (re.kind !== 233 && re.name)
            return St(re) ? Ds(re.name) ? Jn(re.name) : S.createVariableDeclaration(
              re.name,
              /*exclamationToken*/
              void 0,
              Ee(re),
              /*initializer*/
              void 0
            ) : void 0;
        }
        function ki(re) {
          let it;
          h || (it = n, n = cie(re)), P = re.name, E.assert(hh(re));
          const Ae = re.name.expression;
          Wt(Ae, u), h || (n = it), P = void 0;
        }
        function Es(re) {
          return !!_e && !!re && RZ(re, O);
        }
        function Zs(re) {
          return Fo(re) || Mc(re);
        }
        function yr(re) {
          return ot(re, Zs);
        }
        function vs(re) {
          const it = lu(re), Y = Xe(re);
          return it === Y ? GD(re.modifiers, (Ae) => Bn(Ae, Ys), Ys) : S.createModifiersFromModifierFlags(Y);
        }
        function Xe(re) {
          let it = 130030, Y = i && !kje(re) ? 128 : 0;
          const Ae = re.parent.kind === 308;
          return (!Ae || s && Ae && ll(re.parent)) && (it ^= 128, Y = 0), rve(re, it, Y);
        }
        function Et(re) {
          return S.createNodeArray(kn(
            hr(re, (it) => S.updateHeritageClause(
              it,
              Ar(
                S.createNodeArray(kn(it.types, (Y) => Za(Y.expression) || it.token === 96 && Y.expression.kind === 106)),
                fi,
                Th
              )
            )),
            (it) => it.types && !!it.types.length
          ));
        }
      }
      function kje(e) {
        return e.kind === 265;
      }
      function Cje(e, t, n, i) {
        return e.createModifiersFromModifierFlags(rve(t, n, i));
      }
      function rve(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 nve(e) {
        switch (e.kind) {
          case 173:
          case 172:
            return !ef(
              e,
              2
              /* Private */
            );
          case 170:
          case 261:
            return true;
        }
        return false;
      }
      function Eje(e) {
        switch (e.kind) {
          case 263:
          case 268:
          case 272:
          case 265:
          case 264:
          case 266:
          case 267:
          case 244:
          case 273:
          case 279:
          case 278:
            return true;
        }
        return false;
      }
      function Dje(e) {
        switch (e.kind) {
          case 181:
          case 177:
          case 175:
          case 178:
          case 179:
          case 173:
          case 172:
          case 174:
          case 180:
          case 182:
          case 261:
          case 169:
          case 234:
          case 184:
          case 195:
          case 185:
          case 186:
          case 206:
            return true;
        }
        return false;
      }
      function wje(e) {
        switch (e) {
          case 200:
            return $W;
          case 99:
          case 7:
          case 6:
          case 5:
          case 100:
          case 101:
          case 102:
          case 199:
          case 1:
            return oie;
          case 4:
            return aie;
          default:
            return GW;
        }
      }
      var _ie = { scriptTransformers: Ge, declarationTransformers: Ge };
      function fie(e, t, n) {
        return {
          scriptTransformers: Pje(e, t, n),
          declarationTransformers: Nje(t)
        };
      }
      function Pje(e, t, n) {
        if (n) return Ge;
        const i = pa(e), s = Wu(e), o = pN(e), c = [];
        return In(c, t && hr(t.before, sve)), c.push(Une), e.experimentalDecorators && c.push(Hne), H5(e) && c.push(rie), i < 99 && c.push(Kne), !e.experimentalDecorators && (i < 99 || !o) && c.push(Gne), c.push(Vne), i < 8 && c.push(Zne), i < 7 && c.push(Yne), i < 6 && c.push(Qne), i < 5 && c.push(Xne), i < 4 && c.push($ne), i < 3 && c.push(nie), i < 2 && (c.push(iie), c.push(sie)), c.push(wje(s)), In(c, t && hr(t.after, sve)), c;
      }
      function Nje(e) {
        const t = [];
        return t.push(XW), In(t, e && hr(e.afterDeclarations, Ije)), t;
      }
      function Aje(e) {
        return (t) => Ute(t) ? e.transformBundle(t) : e.transformSourceFile(t);
      }
      function ive(e, t) {
        return (n) => {
          const i = e(n);
          return typeof i == "function" ? t(n, i) : Aje(i);
        };
      }
      function sve(e) {
        return ive(e, Ad);
      }
      function Ije(e) {
        return ive(e, (t, n) => n);
      }
      function ew(e, t) {
        return t;
      }
      function g8(e, t, n) {
        n(e, t);
      }
      function h8(e, t, n, i, s, o, c) {
        var _, u;
        const g = new Array(
          359
          /* Count */
        );
        let m, h, S, T = 0, k = [], D = [], P = [], A = [], O = 0, F = false, R = [], B = 0, U, $, W = ew, _e = g8, K = 0;
        const V = [], ae = {
          factory: n,
          getCompilerOptions: () => i,
          getEmitResolver: () => e,
          // TODO: GH#18217
          getEmitHost: () => t,
          // TODO: GH#18217
          getEmitHelperFactory: Bu(() => xte(ae)),
          startLexicalEnvironment: ne,
          suspendLexicalEnvironment: Se,
          resumeLexicalEnvironment: ie,
          endLexicalEnvironment: Ne,
          setLexicalEnvironmentFlags: Ee,
          getLexicalEnvironmentFlags: Ce,
          hoistVariableDeclaration: Te,
          hoistFunctionDeclaration: Fe,
          addInitializationStatement: Ye,
          startBlockScope: Ve,
          endBlockScope: St,
          addBlockScopedVariable: Bt,
          requestEmitHelper: tr,
          readEmitHelpers: Nr,
          enableSubstitution: q,
          enableEmitNotification: me,
          isSubstitutionEnabled: be,
          isEmitNotificationEnabled: Z,
          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 _e;
          },
          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'"), _e = Wt;
          },
          addDiagnostic(Wt) {
            V.push(Wt);
          }
        };
        for (const Wt of s)
          rz(xr(ys(Wt)));
        Qo("beforeTransform");
        const se = o.map((Wt) => Wt(ae)), ce = (Wt) => {
          for (const Jr of se)
            Wt = Jr(Wt);
          return Wt;
        };
        K = 1;
        const fe = [];
        for (const Wt of s)
          (_ = on) == null || _.push(on.Phase.Emit, "transformNodes", Wt.kind === 308 ? { path: Wt.path } : { kind: Wt.kind, pos: Wt.pos, end: Wt.end }), fe.push((c ? ce : he)(Wt)), (u = on) == null || u.pop();
        return K = 2, Qo("afterTransform"), Zf("transformTime", "beforeTransform", "afterTransform"), {
          transformed: fe,
          substituteNode: je,
          emitNodeWithNotification: pe,
          isEmitNotificationEnabled: Z,
          dispose: st,
          diagnostics: V
        };
        function he(Wt) {
          return Wt && (!Di(Wt) || !Wt.isDeclarationFile) ? ce(Wt) : Wt;
        }
        function q(Wt) {
          E.assert(K < 2, "Cannot modify the transformation context after transformation has completed."), g[Wt] |= 1;
        }
        function be(Wt) {
          return (g[Wt.kind] & 1) !== 0 && (Ca(Wt) & 8) === 0;
        }
        function je(Wt, Jr) {
          return E.assert(K < 3, "Cannot substitute a node after the result is disposed."), Jr && be(Jr) && W(Wt, Jr) || Jr;
        }
        function me(Wt) {
          E.assert(K < 2, "Cannot modify the transformation context after transformation has completed."), g[Wt] |= 2;
        }
        function Z(Wt) {
          return (g[Wt.kind] & 2) !== 0 || (Ca(Wt) & 4) !== 0;
        }
        function pe(Wt, Jr, ui) {
          E.assert(K < 3, "Cannot invoke TransformationResult callbacks after the result is disposed."), Jr && (Z(Jr) ? _e(Wt, Jr, ui) : ui(Wt, Jr));
        }
        function Te(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 Jr = un(
            n.createVariableDeclaration(Wt),
            128
            /* NoNestedSourceMaps */
          );
          m ? m.push(Jr) : m = [Jr], T & 1 && (T |= 2);
        }
        function Fe(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."), un(
            Wt,
            2097152
            /* CustomPrologue */
          ), h ? h.push(Wt) : h = [Wt];
        }
        function Ye(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."), un(
            Wt,
            2097152
            /* CustomPrologue */
          ), S ? S.push(Wt) : S = [Wt];
        }
        function ne() {
          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, P[O] = S, A[O] = T, O++, m = void 0, h = void 0, S = void 0, T = 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 already suspended."), F = true;
        }
        function ie() {
          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 = false;
        }
        function Ne() {
          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 Jr = n.createVariableStatement(
                /*modifiers*/
                void 0,
                n.createVariableDeclarationList(m)
              );
              un(
                Jr,
                2097152
                /* CustomPrologue */
              ), Wt ? Wt.push(Jr) : Wt = [Jr];
            }
            S && (Wt ? Wt = [...Wt, ...S] : Wt = [...S]);
          }
          return O--, m = k[O], h = D[O], S = P[O], T = A[O], O === 0 && (k = [], D = [], P = [], A = []), Wt;
        }
        function Ee(Wt, Jr) {
          T = Jr ? T | Wt : T & ~Wt;
        }
        function Ce() {
          return T;
        }
        function Ve() {
          E.assert(K > 0, "Cannot start a block scope during initialization."), E.assert(K < 2, "Cannot start a block scope after transformation has completed."), R[B] = U, B++, U = 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 = ot(U) ? [
            n.createVariableStatement(
              /*modifiers*/
              void 0,
              n.createVariableDeclarationList(
                U.map((Jr) => n.createVariableDeclaration(Jr)),
                1
                /* Let */
              )
            )
          ] : void 0;
          return B--, U = R[B], B === 0 && (R = []), Wt;
        }
        function Bt(Wt) {
          E.assert(B > 0, "Cannot add a block scoped variable outside of an iteration body."), (U || (U = [])).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 Jr of Wt.dependencies)
              tr(Jr);
          $ = Er($, Wt);
        }
        function Nr() {
          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 = $;
          return $ = void 0, Wt;
        }
        function st() {
          if (K < 3) {
            for (const Wt of s)
              rz(xr(ys(Wt)));
            m = void 0, k = void 0, h = void 0, D = void 0, W = void 0, _e = void 0, $ = void 0, K = 3;
          }
        }
      }
      var y8 = {
        factory: N,
        // eslint-disable-line object-shorthand
        getCompilerOptions: () => ({}),
        getEmitResolver: Us,
        getEmitHost: Us,
        getEmitHelperFactory: Us,
        startLexicalEnvironment: Ua,
        resumeLexicalEnvironment: Ua,
        suspendLexicalEnvironment: Ua,
        endLexicalEnvironment: pb,
        setLexicalEnvironmentFlags: Ua,
        getLexicalEnvironmentFlags: () => 0,
        hoistVariableDeclaration: Ua,
        hoistFunctionDeclaration: Ua,
        addInitializationStatement: Ua,
        startBlockScope: Ua,
        endBlockScope: pb,
        addBlockScopedVariable: Ua,
        requestEmitHelper: Ua,
        readEmitHelpers: Us,
        enableSubstitution: Ua,
        enableEmitNotification: Ua,
        isSubstitutionEnabled: Us,
        isEmitNotificationEnabled: Us,
        onSubstituteNode: ew,
        onEmitNode: g8,
        addDiagnostic: Ua
      }, ave = Oje();
      function pie(e) {
        return Ho(
          e,
          ".tsbuildinfo"
          /* TsBuildInfo */
        );
      }
      function QW(e, t, n, i = false, s, o) {
        const c = ss(n) ? n : C5(e, n, i), _ = e.getCompilerOptions();
        if (!s)
          if (_.outFile) {
            if (c.length) {
              const u = N.createBundle(c), g = t(tw(u, e, i), u);
              if (g)
                return g;
            }
          } else
            for (const u of c) {
              const g = t(tw(u, e, i), u);
              if (g)
                return g;
            }
        if (o) {
          const u = fv(_);
          if (u) return t(
            { buildInfoPath: u },
            /*sourceFileOrBundle*/
            void 0
          );
        }
      }
      function fv(e) {
        const t = e.configFilePath;
        if (!Fje(e)) return;
        if (e.tsBuildInfoFile) return e.tsBuildInfoFile;
        const n = e.outFile;
        let i;
        if (n)
          i = Uu(n);
        else {
          if (!t) return;
          const s = Uu(t);
          i = e.outDir ? e.rootDir ? my(e.outDir, Ef(
            e.rootDir,
            s,
            /*ignoreCase*/
            true
          )) : On(e.outDir, Xc(s)) : s;
        }
        return i + ".tsbuildinfo";
      }
      function Fje(e) {
        return Mb(e) || !!e.tscBuild;
      }
      function die(e, t) {
        const n = e.outFile, i = e.emitDeclarationOnly ? void 0 : n, s = i && ove(i, e), o = t || M_(e) ? Uu(n) + ".d.ts" : void 0, c = o && W5(e) ? o + ".map" : void 0;
        return { jsFilePath: i, sourceMapFilePath: s, declarationFilePath: o, declarationMapPath: c };
      }
      function tw(e, t, n) {
        const i = t.getCompilerOptions();
        if (e.kind === 309)
          return die(i, n);
        {
          const s = UK(e.fileName, t, v8(e.fileName, i)), o = rp(e), c = o && _h(e.fileName, s, t.getCurrentDirectory(), !t.useCaseSensitiveFileNames()) === 0, _ = i.emitDeclarationOnly || c ? void 0 : s, u = !_ || rp(e) ? void 0 : ove(_, i), g = n || M_(i) && !o ? VK(e.fileName, t) : void 0, m = g && W5(i) ? g + ".map" : void 0;
          return { jsFilePath: _, sourceMapFilePath: u, declarationFilePath: g, declarationMapPath: m };
        }
      }
      function ove(e, t) {
        return t.sourceMap && !t.inlineSourceMap ? e + ".map" : void 0;
      }
      function v8(e, t) {
        return Ho(
          e,
          ".json"
          /* Json */
        ) ? ".json" : t.jsx === 1 && bc(e, [
          ".jsx",
          ".tsx"
          /* Tsx */
        ]) ? ".jsx" : bc(e, [
          ".mts",
          ".mjs"
          /* Mjs */
        ]) ? ".mjs" : bc(e, [
          ".cts",
          ".cjs"
          /* Cjs */
        ]) ? ".cjs" : ".js";
      }
      function cve(e, t, n, i) {
        return n ? my(
          n,
          Ef(i(), e, t)
        ) : e;
      }
      function rw(e, t, n, i = () => FS(t, n)) {
        return YW(e, t.options, n, i);
      }
      function YW(e, t, n, i) {
        return g0(
          cve(e, n, t.declarationDir || t.outDir, i),
          x5(e)
        );
      }
      function lve(e, t, n, i = () => FS(t, n)) {
        if (t.options.emitDeclarationOnly) return;
        const s = Ho(
          e,
          ".json"
          /* Json */
        ), o = ZW(e, t.options, n, i);
        return !s || _h(e, o, E.checkDefined(t.options.configFilePath), n) !== 0 ? o : void 0;
      }
      function ZW(e, t, n, i) {
        return g0(
          cve(e, n, t.outDir, i),
          v8(e, t)
        );
      }
      function uve() {
        let e;
        return { addOutput: t, getOutputs: n };
        function t(i) {
          i && (e || (e = [])).push(i);
        }
        function n() {
          return e || Ge;
        }
      }
      function _ve(e, t) {
        const { jsFilePath: n, sourceMapFilePath: i, declarationFilePath: s, declarationMapPath: o } = die(
          e.options,
          /*forceDtsPaths*/
          false
        );
        t(n), t(i), t(s), t(o);
      }
      function fve(e, t, n, i, s) {
        if (wl(t)) return;
        const o = lve(t, e, n, s);
        if (i(o), !Ho(
          t,
          ".json"
          /* Json */
        ) && (o && e.options.sourceMap && i(`${o}.map`), M_(e.options))) {
          const c = rw(t, e, n, s);
          i(c), e.options.declarationMap && i(`${c}.map`);
        }
      }
      function nw(e, t, n, i, s) {
        let o;
        return e.rootDir ? (o = Qi(e.rootDir, n), s?.(e.rootDir)) : e.composite && e.configFilePath ? (o = Hn(Rl(e.configFilePath)), s?.(o)) : o = Tie(t(), n, i), o && o[o.length - 1] !== yo && (o += yo), o;
      }
      function FS({ options: e, fileNames: t }, n) {
        return nw(
          e,
          () => kn(t, (i) => !(e.noEmitForJsFiles && bc(i, e6)) && !wl(i)),
          Hn(Rl(E.checkDefined(e.configFilePath))),
          $l(!n)
        );
      }
      function NO(e, t) {
        const { addOutput: n, getOutputs: i } = uve();
        if (e.options.outFile)
          _ve(e, n);
        else {
          const s = Bu(() => FS(e, t));
          for (const o of e.fileNames)
            fve(e, o, t, n, s);
        }
        return n(fv(e.options)), i();
      }
      function pve(e, t, n) {
        t = qs(t), E.assert(ds(e.fileNames, t), "Expected fileName to be present in command line");
        const { addOutput: i, getOutputs: s } = uve();
        return e.options.outFile ? _ve(e, i) : fve(e, t, n, i), s();
      }
      function KW(e, t) {
        if (e.options.outFile) {
          const { jsFilePath: s, declarationFilePath: o } = die(
            e.options,
            /*forceDtsPaths*/
            false
          );
          return E.checkDefined(s || o, `project ${e.options.configFilePath} expected to have at least one output`);
        }
        const n = Bu(() => FS(e, t));
        for (const s of e.fileNames) {
          if (wl(s)) continue;
          const o = lve(s, e, t, n);
          if (o) return o;
          if (!Ho(
            s,
            ".json"
            /* Json */
          ) && M_(e.options))
            return rw(s, e, t, n);
        }
        const i = fv(e.options);
        return i || E.fail(`project ${e.options.configFilePath} expected to have at least one output`);
      }
      function eU(e, t) {
        return !!t && !!e;
      }
      function tU(e, t, n, { scriptTransformers: i, declarationTransformers: s }, o, c, _, u) {
        var g = t.getCompilerOptions(), m = g.sourceMap || g.inlineSourceMap || W5(g) ? [] : void 0, h = g.listEmittedFiles ? [] : void 0, S = X4(), T = d0(g), k = eN(T), { enter: D, exit: P } = HR("printTime", "beforePrint", "afterPrint"), A = false;
        return D(), QW(
          t,
          O,
          C5(t, n, _),
          _,
          c,
          !n && !u
        ), P(), {
          emitSkipped: A,
          diagnostics: S.getDiagnostics(),
          emittedFiles: h,
          sourceMaps: m
        };
        function O({ jsFilePath: se, sourceMapFilePath: ce, declarationFilePath: fe, declarationMapPath: he, buildInfoPath: q }, be) {
          var je, me, Z, pe, Te, Fe;
          (je = on) == null || je.push(on.Phase.Emit, "emitJsFileOrBundle", { jsFilePath: se }), R(be, se, ce), (me = on) == null || me.pop(), (Z = on) == null || Z.push(on.Phase.Emit, "emitDeclarationFileOrBundle", { declarationFilePath: fe }), B(be, fe, he), (pe = on) == null || pe.pop(), (Te = on) == null || Te.push(on.Phase.Emit, "emitBuildInfo", { buildInfoPath: q }), F(q), (Fe = on) == null || Fe.pop();
        }
        function F(se) {
          if (!se || n) return;
          if (t.isEmitBlocked(se)) {
            A = true;
            return;
          }
          const ce = t.getBuildInfo() || { version: Qf };
          D5(
            t,
            S,
            se,
            mie(ce),
            /*writeByteOrderMark*/
            false,
            /*sourceFiles*/
            void 0,
            { buildInfo: ce }
          ), h?.push(se);
        }
        function R(se, ce, fe) {
          if (!se || o || !ce)
            return;
          if (t.isEmitBlocked(ce) || g.noEmit) {
            A = true;
            return;
          }
          (Di(se) ? [se] : kn(se.sourceFiles, c5)).forEach(
            (je) => {
              (g.noCheck || !fD(je, g)) && $(je);
            }
          );
          const he = h8(
            e,
            t,
            N,
            g,
            [se],
            i,
            /*allowDtsFiles*/
            false
          ), q = {
            removeComments: g.removeComments,
            newLine: g.newLine,
            noEmitHelpers: g.noEmitHelpers,
            module: Wu(g),
            moduleResolution: Cu(g),
            target: pa(g),
            sourceMap: g.sourceMap,
            inlineSourceMap: g.inlineSourceMap,
            inlineSources: g.inlineSources,
            extendedDiagnostics: g.extendedDiagnostics
          }, be = $y(q, {
            // resolver hooks
            hasGlobalName: e.hasGlobalName,
            // transform hooks
            onEmitNode: he.emitNodeWithNotification,
            isEmitNotificationEnabled: he.isEmitNotificationEnabled,
            substituteNode: he.substituteNode
          });
          E.assert(he.transformed.length === 1, "Should only see one output from the transform"), W(ce, fe, he, be, g), he.dispose(), h && (h.push(ce), fe && h.push(fe));
        }
        function B(se, ce, fe) {
          if (!se || o === 0) return;
          if (!ce) {
            (o || g.emitDeclarationOnly) && (A = true);
            return;
          }
          const he = Di(se) ? [se] : se.sourceFiles, q = _ ? he : kn(he, c5), be = g.outFile ? [N.createBundle(q)] : q;
          q.forEach((Z) => {
            (o && !M_(g) || g.noCheck || eU(o, _) || !fD(Z, g)) && U(Z);
          });
          const je = h8(
            e,
            t,
            N,
            g,
            be,
            s,
            /*allowDtsFiles*/
            false
          );
          if (wr(je.diagnostics))
            for (const Z of je.diagnostics)
              S.add(Z);
          const me = !!je.diagnostics && !!je.diagnostics.length || !!t.isEmitBlocked(ce) || !!g.noEmit;
          if (A = A || me, !me || _) {
            E.assert(je.transformed.length === 1, "Should only see one output from the decl transform");
            const Z = {
              removeComments: g.removeComments,
              newLine: g.newLine,
              noEmitHelpers: true,
              module: g.module,
              moduleResolution: g.moduleResolution,
              target: g.target,
              sourceMap: o !== 2 && g.declarationMap,
              inlineSourceMap: g.inlineSourceMap,
              extendedDiagnostics: g.extendedDiagnostics,
              onlyPrintJsDocStyle: true,
              omitBraceSourceMapPositions: true
            }, pe = $y(Z, {
              // resolver hooks
              hasGlobalName: e.hasGlobalName,
              // transform hooks
              onEmitNode: je.emitNodeWithNotification,
              isEmitNotificationEnabled: je.isEmitNotificationEnabled,
              substituteNode: je.substituteNode
            }), Te = W(
              ce,
              fe,
              je,
              pe,
              {
                sourceMap: Z.sourceMap,
                sourceRoot: g.sourceRoot,
                mapRoot: g.mapRoot,
                extendedDiagnostics: g.extendedDiagnostics
                // Explicitly do not passthru either `inline` option
              }
            );
            h && (Te && h.push(ce), fe && h.push(fe));
          }
          je.dispose();
        }
        function U(se) {
          if (Fo(se)) {
            se.expression.kind === 80 && e.collectLinkedAliases(
              se.expression,
              /*setVisibility*/
              true
            );
            return;
          } else if (Eu(se)) {
            e.collectLinkedAliases(
              se.propertyName || se.name,
              /*setVisibility*/
              true
            );
            return;
          }
          Ts(se, U);
        }
        function $(se) {
          Ku(se) || Hx(se, (ce) => {
            if (cl(ce) && !(f0(ce) & 32) || Wo(ce)) return "skip";
            e.markLinkedReferences(ce);
          });
        }
        function W(se, ce, fe, he, q) {
          const be = fe.transformed[0], je = be.kind === 309 ? be : void 0, me = be.kind === 308 ? be : void 0, Z = je ? je.sourceFiles : [me];
          let pe;
          _e(q, be) && (pe = Cne(
            t,
            Xc(Rl(se)),
            K(q),
            V(q, se, me),
            q
          )), je ? he.writeBundle(je, k, pe) : he.writeFile(me, k, pe);
          let Te;
          if (pe) {
            m && m.push({
              inputSourceFileNames: pe.getSources(),
              sourceMap: pe.toJSON()
            });
            const ne = ae(
              q,
              pe,
              se,
              ce,
              me
            );
            if (ne && (k.isAtStartOfLine() || k.rawWrite(T), Te = k.getTextPos(), k.writeComment(`//# sourceMappingURL=${ne}`)), ce) {
              const Se = pe.toString();
              D5(
                t,
                S,
                ce,
                Se,
                /*writeByteOrderMark*/
                false,
                Z
              );
            }
          } else
            k.writeLine();
          const Fe = k.getText(), Ye = { sourceMapUrlPos: Te, diagnostics: fe.diagnostics };
          return D5(t, S, se, Fe, !!g.emitBOM, Z, Ye), k.clear(), !Ye.skippedDtsWrite;
        }
        function _e(se, ce) {
          return (se.sourceMap || se.inlineSourceMap) && (ce.kind !== 308 || !Ho(
            ce.fileName,
            ".json"
            /* Json */
          ));
        }
        function K(se) {
          const ce = Rl(se.sourceRoot || "");
          return ce && pl(ce);
        }
        function V(se, ce, fe) {
          if (se.sourceRoot) return t.getCommonSourceDirectory();
          if (se.mapRoot) {
            let he = Rl(se.mapRoot);
            return fe && (he = Hn(E5(fe.fileName, t, he))), bd(he) === 0 && (he = On(t.getCommonSourceDirectory(), he)), he;
          }
          return Hn(qs(ce));
        }
        function ae(se, ce, fe, he, q) {
          if (se.inlineSourceMap) {
            const je = ce.toString();
            return `data:application/json;base64,${aee(fl, je)}`;
          }
          const be = Xc(Rl(E.checkDefined(he)));
          if (se.mapRoot) {
            let je = Rl(se.mapRoot);
            return q && (je = Hn(E5(q.fileName, t, je))), bd(je) === 0 ? (je = On(t.getCommonSourceDirectory(), je), encodeURI(
              XT(
                Hn(qs(fe)),
                // get the relative sourceMapDir path based on jsFilePath
                On(je, be),
                // this is where user expects to see sourceMap
                t.getCurrentDirectory(),
                t.getCanonicalFileName,
                /*isAbsolutePathAnUrl*/
                true
              )
            )) : encodeURI(On(je, be));
          }
          return encodeURI(be);
        }
      }
      function mie(e) {
        return JSON.stringify(e);
      }
      function rU(e, t) {
        return cJ(e, t);
      }
      var gie = {
        hasGlobalName: Us,
        getReferencedExportContainer: Us,
        getReferencedImportDeclaration: Us,
        getReferencedDeclarationWithCollidingName: Us,
        isDeclarationWithCollidingName: Us,
        isValueAliasDeclaration: Us,
        isReferencedAliasDeclaration: Us,
        isTopLevelValueImportEqualsWithEntityName: Us,
        hasNodeCheckFlag: Us,
        isDeclarationVisible: Us,
        isLateBound: (e) => false,
        collectLinkedAliases: Us,
        markLinkedReferences: Us,
        isImplementationOfOverload: Us,
        requiresAddingImplicitUndefined: Us,
        isExpandoFunctionDeclaration: Us,
        getPropertiesOfContainerFunction: Us,
        createTypeOfDeclaration: Us,
        createReturnTypeOfSignatureDeclaration: Us,
        createTypeOfExpression: Us,
        createLiteralConstValue: Us,
        isSymbolAccessible: Us,
        isEntityNameVisible: Us,
        // Returns the constant value this property access resolves to: notImplemented, or 'undefined' for a non-constant
        getConstantValue: Us,
        getEnumMemberValue: Us,
        getReferencedValueDeclaration: Us,
        getReferencedValueDeclarations: Us,
        getTypeReferenceSerializationKind: Us,
        isOptionalParameter: Us,
        isArgumentsLocalBinding: Us,
        getExternalModuleFileFromDeclaration: Us,
        isLiteralConstDeclaration: Us,
        getJsxFactoryEntity: Us,
        getJsxFragmentFactoryEntity: Us,
        isBindingCapturedByNode: Us,
        getDeclarationStatementsForSourceFile: Us,
        isImportRequiredByAugmentation: Us,
        isDefinitelyReferenceToGlobalSymbolObject: Us,
        createLateBoundIndexSignatures: Us,
        symbolToDeclarations: Us
      }, hie = /* @__PURE__ */ Bu(() => $y({})), Zb = /* @__PURE__ */ Bu(() => $y({ removeComments: true })), yie = /* @__PURE__ */ Bu(() => $y({ removeComments: true, neverAsciiEscape: true })), nU = /* @__PURE__ */ Bu(() => $y({ removeComments: true, omitTrailingSemicolon: true }));
      function $y(e = {}, t = {}) {
        var {
          hasGlobalName: n,
          onEmitNode: i = g8,
          isEmitNotificationEnabled: s,
          substituteNode: o = ew,
          onBeforeEmitNode: c,
          onAfterEmitNode: _,
          onBeforeEmitNodeArray: u,
          onAfterEmitNodeArray: g,
          onBeforeEmitToken: m,
          onAfterEmitToken: h
        } = t, S = !!e.extendedDiagnostics, T = !!e.omitBraceSourceMapPositions, k = d0(e), D = Wu(e), P = /* @__PURE__ */ new Map(), A, O, F, R, B, U, $, W, _e, K, V, ae, se, ce, fe, he = e.preserveSourceNewlines, q, be, je, me = pE, Z, pe = true, Te, Fe, Ye = -1, ne, Se = -1, ie = -1, Ne = -1, Ee = -1, Ce, Ve, St = false, Bt = !!e.removeComments, tr, Nr, { enter: st, exit: Wt } = bge(S, "commentTime", "beforeComment", "afterComment"), Jr = N.parenthesizer, ui = {
          select: (C) => C === 0 ? Jr.parenthesizeLeadingTypeArgument : void 0
        }, Ji = tl();
        return Es(), {
          // public API
          printNode: Dt,
          printList: Mn,
          printFile: fi,
          printBundle: ai,
          // internal API
          writeNode: pn,
          writeList: _i,
          writeFile: ft,
          writeBundle: Je
        };
        function Dt(C, le, _t) {
          switch (C) {
            case 0:
              E.assert(Di(le), "Expected a SourceFile node.");
              break;
            case 2:
              E.assert(Me(le), "Expected an Identifier node.");
              break;
            case 1:
              E.assert(ut(le), "Expected an Expression node.");
              break;
          }
          switch (le.kind) {
            case 308:
              return fi(le);
            case 309:
              return ai(le);
          }
          return pn(C, le, _t, er()), qr();
        }
        function Mn(C, le, _t) {
          return _i(C, le, _t, er()), qr();
        }
        function ai(C) {
          return Je(
            C,
            er(),
            /*sourceMapGenerator*/
            void 0
          ), qr();
        }
        function fi(C) {
          return ft(
            C,
            er(),
            /*sourceMapGenerator*/
            void 0
          ), qr();
        }
        function pn(C, le, _t, ur) {
          const ti = be;
          ki(
            ur,
            /*_sourceMapGenerator*/
            void 0
          ), Jn(C, le, _t), Es(), be = ti;
        }
        function _i(C, le, _t, ur) {
          const ti = be;
          ki(
            ur,
            /*_sourceMapGenerator*/
            void 0
          ), _t && Un(_t), Pn(
            /*parentNode*/
            void 0,
            le,
            C
          ), Es(), be = ti;
        }
        function Je(C, le, _t) {
          Z = false;
          const ur = be;
          ki(le, _t), L0(C), ud(C), Lt(C), Uw(C);
          for (const ti of C.sourceFiles)
            Jn(0, ti, ti);
          Es(), be = ur;
        }
        function ft(C, le, _t) {
          Z = true;
          const ur = be;
          ki(le, _t), L0(C), ud(C), Jn(0, C, C), Es(), be = ur;
        }
        function er() {
          return je || (je = eN(k));
        }
        function qr() {
          const C = je.getText();
          return je.clear(), C;
        }
        function Jn(C, le, _t) {
          _t && Un(_t), Y(
            C,
            le,
            /*parenthesizerRule*/
            void 0
          );
        }
        function Un(C) {
          A = C, Ce = void 0, Ve = void 0, C && v2(C);
        }
        function ki(C, le) {
          C && e.omitTrailingSemicolon && (C = HB(C)), be = C, Te = le, pe = !be || !Te;
        }
        function Es() {
          O = [], F = [], R = [], B = /* @__PURE__ */ new Set(), U = [], $ = /* @__PURE__ */ new Map(), W = [], _e = 0, K = [], V = 0, ae = [], se = void 0, ce = [], fe = void 0, A = void 0, Ce = void 0, Ve = void 0, ki(
            /*output*/
            void 0,
            /*_sourceMapGenerator*/
            void 0
          );
        }
        function Zs() {
          return Ce || (Ce = vg(E.checkDefined(A)));
        }
        function yr(C, le) {
          C !== void 0 && Y(4, C, le);
        }
        function vs(C) {
          C !== void 0 && Y(
            2,
            C,
            /*parenthesizerRule*/
            void 0
          );
        }
        function Xe(C, le) {
          C !== void 0 && Y(1, C, le);
        }
        function Et(C) {
          Y(oa(C) ? 6 : 4, C);
        }
        function re(C) {
          he && td(C) & 4 && (he = false);
        }
        function it(C) {
          he = C;
        }
        function Y(C, le, _t) {
          Nr = _t, Ke(0, C, le)(C, le), Nr = void 0;
        }
        function Ae(C) {
          return !Bt && !Di(C);
        }
        function $e(C) {
          return !pe && !Di(C) && !o5(C);
        }
        function Ke(C, le, _t) {
          switch (C) {
            case 0:
              if (i !== g8 && (!s || s(_t)))
                return Le;
            // falls through
            case 1:
              if (o !== ew && (tr = o(le, _t) || _t) !== _t)
                return Nr && (tr = Nr(tr)), qe;
            // falls through
            case 2:
              if (Ae(_t))
                return h2;
            // falls through
            case 3:
              if ($e(_t))
                return lT;
            // falls through
            case 4:
              return mt;
            default:
              return E.assertNever(C);
          }
        }
        function Tt(C, le, _t) {
          return Ke(C + 1, le, _t);
        }
        function Le(C, le) {
          const _t = Tt(0, C, le);
          i(C, le, _t);
        }
        function mt(C, le) {
          if (c?.(le), he) {
            const _t = he;
            re(le), pt(C, le), it(_t);
          } else
            pt(C, le);
          _?.(le), Nr = void 0;
        }
        function pt(C, le, _t = true) {
          if (_t) {
            const ur = iz(le);
            if (ur)
              return ue(C, le, ur);
          }
          if (C === 0) return Av(Ws(le, Di));
          if (C === 2) return Q(Ws(le, Me));
          if (C === 6) return yt(
            Ws(le, oa),
            /*jsxAttributeEscape*/
            true
          );
          if (C === 3) return Ct(Ws(le, Io));
          if (C === 7) return Dm(Ws(le, TS));
          if (C === 5)
            return E.assertNode(le, mz), Md(
              /*isEmbeddedStatement*/
              true
            );
          if (C === 4) {
            switch (le.kind) {
              // Pseudo-literals
              case 16:
              case 17:
              case 18:
                return yt(
                  le,
                  /*jsxAttributeEscape*/
                  false
                );
              // Identifiers
              case 80:
                return Q(le);
              // PrivateIdentifiers
              case 81:
                return dt(le);
              // Parse tree nodes
              // Names
              case 167:
                return Mt(le);
              case 168:
                return at(le);
              // Signature elements
              case 169:
                return wt(le);
              case 170:
                return Zr(le);
              case 171:
                return Rr(le);
              // Type members
              case 172:
                return Pr(le);
              case 173:
                return rt(le);
              case 174:
                return vt(le);
              case 175:
                return Nt(le);
              case 176:
                return Jt(le);
              case 177:
                return _r(le);
              case 178:
              case 179:
                return nr(le);
              case 180:
                return kt(le);
              case 181:
                return cr(le);
              case 182:
                return fr(le);
              // Types
              case 183:
                return oi(le);
              case 184:
                return Is(le);
              case 185:
                return Ms(le);
              case 186:
                return Vc(le);
              case 187:
                return To(le);
              case 188:
                return ea(le);
              case 189:
                return xc(le);
              case 190:
                return os(le);
              case 191:
                return Aa(le);
              // SyntaxKind.RestType is handled below
              case 193:
                return ya(le);
              case 194:
                return zt(le);
              case 195:
                return Xa(le);
              case 196:
                return mc(le);
              case 197:
                return Nc(le);
              case 234:
                return Nl(le);
              case 198:
                return Wl();
              case 199:
                return co(le);
              case 200:
                return ge(le);
              case 201:
                return H(le);
              case 202:
                return tt(le);
              case 203:
                return zs(le);
              case 204:
                return Ft(le);
              case 205:
                return vr(le);
              case 206:
                return Kt(le);
              // Binding patterns
              case 207:
                return Hr(le);
              case 208:
                return Vn(le);
              case 209:
                return ln(le);
              // Misc
              case 240:
                return Wg(le);
              case 241:
                return Xt();
              // Statements
              case 242:
                return Ug(le);
              case 244:
                return yl(le);
              case 243:
                return Md(
                  /*isEmbeddedStatement*/
                  false
                );
              case 245:
                return jf(le);
              case 246:
                return Em(le);
              case 247:
                return et(le);
              case 248:
                return Ut(le);
              case 249:
                return Gt(le);
              case 250:
                return Sr(le);
              case 251:
                return zr(le);
              case 252:
                return ni(le);
              case 253:
                return wi(le);
              case 254:
                return Ns(le);
              case 255:
                return Zi(le);
              case 256:
                return hs(le);
              case 257:
                return jo(le);
              case 258:
                return ra(le);
              case 259:
                return Al(le);
              case 260:
                return uf(le);
              // Declarations
              case 261:
                return Bf(le);
              case 262:
                return dp(le);
              case 263:
                return Fh(le);
              case 264:
                return pr(le);
              case 265:
                return dn(le);
              case 266:
                return Ir(le);
              case 267:
                return Vr(le);
              case 268:
                return hi(le);
              case 269:
                return ts(le);
              case 270:
                return Zn(le);
              case 271:
                return ng(le);
              case 272:
                return rs(le);
              case 273:
                return Bo(le);
              case 274:
                return D_(le);
              case 275:
                return qp(le);
              case 281:
                return cE(le);
              case 276:
                return Vl(le);
              case 277:
                return Hp(le);
              case 278:
                return _f(le);
              case 279:
                return xv(le);
              case 280:
                return zw(le);
              case 282:
                return lE(le);
              case 301:
                return rg(le);
              case 302:
                return kv(le);
              case 283:
                return;
              // Module references
              case 284:
                return VS(le);
              // JSX (non-expression)
              case 12:
                return HS(le);
              case 287:
              case 290:
                return Ww(le);
              case 288:
              case 291:
                return Sk(le);
              case 292:
                return uE(le);
              case 293:
                return Ev(le);
              case 294:
                return GS(le);
              case 295:
                return xk(le);
              case 296:
                return kk(le);
              // Clauses
              case 297:
                return r1(le);
              case 298:
                return F0(le);
              case 299:
                return Lh(le);
              case 300:
                return Mh(le);
              // Property assignments
              case 304:
                return n1(le);
              case 305:
                return Dv(le);
              case 306:
                return $S(le);
              // Enum
              case 307:
                return wv(le);
              // Top-level nodes
              case 308:
                return Av(le);
              case 309:
                return E.fail("Bundles should be printed using printBundle");
              // JSDoc nodes (only used in codefixes currently)
              case 310:
                return Nv(le);
              case 311:
                return jh(le);
              case 313:
                return bn("*");
              case 314:
                return bn("?");
              case 315:
                return ro(le);
              case 316:
                return zi(le);
              case 317:
                return gs(le);
              case 318:
                return Xo(le);
              case 192:
              case 319:
                return Rf(le);
              case 320:
                return;
              case 321:
                return Pa(le);
              case 323:
                return Gu(le);
              case 324:
                return sg(le);
              case 328:
              case 333:
              case 338:
                return Pv(le);
              case 329:
              case 330:
                return ig(le);
              case 331:
              case 332:
                return;
              // SyntaxKind.JSDocClassTag (see JSDocTag, above)
              case 334:
              case 335:
              case 336:
              case 337:
                return;
              case 339:
                return w_(le);
              case 340:
                return mu(le);
              // SyntaxKind.JSDocEnumTag (see below)
              case 342:
              case 349:
                return c_(le);
              case 341:
              case 343:
              case 344:
              case 345:
              case 350:
              case 351:
                return XS(le);
              case 346:
                return Oo(le);
              case 347:
                return du(le);
              case 348:
                return _E(le);
              case 352:
                return Rh(le);
              // SyntaxKind.JSDocPropertyTag (see JSDocParameterTag, above)
              // Transformation nodes
              case 354:
              case 355:
                return;
            }
            if (ut(le) && (C = 1, o !== ew)) {
              const ur = o(C, le) || le;
              ur !== le && (le = ur, Nr && (le = Nr(le)));
            }
          }
          if (C === 1)
            switch (le.kind) {
              // Literals
              case 9:
              case 10:
                return Pe(le);
              case 11:
              case 14:
              case 15:
                return yt(
                  le,
                  /*jsxAttributeEscape*/
                  false
                );
              // Identifiers
              case 80:
                return Q(le);
              case 81:
                return dt(le);
              // Expressions
              case 210:
                return kr(le);
              case 211:
                return Li(le);
              case 212:
                return Yi(le);
              case 213:
                return ta(le);
              case 214:
                return xo(le);
              case 215:
                return qc(le);
              case 216:
                return Rc(le);
              case 217:
                return go(le);
              case 218:
                return tc(le);
              case 219:
                return Ld(le);
              case 220:
                return ru(le);
              case 221:
                return Ie(le);
              case 222:
                return Ot(le);
              case 223:
                return Mr(le);
              case 224:
                return Gi(le);
              case 225:
                return Ea(le);
              case 226:
                return da(le);
              case 227:
                return Ji(le);
              case 228:
                return Eo(le);
              case 229:
                return rc(le);
              case 230:
                return gc(le);
              case 231:
                return xf(le);
              case 232:
                return Ul(le);
              case 233:
                return;
              case 235:
                return lf(le);
              case 236:
                return Hu(le);
              case 234:
                return Nl(le);
              case 239:
                return pp(le);
              case 237:
                return eg(le);
              case 238:
                return E.fail("SyntheticExpression should never be printed.");
              case 283:
                return;
              // JSX
              case 285:
                return I0(le);
              case 286:
                return qS(le);
              case 289:
                return bk(le);
              // Synthesized list
              case 353:
                return E.fail("SyntaxList should not be printed");
              // Transformation nodes
              case 354:
                return;
              case 356:
                return ze(le);
              case 357:
                return QS(le);
              case 358:
                return E.fail("SyntheticReferenceExpression should not be printed");
            }
          if (b_(le.kind)) return eT(le, _s);
          if (jj(le.kind)) return eT(le, bn);
          E.fail(`Unhandled SyntaxKind: ${E.formatSyntaxKind(le.kind)}.`);
        }
        function Ct(C) {
          yr(C.name), fn(), _s("in"), fn(), yr(C.constraint);
        }
        function qe(C, le) {
          const _t = Tt(1, C, le);
          E.assertIsDefined(tr), le = tr, tr = void 0, _t(C, le);
        }
        function Lt(C) {
          let le = false;
          const _t = C.kind === 309 ? C : void 0;
          if (_t && D === 0)
            return;
          const ur = _t ? _t.sourceFiles.length : 1;
          for (let ti = 0; ti < ur; ti++) {
            const gi = _t ? _t.sourceFiles[ti] : C, Ki = Di(gi) ? gi : A, mi = e.noEmitHelpers || !!Ki && sre(Ki), va = Di(gi) && !Z, Bc = rn(gi);
            if (Bc)
              for (const gu of Bc) {
                if (gu.scoped) {
                  if (_t)
                    continue;
                } else {
                  if (mi) continue;
                  if (va) {
                    if (P.get(gu.name))
                      continue;
                    P.set(gu.name, true);
                  }
                }
                typeof gu.text == "string" ? _d2(gu.text) : _d2(gu.text(gE)), le = true;
              }
          }
          return le;
        }
        function rn(C) {
          const le = nz(C);
          return le && q_(le, kte);
        }
        function Pe(C) {
          yt(
            C,
            /*jsxAttributeEscape*/
            false
          );
        }
        function yt(C, le) {
          const _t = u1(
            C,
            /*sourceFile*/
            void 0,
            e.neverAsciiEscape,
            le
          );
          (e.sourceMap || e.inlineSourceMap) && (C.kind === 11 || vy(C.kind)) ? Jh(_t) : m2(_t);
        }
        function ue(C, le, _t) {
          switch (_t.kind) {
            case 1:
              M(C, le, _t);
              break;
            case 0:
              ye(C, le, _t);
              break;
          }
        }
        function M(C, le, _t) {
          Ck(`\${${_t.order}:`), pt(
            C,
            le,
            /*allowSnippets*/
            false
          ), Ck("}");
        }
        function ye(C, le, _t) {
          E.assert(le.kind === 243, `A tab stop cannot be attached to a node of kind ${E.formatSyntaxKind(le.kind)}.`), E.assert(C !== 5, "A tab stop cannot be attached to an embedded statement."), Ck(`$${_t.order}`);
        }
        function Q(C) {
          (C.symbol ? Vw : me)(B0(
            C,
            /*includeTrivia*/
            false
          ), C.symbol), Pn(
            C,
            dS(C),
            53776
            /* TypeParameters */
          );
        }
        function dt(C) {
          me(B0(
            C,
            /*includeTrivia*/
            false
          ));
        }
        function Mt(C) {
          ke(C.left), bn("."), yr(C.right);
        }
        function ke(C) {
          C.kind === 80 ? Xe(C) : yr(C);
        }
        function at(C) {
          bn("["), Xe(C.expression, Jr.parenthesizeExpressionOfComputedPropertyName), bn("]");
        }
        function wt(C) {
          jd(C, C.modifiers), yr(C.name), C.constraint && (fn(), _s("extends"), fn(), yr(C.constraint)), C.default && (fn(), B_("="), fn(), yr(C.default));
        }
        function Zr(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            true
          ), yr(C.dotDotDotToken), i1(C.name, KS), yr(C.questionToken), C.parent && C.parent.kind === 318 && !C.name ? yr(C.type) : $p(C.type), Iv(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, Jr.parenthesizeExpressionForDisallowedComma);
        }
        function Rr(C) {
          bn("@"), Xe(C.expression, Jr.parenthesizeLeftSideOfAccess);
        }
        function Pr(C) {
          jd(C, C.modifiers), i1(C.name, dE), yr(C.questionToken), $p(C.type), Xu();
        }
        function rt(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            true
          ), yr(C.name), yr(C.questionToken), yr(C.exclamationToken), $p(C.type), Iv(C.initializer, C.type ? C.type.end : C.questionToken ? C.questionToken.end : C.name.end, C), Xu();
        }
        function vt(C) {
          jd(C, C.modifiers), yr(C.name), yr(C.questionToken), o_(C, Vp, Rd);
        }
        function Nt(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            true
          ), yr(C.asteriskToken), yr(C.name), yr(C.questionToken), o_(C, Vp, tg);
        }
        function Jt(C) {
          _s("static"), fd(C), Be(C.body), Wh(C);
        }
        function _r(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            false
          ), _s("constructor"), o_(C, Vp, tg);
        }
        function nr(C) {
          const le = $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            true
          ), _t = C.kind === 178 ? 139 : 153;
          L(_t, le, _s, C), fn(), yr(C.name), o_(C, Vp, tg);
        }
        function kt(C) {
          o_(C, Vp, Rd);
        }
        function cr(C) {
          _s("new"), fn(), o_(C, Vp, Rd);
        }
        function fr(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            false
          ), d2(C, C.parameters), $p(C.type), Xu();
        }
        function vr(C) {
          yr(C.type), yr(C.literal);
        }
        function Xt() {
          Xu();
        }
        function oi(C) {
          C.assertsModifier && (yr(C.assertsModifier), fn()), yr(C.parameterName), C.type && (fn(), _s("is"), fn(), yr(C.type));
        }
        function Is(C) {
          yr(C.typeName), mp(C, C.typeArguments);
        }
        function Ms(C) {
          o_(C, ps, uc);
        }
        function ps(C) {
          Hg(C, C.typeParameters), wm(C, C.parameters), fn(), bn("=>");
        }
        function uc(C) {
          fn(), yr(C.type);
        }
        function Xo(C) {
          _s("function"), Fv(C, C.parameters), bn(":"), yr(C.type);
        }
        function ro(C) {
          bn("?"), yr(C.type);
        }
        function zi(C) {
          bn("!"), yr(C.type);
        }
        function gs(C) {
          yr(C.type), bn("=");
        }
        function Vc(C) {
          jd(C, C.modifiers), _s("new"), fn(), o_(C, ps, uc);
        }
        function To(C) {
          _s("typeof"), fn(), yr(C.exprName), mp(C, C.typeArguments);
        }
        function ea(C) {
          fd(C), lr(C.members, g2), bn("{");
          const le = Ca(C) & 1 ? 768 : 32897;
          Pn(
            C,
            C.members,
            le | 524288
            /* NoSpaceIfEmpty */
          ), bn("}"), Wh(C);
        }
        function xc(C) {
          yr(C.elementType, Jr.parenthesizeNonArrayTypeOfPostfixType), bn("["), bn("]");
        }
        function Rf(C) {
          bn("..."), yr(C.type);
        }
        function os(C) {
          L(23, C.pos, bn, C);
          const le = Ca(C) & 1 ? 528 : 657;
          Pn(C, C.elements, le | 524288, Jr.parenthesizeElementTypeOfTupleType), L(24, C.elements.end, bn, C);
        }
        function zs(C) {
          yr(C.dotDotDotToken), yr(C.name), yr(C.questionToken), L(59, C.name.end, bn, C), fn(), yr(C.type);
        }
        function Aa(C) {
          yr(C.type, Jr.parenthesizeTypeOfOptionalType), bn("?");
        }
        function ya(C) {
          Pn(C, C.types, 516, Jr.parenthesizeConstituentTypeOfUnionType);
        }
        function zt(C) {
          Pn(C, C.types, 520, Jr.parenthesizeConstituentTypeOfIntersectionType);
        }
        function Xa(C) {
          yr(C.checkType, Jr.parenthesizeCheckTypeOfConditionalType), fn(), _s("extends"), fn(), yr(C.extendsType, Jr.parenthesizeExtendsTypeOfConditionalType), fn(), bn("?"), fn(), yr(C.trueType), fn(), bn(":"), fn(), yr(C.falseType);
        }
        function mc(C) {
          _s("infer"), fn(), yr(C.typeParameter);
        }
        function Nc(C) {
          bn("("), yr(C.type), bn(")");
        }
        function Wl() {
          _s("this");
        }
        function co(C) {
          o1(C.operator, _s), fn();
          const le = C.operator === 148 ? Jr.parenthesizeOperandOfReadonlyTypeOperator : Jr.parenthesizeOperandOfTypeOperator;
          yr(C.type, le);
        }
        function ge(C) {
          yr(C.objectType, Jr.parenthesizeNonArrayTypeOfPostfixType), bn("["), yr(C.indexType), bn("]");
        }
        function H(C) {
          const le = Ca(C);
          bn("{"), le & 1 ? fn() : (Au(), ag()), C.readonlyToken && (yr(C.readonlyToken), C.readonlyToken.kind !== 148 && _s("readonly"), fn()), bn("["), Y(3, C.typeParameter), C.nameType && (fn(), _s("as"), fn(), yr(C.nameType)), bn("]"), C.questionToken && (yr(C.questionToken), C.questionToken.kind !== 58 && bn("?")), bn(":"), fn(), yr(C.type), Xu(), le & 1 ? fn() : (Au(), Bd()), Pn(
            C,
            C.members,
            2
            /* PreserveLines */
          ), bn("}");
        }
        function tt(C) {
          Xe(C.literal);
        }
        function Ft(C) {
          yr(C.head), Pn(
            C,
            C.templateSpans,
            262144
            /* TemplateExpressionSpans */
          );
        }
        function Kt(C) {
          C.isTypeOf && (_s("typeof"), fn()), _s("import"), bn("("), yr(C.argument), C.attributes && (bn(","), fn(), Y(7, C.attributes)), bn(")"), C.qualifier && (bn("."), yr(C.qualifier)), mp(C, C.typeArguments);
        }
        function Hr(C) {
          bn("{"), Pn(
            C,
            C.elements,
            525136
            /* ObjectBindingPatternElements */
          ), bn("}");
        }
        function Vn(C) {
          bn("["), Pn(
            C,
            C.elements,
            524880
            /* ArrayBindingPatternElements */
          ), bn("]");
        }
        function ln(C) {
          yr(C.dotDotDotToken), C.propertyName && (yr(C.propertyName), bn(":"), fn()), yr(C.name), Iv(C.initializer, C.name.end, C, Jr.parenthesizeExpressionForDisallowedComma);
        }
        function kr(C) {
          const le = C.elements, _t = C.multiLine ? 65536 : 0;
          xn(C, le, 8914 | _t, Jr.parenthesizeExpressionForDisallowedComma);
        }
        function Li(C) {
          fd(C), lr(C.properties, g2);
          const le = Ca(C) & 131072;
          le && ag();
          const _t = C.multiLine ? 65536 : 0, ur = A && A.languageVersion >= 1 && !rp(A) ? 64 : 0;
          Pn(C, C.properties, 526226 | ur | _t), le && Bd(), Wh(C);
        }
        function Yi(C) {
          Xe(C.expression, Jr.parenthesizeLeftSideOfAccess);
          const le = C.questionDotToken || Dd(N.createToken(
            25
            /* DotToken */
          ), C.expression.end, C.name.pos), _t = Pm(C, C.expression, le), ur = Pm(C, le, C.name);
          gp(
            _t,
            /*writeSpaceIfNotIndenting*/
            false
          ), le.kind !== 29 && eo(C.expression) && !be.hasTrailingComment() && !be.hasTrailingWhitespace() && bn("."), C.questionDotToken ? yr(le) : L(le.kind, C.expression.end, bn, C), gp(
            ur,
            /*writeSpaceIfNotIndenting*/
            false
          ), yr(C.name), P_(_t, ur);
        }
        function eo(C) {
          if (C = ed(C), T_(C)) {
            const le = u1(
              C,
              /*sourceFile*/
              void 0,
              /*neverAsciiEscape*/
              true,
              /*jsxAttributeEscape*/
              false
            );
            return !(C.numericLiteralFlags & 448) && !le.includes(Vs(
              25
              /* DotToken */
            )) && !le.includes("E") && !le.includes("e");
          } else if (vo(C)) {
            const le = mte(C);
            return typeof le == "number" && isFinite(le) && le >= 0 && Math.floor(le) === le;
          }
        }
        function ta(C) {
          Xe(C.expression, Jr.parenthesizeLeftSideOfAccess), yr(C.questionDotToken), L(23, C.expression.end, bn, C), Xe(C.argumentExpression), L(24, C.argumentExpression.end, bn, C);
        }
        function xo(C) {
          const le = td(C) & 16;
          le && (bn("("), Jh("0"), bn(","), fn()), Xe(C.expression, Jr.parenthesizeLeftSideOfAccess), le && bn(")"), yr(C.questionDotToken), mp(C, C.typeArguments), xn(C, C.arguments, 2576, Jr.parenthesizeExpressionForDisallowedComma);
        }
        function qc(C) {
          L(105, C.pos, _s, C), fn(), Xe(C.expression, Jr.parenthesizeExpressionOfNew), mp(C, C.typeArguments), xn(C, C.arguments, 18960, Jr.parenthesizeExpressionForDisallowedComma);
        }
        function Rc(C) {
          const le = td(C) & 16;
          le && (bn("("), Jh("0"), bn(","), fn()), Xe(C.tag, Jr.parenthesizeLeftSideOfAccess), le && bn(")"), mp(C, C.typeArguments), fn(), Xe(C.template);
        }
        function go(C) {
          bn("<"), yr(C.type), bn(">"), Xe(C.expression, Jr.parenthesizeOperandOfPrefixUnary);
        }
        function tc(C) {
          const le = L(21, C.pos, bn, C), _t = c1(C.expression, C);
          Xe(
            C.expression,
            /*parenthesizerRule*/
            void 0
          ), Dk(C.expression, C), P_(_t), L(22, C.expression ? C.expression.end : le, bn, C);
        }
        function Ld(C) {
          $g(C.name), A0(C);
        }
        function ru(C) {
          jd(C, C.modifiers), o_(C, Tf, C_);
        }
        function Tf(C) {
          Hg(C, C.typeParameters), wm(C, C.parameters), $p(C.type), fn(), yr(C.equalsGreaterThanToken);
        }
        function C_(C) {
          Ps(C.body) ? Be(C.body) : (fn(), Xe(C.body, Jr.parenthesizeConciseBodyOfArrowFunction));
        }
        function Ie(C) {
          L(91, C.pos, _s, C), fn(), Xe(C.expression, Jr.parenthesizeOperandOfPrefixUnary);
        }
        function Ot(C) {
          L(114, C.pos, _s, C), fn(), Xe(C.expression, Jr.parenthesizeOperandOfPrefixUnary);
        }
        function Mr(C) {
          L(116, C.pos, _s, C), fn(), Xe(C.expression, Jr.parenthesizeOperandOfPrefixUnary);
        }
        function Gi(C) {
          L(135, C.pos, _s, C), fn(), Xe(C.expression, Jr.parenthesizeOperandOfPrefixUnary);
        }
        function Ea(C) {
          o1(C.operator, B_), Da(C) && fn(), Xe(C.operand, Jr.parenthesizeOperandOfPrefixUnary);
        }
        function Da(C) {
          const le = C.operand;
          return le.kind === 225 && (C.operator === 40 && (le.operator === 40 || le.operator === 46) || C.operator === 41 && (le.operator === 41 || le.operator === 47));
        }
        function da(C) {
          Xe(C.operand, Jr.parenthesizeOperandOfPostfixUnary), o1(C.operator, B_);
        }
        function tl() {
          return zF(
            C,
            le,
            _t,
            ur,
            ti,
            /*foldState*/
            void 0
          );
          function C(Ki, mi) {
            if (mi) {
              mi.stackIndex++, mi.preserveSourceNewlinesStack[mi.stackIndex] = he, mi.containerPosStack[mi.stackIndex] = ie, mi.containerEndStack[mi.stackIndex] = Ne, mi.declarationListContainerEndStack[mi.stackIndex] = Ee;
              const va = mi.shouldEmitCommentsStack[mi.stackIndex] = Ae(Ki), Bc = mi.shouldEmitSourceMapsStack[mi.stackIndex] = $e(Ki);
              c?.(Ki), va && Jd(Ki), Bc && Ia(Ki), re(Ki);
            } else
              mi = {
                stackIndex: 0,
                preserveSourceNewlinesStack: [void 0],
                containerPosStack: [-1],
                containerEndStack: [-1],
                declarationListContainerEndStack: [-1],
                shouldEmitCommentsStack: [false],
                shouldEmitSourceMapsStack: [false]
              };
            return mi;
          }
          function le(Ki, mi, va) {
            return gi(Ki, va, "left");
          }
          function _t(Ki, mi, va) {
            const Bc = Ki.kind !== 28, gu = Pm(va, va.left, Ki), l_ = Pm(va, Ki, va.right);
            gp(gu, Bc), Qg(Ki.pos), eT(Ki, Ki.kind === 103 ? _s : B_), pd(
              Ki.end,
              /*prefixSpace*/
              true
            ), gp(
              l_,
              /*writeSpaceIfNotIndenting*/
              true
            );
          }
          function ur(Ki, mi, va) {
            return gi(Ki, va, "right");
          }
          function ti(Ki, mi) {
            const va = Pm(Ki, Ki.left, Ki.operatorToken), Bc = Pm(Ki, Ki.operatorToken, Ki.right);
            if (P_(va, Bc), mi.stackIndex > 0) {
              const gu = mi.preserveSourceNewlinesStack[mi.stackIndex], l_ = mi.containerPosStack[mi.stackIndex], Vv = mi.containerEndStack[mi.stackIndex], u_ = mi.declarationListContainerEndStack[mi.stackIndex], p1 = mi.shouldEmitCommentsStack[mi.stackIndex], jk = mi.shouldEmitSourceMapsStack[mi.stackIndex];
              it(gu), jk && yn(Ki), p1 && f1(Ki, l_, Vv, u_), _?.(Ki), mi.stackIndex--;
            }
          }
          function gi(Ki, mi, va) {
            const Bc = va === "left" ? Jr.getParenthesizeLeftSideOfBinaryForOperator(mi.operatorToken.kind) : Jr.getParenthesizeRightSideOfBinaryForOperator(mi.operatorToken.kind);
            let gu = Ke(0, 1, Ki);
            if (gu === qe && (E.assertIsDefined(tr), Ki = Bc(Ws(tr, ut)), gu = Tt(1, 1, Ki), tr = void 0), (gu === h2 || gu === lT || gu === mt) && _n(Ki))
              return Ki;
            Nr = Bc, gu(1, Ki);
          }
        }
        function Eo(C) {
          const le = Pm(C, C.condition, C.questionToken), _t = Pm(C, C.questionToken, C.whenTrue), ur = Pm(C, C.whenTrue, C.colonToken), ti = Pm(C, C.colonToken, C.whenFalse);
          Xe(C.condition, Jr.parenthesizeConditionOfConditionalExpression), gp(
            le,
            /*writeSpaceIfNotIndenting*/
            true
          ), yr(C.questionToken), gp(
            _t,
            /*writeSpaceIfNotIndenting*/
            true
          ), Xe(C.whenTrue, Jr.parenthesizeBranchOfConditionalExpression), P_(le, _t), gp(
            ur,
            /*writeSpaceIfNotIndenting*/
            true
          ), yr(C.colonToken), gp(
            ti,
            /*writeSpaceIfNotIndenting*/
            true
          ), Xe(C.whenFalse, Jr.parenthesizeBranchOfConditionalExpression), P_(ur, ti);
        }
        function rc(C) {
          yr(C.head), Pn(
            C,
            C.templateSpans,
            262144
            /* TemplateExpressionSpans */
          );
        }
        function gc(C) {
          L(127, C.pos, _s, C), yr(C.asteriskToken), M0(C.expression && Tr(C.expression), $i);
        }
        function xf(C) {
          L(26, C.pos, bn, C), Xe(C.expression, Jr.parenthesizeExpressionForDisallowedComma);
        }
        function Ul(C) {
          $g(C.name), Or(C);
        }
        function Nl(C) {
          Xe(C.expression, Jr.parenthesizeLeftSideOfAccess), mp(C, C.typeArguments);
        }
        function lf(C) {
          Xe(
            C.expression,
            /*parenthesizerRule*/
            void 0
          ), C.type && (fn(), _s("as"), fn(), yr(C.type));
        }
        function Hu(C) {
          Xe(C.expression, Jr.parenthesizeLeftSideOfAccess), B_("!");
        }
        function pp(C) {
          Xe(
            C.expression,
            /*parenthesizerRule*/
            void 0
          ), C.type && (fn(), _s("satisfies"), fn(), yr(C.type));
        }
        function eg(C) {
          a1(C.keywordToken, C.pos, bn), bn("."), yr(C.name);
        }
        function Wg(C) {
          Xe(C.expression), yr(C.literal);
        }
        function Ug(C) {
          E_(
            C,
            /*forceSingleLine*/
            !C.multiLine && l1(C)
          );
        }
        function E_(C, le) {
          L(
            19,
            C.pos,
            bn,
            /*contextNode*/
            C
          );
          const _t = le || Ca(C) & 1 ? 768 : 129;
          Pn(C, C.statements, _t), L(
            20,
            C.statements.end,
            bn,
            /*contextNode*/
            C,
            /*indentLeading*/
            !!(_t & 1)
          );
        }
        function yl(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            false
          ), yr(C.declarationList), Xu();
        }
        function Md(C) {
          C ? bn(";") : Xu();
        }
        function jf(C) {
          Xe(C.expression, Jr.parenthesizeExpressionOfExpressionStatement), (!A || !rp(A) || ao(C.expression)) && Xu();
        }
        function Em(C) {
          const le = L(101, C.pos, _s, C);
          fn(), L(21, le, bn, C), Xe(C.expression), L(22, C.expression.end, bn, C), Bh(C, C.thenStatement), C.elseStatement && (zf(C, C.thenStatement, C.elseStatement), L(93, C.thenStatement.end, _s, C), C.elseStatement.kind === 246 ? (fn(), yr(C.elseStatement)) : Bh(C, C.elseStatement));
        }
        function ee(C, le) {
          const _t = L(117, le, _s, C);
          fn(), L(21, _t, bn, C), Xe(C.expression), L(22, C.expression.end, bn, C);
        }
        function et(C) {
          L(92, C.pos, _s, C), Bh(C, C.statement), Ps(C.statement) && !he ? fn() : zf(C, C.statement, C.expression), ee(C, C.statement.end), Xu();
        }
        function Ut(C) {
          ee(C, C.pos), Bh(C, C.statement);
        }
        function Gt(C) {
          const le = L(99, C.pos, _s, C);
          fn();
          let _t = L(
            21,
            le,
            bn,
            /*contextNode*/
            C
          );
          jn(C.initializer), _t = L(27, C.initializer ? C.initializer.end : _t, bn, C), M0(C.condition), _t = L(27, C.condition ? C.condition.end : _t, bn, C), M0(C.incrementor), L(22, C.incrementor ? C.incrementor.end : _t, bn, C), Bh(C, C.statement);
        }
        function Sr(C) {
          const le = L(99, C.pos, _s, C);
          fn(), L(21, le, bn, C), jn(C.initializer), fn(), L(103, C.initializer.end, _s, C), fn(), Xe(C.expression), L(22, C.expression.end, bn, C), Bh(C, C.statement);
        }
        function zr(C) {
          const le = L(99, C.pos, _s, C);
          fn(), YS(C.awaitModifier), L(21, le, bn, C), jn(C.initializer), fn(), L(165, C.initializer.end, _s, C), fn(), Xe(C.expression), L(22, C.expression.end, bn, C), Bh(C, C.statement);
        }
        function jn(C) {
          C !== void 0 && (C.kind === 262 ? yr(C) : Xe(C));
        }
        function ni(C) {
          L(88, C.pos, _s, C), Jf(C.label), Xu();
        }
        function wi(C) {
          L(83, C.pos, _s, C), Jf(C.label), Xu();
        }
        function L(C, le, _t, ur, ti) {
          const gi = ys(ur), Ki = gi && gi.kind === ur.kind, mi = le;
          if (Ki && A && (le = aa(A.text, le)), Ki && ur.pos !== mi) {
            const va = ti && A && !sp(mi, le, A);
            va && ag(), Qg(mi), va && Bd();
          }
          if (!T && (C === 19 || C === 20) ? le = a1(C, le, _t, ur) : le = o1(C, _t, le), Ki && ur.end !== le) {
            const va = ur.kind === 295;
            pd(
              le,
              /*prefixSpace*/
              !va,
              /*forceNoNewline*/
              va
            );
          }
          return le;
        }
        function Oe(C) {
          return C.kind === 2 || !!C.hasTrailingNewLine;
        }
        function xt(C) {
          if (!A) return false;
          const le = Sg(A.text, C.pos);
          if (le) {
            const _t = ys(C);
            if (_t && n_(_t.parent))
              return true;
          }
          return ot(le, Oe) || ot(i6(C), Oe) ? true : Mte(C) ? C.pos !== C.expression.pos && ot(gy(A.text, C.expression.pos), Oe) ? true : xt(C.expression) : false;
        }
        function Tr(C) {
          if (!Bt)
            switch (C.kind) {
              case 356:
                if (xt(C)) {
                  const le = ys(C);
                  if (le && n_(le)) {
                    const _t = N.createParenthesizedExpression(C.expression);
                    return Cn(_t, C), ct(_t, le), _t;
                  }
                  return N.createParenthesizedExpression(C);
                }
                return N.updatePartiallyEmittedExpression(
                  C,
                  Tr(C.expression)
                );
              case 212:
                return N.updatePropertyAccessExpression(
                  C,
                  Tr(C.expression),
                  C.name
                );
              case 213:
                return N.updateElementAccessExpression(
                  C,
                  Tr(C.expression),
                  C.argumentExpression
                );
              case 214:
                return N.updateCallExpression(
                  C,
                  Tr(C.expression),
                  C.typeArguments,
                  C.arguments
                );
              case 216:
                return N.updateTaggedTemplateExpression(
                  C,
                  Tr(C.tag),
                  C.typeArguments,
                  C.template
                );
              case 226:
                return N.updatePostfixUnaryExpression(
                  C,
                  Tr(C.operand)
                );
              case 227:
                return N.updateBinaryExpression(
                  C,
                  Tr(C.left),
                  C.operatorToken,
                  C.right
                );
              case 228:
                return N.updateConditionalExpression(
                  C,
                  Tr(C.condition),
                  C.questionToken,
                  C.whenTrue,
                  C.colonToken,
                  C.whenFalse
                );
              case 235:
                return N.updateAsExpression(
                  C,
                  Tr(C.expression),
                  C.type
                );
              case 239:
                return N.updateSatisfiesExpression(
                  C,
                  Tr(C.expression),
                  C.type
                );
              case 236:
                return N.updateNonNullExpression(
                  C,
                  Tr(C.expression)
                );
            }
          return C;
        }
        function $i(C) {
          return Tr(Jr.parenthesizeExpressionForDisallowedComma(C));
        }
        function Ns(C) {
          L(
            107,
            C.pos,
            _s,
            /*contextNode*/
            C
          ), M0(C.expression && Tr(C.expression), Tr), Xu();
        }
        function Zi(C) {
          const le = L(118, C.pos, _s, C);
          fn(), L(21, le, bn, C), Xe(C.expression), L(22, C.expression.end, bn, C), Bh(C, C.statement);
        }
        function hs(C) {
          const le = L(109, C.pos, _s, C);
          fn(), L(21, le, bn, C), Xe(C.expression), L(22, C.expression.end, bn, C), fn(), yr(C.caseBlock);
        }
        function jo(C) {
          yr(C.label), L(59, C.label.end, bn, C), fn(), yr(C.statement);
        }
        function ra(C) {
          L(111, C.pos, _s, C), M0(Tr(C.expression), Tr), Xu();
        }
        function Al(C) {
          L(113, C.pos, _s, C), fn(), yr(C.tryBlock), C.catchClause && (zf(C, C.tryBlock, C.catchClause), yr(C.catchClause)), C.finallyBlock && (zf(C, C.catchClause || C.tryBlock, C.finallyBlock), L(98, (C.catchClause || C.tryBlock).end, _s, C), fn(), yr(C.finallyBlock));
        }
        function uf(C) {
          a1(89, C.pos, _s), Xu();
        }
        function Bf(C) {
          var le, _t, ur;
          yr(C.name), yr(C.exclamationToken), $p(C.type), Iv(C.initializer, ((le = C.type) == null ? void 0 : le.end) ?? ((ur = (_t = C.name.emitNode) == null ? void 0 : _t.typeNode) == null ? void 0 : ur.end) ?? C.name.end, C, Jr.parenthesizeExpressionForDisallowedComma);
        }
        function dp(C) {
          if (x3(C))
            _s("await"), fn(), _s("using");
          else {
            const le = $7(C) ? "let" : OC(C) ? "const" : k3(C) ? "using" : "var";
            _s(le);
          }
          fn(), Pn(
            C,
            C.declarations,
            528
            /* VariableDeclarationList */
          );
        }
        function Fh(C) {
          A0(C);
        }
        function A0(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            false
          ), _s("function"), yr(C.asteriskToken), fn(), vs(C.name), o_(C, Vp, tg);
        }
        function o_(C, le, _t) {
          const ur = Ca(C) & 131072;
          ur && ag(), fd(C), lr(C.parameters, Il), le(C), _t(C), Wh(C), ur && Bd();
        }
        function tg(C) {
          const le = C.body;
          le ? Be(le) : Xu();
        }
        function Rd(C) {
          Xu();
        }
        function Vp(C) {
          Hg(C, C.typeParameters), Fv(C, C.parameters), $p(C.type);
        }
        function e1(C) {
          if (Ca(C) & 1)
            return true;
          if (C.multiLine || !ao(C) && A && !uS(C, A) || j0(
            C,
            $c(C.statements),
            2
            /* PreserveLines */
          ) || Ek(C, ko(C.statements), 2, C.statements))
            return false;
          let le;
          for (const _t of C.statements) {
            if (Lv(
              le,
              _t,
              2
              /* PreserveLines */
            ) > 0)
              return false;
            le = _t;
          }
          return true;
        }
        function Be(C) {
          Il(C), c?.(C), fn(), bn("{"), ag();
          const le = e1(C) ? nt : Rt;
          y2(C, C.statements, le), Bd(), a1(20, C.statements.end, bn, C), _?.(C);
        }
        function nt(C) {
          Rt(
            C,
            /*emitBlockFunctionBodyOnSingleLine*/
            true
          );
        }
        function Rt(C, le) {
          const _t = qg(C.statements), ur = be.getTextPos();
          Lt(C), _t === 0 && ur === be.getTextPos() && le ? (Bd(), Pn(
            C,
            C.statements,
            768
            /* SingleLineFunctionBodyStatements */
          ), ag()) : Pn(
            C,
            C.statements,
            1,
            /*parenthesizerRule*/
            void 0,
            _t
          );
        }
        function pr(C) {
          Or(C);
        }
        function Or(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            true
          ), L(86, um(C).pos, _s, C), C.name && (fn(), vs(C.name));
          const le = Ca(C) & 131072;
          le && ag(), Hg(C, C.typeParameters), Pn(
            C,
            C.heritageClauses,
            0
            /* ClassHeritageClauses */
          ), fn(), bn("{"), fd(C), lr(C.members, g2), Pn(
            C,
            C.members,
            129
            /* ClassMembers */
          ), Wh(C), bn("}"), le && Bd();
        }
        function dn(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            false
          ), _s("interface"), fn(), yr(C.name), Hg(C, C.typeParameters), Pn(
            C,
            C.heritageClauses,
            512
            /* HeritageClauses */
          ), fn(), bn("{"), fd(C), lr(C.members, g2), Pn(
            C,
            C.members,
            129
            /* InterfaceMembers */
          ), Wh(C), bn("}");
        }
        function Ir(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            false
          ), _s("type"), fn(), yr(C.name), Hg(C, C.typeParameters), fn(), bn("="), fn(), yr(C.type), Xu();
        }
        function Vr(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            false
          ), _s("enum"), fn(), yr(C.name), fn(), bn("{"), Pn(
            C,
            C.members,
            145
            /* EnumMembers */
          ), bn("}");
        }
        function hi(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            false
          ), ~C.flags & 2048 && (_s(C.flags & 32 ? "namespace" : "module"), fn()), yr(C.name);
          let le = C.body;
          if (!le) return Xu();
          for (; le && Lc(le); )
            bn("."), yr(le.name), le = le.body;
          fn(), yr(le);
        }
        function ts(C) {
          fd(C), lr(C.statements, Il), E_(
            C,
            /*forceSingleLine*/
            l1(C)
          ), Wh(C);
        }
        function Zn(C) {
          L(19, C.pos, bn, C), Pn(
            C,
            C.clauses,
            129
            /* CaseBlockClauses */
          ), L(
            20,
            C.clauses.end,
            bn,
            C,
            /*indentLeading*/
            true
          );
        }
        function rs(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            false
          ), L(102, C.modifiers ? C.modifiers.end : C.pos, _s, C), fn(), C.isTypeOnly && (L(156, C.pos, _s, C), fn()), yr(C.name), fn(), L(64, C.name.end, bn, C), fn(), Pi(C.moduleReference), Xu();
        }
        function Pi(C) {
          C.kind === 80 ? Xe(C) : yr(C);
        }
        function Bo(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            false
          ), L(102, C.modifiers ? C.modifiers.end : C.pos, _s, C), fn(), C.importClause && (yr(C.importClause), fn(), L(161, C.importClause.end, _s, C), fn()), Xe(C.moduleSpecifier), C.attributes && Jf(C.attributes), Xu();
        }
        function D_(C) {
          C.phaseModifier !== void 0 && (L(C.phaseModifier, C.pos, _s, C), fn()), yr(C.name), C.name && C.namedBindings && (L(28, C.name.end, bn, C), fn()), yr(C.namedBindings);
        }
        function qp(C) {
          const le = L(42, C.pos, bn, C);
          fn(), L(130, le, _s, C), fn(), yr(C.name);
        }
        function Vl(C) {
          Vg(C);
        }
        function Hp(C) {
          Cv(C);
        }
        function _f(C) {
          const le = L(95, C.pos, _s, C);
          fn(), C.isExportEquals ? L(64, le, B_, C) : L(90, le, _s, C), fn(), Xe(
            C.expression,
            C.isExportEquals ? Jr.getParenthesizeRightSideOfBinaryForOperator(
              64
              /* EqualsToken */
            ) : Jr.parenthesizeExpressionOfExportDefault
          ), Xu();
        }
        function xv(C) {
          $u(
            C,
            C.modifiers,
            /*allowDecorators*/
            false
          );
          let le = L(95, C.pos, _s, C);
          if (fn(), C.isTypeOnly && (le = L(156, le, _s, C), fn()), C.exportClause ? yr(C.exportClause) : le = L(42, le, bn, C), C.moduleSpecifier) {
            fn();
            const _t = C.exportClause ? C.exportClause.end : le;
            L(161, _t, _s, C), fn(), Xe(C.moduleSpecifier);
          }
          C.attributes && Jf(C.attributes), Xu();
        }
        function Dm(C) {
          bn("{"), fn(), _s(C.token === 132 ? "assert" : "with"), bn(":"), fn();
          const le = C.elements;
          Pn(
            C,
            le,
            526226
            /* ImportAttributes */
          ), fn(), bn("}");
        }
        function rg(C) {
          L(C.token, C.pos, _s, C), fn();
          const le = C.elements;
          Pn(
            C,
            le,
            526226
            /* ImportAttributes */
          );
        }
        function kv(C) {
          yr(C.name), bn(":"), fn();
          const le = C.value;
          if ((Ca(le) & 1024) === 0) {
            const _t = pm(le);
            pd(_t.pos);
          }
          yr(le);
        }
        function ng(C) {
          let le = L(95, C.pos, _s, C);
          fn(), le = L(130, le, _s, C), fn(), le = L(145, le, _s, C), fn(), yr(C.name), Xu();
        }
        function cE(C) {
          const le = L(42, C.pos, bn, C);
          fn(), L(130, le, _s, C), fn(), yr(C.name);
        }
        function zw(C) {
          Vg(C);
        }
        function lE(C) {
          Cv(C);
        }
        function Vg(C) {
          bn("{"), Pn(
            C,
            C.elements,
            525136
            /* NamedImportsOrExportsElements */
          ), bn("}");
        }
        function Cv(C) {
          C.isTypeOnly && (_s("type"), fn()), C.propertyName && (yr(C.propertyName), fn(), L(130, C.propertyName.end, _s, C), fn()), yr(C.name);
        }
        function VS(C) {
          _s("require"), bn("("), Xe(C.expression), bn(")");
        }
        function I0(C) {
          yr(C.openingElement), Pn(
            C,
            C.children,
            262144
            /* JsxElementOrFragmentChildren */
          ), yr(C.closingElement);
        }
        function qS(C) {
          bn("<"), _2(C.tagName), mp(C, C.typeArguments), fn(), yr(C.attributes), bn("/>");
        }
        function bk(C) {
          yr(C.openingFragment), Pn(
            C,
            C.children,
            262144
            /* JsxElementOrFragmentChildren */
          ), yr(C.closingFragment);
        }
        function Ww(C) {
          if (bn("<"), wd(C)) {
            const le = c1(C.tagName, C);
            _2(C.tagName), mp(C, C.typeArguments), C.attributes.properties && C.attributes.properties.length > 0 && fn(), yr(C.attributes), Dk(C.attributes, C), P_(le);
          }
          bn(">");
        }
        function HS(C) {
          be.writeLiteral(C.text);
        }
        function Sk(C) {
          bn("</"), Vb(C) && _2(C.tagName), bn(">");
        }
        function Ev(C) {
          Pn(
            C,
            C.properties,
            262656
            /* JsxElementAttributes */
          );
        }
        function uE(C) {
          yr(C.name), ma("=", bn, C.initializer, Et);
        }
        function GS(C) {
          bn("{..."), Xe(C.expression), bn("}");
        }
        function Tk(C) {
          let le = false;
          return GP(A?.text || "", C + 1, () => le = true), le;
        }
        function u2(C) {
          let le = false;
          return HP(A?.text || "", C + 1, () => le = true), le;
        }
        function t1(C) {
          return Tk(C) || u2(C);
        }
        function xk(C) {
          var le;
          if (C.expression || !Bt && !ao(C) && t1(C.pos)) {
            const _t = A && !ao(C) && Rs(A, C.pos).line !== Rs(A, C.end).line;
            _t && be.increaseIndent();
            const ur = L(19, C.pos, bn, C);
            yr(C.dotDotDotToken), Xe(C.expression), L(20, ((le = C.expression) == null ? void 0 : le.end) || ur, bn, C), _t && be.decreaseIndent();
          }
        }
        function kk(C) {
          vs(C.namespace), bn(":"), vs(C.name);
        }
        function _2(C) {
          C.kind === 80 ? Xe(C) : yr(C);
        }
        function r1(C) {
          L(84, C.pos, _s, C), fn(), Xe(C.expression, Jr.parenthesizeExpressionForDisallowedComma), Oh(C, C.statements, C.expression.end);
        }
        function F0(C) {
          const le = L(90, C.pos, _s, C);
          Oh(C, C.statements, le);
        }
        function Oh(C, le, _t) {
          const ur = le.length === 1 && // treat synthesized nodes as located on the same line for emit purposes
          (!A || ao(C) || ao(le[0]) || L5(C, le[0], A));
          let ti = 163969;
          ur ? (a1(59, _t, bn, C), fn(), ti &= -130) : L(59, _t, bn, C), Pn(C, le, ti);
        }
        function Lh(C) {
          fn(), o1(C.token, _s), fn(), Pn(
            C,
            C.types,
            528
            /* HeritageClauseTypes */
          );
        }
        function Mh(C) {
          const le = L(85, C.pos, _s, C);
          fn(), C.variableDeclaration && (L(21, le, bn, C), yr(C.variableDeclaration), L(22, C.variableDeclaration.end, bn, C), fn()), yr(C.block);
        }
        function n1(C) {
          yr(C.name), bn(":"), fn();
          const le = C.initializer;
          if ((Ca(le) & 1024) === 0) {
            const _t = pm(le);
            pd(_t.pos);
          }
          Xe(le, Jr.parenthesizeExpressionForDisallowedComma);
        }
        function Dv(C) {
          yr(C.name), C.objectAssignmentInitializer && (fn(), bn("="), fn(), Xe(C.objectAssignmentInitializer, Jr.parenthesizeExpressionForDisallowedComma));
        }
        function $S(C) {
          C.expression && (L(26, C.pos, bn, C), Xe(C.expression, Jr.parenthesizeExpressionForDisallowedComma));
        }
        function wv(C) {
          yr(C.name), Iv(C.initializer, C.name.end, C, Jr.parenthesizeExpressionForDisallowedComma);
        }
        function Pa(C) {
          if (me("/**"), C.comment) {
            const le = r3(C.comment);
            if (le) {
              const _t = le.split(/\r\n?|\n/);
              for (const ur of _t)
                Au(), fn(), bn("*"), fn(), me(ur);
            }
          }
          C.tags && (C.tags.length === 1 && C.tags[0].kind === 345 && !C.comment ? (fn(), yr(C.tags[0])) : Pn(
            C,
            C.tags,
            33
            /* JSDocComment */
          )), fn(), me("*/");
        }
        function XS(C) {
          Gp(C.tagName), Nv(C.typeExpression), ld(C.comment);
        }
        function _E(C) {
          Gp(C.tagName), yr(C.name), ld(C.comment);
        }
        function Rh(C) {
          Gp(C.tagName), fn(), C.importClause && (yr(C.importClause), fn(), L(161, C.importClause.end, _s, C), fn()), Xe(C.moduleSpecifier), C.attributes && Jf(C.attributes), ld(C.comment);
        }
        function jh(C) {
          fn(), bn("{"), yr(C.name), bn("}");
        }
        function ig(C) {
          Gp(C.tagName), fn(), bn("{"), yr(C.class), bn("}"), ld(C.comment);
        }
        function Oo(C) {
          Gp(C.tagName), Nv(C.constraint), fn(), Pn(
            C,
            C.typeParameters,
            528
            /* CommaListElements */
          ), ld(C.comment);
        }
        function du(C) {
          Gp(C.tagName), C.typeExpression && (C.typeExpression.kind === 310 ? Nv(C.typeExpression) : (fn(), bn("{"), me("Object"), C.typeExpression.isArrayType && (bn("["), bn("]")), bn("}"))), C.fullName && (fn(), yr(C.fullName)), ld(C.comment), C.typeExpression && C.typeExpression.kind === 323 && Gu(C.typeExpression);
        }
        function w_(C) {
          Gp(C.tagName), C.name && (fn(), yr(C.name)), ld(C.comment), sg(C.typeExpression);
        }
        function mu(C) {
          ld(C.comment), sg(C.typeExpression);
        }
        function Pv(C) {
          Gp(C.tagName), ld(C.comment);
        }
        function Gu(C) {
          Pn(
            C,
            N.createNodeArray(C.jsDocPropertyTags),
            33
            /* JSDocComment */
          );
        }
        function sg(C) {
          C.typeParameters && Pn(
            C,
            N.createNodeArray(C.typeParameters),
            33
            /* JSDocComment */
          ), C.parameters && Pn(
            C,
            N.createNodeArray(C.parameters),
            33
            /* JSDocComment */
          ), C.type && (Au(), fn(), bn("*"), fn(), yr(C.type));
        }
        function c_(C) {
          Gp(C.tagName), Nv(C.typeExpression), fn(), C.isBracketed && bn("["), yr(C.name), C.isBracketed && bn("]"), ld(C.comment);
        }
        function Gp(C) {
          bn("@"), yr(C);
        }
        function ld(C) {
          const le = r3(C);
          le && (fn(), me(le));
        }
        function Nv(C) {
          C && (fn(), bn("{"), yr(C.type), bn("}"));
        }
        function Av(C) {
          Au();
          const le = C.statements;
          if (le.length === 0 || !im(le[0]) || ao(le[0])) {
            y2(C, le, f2);
            return;
          }
          f2(C);
        }
        function Uw(C) {
          O0(!!C.hasNoDefaultLib, C.syntheticFileReferences || [], C.syntheticTypeReferences || [], C.syntheticLibReferences || []);
        }
        function fE(C) {
          C.isDeclarationFile && O0(C.hasNoDefaultLib, C.referencedFiles, C.typeReferenceDirectives, C.libReferenceDirectives);
        }
        function O0(C, le, _t, ur) {
          if (C && (s1('/// <reference no-default-lib="true"/>'), Au()), A && A.moduleName && (s1(`/// <amd-module name="${A.moduleName}" />`), Au()), A && A.amdDependencies)
            for (const gi of A.amdDependencies)
              gi.name ? s1(`/// <amd-dependency name="${gi.name}" path="${gi.path}" />`) : s1(`/// <amd-dependency path="${gi.path}" />`), Au();
          function ti(gi, Ki) {
            for (const mi of Ki) {
              const va = mi.resolutionMode ? `resolution-mode="${mi.resolutionMode === 99 ? "import" : "require"}" ` : "", Bc = mi.preserve ? 'preserve="true" ' : "";
              s1(`/// <reference ${gi}="${mi.fileName}" ${va}${Bc}/>`), Au();
            }
          }
          ti("path", le), ti("types", _t), ti("lib", ur);
        }
        function f2(C) {
          const le = C.statements;
          fd(C), lr(C.statements, Il), Lt(C);
          const _t = ic(le, (ur) => !im(ur));
          fE(C), Pn(
            C,
            le,
            1,
            /*parenthesizerRule*/
            void 0,
            _t === -1 ? le.length : _t
          ), Wh(C);
        }
        function ze(C) {
          const le = Ca(C);
          !(le & 1024) && C.pos !== C.expression.pos && pd(C.expression.pos), Xe(C.expression), !(le & 2048) && C.end !== C.expression.end && Qg(C.expression.end);
        }
        function QS(C) {
          xn(
            C,
            C.elements,
            528,
            /*parenthesizerRule*/
            void 0
          );
        }
        function qg(C, le, _t) {
          let ur = !!le;
          for (let ti = 0; ti < C.length; ti++) {
            const gi = C[ti];
            if (im(gi))
              (_t ? !_t.has(gi.expression.text) : true) && (ur && (ur = false, Un(le)), Au(), yr(gi), _t && _t.add(gi.expression.text));
            else
              return ti;
          }
          return C.length;
        }
        function ud(C) {
          if (Di(C))
            qg(C.statements, C);
          else {
            const le = /* @__PURE__ */ new Set();
            for (const _t of C.sourceFiles)
              qg(_t.statements, _t, le);
            Un(void 0);
          }
        }
        function L0(C) {
          if (Di(C)) {
            const le = d7(C.text);
            if (le)
              return s1(le), Au(), true;
          } else
            for (const le of C.sourceFiles)
              if (L0(le))
                return true;
        }
        function i1(C, le) {
          if (!C) return;
          const _t = me;
          me = le, yr(C), me = _t;
        }
        function $u(C, le, _t) {
          if (le?.length) {
            if (Ni(le, Ys))
              return jd(C, le);
            if (Ni(le, ol))
              return _t ? p2(C, le) : C.pos;
            u?.(le);
            let ur, ti, gi = 0, Ki = 0, mi;
            for (; gi < le.length; ) {
              for (; Ki < le.length; ) {
                if (mi = le[Ki], ti = ol(mi) ? "decorators" : "modifiers", ur === void 0)
                  ur = ti;
                else if (ti !== ur)
                  break;
                Ki++;
              }
              const va = { pos: -1, end: -1 };
              gi === 0 && (va.pos = le.pos), Ki === le.length - 1 && (va.end = le.end), (ur === "modifiers" || _t) && ZS(
                yr,
                C,
                le,
                ur === "modifiers" ? 2359808 : 2146305,
                /*parenthesizerRule*/
                void 0,
                gi,
                Ki - gi,
                /*hasTrailingComma*/
                false,
                va
              ), gi = Ki, ur = ti, Ki++;
            }
            if (g?.(le), mi && !Ed(mi.end))
              return mi.end;
          }
          return C.pos;
        }
        function jd(C, le) {
          Pn(
            C,
            le,
            2359808
            /* Modifiers */
          );
          const _t = ko(le);
          return _t && !Ed(_t.end) ? _t.end : C.pos;
        }
        function $p(C) {
          C && (bn(":"), fn(), yr(C));
        }
        function Iv(C, le, _t, ur) {
          C && (fn(), L(64, le, B_, _t), fn(), Xe(C, ur));
        }
        function ma(C, le, _t, ur) {
          _t && (le(C), ur(_t));
        }
        function Jf(C) {
          C && (fn(), yr(C));
        }
        function M0(C, le) {
          C && (fn(), Xe(C, le));
        }
        function YS(C) {
          C && (yr(C), fn());
        }
        function Bh(C, le) {
          Ps(le) || Ca(C) & 1 || he && !j0(
            C,
            le,
            0
            /* None */
          ) ? (fn(), yr(le)) : (Au(), ag(), mz(le) ? Y(5, le) : yr(le), Bd());
        }
        function p2(C, le) {
          Pn(
            C,
            le,
            2146305
            /* Decorators */
          );
          const _t = ko(le);
          return _t && !Ed(_t.end) ? _t.end : C.pos;
        }
        function mp(C, le) {
          Pn(C, le, 53776, ui);
        }
        function Hg(C, le) {
          if (Cs(C) && C.typeArguments)
            return mp(C, C.typeArguments);
          Pn(C, le, 53776 | (bo(C) ? 64 : 0));
        }
        function Fv(C, le) {
          Pn(
            C,
            le,
            2576
            /* Parameters */
          );
        }
        function R0(C, le) {
          const _t = yg(le);
          return _t && _t.pos === C.pos && bo(C) && !C.type && !ot(C.modifiers) && !ot(C.typeParameters) && !ot(_t.modifiers) && !_t.dotDotDotToken && !_t.questionToken && !_t.type && !_t.initializer && Me(_t.name);
        }
        function wm(C, le) {
          R0(C, le) ? Pn(
            C,
            le,
            528
            /* Parenthesis */
          ) : Fv(C, le);
        }
        function d2(C, le) {
          Pn(
            C,
            le,
            8848
            /* IndexSignatureParameters */
          );
        }
        function Ov(C) {
          switch (C & 60) {
            case 0:
              break;
            case 16:
              bn(",");
              break;
            case 4:
              fn(), bn("|");
              break;
            case 32:
              fn(), bn("*"), fn();
              break;
            case 8:
              fn(), bn("&");
              break;
          }
        }
        function Pn(C, le, _t, ur, ti, gi) {
          ql(
            yr,
            C,
            le,
            _t | (C && Ca(C) & 2 ? 65536 : 0),
            ur,
            ti,
            gi
          );
        }
        function xn(C, le, _t, ur, ti, gi) {
          ql(Xe, C, le, _t, ur, ti, gi);
        }
        function ql(C, le, _t, ur, ti, gi = 0, Ki = _t ? _t.length - gi : 0) {
          if (_t === void 0 && ur & 16384)
            return;
          const va = _t === void 0 || gi >= _t.length || Ki === 0;
          if (va && ur & 32768) {
            u?.(_t), g?.(_t);
            return;
          }
          ur & 15360 && (bn(Lje(ur)), va && _t && pd(
            _t.pos,
            /*prefixSpace*/
            true
          )), u?.(_t), va ? ur & 1 && !(he && (!le || A && uS(le, A))) ? Au() : ur & 256 && !(ur & 524288) && fn() : ZS(C, le, _t, ur, ti, gi, Ki, _t.hasTrailingComma, _t), g?.(_t), ur & 15360 && (va && _t && Qg(_t.end), bn(Mje(ur)));
        }
        function ZS(C, le, _t, ur, ti, gi, Ki, mi, va) {
          const Bc = (ur & 262144) === 0;
          let gu = Bc;
          const l_ = j0(le, _t[gi], ur);
          l_ ? (Au(l_), gu = false) : ur & 256 && fn(), ur & 128 && ag();
          const Vv = Jje(C, ti);
          let u_, p1 = false;
          for (let W0 = 0; W0 < Ki; W0++) {
            const dd = _t[gi + W0];
            if (ur & 32)
              Au(), Ov(ur);
            else if (u_) {
              ur & 60 && u_.end !== (le ? le.end : -1) && (Ca(u_) & 2048 || Qg(u_.end)), Ov(ur);
              const U0 = Lv(u_, dd, ur);
              if (U0 > 0) {
                if ((ur & 131) === 0 && (ag(), p1 = true), gu && ur & 60 && !Ed(dd.pos)) {
                  const b2 = pm(dd);
                  pd(
                    b2.pos,
                    /*prefixSpace*/
                    !!(ur & 512),
                    /*forceNoNewline*/
                    true
                  );
                }
                Au(U0), gu = false;
              } else u_ && ur & 512 && fn();
            }
            if (gu) {
              const U0 = pm(dd);
              pd(U0.pos);
            } else
              gu = Bc;
            q = dd.pos, Vv(dd, C, ti, W0), p1 && (Bd(), p1 = false), u_ = dd;
          }
          const jk = u_ ? Ca(u_) : 0, Xp = Bt || !!(jk & 2048), Uo = mi && ur & 64 && ur & 16;
          Uo && (u_ && !Xp ? L(28, u_.end, bn, u_) : bn(",")), u_ && (le ? le.end : -1) !== u_.end && ur & 60 && !Xp && Qg(Uo && va?.end ? va.end : u_.end), ur & 128 && Bd();
          const fT = Ek(le, _t[gi + Ki - 1], ur, va);
          fT ? Au(fT) : ur & 2097408 && fn();
        }
        function Jh(C) {
          be.writeLiteral(C);
        }
        function m2(C) {
          be.writeStringLiteral(C);
        }
        function pE(C) {
          be.write(C);
        }
        function Vw(C, le) {
          be.writeSymbol(C, le);
        }
        function bn(C) {
          be.writePunctuation(C);
        }
        function Xu() {
          be.writeTrailingSemicolon(";");
        }
        function _s(C) {
          be.writeKeyword(C);
        }
        function B_(C) {
          be.writeOperator(C);
        }
        function KS(C) {
          be.writeParameter(C);
        }
        function s1(C) {
          be.writeComment(C);
        }
        function fn() {
          be.writeSpace(" ");
        }
        function dE(C) {
          be.writeProperty(C);
        }
        function Ck(C) {
          be.nonEscapingWrite ? be.nonEscapingWrite(C) : be.write(C);
        }
        function Au(C = 1) {
          for (let le = 0; le < C; le++)
            be.writeLine(le > 0);
        }
        function ag() {
          be.increaseIndent();
        }
        function Bd() {
          be.decreaseIndent();
        }
        function a1(C, le, _t, ur) {
          return pe ? o1(C, _t, le) : uT(ur, C, _t, le, o1);
        }
        function eT(C, le) {
          m && m(C), le(Vs(C.kind)), h && h(C);
        }
        function o1(C, le, _t) {
          const ur = Vs(C);
          return le(ur), _t < 0 ? _t : _t + ur.length;
        }
        function zf(C, le, _t) {
          if (Ca(C) & 1)
            fn();
          else if (he) {
            const ur = Pm(C, le, _t);
            ur ? Au(ur) : fn();
          } else
            Au();
        }
        function _d2(C) {
          const le = C.split(/\r\n?|\n/), _t = MZ(le);
          for (const ur of le) {
            const ti = _t ? ur.slice(_t) : ur;
            ti.length && (Au(), me(ti));
          }
        }
        function gp(C, le) {
          C ? (ag(), Au(C)) : le && fn();
        }
        function P_(C, le) {
          C && Bd(), le && Bd();
        }
        function j0(C, le, _t) {
          if (_t & 2 || he) {
            if (_t & 65536)
              return 1;
            if (le === void 0)
              return !C || A && uS(C, A) ? 0 : 1;
            if (le.pos === q || le.kind === 12)
              return 0;
            if (A && C && !Ed(C.pos) && !ao(le) && (!le.parent || zo(le.parent) === zo(C)))
              return he ? Mv(
                (ur) => _ee(
                  le.pos,
                  C.pos,
                  A,
                  ur
                )
              ) : L5(C, le, A) ? 0 : 1;
            if (zh(le, _t))
              return 1;
          }
          return _t & 1 ? 1 : 0;
        }
        function Lv(C, le, _t) {
          if (_t & 2 || he) {
            if (C === void 0 || le === void 0 || le.kind === 12)
              return 0;
            if (A && !ao(C) && !ao(le))
              return he && Iu(C, le) ? Mv(
                (ur) => uJ(
                  C,
                  le,
                  A,
                  ur
                )
              ) : !he && Fk(C, le) ? oN(C, le, A) ? 0 : 1 : _t & 65536 ? 1 : 0;
            if (zh(C, _t) || zh(le, _t))
              return 1;
          } else if (SD(le))
            return 1;
          return _t & 1 ? 1 : 0;
        }
        function Ek(C, le, _t, ur) {
          if (_t & 2 || he) {
            if (_t & 65536)
              return 1;
            if (le === void 0)
              return !C || A && uS(C, A) ? 0 : 1;
            if (A && C && !Ed(C.pos) && !ao(le) && (!le.parent || le.parent === C)) {
              if (he) {
                const ti = ur && !Ed(ur.end) ? ur.end : le.end;
                return Mv(
                  (gi) => fee(
                    ti,
                    C.end,
                    A,
                    gi
                  )
                );
              }
              return cee(C, le, A) ? 0 : 1;
            }
            if (zh(le, _t))
              return 1;
          }
          return _t & 1 && !(_t & 131072) ? 1 : 0;
        }
        function Mv(C) {
          E.assert(!!he);
          const le = C(
            /*includeComments*/
            true
          );
          return le === 0 ? C(
            /*includeComments*/
            false
          ) : le;
        }
        function c1(C, le) {
          const _t = he && j0(
            le,
            C,
            0
            /* None */
          );
          return _t && gp(
            _t,
            /*writeSpaceIfNotIndenting*/
            false
          ), !!_t;
        }
        function Dk(C, le) {
          const _t = he && Ek(
            le,
            C,
            0,
            /*childrenTextRange*/
            void 0
          );
          _t && Au(_t);
        }
        function zh(C, le) {
          if (ao(C)) {
            const _t = SD(C);
            return _t === void 0 ? (le & 65536) !== 0 : _t;
          }
          return (le & 65536) !== 0;
        }
        function Pm(C, le, _t) {
          return Ca(C) & 262144 ? 0 : (C = Rv(C), le = Rv(le), _t = Rv(_t), SD(_t) ? 1 : A && !ao(C) && !ao(le) && !ao(_t) ? he ? Mv(
            (ur) => uJ(
              le,
              _t,
              A,
              ur
            )
          ) : oN(le, _t, A) ? 0 : 1 : 0);
        }
        function l1(C) {
          return C.statements.length === 0 && (!A || oN(C, C, A));
        }
        function Rv(C) {
          for (; C.kind === 218 && ao(C); )
            C = C.expression;
          return C;
        }
        function B0(C, le) {
          if (Mo(C) || $2(C))
            return jv(C);
          if (oa(C) && C.textSourceNode)
            return B0(C.textSourceNode, le);
          const _t = A, ur = !!_t && !!C.parent && !ao(C);
          if (xg(C)) {
            if (!ur || xr(C) !== zo(_t))
              return An(C);
          } else if (Pd(C)) {
            if (!ur || xr(C) !== zo(_t))
              return vD(C);
          } else if (E.assertNode(C, G2), !ur)
            return C.text;
          return Sb(_t, C, le);
        }
        function u1(C, le = A, _t, ur) {
          if (C.kind === 11 && C.textSourceNode) {
            const gi = C.textSourceNode;
            if (Me(gi) || Ai(gi) || T_(gi) || Pd(gi)) {
              const Ki = T_(gi) ? gi.text : B0(gi);
              return ur ? `"${qB(Ki)}"` : _t || Ca(C) & 16777216 ? `"${Gm(Ki)}"` : `"${b5(Ki)}"`;
            } else
              return u1(gi, xr(gi), _t, ur);
          }
          const ti = (_t ? 1 : 0) | (ur ? 2 : 0) | (e.terminateUnterminatedLiterals ? 4 : 0) | (e.target && e.target >= 8 ? 8 : 0);
          return XZ(C, le, ti);
        }
        function fd(C) {
          W.push(_e), _e = 0, ce.push(fe), !(C && Ca(C) & 1048576) && (K.push(V), V = 0, U.push($), $ = void 0, ae.push(se));
        }
        function Wh(C) {
          _e = W.pop(), fe = ce.pop(), !(C && Ca(C) & 1048576) && (V = K.pop(), $ = U.pop(), se = ae.pop());
        }
        function Gg(C) {
          (!se || se === ko(ae)) && (se = /* @__PURE__ */ new Set()), se.add(C);
        }
        function _1(C) {
          (!fe || fe === ko(ce)) && (fe = /* @__PURE__ */ new Set()), fe.add(C);
        }
        function Il(C) {
          if (C)
            switch (C.kind) {
              case 242:
                lr(C.statements, Il);
                break;
              case 257:
              case 255:
              case 247:
              case 248:
                Il(C.statement);
                break;
              case 246:
                Il(C.thenStatement), Il(C.elseStatement);
                break;
              case 249:
              case 251:
              case 250:
                Il(C.initializer), Il(C.statement);
                break;
              case 256:
                Il(C.caseBlock);
                break;
              case 270:
                lr(C.clauses, Il);
                break;
              case 297:
              case 298:
                lr(C.statements, Il);
                break;
              case 259:
                Il(C.tryBlock), Il(C.catchClause), Il(C.finallyBlock);
                break;
              case 300:
                Il(C.variableDeclaration), Il(C.block);
                break;
              case 244:
                Il(C.declarationList);
                break;
              case 262:
                lr(C.declarations, Il);
                break;
              case 261:
              case 170:
              case 209:
              case 264:
                $g(C.name);
                break;
              case 263:
                $g(C.name), Ca(C) & 1048576 && (lr(C.parameters, Il), Il(C.body));
                break;
              case 207:
              case 208:
                lr(C.elements, Il);
                break;
              case 273:
                Il(C.importClause);
                break;
              case 274:
                $g(C.name), Il(C.namedBindings);
                break;
              case 275:
                $g(C.name);
                break;
              case 281:
                $g(C.name);
                break;
              case 276:
                lr(C.elements, Il);
                break;
              case 277:
                $g(C.propertyName || C.name);
                break;
            }
        }
        function g2(C) {
          if (C)
            switch (C.kind) {
              case 304:
              case 305:
              case 173:
              case 172:
              case 175:
              case 174:
              case 178:
              case 179:
                $g(C.name);
                break;
            }
        }
        function $g(C) {
          C && (Mo(C) || $2(C) ? jv(C) : Ds(C) && Il(C));
        }
        function jv(C) {
          const le = C.emitNode.autoGenerate;
          if ((le.flags & 7) === 4)
            return tT(GN(C), Ai(C), le.flags, le.prefix, le.suffix);
          {
            const _t = le.id;
            return R[_t] || (R[_t] = hp(C));
          }
        }
        function tT(C, le, _t, ur, ti) {
          const gi = Oa(C), Ki = le ? F : O;
          return Ki[gi] || (Ki[gi] = N_(C, le, _t ?? 0, S6(ur, jv), S6(ti)));
        }
        function Xg(C, le) {
          return wk(C) && !mE(C, le) && !B.has(C);
        }
        function mE(C, le) {
          let _t, ur;
          if (le ? (_t = fe, ur = ce) : (_t = se, ur = ae), _t?.has(C))
            return true;
          for (let ti = ur.length - 1; ti >= 0; ti--)
            if (_t !== ur[ti] && (_t = ur[ti], _t?.has(C)))
              return true;
          return false;
        }
        function wk(C, le) {
          return A ? z7(A, C, n) : true;
        }
        function Pk(C, le) {
          for (let _t = le; _t && wb(_t, le); _t = _t.nextContainer)
            if (zm(_t) && _t.locals) {
              const ur = _t.locals.get(Zo(C));
              if (ur && ur.flags & 3257279)
                return false;
            }
          return true;
        }
        function qw(C) {
          switch (C) {
            case "":
              return V;
            case "#":
              return _e;
            default:
              return $?.get(C) ?? 0;
          }
        }
        function Nk(C, le) {
          switch (C) {
            case "":
              V = le;
              break;
            case "#":
              _e = le;
              break;
            default:
              $ ?? ($ = /* @__PURE__ */ new Map()), $.set(C, le);
              break;
          }
        }
        function Bv(C, le, _t, ur, ti) {
          ur.length > 0 && ur.charCodeAt(0) === 35 && (ur = ur.slice(1));
          const gi = av(_t, ur, "", ti);
          let Ki = qw(gi);
          if (C && !(Ki & C)) {
            const va = av(_t, ur, C === 268435456 ? "_i" : "_n", ti);
            if (Xg(va, _t))
              return Ki |= C, _t ? _1(va) : le && Gg(va), Nk(gi, Ki), va;
          }
          for (; ; ) {
            const mi = Ki & 268435455;
            if (Ki++, mi !== 8 && mi !== 13) {
              const va = mi < 26 ? "_" + String.fromCharCode(97 + mi) : "_" + (mi - 26), Bc = av(_t, ur, va, ti);
              if (Xg(Bc, _t))
                return _t ? _1(Bc) : le && Gg(Bc), Nk(gi, Ki), Bc;
            }
          }
        }
        function Uh(C, le = Xg, _t, ur, ti, gi, Ki) {
          if (C.length > 0 && C.charCodeAt(0) === 35 && (C = C.slice(1)), gi.length > 0 && gi.charCodeAt(0) === 35 && (gi = gi.slice(1)), _t) {
            const va = av(ti, gi, C, Ki);
            if (le(va, ti))
              return ti ? _1(va) : ur ? Gg(va) : B.add(va), va;
          }
          C.charCodeAt(C.length - 1) !== 95 && (C += "_");
          let mi = 1;
          for (; ; ) {
            const va = av(ti, gi, C + mi, Ki);
            if (le(va, ti))
              return ti ? _1(va) : ur ? Gg(va) : B.add(va), va;
            mi++;
          }
        }
        function gE(C) {
          return Uh(
            C,
            wk,
            /*optimistic*/
            true,
            /*scoped*/
            false,
            /*privateName*/
            false,
            /*prefix*/
            "",
            /*suffix*/
            ""
          );
        }
        function Jv(C) {
          const le = B0(C.name);
          return Pk(le, Bn(C, zm)) ? le : Uh(
            le,
            Xg,
            /*optimistic*/
            false,
            /*scoped*/
            false,
            /*privateName*/
            false,
            /*prefix*/
            "",
            /*suffix*/
            ""
          );
        }
        function rT(C) {
          const le = ux(C), _t = oa(le) ? YZ(le.text) : "module";
          return Uh(
            _t,
            Xg,
            /*optimistic*/
            false,
            /*scoped*/
            false,
            /*privateName*/
            false,
            /*prefix*/
            "",
            /*suffix*/
            ""
          );
        }
        function jc() {
          return Uh(
            "default",
            Xg,
            /*optimistic*/
            false,
            /*scoped*/
            false,
            /*privateName*/
            false,
            /*prefix*/
            "",
            /*suffix*/
            ""
          );
        }
        function Fl() {
          return Uh(
            "class",
            Xg,
            /*optimistic*/
            false,
            /*scoped*/
            false,
            /*privateName*/
            false,
            /*prefix*/
            "",
            /*suffix*/
            ""
          );
        }
        function Ak(C, le, _t, ur) {
          return Me(C.name) ? tT(C.name, le) : Bv(
            0,
            /*reservedInNestedScopes*/
            false,
            le,
            _t,
            ur
          );
        }
        function N_(C, le, _t, ur, ti) {
          switch (C.kind) {
            case 80:
            case 81:
              return Uh(
                B0(C),
                Xg,
                !!(_t & 16),
                !!(_t & 8),
                le,
                ur,
                ti
              );
            case 268:
            case 267:
              return E.assert(!ur && !ti && !le), Jv(C);
            case 273:
            case 279:
              return E.assert(!ur && !ti && !le), rT(C);
            case 263:
            case 264: {
              E.assert(!ur && !ti && !le);
              const gi = C.name;
              return gi && !Mo(gi) ? N_(
                gi,
                /*privateName*/
                false,
                _t,
                ur,
                ti
              ) : jc();
            }
            case 278:
              return E.assert(!ur && !ti && !le), jc();
            case 232:
              return E.assert(!ur && !ti && !le), Fl();
            case 175:
            case 178:
            case 179:
              return Ak(C, le, ur, ti);
            case 168:
              return Bv(
                0,
                /*reservedInNestedScopes*/
                true,
                le,
                ur,
                ti
              );
            default:
              return Bv(
                0,
                /*reservedInNestedScopes*/
                false,
                le,
                ur,
                ti
              );
          }
        }
        function hp(C) {
          const le = C.emitNode.autoGenerate, _t = S6(le.prefix, jv), ur = S6(le.suffix);
          switch (le.flags & 7) {
            case 1:
              return Bv(0, !!(le.flags & 8), Ai(C), _t, ur);
            case 2:
              return E.assertNode(C, Me), Bv(
                268435456,
                !!(le.flags & 8),
                /*privateName*/
                false,
                _t,
                ur
              );
            case 3:
              return Uh(
                An(C),
                le.flags & 32 ? wk : Xg,
                !!(le.flags & 16),
                !!(le.flags & 8),
                Ai(C),
                _t,
                ur
              );
          }
          return E.fail(`Unsupported GeneratedIdentifierKind: ${E.formatEnum(
            le.flags & 7,
            KR,
            /*isFlags*/
            true
          )}.`);
        }
        function h2(C, le) {
          const _t = Tt(2, C, le), ur = ie, ti = Ne, gi = Ee;
          Jd(le), _t(C, le), f1(le, ur, ti, gi);
        }
        function Jd(C) {
          const le = Ca(C), _t = pm(C);
          J0(C, le, _t.pos, _t.end), le & 4096 && (Bt = true);
        }
        function f1(C, le, _t, ur) {
          const ti = Ca(C), gi = pm(C);
          ti & 4096 && (Bt = false), Ik(C, ti, gi.pos, gi.end, le, _t, ur);
          const Ki = vte(C);
          Ki && Ik(C, ti, Ki.pos, Ki.end, le, _t, ur);
        }
        function J0(C, le, _t, ur) {
          st(), St = false;
          const ti = _t < 0 || (le & 1024) !== 0 || C.kind === 12, gi = ur < 0 || (le & 2048) !== 0 || C.kind === 12;
          (_t > 0 || ur > 0) && _t !== ur && (ti || J_(
            _t,
            /*isEmittedNode*/
            C.kind !== 354
            /* NotEmittedStatement */
          ), (!ti || _t >= 0 && (le & 1024) !== 0) && (ie = _t), (!gi || ur >= 0 && (le & 2048) !== 0) && (Ne = ur, C.kind === 262 && (Ee = ur))), lr(i6(C), Hw), Wt();
        }
        function Ik(C, le, _t, ur, ti, gi, Ki) {
          st();
          const mi = ur < 0 || (le & 2048) !== 0 || C.kind === 12;
          lr(AN(C), _c2), (_t > 0 || ur > 0) && _t !== ur && (ie = ti, Ne = gi, Ee = Ki, !mi && C.kind !== 354 && Ok(ur)), Wt();
        }
        function Hw(C) {
          (C.hasLeadingNewline || C.kind === 2) && be.writeLine(), hE(C), C.hasTrailingNewLine || C.kind === 2 ? be.writeLine() : be.writeSpace(" ");
        }
        function _c2(C) {
          be.isAtStartOfLine() || be.writeSpace(" "), hE(C), C.hasTrailingNewLine && be.writeLine();
        }
        function hE(C) {
          const le = nT(C), _t = C.kind === 3 ? QT(le) : void 0;
          $C(le, _t, be, 0, le.length, k);
        }
        function nT(C) {
          return C.kind === 3 ? `/*${C.text}*/` : `//${C.text}`;
        }
        function y2(C, le, _t) {
          st();
          const { pos: ur, end: ti } = le, gi = Ca(C), Ki = ur < 0 || (gi & 1024) !== 0, mi = Bt || ti < 0 || (gi & 2048) !== 0;
          Ki || ff(le), Wt(), gi & 4096 && !Bt ? (Bt = true, _t(C), Bt = false) : _t(C), st(), mi || (J_(
            le.end,
            /*isEmittedNode*/
            true
          ), St && !be.isAtStartOfLine() && be.writeLine()), Wt();
        }
        function Fk(C, le) {
          return C = zo(C), C.parent && C.parent === zo(le).parent;
        }
        function Iu(C, le) {
          if (le.pos < C.end)
            return false;
          C = zo(C), le = zo(le);
          const _t = C.parent;
          if (!_t || _t !== le.parent)
            return false;
          const ur = Hee(C), ti = ur?.indexOf(C);
          return ti !== void 0 && ti > -1 && ur.indexOf(le) === ti + 1;
        }
        function J_(C, le) {
          St = false, le ? C === 0 && A?.isDeclarationFile ? Mk(C, zv) : Mk(C, sT) : C === 0 && Mk(C, iT);
        }
        function iT(C, le, _t, ur, ti) {
          cT(C, le) && sT(C, le, _t, ur, ti);
        }
        function zv(C, le, _t, ur, ti) {
          cT(C, le) || sT(C, le, _t, ur, ti);
        }
        function z_(C, le) {
          return e.onlyPrintJsDocStyle ? Jz(C, le) || W7(C, le) : true;
        }
        function sT(C, le, _t, ur, ti) {
          !A || !z_(A.text, C) || (St || ($K(Zs(), be, ti, C), St = true), vl(C), $C(A.text, Zs(), be, C, le, k), vl(le), ur ? be.writeLine() : _t === 3 && be.writeSpace(" "));
        }
        function Qg(C) {
          Bt || C === -1 || J_(
            C,
            /*isEmittedNode*/
            true
          );
        }
        function Ok(C) {
          oT(C, aT);
        }
        function aT(C, le, _t, ur) {
          !A || !z_(A.text, C) || (be.isAtStartOfLine() || be.writeSpace(" "), vl(C), $C(A.text, Zs(), be, C, le, k), vl(le), ur && be.writeLine());
        }
        function pd(C, le, _t) {
          Bt || (st(), oT(C, le ? aT : _t ? Lk : yE), Wt());
        }
        function Lk(C, le, _t) {
          A && (vl(C), $C(A.text, Zs(), be, C, le, k), vl(le), _t === 2 && be.writeLine());
        }
        function yE(C, le, _t, ur) {
          A && (vl(C), $C(A.text, Zs(), be, C, le, k), vl(le), ur ? be.writeLine() : be.writeSpace(" "));
        }
        function Mk(C, le) {
          A && (ie === -1 || C !== ie) && (Rk(C) ? z0(le) : HP(
            A.text,
            C,
            le,
            /*state*/
            C
          ));
        }
        function oT(C, le) {
          A && (Ne === -1 || C !== Ne && C !== Ee) && GP(A.text, C, le);
        }
        function Rk(C) {
          return Ve !== void 0 && fa(Ve).nodePos === C;
        }
        function z0(C) {
          if (!A) return;
          const le = fa(Ve).detachedCommentEndPos;
          Ve.length - 1 ? Ve.pop() : Ve = void 0, HP(
            A.text,
            le,
            C,
            /*state*/
            le
          );
        }
        function ff(C) {
          const le = A && XK(A.text, Zs(), be, Nm, C, k, Bt);
          le && (Ve ? Ve.push(le) : Ve = [le]);
        }
        function Nm(C, le, _t, ur, ti, gi) {
          !A || !z_(A.text, ur) || (vl(ur), $C(C, le, _t, ur, ti, gi), vl(ti));
        }
        function cT(C, le) {
          return !!A && nB(A.text, C, le);
        }
        function lT(C, le) {
          const _t = Tt(3, C, le);
          Ia(le), _t(C, le), yn(le);
        }
        function Ia(C) {
          const le = Ca(C), _t = y0(C), ur = _t.source || Fe;
          C.kind !== 354 && (le & 32) === 0 && _t.pos >= 0 && Wv(_t.source || Fe, Wf(ur, _t.pos)), le & 128 && (pe = true);
        }
        function yn(C) {
          const le = Ca(C), _t = y0(C);
          le & 128 && (pe = false), C.kind !== 354 && (le & 64) === 0 && _t.end >= 0 && Wv(_t.source || Fe, _t.end);
        }
        function Wf(C, le) {
          return C.skipTrivia ? C.skipTrivia(le) : aa(C.text, le);
        }
        function vl(C) {
          if (pe || Ed(C) || _T(Fe))
            return;
          const { line: le, character: _t } = Rs(Fe, C);
          Te.addMapping(
            be.getLine(),
            be.getColumn(),
            Ye,
            le,
            _t,
            /*nameIndex*/
            void 0
          );
        }
        function Wv(C, le) {
          if (C !== Fe) {
            const _t = Fe, ur = Ye;
            v2(C), vl(le), Uv(_t, ur);
          } else
            vl(le);
        }
        function uT(C, le, _t, ur, ti) {
          if (pe || C && o5(C))
            return ti(le, _t, ur);
          const gi = C && C.emitNode, Ki = gi && gi.flags || 0, mi = gi && gi.tokenSourceMapRanges && gi.tokenSourceMapRanges[le], va = mi && mi.source || Fe;
          return ur = Wf(va, mi ? mi.pos : ur), (Ki & 256) === 0 && ur >= 0 && Wv(va, ur), ur = ti(le, _t, ur), mi && (ur = mi.end), (Ki & 512) === 0 && ur >= 0 && Wv(va, ur), ur;
        }
        function v2(C) {
          if (!pe) {
            if (Fe = C, C === ne) {
              Ye = Se;
              return;
            }
            _T(C) || (Ye = Te.addSource(C.fileName), e.inlineSources && Te.setSourceContent(Ye, C.text), ne = C, Se = Ye);
          }
        }
        function Uv(C, le) {
          Fe = C, Ye = le;
        }
        function _T(C) {
          return Ho(
            C.fileName,
            ".json"
            /* Json */
          );
        }
      }
      function Oje() {
        const e = [];
        return e[
          1024
          /* Braces */
        ] = ["{", "}"], e[
          2048
          /* Parenthesis */
        ] = ["(", ")"], e[
          4096
          /* AngleBrackets */
        ] = ["<", ">"], e[
          8192
          /* SquareBrackets */
        ] = ["[", "]"], e;
      }
      function Lje(e) {
        return ave[
          e & 15360
          /* BracketsMask */
        ][0];
      }
      function Mje(e) {
        return ave[
          e & 15360
          /* BracketsMask */
        ][1];
      }
      function Rje(e, t, n, i) {
        t(e);
      }
      function jje(e, t, n, i) {
        t(e, n.select(i));
      }
      function Bje(e, t, n, i) {
        t(e, n);
      }
      function Jje(e, t) {
        return e.length === 1 ? Rje : typeof t == "object" ? jje : Bje;
      }
      function AO(e, t, n) {
        if (!e.getDirectories || !e.readDirectory)
          return;
        const i = /* @__PURE__ */ new Map(), s = $l(n);
        return {
          useCaseSensitiveFileNames: n,
          fileExists: T,
          readFile: (W, _e) => e.readFile(W, _e),
          directoryExists: e.directoryExists && k,
          getDirectories: P,
          readDirectory: A,
          createDirectory: e.createDirectory && D,
          writeFile: e.writeFile && S,
          addOrDeleteFileOrDirectory: R,
          addOrDeleteFile: B,
          clearCache: $,
          realpath: e.realpath && O
        };
        function o(W) {
          return io(W, t, s);
        }
        function c(W) {
          return i.get(pl(W));
        }
        function _(W) {
          const _e = c(Hn(W));
          return _e && (_e.sortedAndCanonicalizedFiles || (_e.sortedAndCanonicalizedFiles = _e.files.map(s).sort(), _e.sortedAndCanonicalizedDirectories = _e.directories.map(s).sort()), _e);
        }
        function u(W) {
          return Xc(qs(W));
        }
        function g(W, _e) {
          var K;
          if (!e.realpath || pl(o(e.realpath(W))) === _e) {
            const V = {
              files: hr(e.readDirectory(
                W,
                /*extensions*/
                void 0,
                /*exclude*/
                void 0,
                /*include*/
                ["*.*"]
              ), u) || [],
              directories: e.getDirectories(W) || []
            };
            return i.set(pl(_e), V), V;
          }
          if ((K = e.directoryExists) != null && K.call(e, W))
            return i.set(_e, false), false;
        }
        function m(W, _e) {
          _e = pl(_e);
          const K = c(_e);
          if (K)
            return K;
          try {
            return g(W, _e);
          } catch {
            E.assert(!i.has(pl(_e)));
            return;
          }
        }
        function h(W, _e) {
          return cy(W, _e, fo, ou) >= 0;
        }
        function S(W, _e, K) {
          const V = o(W), ae = _(V);
          return ae && U(
            ae,
            u(W),
            /*fileExists*/
            true
          ), e.writeFile(W, _e, K);
        }
        function T(W) {
          const _e = o(W), K = _(_e);
          return K && h(K.sortedAndCanonicalizedFiles, s(u(W))) || e.fileExists(W);
        }
        function k(W) {
          const _e = o(W);
          return i.has(pl(_e)) || e.directoryExists(W);
        }
        function D(W) {
          const _e = o(W), K = _(_e);
          if (K) {
            const V = u(W), ae = s(V), se = K.sortedAndCanonicalizedDirectories;
            ay(se, ae, ou) && K.directories.push(V);
          }
          e.createDirectory(W);
        }
        function P(W) {
          const _e = o(W), K = m(W, _e);
          return K ? K.directories.slice() : e.getDirectories(W);
        }
        function A(W, _e, K, V, ae) {
          const se = o(W), ce = m(W, se);
          let fe;
          if (ce !== void 0)
            return wJ(W, _e, K, V, n, t, ae, he, O);
          return e.readDirectory(W, _e, K, V, ae);
          function he(be) {
            const je = o(be);
            if (je === se)
              return ce || q(be, je);
            const me = m(be, je);
            return me !== void 0 ? me || q(be, je) : IJ;
          }
          function q(be, je) {
            if (fe && je === se) return fe;
            const me = {
              files: hr(e.readDirectory(
                be,
                /*extensions*/
                void 0,
                /*exclude*/
                void 0,
                /*include*/
                ["*.*"]
              ), u) || Ge,
              directories: e.getDirectories(be) || Ge
            };
            return je === se && (fe = me), me;
          }
        }
        function O(W) {
          return e.realpath ? e.realpath(W) : W;
        }
        function F(W) {
          u4(
            Hn(W),
            (_e) => i.delete(pl(_e)) ? true : void 0
          );
        }
        function R(W, _e) {
          if (c(_e) !== void 0) {
            $();
            return;
          }
          const V = _(_e);
          if (!V) {
            F(_e);
            return;
          }
          if (!e.directoryExists) {
            $();
            return;
          }
          const ae = u(W), se = {
            fileExists: e.fileExists(W),
            directoryExists: e.directoryExists(W)
          };
          return se.directoryExists || h(V.sortedAndCanonicalizedDirectories, s(ae)) ? $() : U(V, ae, se.fileExists), se;
        }
        function B(W, _e, K) {
          if (K === 1)
            return;
          const V = _(_e);
          V ? U(
            V,
            u(W),
            K === 0
            /* Created */
          ) : F(_e);
        }
        function U(W, _e, K) {
          const V = W.sortedAndCanonicalizedFiles, ae = s(_e);
          if (K)
            ay(V, ae, ou) && W.files.push(_e);
          else {
            const se = cy(V, ae, fo, ou);
            if (se >= 0) {
              V.splice(se, 1);
              const ce = W.files.findIndex((fe) => s(fe) === ae);
              W.files.splice(ce, 1);
            }
          }
        }
        function $() {
          i.clear();
        }
      }
      var vie = /* @__PURE__ */ ((e) => (e[e.Update = 0] = "Update", e[e.RootNamesAndUpdate = 1] = "RootNamesAndUpdate", e[e.Full = 2] = "Full", e))(vie || {});
      function IO(e, t, n, i, s) {
        var o;
        const c = fC(((o = t?.configFile) == null ? void 0 : o.extendedSourceFiles) || Ge, 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 iU(e, t) {
        t.forEach((n) => {
          n.projects.delete(e) && n.close();
        });
      }
      function FO(e, t, n) {
        e.delete(t) && e.forEach(({ extendedResult: i }, s) => {
          var o;
          (o = i.extendedSourceFiles) != null && o.some((c) => n(c) === t) && FO(e, s, n);
        });
      }
      function sU(e, t, n) {
        iD(
          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: nd
          }
        );
      }
      function b8(e, t, n) {
        t ? iD(
          e,
          new Map(Object.entries(t)),
          {
            // Create new watch and recursive info
            createNewValue: i,
            // Close existing watch thats not needed any more
            onDeleteValue: fp,
            // Close existing watch that doesnt match in the flags
            onExistingValue: s
          }
        ) : L_(e, fp);
        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 S8({
        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 = HO(n);
        if (!S)
          return g(`Project: ${i} Detected ignored path: ${t}`), true;
        if (n = S, n === e) return false;
        if (yC(n) && !(AJ(t, s, c) || A()))
          return g(`Project: ${i} Detected file add/remove of non supported extension: ${t}`), true;
        if (Wre(t, s.configFile.configFileSpecs, Qi(Hn(i), _), u, _))
          return g(`Project: ${i} Detected excluded file: ${t}`), true;
        if (!o || s.outFile || s.outDir) return false;
        if (wl(n)) {
          if (s.declarationDir) return false;
        } else if (!bc(n, e6))
          return false;
        const T = Uu(n), k = ss(o) ? void 0 : LU(o) ? o.getProgramOrUndefined() : o, D = !k && !ss(o) ? o : void 0;
        if (P(
          T + ".ts"
          /* Ts */
        ) || P(
          T + ".tsx"
          /* Tsx */
        ))
          return g(`Project: ${i} Detected output file: ${t}`), true;
        return false;
        function P(O) {
          return k ? !!k.getSourceFileByPath(O) : D ? D.state.fileInfos.has(O) : !!Nn(o, (F) => m(F) === O);
        }
        function A() {
          if (!h) return false;
          switch (h(t)) {
            case 3:
            case 4:
            case 7:
            case 5:
              return true;
            case 1:
            case 2:
              return Ly(s);
            case 6:
              return Lb(s);
            case 0:
              return false;
          }
        }
      }
      function bie(e, t) {
        return e ? e.isEmittedFile(t) : false;
      }
      var Sie = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.TriggerOnly = 1] = "TriggerOnly", e[e.Verbose = 2] = "Verbose", e))(Sie || {});
      function aU(e, t, n, i) {
        wY(t === 2 ? n : Ua);
        const s = {
          watchFile: (D, P, A, O) => e.watchFile(D, P, A, O),
          watchDirectory: (D, P, A, O) => e.watchDirectory(D, P, (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 : cw;
        return {
          watchFile: u("watchFile"),
          watchDirectory: u("watchDirectory")
        };
        function u(D) {
          return (P, A, O, F, R, B) => {
            var U;
            return iO(P, D === "watchFile" ? F?.excludeFiles : F?.excludeDirectories, g(), ((U = e.getCurrentDirectory) == null ? void 0 : U.call(e)) || "") ? _(P, O, F, R, B) : c[D].call(
              /*thisArgs*/
              void 0,
              P,
              A,
              O,
              F,
              R,
              B
            );
          };
        }
        function g() {
          return typeof e.useCaseSensitiveFileNames == "boolean" ? e.useCaseSensitiveFileNames : e.useCaseSensitiveFileNames();
        }
        function m(D, P, A, O, F) {
          return n(`ExcludeWatcher:: Added:: ${k(D, P, A, O, F, i)}`), {
            close: () => n(`ExcludeWatcher:: Close:: ${k(D, P, A, O, F, i)}`)
          };
        }
        function h(D, P, A, O, F, R) {
          n(`FileWatcher:: Added:: ${k(D, A, O, F, R, i)}`);
          const B = o.watchFile(D, P, A, O, F, R);
          return {
            close: () => {
              n(`FileWatcher:: Close:: ${k(D, A, O, F, R, i)}`), B.close();
            }
          };
        }
        function S(D, P, A, O, F, R) {
          const B = `DirectoryWatcher:: Added:: ${k(D, A, O, F, R, i)}`;
          n(B);
          const U = no(), $ = o.watchDirectory(D, P, A, O, F, R), W = no() - U;
          return n(`Elapsed:: ${W}ms ${B}`), {
            close: () => {
              const _e = `DirectoryWatcher:: Close:: ${k(D, A, O, F, R, i)}`;
              n(_e);
              const K = no();
              $.close();
              const V = no() - K;
              n(`Elapsed:: ${V}ms ${_e}`);
            }
          };
        }
        function T(D) {
          return (P, A, O, F, R, B) => s[D].call(
            /*thisArgs*/
            void 0,
            P,
            (...U) => {
              const $ = `${D === "watchFile" ? "FileWatcher" : "DirectoryWatcher"}:: Triggered with ${U[0]} ${U[1] !== void 0 ? U[1] : ""}:: ${k(P, O, F, R, B, i)}`;
              n($);
              const W = no();
              A.call(
                /*thisArg*/
                void 0,
                ...U
              );
              const _e = no() - W;
              n(`Elapsed:: ${_e}ms ${$}`);
            },
            O,
            F,
            R,
            B
          );
        }
        function k(D, P, A, O, F, R) {
          return `WatchInfo: ${D} ${P} ${JSON.stringify(A)} ${R ? R(O, F) : F === void 0 ? O : `${O} ${F}`}`;
        }
      }
      function T8(e) {
        const t = e?.fallbackPolling;
        return {
          watchFile: t !== void 0 ? t : 1
          /* PriorityPollingInterval */
        };
      }
      function fp(e) {
        e.watcher.close();
      }
      function oU(e, t, n = "tsconfig.json") {
        return u4(e, (i) => {
          const s = On(i, n);
          return t(s) ? s : void 0;
        });
      }
      function cU(e, t) {
        const n = Hn(t), i = $_(e) ? e : On(n, e);
        return qs(i);
      }
      function Tie(e, t, n) {
        let i;
        return lr(e, (o) => {
          const c = c7(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 true;
              i.length = u;
              break;
            }
          c.length < i.length && (i.length = c.length);
        }) ? "" : i ? O1(i) : t;
      }
      function xie(e, t) {
        return OO(e, t);
      }
      function lU(e, t) {
        return (n, i, s) => {
          let o;
          try {
            Qo("beforeIORead"), o = e(n), Qo("afterIORead"), Zf("I/O Read", "beforeIORead", "afterIORead");
          } catch (c) {
            s && s(c.message), o = "";
          }
          return o !== void 0 ? Gx(n, o, i, t) : void 0;
        };
      }
      function uU(e, t, n) {
        return (i, s, o, c) => {
          try {
            Qo("beforeIOWrite"), YB(
              i,
              s,
              o,
              e,
              t,
              n
            ), Qo("afterIOWrite"), Zf("I/O Write", "beforeIOWrite", "afterIOWrite");
          } catch (_) {
            c && c(_.message);
          }
        };
      }
      function OO(e, t, n = fl) {
        const i = /* @__PURE__ */ new Map(), s = $l(n.useCaseSensitiveFileNames);
        function o(m) {
          return i.has(m) ? true : (g.directoryExists || n.directoryExists)(m) ? (i.set(m, true), true) : false;
        }
        function c() {
          return Hn(qs(n.getExecutingFilePath()));
        }
        const _ = d0(e), u = n.realpath && ((m) => n.realpath(m)), g = {
          getSourceFile: lU((m) => g.readFile(m), t),
          getDefaultLibLocation: c,
          getDefaultLibFileName: (m) => On(c(), XP(m)),
          writeFile: uU(
            (m, h, S) => n.writeFile(m, h, S),
            (m) => (g.createDirectory || n.createDirectory)(m),
            (m) => o(m)
          ),
          getCurrentDirectory: Bu(() => 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: Fs(n, n.createHash)
        };
        return g;
      }
      function iw(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 P = t(D), A = u.get(P);
          return A !== void 0 ? A !== false ? A : void 0 : T(P, D);
        }, T = (D, P) => {
          const A = i.call(e, P);
          return u.set(D, A !== void 0 ? A : false), A;
        };
        e.readFile = (D) => {
          const P = t(D), A = u.get(P);
          return A !== void 0 ? A !== false ? A : void 0 : !Ho(
            D,
            ".json"
            /* Json */
          ) && !pie(D) ? i.call(e, D) : T(P, D);
        };
        const k = n ? (D, P, A, O) => {
          const F = t(D), R = typeof P == "object" ? P.impliedNodeFormat : void 0, B = h.get(R), U = B?.get(F);
          if (U) return U;
          const $ = n(D, P, A, O);
          return $ && (wl(D) || Ho(
            D,
            ".json"
            /* Json */
          )) && h.set(R, (B || /* @__PURE__ */ new Map()).set(F, $)), $;
        } : void 0;
        return e.fileExists = (D) => {
          const P = t(D), A = g.get(P);
          if (A !== void 0) return A;
          const O = s.call(e, D);
          return g.set(P, !!O), O;
        }, _ && (e.writeFile = (D, P, ...A) => {
          const O = t(D);
          g.delete(O);
          const F = u.get(O);
          F !== void 0 && F !== P ? (u.delete(O), h.forEach((R) => R.delete(O))) : k && h.forEach((R) => {
            const B = R.get(O);
            B && B.text !== P && R.delete(O);
          }), _.call(e, D, P, ...A);
        }), o && (e.directoryExists = (D) => {
          const P = t(D), A = m.get(P);
          if (A !== void 0) return A;
          const O = o.call(e, D);
          return m.set(P, !!O), O;
        }, c && (e.createDirectory = (D) => {
          const P = t(D);
          m.delete(P), c.call(e, D);
        })), {
          originalReadFile: i,
          originalFileExists: s,
          originalDirectoryExists: o,
          originalCreateDirectory: c,
          originalWriteFile: _,
          getSourceFileWithCache: k,
          readFileWithCache: S
        };
      }
      function dve(e, t, n) {
        let i;
        return i = In(i, e.getConfigFileParsingDiagnostics()), i = In(i, e.getOptionsDiagnostics(n)), i = In(i, e.getSyntacticDiagnostics(t, n)), i = In(i, e.getGlobalDiagnostics(n)), i = In(i, e.getSemanticDiagnostics(t, n)), M_(e.getCompilerOptions()) && (i = In(i, e.getDeclarationDiagnostics(t, n))), TC(i || Ge);
      }
      function mve(e, t) {
        let n = "";
        for (const i of e)
          n += _U(i, t);
        return n;
      }
      function _U(e, t) {
        const n = `${z2(e)} TS${e.code}: ${bm(e.messageText, t.getNewLine())}${t.getNewLine()}`;
        if (e.file) {
          const { line: i, character: s } = Rs(e.file, e.start), o = e.file.fileName;
          return `${l4(o, t.getCurrentDirectory(), (_) => t.getCanonicalFileName(_))}(${i + 1},${s + 1}): ` + n;
        }
        return n;
      }
      var kie = /* @__PURE__ */ ((e) => (e.Grey = "\x1B[90m", e.Red = "\x1B[91m", e.Yellow = "\x1B[93m", e.Blue = "\x1B[94m", e.Cyan = "\x1B[96m", e))(kie || {}), Cie = "\x1B[7m", Eie = " ", gve = "\x1B[0m", hve = "...", zje = "  ", yve = "    ";
      function vve(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 Kb(e, t) {
        return t + e + gve;
      }
      function bve(e, t, n, i, s, o) {
        const { line: c, character: _ } = Rs(e, t), { line: u, character: g } = Rs(e, t + n), m = Rs(e, e.text.length).line, h = u - c >= 4;
        let S = (u + 1 + "").length;
        h && (S = Math.max(hve.length, S));
        let T = "";
        for (let k = c; k <= u; k++) {
          T += o.getNewLine(), h && c + 1 < k && k < u - 1 && (T += i + Kb(hve.padStart(S), Cie) + Eie + o.getNewLine(), k = u - 1);
          const D = VP(e, k, 0), P = k < m ? VP(e, k + 1, 0) : e.text.length;
          let A = e.text.slice(D, P);
          if (A = A.trimEnd(), A = A.replace(/\t/g, " "), T += i + Kb((k + 1 + "").padStart(S), Cie) + Eie, T += A + o.getNewLine(), T += i + Kb("".padStart(S), Cie) + Eie, 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 += gve;
        }
        return T;
      }
      function fU(e, t, n, i = Kb) {
        const { line: s, character: o } = Rs(e, t), c = n ? l4(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 Die(e, t) {
        let n = "";
        for (const i of e) {
          if (i.file) {
            const { file: s, start: o } = i;
            n += fU(s, o, t), n += " - ";
          }
          if (n += Kb(z2(i), vve(i.category)), n += Kb(
            ` TS${i.code}: `,
            "\x1B[90m"
            /* Grey */
          ), n += bm(i.messageText, t.getNewLine()), i.file && i.code !== p.File_appears_to_be_binary.code && (n += t.getNewLine(), n += bve(i.file, i.start, i.length, "", vve(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 += zje + fU(s, o, t), n += bve(s, o, c, yve, "\x1B[96m", t)), n += t.getNewLine(), n += yve + bm(_, t.getNewLine());
          }
          n += t.getNewLine();
        }
        return n;
      }
      function bm(e, t, n = 0) {
        if (ms(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 += bm(s, t, n);
        return i;
      }
      function wie(e, t) {
        return (ms(e) ? t : e.resolutionMode) || t;
      }
      function Sve(e, t, n) {
        return LO(e, E8(e, t), n);
      }
      function pU(e) {
        var t;
        return Mc(e) ? e.isTypeOnly : !!((t = e.importClause) != null && t.isTypeOnly);
      }
      function dU(e, t, n) {
        return LO(e, t, n);
      }
      function LO(e, t, n) {
        if ((Wo(t.parent) || Mc(t.parent) || vm(t.parent)) && pU(t.parent)) {
          const s = I6(t.parent.attributes);
          if (s)
            return s;
        }
        if (t.parent.parent && dm(t.parent.parent)) {
          const i = I6(t.parent.parent.attributes);
          if (i)
            return i;
        }
        if (n && SJ(n))
          return Tve(e, t, n);
      }
      function Tve(e, t, n) {
        var i;
        if (!n)
          return;
        const s = (i = rd(t.parent)) == null ? void 0 : i.parent;
        if (s && cl(s) || v_(
          t.parent,
          /*requireStringLiteralLikeArgument*/
          false
        ))
          return 1;
        if (y_(rd(t.parent)))
          return Eve(e, n) ? 1 : 99;
        const o = ow(e, n);
        return o === 1 ? 1 : dN(o) || o === 200 ? 99 : void 0;
      }
      function I6(e, t) {
        if (!e) return;
        if (wr(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 (Ma(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 (Ma(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 xve = {
        resolvedModule: void 0,
        resolvedTypeReferenceDirective: void 0
      };
      function Pie(e) {
        return e.text;
      }
      var MO = {
        getName: Pie,
        getMode: (e, t, n) => dU(t, e, n)
      };
      function mU(e, t, n, i, s) {
        return {
          nameAndMode: MO,
          resolve: (o, c) => PS(
            o,
            e,
            n,
            i,
            s,
            t,
            c
          )
        };
      }
      function Nie(e) {
        return ms(e) ? e : e.fileName;
      }
      var kve = {
        getName: Nie,
        getMode: (e, t, n) => wie(e, t && JO(t, n))
      };
      function RO(e, t, n, i, s) {
        return {
          nameAndMode: kve,
          resolve: (o, c) => Yre(
            o,
            e,
            n,
            i,
            t,
            s,
            c
          )
        };
      }
      function x8(e, t, n, i, s, o, c, _) {
        if (e.length === 0) return Ge;
        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 = UD(S, T);
          let D = g.get(k);
          D || g.set(k, D = m.resolve(S, T)), u.push(D);
        }
        return u;
      }
      var sw = "__inferred type names__.ts";
      function jO(e, t, n) {
        const i = e.configFilePath ? Hn(e.configFilePath) : t;
        return On(i, `__lib_node_modules_lookup_${n}__.ts`);
      }
      function gU(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 pv(e) {
        switch (e?.kind) {
          case 3:
          case 4:
          case 5:
          case 7:
            return true;
          default:
            return false;
        }
      }
      function F6(e) {
        return e.pos !== void 0;
      }
      function aw(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 = E8(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 = aa(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 hU(e, t, n, i, s, o, c, _, u, g) {
        if (!e || _?.() || !yf(e.getRootFileNames(), t)) return false;
        let m;
        if (!yf(e.getProjectReferences(), g, D) || e.getSourceFiles().some(T)) return false;
        const h = e.getMissingFilePaths();
        if (h && dl(h, s)) return false;
        const S = e.getCompilerOptions();
        if (!dJ(S, n) || e.resolvedLibReferences && dl(e.resolvedLibReferences, (A, O) => c(O))) return false;
        if (S.configFile && n.configFile) return S.configFile.text === n.configFile.text;
        return true;
        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 Kj(A, O) && P(e.getResolvedProjectReferences()[F], A);
        }
        function P(A, O) {
          if (A) {
            if (ds(m, A)) return true;
            const R = tk(O), B = u(R);
            return !B || A.commandLine.options.configFile !== B.options.configFile || !yf(A.commandLine.fileNames, B.fileNames) ? false : ((m || (m = [])).push(A), !lr(
              A.references,
              (U, $) => !P(
                U,
                A.commandLine.projectReferences[$]
              )
            ));
          }
          const F = tk(O);
          return !u(F);
        }
      }
      function e2(e) {
        return e.options.configFile ? [...e.options.configFile.parseDiagnostics, ...e.errors] : e.errors;
      }
      function k8(e, t, n, i) {
        const s = BO(e, t, n, i);
        return typeof s == "object" ? s.impliedNodeFormat : s;
      }
      function BO(e, t, n, i) {
        const s = Cu(i), o = 3 <= s && s <= 99 || Hy(e);
        return bc(e, [
          ".d.mts",
          ".mts",
          ".mjs"
          /* Mjs */
        ]) ? 99 : bc(e, [
          ".d.cts",
          ".cts",
          ".cjs"
          /* Cjs */
        ]) ? 1 : o && bc(e, [
          ".d.ts",
          ".ts",
          ".tsx",
          ".js",
          ".jsx"
          /* Jsx */
        ]) ? c() : void 0;
        function c() {
          const _ = VD(t, n, i), u = [];
          _.failedLookupLocations = u, _.affectingLocations = u;
          const g = qD(Hn(e), _);
          return { impliedNodeFormat: g?.contents.packageJsonContent.type === "module" ? 99 : 1, packageJsonLocations: u, packageJsonScope: g };
        }
      }
      var Cve = /* @__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 Wje(e, t) {
        return e ? nx(e.getCompilerOptions(), t, $z) : false;
      }
      function Uje(e, t, n, i, s, o) {
        return {
          rootNames: e,
          options: t,
          host: n,
          oldProgram: i,
          configFileParsingDiagnostics: s,
          typeScriptVersion: o
        };
      }
      function C8(e, t, n, i, s) {
        var o, c, _, u, g, m, h, S, T, k, D, P, A, O, F, R;
        let B = ss(e) ? Uje(e, t, n, i, s) : e;
        const { rootNames: U, options: $, configFileParsingDiagnostics: W, projectReferences: _e, typeScriptVersion: K, host: V } = B;
        let { oldProgram: ae } = B;
        B = void 0, e = void 0;
        for (const Be of Nre)
          if (Ya($, Be.name) && typeof $[Be.name] == "string")
            throw new Error(`${Be.name} is a string value; tsconfig JSON must be parsed with parseJsonSourceFileConfigFileContent or getParsedCommandLineOfConfigFile before passing to createProgram`);
        const se = Bu(() => xt("ignoreDeprecations", p.Invalid_value_for_ignoreDeprecations));
        let ce, fe, he, q, be, je, me, Z, pe;
        const Te = Aie(Zi);
        let Fe, Ye, ne, Se, ie, Ne, Ee, Ce, Ve;
        const St = typeof $.maxNodeModuleJsDepth == "number" ? $.maxNodeModuleJsDepth : 0;
        let Bt = 0;
        const tr = /* @__PURE__ */ new Map(), Nr = /* @__PURE__ */ new Map();
        (o = on) == null || o.push(
          on.Phase.Program,
          "createProgram",
          { configFilePath: $.configFilePath, rootDir: $.rootDir },
          /*separateBeginAndEnd*/
          true
        ), Qo("beforeProgram");
        const st = V || xie($), Wt = WO(st);
        let Jr = $.noLib;
        const ui = Bu(() => st.getDefaultLibFileName($)), Ji = st.getDefaultLibLocation ? st.getDefaultLibLocation() : Hn(ui());
        let Dt = false;
        const Mn = st.getCurrentDirectory(), ai = cD($), fi = hN($, ai), pn = /* @__PURE__ */ new Map();
        let _i, Je, ft, er;
        const qr = st.hasInvalidatedResolutions || uh;
        st.resolveModuleNameLiterals ? (er = st.resolveModuleNameLiterals.bind(st), ft = (c = st.getModuleResolutionCache) == null ? void 0 : c.call(st)) : st.resolveModuleNames ? (er = (Be, nt, Rt, pr, Or, dn) => st.resolveModuleNames(
          Be.map(Pie),
          nt,
          dn?.map(Pie),
          Rt,
          pr,
          Or
        ).map(
          (Ir) => Ir ? Ir.extension !== void 0 ? { resolvedModule: Ir } : (
            // An older host may have omitted extension, in which case we should infer it from the file extension of resolvedFileName.
            { resolvedModule: { ...Ir, extension: uD(Ir.resolvedFileName) } }
          ) : xve
        ), ft = (_ = st.getModuleResolutionCache) == null ? void 0 : _.call(st)) : (ft = E6(Mn, yl, $), er = (Be, nt, Rt, pr, Or) => x8(
          Be,
          nt,
          Rt,
          pr,
          Or,
          st,
          ft,
          mU
        ));
        let Jn;
        if (st.resolveTypeReferenceDirectiveReferences)
          Jn = st.resolveTypeReferenceDirectiveReferences.bind(st);
        else if (st.resolveTypeReferenceDirectives)
          Jn = (Be, nt, Rt, pr, Or) => st.resolveTypeReferenceDirectives(
            Be.map(Nie),
            nt,
            Rt,
            pr,
            Or?.impliedNodeFormat
          ).map((dn) => ({ resolvedTypeReferenceDirective: dn }));
        else {
          const Be = uO(
            Mn,
            yl,
            /*options*/
            void 0,
            ft?.getPackageJsonInfoCache(),
            ft?.optionsToRedirectsKey
          );
          Jn = (nt, Rt, pr, Or, dn) => x8(
            nt,
            Rt,
            pr,
            Or,
            dn,
            st,
            Be,
            RO
          );
        }
        const Un = st.hasInvalidatedLibResolutions || uh;
        let ki;
        if (st.resolveLibrary)
          ki = st.resolveLibrary.bind(st);
        else {
          const Be = E6(Mn, yl, $, ft?.getPackageJsonInfoCache());
          ki = (nt, Rt, pr) => _O(nt, Rt, pr, st, Be);
        }
        const Es = /* @__PURE__ */ new Map();
        let Zs = /* @__PURE__ */ new Map(), yr = Pp(), vs;
        const Xe = /* @__PURE__ */ new Map();
        let Et = /* @__PURE__ */ new Map();
        const re = st.useCaseSensitiveFileNames() ? /* @__PURE__ */ new Map() : void 0;
        let it, Y, Ae, $e;
        const Ke = !!((u = st.useSourceOfProjectReferenceRedirect) != null && u.call(st)) && !$.disableSourceOfProjectReferenceRedirect, { onProgramCreateComplete: Tt, fileExists: Le, directoryExists: mt } = Vje({
          compilerHost: st,
          getSymlinkCache: Bf,
          useSourceOfProjectReferenceRedirect: Ke,
          toPath: Nt,
          getResolvedProjectReferences: Ms,
          getRedirectFromOutput: gc,
          forEachResolvedProjectReference: rc
        }), pt = st.readFile.bind(st);
        (g = on) == null || g.push(on.Phase.Program, "shouldProgramCreateNewSourceFiles", { hasOldProgram: !!ae });
        const Ct = Wje(ae, $);
        (m = on) == null || m.pop();
        let qe;
        if ((h = on) == null || h.push(on.Phase.Program, "tryReuseStructureFromOldProgram", {}), qe = vr(), (S = on) == null || S.pop(), qe !== 2) {
          if (ce = [], fe = [], _e && (it || (it = _e.map(Em)), U.length && it?.forEach((Be, nt) => {
            if (!Be) return;
            const Rt = Be.commandLine.options.outFile;
            if (Ke) {
              if (Rt || Wu(Be.commandLine.options) === 0)
                for (const pr of Be.commandLine.fileNames)
                  C_(pr, { kind: 1, index: nt });
            } else if (Rt)
              C_(g0(Rt, ".d.ts"), { kind: 2, index: nt });
            else if (Wu(Be.commandLine.options) === 0) {
              const pr = Bu(() => FS(Be.commandLine, !st.useCaseSensitiveFileNames()));
              for (const Or of Be.commandLine.fileNames)
                !wl(Or) && !Ho(
                  Or,
                  ".json"
                  /* Json */
                ) && C_(rw(Or, Be.commandLine, !st.useCaseSensitiveFileNames(), pr), { kind: 2, index: nt });
            }
          })), (T = on) == null || T.push(on.Phase.Program, "processRootFiles", { count: U.length }), lr(U, (Be, nt) => ta(
            Be,
            /*isDefaultLib*/
            false,
            /*ignoreNoDefaultLib*/
            false,
            { kind: 0, index: nt }
          )), (k = on) == null || k.pop(), Fe ?? (Fe = U.length ? cO($, st) : Ge), Ye = C6(), Fe.length) {
            (D = on) == null || D.push(on.Phase.Program, "processTypeReferences", { count: Fe.length });
            const Be = $.configFilePath ? Hn($.configFilePath) : Mn, nt = On(Be, sw), Rt = kt(Fe, nt);
            for (let pr = 0; pr < Fe.length; pr++)
              Ye.set(
                Fe[pr],
                /*mode*/
                void 0,
                Rt[pr]
              ), pp(
                Fe[pr],
                /*mode*/
                void 0,
                Rt[pr],
                {
                  kind: 8,
                  typeReference: Fe[pr],
                  packageId: (A = (P = Rt[pr]) == null ? void 0 : P.resolvedTypeReferenceDirective) == null ? void 0 : A.packageId
                }
              );
            (O = on) == null || O.pop();
          }
          if (U.length && !Jr) {
            const Be = ui();
            !$.lib && Be ? ta(
              Be,
              /*isDefaultLib*/
              true,
              /*ignoreNoDefaultLib*/
              false,
              {
                kind: 6
                /* LibFile */
              }
            ) : lr($.lib, (nt, Rt) => {
              ta(
                Wg(nt),
                /*isDefaultLib*/
                true,
                /*ignoreNoDefaultLib*/
                false,
                { kind: 6, index: Rt }
              );
            });
          }
          he = q_(ce, rt).concat(fe), ce = void 0, fe = void 0, me = void 0;
        }
        if (ae && st.onReleaseOldSourceFile) {
          const Be = ae.getSourceFiles();
          for (const nt of Be) {
            const Rt = ea(nt.resolvedPath);
            (Ct || !Rt || Rt.impliedNodeFormat !== nt.impliedNodeFormat || // old file wasn't redirect but new file is
            nt.resolvedPath === nt.path && Rt.resolvedPath !== nt.path) && st.onReleaseOldSourceFile(nt, ae.getCompilerOptions(), !!ea(nt.path), Rt);
          }
          st.getParsedCommandLine || ae.forEachResolvedProjectReference((nt) => {
            Ul(nt.sourceFile.path) || st.onReleaseOldSourceFile(
              nt.sourceFile,
              ae.getCompilerOptions(),
              /*hasSourceFileByPath*/
              false,
              /*newSourceFileByResolvedPath*/
              void 0
            );
          });
        }
        ae && st.onReleaseParsedCommandLine && bD(
          ae.getProjectReferences(),
          ae.getResolvedProjectReferences(),
          (Be, nt, Rt) => {
            const pr = nt?.commandLine.projectReferences[Rt] || ae.getProjectReferences()[Rt], Or = tk(pr);
            Y?.has(Nt(Or)) || st.onReleaseParsedCommandLine(Or, Be, ae.getCompilerOptions());
          }
        ), ae = void 0, Se = void 0, Ne = void 0, Ce = void 0;
        const Lt = {
          getRootFileNames: () => U,
          getSourceFile: To,
          getSourceFileByPath: ea,
          getSourceFiles: () => he,
          getMissingFilePaths: () => Et,
          getModuleResolutionCache: () => ft,
          getFilesByNameMap: () => Xe,
          getCompilerOptions: () => $,
          getSyntacticDiagnostics: Rf,
          getOptionsDiagnostics: kr,
          getGlobalDiagnostics: Yi,
          getSemanticDiagnostics: os,
          getCachedSemanticDiagnostics: zs,
          getSuggestionDiagnostics: tt,
          getDeclarationDiagnostics: zt,
          getBindAndCheckDiagnostics: Aa,
          getProgramDiagnostics: ya,
          getTypeChecker: ro,
          getClassifiableNames: _r,
          getCommonSourceDirectory: Jt,
          emit: zi,
          getCurrentDirectory: () => Mn,
          getNodeCount: () => ro().getNodeCount(),
          getIdentifierCount: () => ro().getIdentifierCount(),
          getSymbolCount: () => ro().getSymbolCount(),
          getTypeCount: () => ro().getTypeCount(),
          getInstantiationCount: () => ro().getInstantiationCount(),
          getRelationCacheSizes: () => ro().getRelationCacheSizes(),
          getFileProcessingDiagnostics: () => Te.getFileProcessingDiagnostics(),
          getAutomaticTypeDirectiveNames: () => Fe,
          getAutomaticTypeDirectiveResolutions: () => Ye,
          isSourceFileFromExternalLibrary: uc,
          isSourceFileDefaultLibrary: Xo,
          getModeForUsageLocation: dp,
          getEmitSyntaxForUsageLocation: Fh,
          getModeForResolutionAtIndex: A0,
          getSourceFileFromReference: Ld,
          getLibFileFromReference: tc,
          sourceFileToPackageName: Zs,
          redirectTargetsMap: yr,
          usesUriStyleNodeCoreModules: vs,
          resolvedModules: ie,
          resolvedTypeReferenceDirectiveNames: Ee,
          resolvedLibReferences: ne,
          getProgramDiagnosticsContainer: () => Te,
          getResolvedModule: rn,
          getResolvedModuleFromModuleSpecifier: Pe,
          getResolvedTypeReferenceDirective: yt,
          getResolvedTypeReferenceDirectiveFromTypeReferenceDirective: ue,
          forEachResolvedModule: M,
          forEachResolvedTypeReferenceDirective: ye,
          getCurrentPackagesMap: () => Ve,
          typesPackageExists: Mt,
          packageBundlesTypes: ke,
          isEmittedFile: Al,
          getConfigFileParsingDiagnostics: eo,
          getProjectReferences: ps,
          getResolvedProjectReferences: Ms,
          getRedirectFromSourceFile: Eo,
          getResolvedProjectReferenceByPath: Ul,
          forEachResolvedProjectReference: rc,
          isSourceOfProjectReferenceRedirect: xf,
          getRedirectFromOutput: gc,
          getCompilerOptionsForFile: Hu,
          getDefaultResolutionModeForFile: o_,
          getEmitModuleFormatOfFile: Rd,
          getImpliedNodeFormatForEmit: tg,
          shouldTransformImportCall: Vp,
          emitBuildInfo: Is,
          fileExists: Le,
          readFile: pt,
          directoryExists: mt,
          getSymlinkCache: Bf,
          realpath: (F = st.realpath) == null ? void 0 : F.bind(st),
          useCaseSensitiveFileNames: () => st.useCaseSensitiveFileNames(),
          getCanonicalFileName: yl,
          getFileIncludeReasons: () => Te.getFileReasons(),
          structureIsReused: qe,
          writeFile: oi,
          getGlobalTypingsCacheLocation: Fs(st, st.getGlobalTypingsCacheLocation)
        };
        return Tt(), Dt || ee(), Qo("afterProgram"), Zf("Program", "beforeProgram", "afterProgram"), (R = on) == null || R.pop(), Lt;
        function rn(Be, nt, Rt) {
          var pr;
          return (pr = ie?.get(Be.path)) == null ? void 0 : pr.get(nt, Rt);
        }
        function Pe(Be, nt) {
          return nt ?? (nt = xr(Be)), E.assertIsDefined(nt, "`moduleSpecifier` must have a `SourceFile` ancestor. Use `program.getResolvedModule` instead to provide the containing file and resolution mode."), rn(nt, Be.text, dp(nt, Be));
        }
        function yt(Be, nt, Rt) {
          var pr;
          return (pr = Ee?.get(Be.path)) == null ? void 0 : pr.get(nt, Rt);
        }
        function ue(Be, nt) {
          return yt(
            nt,
            Be.fileName,
            e1(Be, nt)
          );
        }
        function M(Be, nt) {
          Q(ie, Be, nt);
        }
        function ye(Be, nt) {
          Q(Ee, Be, nt);
        }
        function Q(Be, nt, Rt) {
          var pr;
          Rt ? (pr = Be?.get(Rt.path)) == null || pr.forEach((Or, dn, Ir) => nt(Or, dn, Ir, Rt.path)) : Be?.forEach((Or, dn) => Or.forEach((Ir, Vr, hi) => nt(Ir, Vr, hi, dn)));
        }
        function dt() {
          return Ve || (Ve = /* @__PURE__ */ new Map(), M(({ resolvedModule: Be }) => {
            Be?.packageId && Ve.set(Be.packageId.name, Be.extension === ".d.ts" || !!Ve.get(Be.packageId.name));
          }), Ve);
        }
        function Mt(Be) {
          return dt().has(dO(Be));
        }
        function ke(Be) {
          return !!dt().get(Be);
        }
        function at(Be) {
          var nt;
          (nt = Be.resolutionDiagnostics) != null && nt.length && Te.addFileProcessingDiagnostic({
            kind: 2,
            diagnostics: Be.resolutionDiagnostics
          });
        }
        function wt(Be, nt, Rt, pr) {
          if (st.resolveModuleNameLiterals || !st.resolveModuleNames) return at(Rt);
          if (!ft || xl(nt)) return;
          const Or = Qi(Be.originalFileName, Mn), dn = Hn(Or), Ir = Pr(Be), Vr = ft.getFromNonRelativeNameCache(nt, pr, dn, Ir);
          Vr && at(Vr);
        }
        function Zr(Be, nt, Rt) {
          var pr, Or;
          const dn = Qi(nt.originalFileName, Mn), Ir = Pr(nt);
          (pr = on) == null || pr.push(on.Phase.Program, "resolveModuleNamesWorker", { containingFileName: dn }), Qo("beforeResolveModule");
          const Vr = er(
            Be,
            dn,
            Ir,
            $,
            nt,
            Rt
          );
          return Qo("afterResolveModule"), Zf("ResolveModule", "beforeResolveModule", "afterResolveModule"), (Or = on) == null || Or.pop(), Vr;
        }
        function Rr(Be, nt, Rt) {
          var pr, Or;
          const dn = ms(nt) ? void 0 : nt, Ir = ms(nt) ? nt : Qi(nt.originalFileName, Mn), Vr = dn && Pr(dn);
          (pr = on) == null || pr.push(on.Phase.Program, "resolveTypeReferenceDirectiveNamesWorker", { containingFileName: Ir }), Qo("beforeResolveTypeReference");
          const hi = Jn(
            Be,
            Ir,
            Vr,
            $,
            dn,
            Rt
          );
          return Qo("afterResolveTypeReference"), Zf("ResolveTypeReference", "beforeResolveTypeReference", "afterResolveTypeReference"), (Or = on) == null || Or.pop(), hi;
        }
        function Pr(Be) {
          var nt, Rt;
          const pr = Eo(Be.originalFileName);
          if (pr || !wl(Be.originalFileName)) return pr?.resolvedRef;
          const Or = (nt = gc(Be.path)) == null ? void 0 : nt.resolvedRef;
          if (Or) return Or;
          if (!st.realpath || !$.preserveSymlinks || !Be.originalFileName.includes(Jg)) return;
          const dn = Nt(st.realpath(Be.originalFileName));
          return dn === Be.path || (Rt = gc(dn)) == null ? void 0 : Rt.resolvedRef;
        }
        function rt(Be, nt) {
          return po(vt(Be), vt(nt));
        }
        function vt(Be) {
          if (Kf(
            Ji,
            Be.fileName,
            /*ignoreCase*/
            false
          )) {
            const nt = Xc(Be.fileName);
            if (nt === "lib.d.ts" || nt === "lib.es6.d.ts") return 0;
            const Rt = mC(e4(nt, "lib."), ".d.ts"), pr = qF.indexOf(Rt);
            if (pr !== -1) return pr + 1;
          }
          return qF.length + 2;
        }
        function Nt(Be) {
          return io(Be, Mn, yl);
        }
        function Jt() {
          let Be = Te.getCommonSourceDirectory();
          if (Be !== void 0)
            return Be;
          const nt = kn(he, (Rt) => Nb(Rt, Lt));
          return Be = nw(
            $,
            () => Fi(nt, (Rt) => Rt.isDeclarationFile ? void 0 : Rt.fileName),
            Mn,
            yl,
            (Rt) => jf(nt, Rt)
          ), Te.setCommonSourceDirectory(Be), Be;
        }
        function _r() {
          var Be;
          if (!je) {
            ro(), je = /* @__PURE__ */ new Set();
            for (const nt of he)
              (Be = nt.classifiableNames) == null || Be.forEach((Rt) => je.add(Rt));
          }
          return je;
        }
        function nr(Be, nt) {
          return cr({
            entries: Be,
            containingFile: nt,
            containingSourceFile: nt,
            redirectedReference: Pr(nt),
            nameAndModeGetter: MO,
            resolutionWorker: Zr,
            getResolutionFromOldProgram: (Rt, pr) => ae?.getResolvedModule(nt, Rt, pr),
            getResolved: ix,
            canReuseResolutionsInFile: () => nt === ae?.getSourceFile(nt.fileName) && !qr(nt.path),
            resolveToOwnAmbientModule: true
          });
        }
        function kt(Be, nt) {
          const Rt = ms(nt) ? void 0 : nt;
          return cr({
            entries: Be,
            containingFile: nt,
            containingSourceFile: Rt,
            redirectedReference: Rt && Pr(Rt),
            nameAndModeGetter: kve,
            resolutionWorker: Rr,
            getResolutionFromOldProgram: (pr, Or) => {
              var dn;
              return Rt ? ae?.getResolvedTypeReferenceDirective(Rt, pr, Or) : (dn = ae?.getAutomaticTypeDirectiveResolutions()) == null ? void 0 : dn.get(pr, Or);
            },
            getResolved: j7,
            canReuseResolutionsInFile: () => Rt ? Rt === ae?.getSourceFile(Rt.fileName) && !qr(Rt.path) : !qr(Nt(nt))
          });
        }
        function cr({
          entries: Be,
          containingFile: nt,
          containingSourceFile: Rt,
          redirectedReference: pr,
          nameAndModeGetter: Or,
          resolutionWorker: dn,
          getResolutionFromOldProgram: Ir,
          getResolved: Vr,
          canReuseResolutionsInFile: hi,
          resolveToOwnAmbientModule: ts
        }) {
          if (!Be.length) return Ge;
          if (qe === 0 && (!ts || !Rt.ambientModuleNames.length))
            return dn(
              Be,
              nt,
              /*reusedNames*/
              void 0
            );
          let Zn, rs, Pi, Bo;
          const D_ = hi();
          for (let Vl = 0; Vl < Be.length; Vl++) {
            const Hp = Be[Vl];
            if (D_) {
              const _f = Or.getName(Hp), xv = Or.getMode(Hp, Rt, pr?.commandLine.options ?? $), Dm = Ir(_f, xv), rg = Dm && Vr(Dm);
              if (rg) {
                Vy($, st) && es(
                  st,
                  dn === Zr ? rg.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 : rg.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,
                  _f,
                  Rt ? Qi(Rt.originalFileName, Mn) : nt,
                  rg.resolvedFileName,
                  rg.packageId && j1(rg.packageId)
                ), (Pi ?? (Pi = new Array(Be.length)))[Vl] = Dm, (Bo ?? (Bo = [])).push(Hp);
                continue;
              }
            }
            if (ts) {
              const _f = Or.getName(Hp);
              if (ds(Rt.ambientModuleNames, _f)) {
                Vy($, st) && es(
                  st,
                  p.Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1,
                  _f,
                  Qi(Rt.originalFileName, Mn)
                ), (Pi ?? (Pi = new Array(Be.length)))[Vl] = xve;
                continue;
              }
            }
            (Zn ?? (Zn = [])).push(Hp), (rs ?? (rs = [])).push(Vl);
          }
          if (!Zn) return Pi;
          const qp = dn(Zn, nt, Bo);
          return Pi ? (qp.forEach((Vl, Hp) => Pi[rs[Hp]] = Vl), Pi) : qp;
        }
        function fr() {
          return !bD(
            ae.getProjectReferences(),
            ae.getResolvedProjectReferences(),
            (Be, nt, Rt) => {
              const pr = (nt ? nt.commandLine.projectReferences : _e)[Rt], Or = Em(pr);
              return Be ? !Or || Or.sourceFile !== Be.sourceFile || !yf(Be.commandLine.fileNames, Or.commandLine.fileNames) : Or !== void 0;
            },
            (Be, nt) => {
              const Rt = nt ? Ul(nt.sourceFile.path).commandLine.projectReferences : _e;
              return !yf(Be, Rt, Kj);
            }
          );
        }
        function vr() {
          var Be;
          if (!ae)
            return 0;
          const nt = ae.getCompilerOptions();
          if (M7(nt, $))
            return 0;
          const Rt = ae.getRootFileNames();
          if (!yf(Rt, U) || !fr())
            return 0;
          _e && (it = _e.map(Em));
          const pr = [], Or = [];
          if (qe = 2, dl(ae.getMissingFilePaths(), (Zn) => st.fileExists(Zn)))
            return 0;
          const dn = ae.getSourceFiles();
          let Ir;
          ((Zn) => {
            Zn[Zn.Exists = 0] = "Exists", Zn[Zn.Modified = 1] = "Modified";
          })(Ir || (Ir = {}));
          const Vr = /* @__PURE__ */ new Map();
          for (const Zn of dn) {
            const rs = Gi(Zn.fileName, ft, st, $);
            let Pi = st.getSourceFileByPath ? st.getSourceFileByPath(
              Zn.fileName,
              Zn.resolvedPath,
              rs,
              /*onError*/
              void 0,
              Ct
            ) : st.getSourceFile(
              Zn.fileName,
              rs,
              /*onError*/
              void 0,
              Ct
            );
            if (!Pi)
              return 0;
            Pi.packageJsonLocations = (Be = rs.packageJsonLocations) != null && Be.length ? rs.packageJsonLocations : void 0, Pi.packageJsonScope = rs.packageJsonScope, E.assert(!Pi.redirectInfo, "Host should not return a redirect source file from `getSourceFile`");
            let Bo;
            if (Zn.redirectInfo) {
              if (Pi !== Zn.redirectInfo.unredirected)
                return 0;
              Bo = false, Pi = Zn;
            } else if (ae.redirectTargetsMap.has(Zn.path)) {
              if (Pi !== Zn)
                return 0;
              Bo = false;
            } else
              Bo = Pi !== Zn;
            Pi.path = Zn.path, Pi.originalFileName = Zn.originalFileName, Pi.resolvedPath = Zn.resolvedPath, Pi.fileName = Zn.fileName;
            const D_ = ae.sourceFileToPackageName.get(Zn.path);
            if (D_ !== void 0) {
              const qp = Vr.get(D_), Vl = Bo ? 1 : 0;
              if (qp !== void 0 && Vl === 1 || qp === 1)
                return 0;
              Vr.set(D_, Vl);
            }
            Bo ? (Zn.impliedNodeFormat !== Pi.impliedNodeFormat ? qe = 1 : yf(Zn.libReferenceDirectives, Pi.libReferenceDirectives, xo) ? Zn.hasNoDefaultLib !== Pi.hasNoDefaultLib ? qe = 1 : yf(Zn.referencedFiles, Pi.referencedFiles, xo) ? (go(Pi), yf(Zn.imports, Pi.imports, qc) && yf(Zn.moduleAugmentations, Pi.moduleAugmentations, qc) ? (Zn.flags & 12582912) !== (Pi.flags & 12582912) ? qe = 1 : yf(Zn.typeReferenceDirectives, Pi.typeReferenceDirectives, xo) || (qe = 1) : qe = 1) : qe = 1 : qe = 1, Or.push(Pi)) : qr(Zn.path) && (qe = 1, Or.push(Pi)), pr.push(Pi);
          }
          if (qe !== 2)
            return qe;
          for (const Zn of Or) {
            const rs = Dve(Zn), Pi = nr(rs, Zn);
            (Ne ?? (Ne = /* @__PURE__ */ new Map())).set(Zn.path, Pi);
            const Bo = Hu(Zn);
            tB(
              rs,
              Pi,
              (_f) => ae.getResolvedModule(Zn, _f.text, LO(Zn, _f, Bo)),
              WZ
            ) && (qe = 1);
            const qp = Zn.typeReferenceDirectives, Vl = kt(qp, Zn);
            (Ce ?? (Ce = /* @__PURE__ */ new Map())).set(Zn.path, Vl), tB(
              qp,
              Vl,
              (_f) => ae.getResolvedTypeReferenceDirective(
                Zn,
                Nie(_f),
                e1(_f, Zn)
              ),
              UZ
            ) && (qe = 1);
          }
          if (qe !== 2)
            return qe;
          if (JZ(nt, $) || ae.resolvedLibReferences && dl(ae.resolvedLibReferences, (Zn, rs) => Ug(rs).actual !== Zn.actual))
            return 1;
          if (st.hasChangedAutomaticTypeDirectiveNames) {
            if (st.hasChangedAutomaticTypeDirectiveNames()) return 1;
          } else if (Fe = cO($, st), !yf(ae.getAutomaticTypeDirectiveNames(), Fe)) return 1;
          Et = ae.getMissingFilePaths(), E.assert(pr.length === ae.getSourceFiles().length);
          for (const Zn of pr)
            Xe.set(Zn.path, Zn);
          ae.getFilesByNameMap().forEach((Zn, rs) => {
            if (!Zn) {
              Xe.set(rs, Zn);
              return;
            }
            if (Zn.path === rs) {
              ae.isSourceFileFromExternalLibrary(Zn) && Nr.set(Zn.path, true);
              return;
            }
            Xe.set(rs, Xe.get(Zn.path));
          });
          const ts = nt.configFile && nt.configFile === $.configFile || !nt.configFile && !$.configFile && !nx(nt, $, od);
          return Te.reuseStateFromOldProgram(ae.getProgramDiagnosticsContainer(), ts), Dt = ts, he = pr, Fe = ae.getAutomaticTypeDirectiveNames(), Ye = ae.getAutomaticTypeDirectiveResolutions(), Zs = ae.sourceFileToPackageName, yr = ae.redirectTargetsMap, vs = ae.usesUriStyleNodeCoreModules, ie = ae.resolvedModules, Ee = ae.resolvedTypeReferenceDirectiveNames, ne = ae.resolvedLibReferences, Ve = ae.getCurrentPackagesMap(), 2;
        }
        function Xt(Be) {
          return {
            getCanonicalFileName: yl,
            getCommonSourceDirectory: Lt.getCommonSourceDirectory,
            getCompilerOptions: Lt.getCompilerOptions,
            getCurrentDirectory: () => Mn,
            getSourceFile: Lt.getSourceFile,
            getSourceFileByPath: Lt.getSourceFileByPath,
            getSourceFiles: Lt.getSourceFiles,
            isSourceFileFromExternalLibrary: uc,
            getRedirectFromSourceFile: Eo,
            isSourceOfProjectReferenceRedirect: xf,
            getSymlinkCache: Bf,
            writeFile: Be || oi,
            isEmitBlocked: gs,
            shouldTransformImportCall: Vp,
            getEmitModuleFormatOfFile: Rd,
            getDefaultResolutionModeForFile: o_,
            getModeForResolutionAtIndex: A0,
            readFile: (nt) => st.readFile(nt),
            fileExists: (nt) => {
              const Rt = Nt(nt);
              return ea(Rt) ? true : Et.has(Rt) ? false : st.fileExists(nt);
            },
            realpath: Fs(st, st.realpath),
            useCaseSensitiveFileNames: () => st.useCaseSensitiveFileNames(),
            getBuildInfo: () => {
              var nt;
              return (nt = Lt.getBuildInfo) == null ? void 0 : nt.call(Lt);
            },
            getSourceFileFromReference: (nt, Rt) => Lt.getSourceFileFromReference(nt, Rt),
            redirectTargetsMap: yr,
            getFileIncludeReasons: Lt.getFileIncludeReasons,
            createHash: Fs(st, st.createHash),
            getModuleResolutionCache: () => Lt.getModuleResolutionCache(),
            trace: Fs(st, st.trace),
            getGlobalTypingsCacheLocation: Lt.getGlobalTypingsCacheLocation
          };
        }
        function oi(Be, nt, Rt, pr, Or, dn) {
          st.writeFile(Be, nt, Rt, pr, Or, dn);
        }
        function Is(Be) {
          var nt, Rt;
          (nt = on) == null || nt.push(
            on.Phase.Emit,
            "emitBuildInfo",
            {},
            /*separateBeginAndEnd*/
            true
          ), Qo("beforeEmit");
          const pr = tU(
            gie,
            Xt(Be),
            /*targetSourceFile*/
            void 0,
            /*transformers*/
            _ie,
            /*emitOnly*/
            false,
            /*onlyBuildInfo*/
            true
          );
          return Qo("afterEmit"), Zf("Emit", "beforeEmit", "afterEmit"), (Rt = on) == null || Rt.pop(), pr;
        }
        function Ms() {
          return it;
        }
        function ps() {
          return _e;
        }
        function uc(Be) {
          return !!Nr.get(Be.path);
        }
        function Xo(Be) {
          if (!Be.isDeclarationFile)
            return false;
          if (Be.hasNoDefaultLib)
            return true;
          if ($.noLib)
            return false;
          const nt = st.useCaseSensitiveFileNames() ? db : fy;
          return $.lib ? ot($.lib, (Rt) => {
            const pr = ne.get(Rt);
            return !!pr && nt(Be.fileName, pr.actual);
          }) : nt(Be.fileName, ui());
        }
        function ro() {
          return be || (be = xne(Lt));
        }
        function zi(Be, nt, Rt, pr, Or, dn, Ir) {
          var Vr, hi;
          (Vr = on) == null || Vr.push(
            on.Phase.Emit,
            "emit",
            { path: Be?.path },
            /*separateBeginAndEnd*/
            true
          );
          const ts = mc(
            () => Vc(
              Lt,
              Be,
              nt,
              Rt,
              pr,
              Or,
              dn,
              Ir
            )
          );
          return (hi = on) == null || hi.pop(), ts;
        }
        function gs(Be) {
          return pn.has(Nt(Be));
        }
        function Vc(Be, nt, Rt, pr, Or, dn, Ir, Vr) {
          if (!Ir) {
            const rs = vU(Be, nt, Rt, pr);
            if (rs) return rs;
          }
          const hi = ro(), ts = hi.getEmitResolver(
            $.outFile ? void 0 : nt,
            pr,
            eU(Or, Ir)
          );
          Qo("beforeEmit");
          const Zn = hi.runWithCancellationToken(
            pr,
            () => tU(
              ts,
              Xt(Rt),
              nt,
              fie($, dn, Or),
              Or,
              /*onlyBuildInfo*/
              false,
              Ir,
              Vr
            )
          );
          return Qo("afterEmit"), Zf("Emit", "beforeEmit", "afterEmit"), Zn;
        }
        function To(Be) {
          return ea(Nt(Be));
        }
        function ea(Be) {
          return Xe.get(Be) || void 0;
        }
        function xc(Be, nt, Rt) {
          return TC(Be ? nt(Be, Rt) : xa(Lt.getSourceFiles(), (pr) => (Rt && Rt.throwIfCancellationRequested(), nt(pr, Rt))));
        }
        function Rf(Be, nt) {
          return xc(Be, Xa, nt);
        }
        function os(Be, nt, Rt) {
          return xc(
            Be,
            (pr, Or) => Nc(pr, Or, Rt),
            nt
          );
        }
        function zs(Be) {
          return Z?.get(Be.path);
        }
        function Aa(Be, nt) {
          return Wl(
            Be,
            nt,
            /*nodesToCheck*/
            void 0
          );
        }
        function ya(Be) {
          var nt;
          if (t6(Be, $, Lt))
            return Ge;
          const Rt = Te.getCombinedDiagnostics(Lt).getDiagnostics(Be.fileName);
          return (nt = Be.commentDirectives) != null && nt.length ? H(Be, Be.commentDirectives, Rt).diagnostics : Rt;
        }
        function zt(Be, nt) {
          return xc(Be, ln, nt);
        }
        function Xa(Be) {
          return Ku(Be) ? (Be.additionalSyntacticDiagnostics || (Be.additionalSyntacticDiagnostics = Kt(Be)), Bi(Be.additionalSyntacticDiagnostics, Be.parseDiagnostics)) : Be.parseDiagnostics;
        }
        function mc(Be) {
          try {
            return Be();
          } catch (nt) {
            throw nt instanceof a4 && (be = void 0), nt;
          }
        }
        function Nc(Be, nt, Rt) {
          return Bi(
            zO(Wl(Be, nt, Rt), $),
            ya(Be)
          );
        }
        function Wl(Be, nt, Rt) {
          if (Rt)
            return co(Be, nt, Rt);
          let pr = Z?.get(Be.path);
          return pr || (Z ?? (Z = /* @__PURE__ */ new Map())).set(
            Be.path,
            pr = co(Be, nt)
          ), pr;
        }
        function co(Be, nt, Rt) {
          return mc(() => {
            if (t6(Be, $, Lt))
              return Ge;
            const pr = ro();
            E.assert(!!Be.bindDiagnostics);
            const Or = Be.scriptKind === 1 || Be.scriptKind === 2, dn = w4(Be, $.checkJs), Ir = Or && _D(Be, $);
            let Vr = Be.bindDiagnostics, hi = pr.getDiagnostics(Be, nt, Rt);
            return dn && (Vr = kn(Vr, (ts) => Cve.has(ts.code)), hi = kn(hi, (ts) => Cve.has(ts.code))), ge(
              Be,
              !dn,
              !!Rt,
              Vr,
              hi,
              Ir ? Be.jsDocDiagnostics : void 0
            );
          });
        }
        function ge(Be, nt, Rt, ...pr) {
          var Or;
          const dn = wp(pr);
          if (!nt || !((Or = Be.commentDirectives) != null && Or.length))
            return dn;
          const { diagnostics: Ir, directives: Vr } = H(Be, Be.commentDirectives, dn);
          if (Rt)
            return Ir;
          for (const hi of Vr.getUnusedExpectations())
            Ir.push(aK(Be, hi.range, p.Unused_ts_expect_error_directive));
          return Ir;
        }
        function H(Be, nt, Rt) {
          const pr = HZ(Be, nt);
          return { diagnostics: Rt.filter((dn) => Ft(dn, pr) === -1), directives: pr };
        }
        function tt(Be, nt) {
          return mc(() => ro().getSuggestionDiagnostics(Be, nt));
        }
        function Ft(Be, nt) {
          const { file: Rt, start: pr } = Be;
          if (!Rt)
            return -1;
          const Or = vg(Rt);
          let dn = bC(Or, pr).line - 1;
          for (; dn >= 0; ) {
            if (nt.markUsed(dn))
              return dn;
            const Ir = Rt.text.slice(Or[dn], Or[dn + 1]).trim();
            if (Ir !== "" && !/^\s*\/\/.*$/.test(Ir))
              return -1;
            dn--;
          }
          return -1;
        }
        function Kt(Be) {
          return mc(() => {
            const nt = [];
            return Rt(Be, Be), Hx(Be, Rt, pr), nt;
            function Rt(Vr, hi) {
              switch (hi.kind) {
                case 170:
                case 173:
                case 175:
                  if (hi.questionToken === Vr)
                    return nt.push(Ir(Vr, p.The_0_modifier_can_only_be_used_in_TypeScript_files, "?")), "skip";
                // falls through
                case 174:
                case 177:
                case 178:
                case 179:
                case 219:
                case 263:
                case 220:
                case 261:
                  if (hi.type === Vr)
                    return nt.push(Ir(Vr, p.Type_annotations_can_only_be_used_in_TypeScript_files)), "skip";
              }
              switch (Vr.kind) {
                case 274:
                  if (Vr.isTypeOnly)
                    return nt.push(Ir(hi, p._0_declarations_can_only_be_used_in_TypeScript_files, "import type")), "skip";
                  break;
                case 279:
                  if (Vr.isTypeOnly)
                    return nt.push(Ir(Vr, p._0_declarations_can_only_be_used_in_TypeScript_files, "export type")), "skip";
                  break;
                case 277:
                case 282:
                  if (Vr.isTypeOnly)
                    return nt.push(Ir(Vr, p._0_declarations_can_only_be_used_in_TypeScript_files, qu(Vr) ? "import...type" : "export...type")), "skip";
                  break;
                case 272:
                  return nt.push(Ir(Vr, p.import_can_only_be_used_in_TypeScript_files)), "skip";
                case 278:
                  if (Vr.isExportEquals)
                    return nt.push(Ir(Vr, p.export_can_only_be_used_in_TypeScript_files)), "skip";
                  break;
                case 299:
                  if (Vr.token === 119)
                    return nt.push(Ir(Vr, p.implements_clauses_can_only_be_used_in_TypeScript_files)), "skip";
                  break;
                case 265:
                  const Zn = Vs(
                    120
                    /* InterfaceKeyword */
                  );
                  return E.assertIsDefined(Zn), nt.push(Ir(Vr, p._0_declarations_can_only_be_used_in_TypeScript_files, Zn)), "skip";
                case 268:
                  const rs = Vr.flags & 32 ? Vs(
                    145
                    /* NamespaceKeyword */
                  ) : Vs(
                    144
                    /* ModuleKeyword */
                  );
                  return E.assertIsDefined(rs), nt.push(Ir(Vr, p._0_declarations_can_only_be_used_in_TypeScript_files, rs)), "skip";
                case 266:
                  return nt.push(Ir(Vr, p.Type_aliases_can_only_be_used_in_TypeScript_files)), "skip";
                case 177:
                case 175:
                case 263:
                  return Vr.body ? void 0 : (nt.push(Ir(Vr, p.Signature_declarations_can_only_be_used_in_TypeScript_files)), "skip");
                case 267:
                  const Pi = E.checkDefined(Vs(
                    94
                    /* EnumKeyword */
                  ));
                  return nt.push(Ir(Vr, p._0_declarations_can_only_be_used_in_TypeScript_files, Pi)), "skip";
                case 236:
                  return nt.push(Ir(Vr, p.Non_null_assertions_can_only_be_used_in_TypeScript_files)), "skip";
                case 235:
                  return nt.push(Ir(Vr.type, p.Type_assertion_expressions_can_only_be_used_in_TypeScript_files)), "skip";
                case 239:
                  return nt.push(Ir(Vr.type, p.Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files)), "skip";
                case 217:
                  E.fail();
              }
            }
            function pr(Vr, hi) {
              if (Mz(hi)) {
                const ts = Nn(hi.modifiers, ol);
                ts && nt.push(Ir(ts, p.Decorators_are_not_valid_here));
              } else if ($b(hi) && hi.modifiers) {
                const ts = ic(hi.modifiers, ol);
                if (ts >= 0) {
                  if (Ii(hi) && !$.experimentalDecorators)
                    nt.push(Ir(hi.modifiers[ts], p.Decorators_are_not_valid_here));
                  else if (Zc(hi)) {
                    const Zn = ic(hi.modifiers, Ox);
                    if (Zn >= 0) {
                      const rs = ic(hi.modifiers, xF);
                      if (ts > Zn && rs >= 0 && ts < rs)
                        nt.push(Ir(hi.modifiers[ts], p.Decorators_are_not_valid_here));
                      else if (Zn >= 0 && ts < Zn) {
                        const Pi = ic(hi.modifiers, ol, Zn);
                        Pi >= 0 && nt.push(Js(
                          Ir(hi.modifiers[Pi], p.Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export),
                          Ir(hi.modifiers[ts], p.Decorator_used_before_export_here)
                        ));
                      }
                    }
                  }
                }
              }
              switch (hi.kind) {
                case 264:
                case 232:
                case 175:
                case 177:
                case 178:
                case 179:
                case 219:
                case 263:
                case 220:
                  if (Vr === hi.typeParameters)
                    return nt.push(dn(Vr, p.Type_parameter_declarations_can_only_be_used_in_TypeScript_files)), "skip";
                // falls through
                case 244:
                  if (Vr === hi.modifiers)
                    return Or(
                      hi.modifiers,
                      hi.kind === 244
                      /* VariableStatement */
                    ), "skip";
                  break;
                case 173:
                  if (Vr === hi.modifiers) {
                    for (const ts of Vr)
                      Ys(ts) && ts.kind !== 126 && ts.kind !== 129 && nt.push(Ir(ts, p.The_0_modifier_can_only_be_used_in_TypeScript_files, Vs(ts.kind)));
                    return "skip";
                  }
                  break;
                case 170:
                  if (Vr === hi.modifiers && ot(Vr, Ys))
                    return nt.push(dn(Vr, p.Parameter_modifiers_can_only_be_used_in_TypeScript_files)), "skip";
                  break;
                case 214:
                case 215:
                case 234:
                case 286:
                case 287:
                case 216:
                  if (Vr === hi.typeArguments)
                    return nt.push(dn(Vr, p.Type_arguments_can_only_be_used_in_TypeScript_files)), "skip";
                  break;
              }
            }
            function Or(Vr, hi) {
              for (const ts of Vr)
                switch (ts.kind) {
                  case 87:
                    if (hi)
                      continue;
                  // to report error,
                  // falls through
                  case 125:
                  case 123:
                  case 124:
                  case 148:
                  case 138:
                  case 128:
                  case 164:
                  case 103:
                  case 147:
                    nt.push(Ir(ts, p.The_0_modifier_can_only_be_used_in_TypeScript_files, Vs(ts.kind)));
                    break;
                  // These are all legal modifiers.
                  case 126:
                  case 95:
                  case 90:
                  case 129:
                }
            }
            function dn(Vr, hi, ...ts) {
              const Zn = Vr.pos;
              return al(Be, Zn, Vr.end - Zn, hi, ...ts);
            }
            function Ir(Vr, hi, ...ts) {
              return tp(Be, Vr, hi, ...ts);
            }
          });
        }
        function Hr(Be, nt) {
          let Rt = pe?.get(Be.path);
          return Rt || (pe ?? (pe = /* @__PURE__ */ new Map())).set(
            Be.path,
            Rt = Vn(Be, nt)
          ), Rt;
        }
        function Vn(Be, nt) {
          return mc(() => {
            const Rt = ro().getEmitResolver(Be, nt);
            return uie(Xt(Ua), Rt, Be) || Ge;
          });
        }
        function ln(Be, nt) {
          return Be.isDeclarationFile ? Ge : Hr(Be, nt);
        }
        function kr() {
          return TC(Bi(
            Te.getCombinedDiagnostics(Lt).getGlobalDiagnostics(),
            Li()
          ));
        }
        function Li() {
          if (!$.configFile) return Ge;
          let Be = Te.getCombinedDiagnostics(Lt).getDiagnostics($.configFile.fileName);
          return rc((nt) => {
            Be = Bi(Be, Te.getCombinedDiagnostics(Lt).getDiagnostics(nt.sourceFile.fileName));
          }), Be;
        }
        function Yi() {
          return U.length ? TC(ro().getGlobalDiagnostics().slice()) : Ge;
        }
        function eo() {
          return W || Ge;
        }
        function ta(Be, nt, Rt, pr) {
          Tf(
            qs(Be),
            nt,
            Rt,
            /*packageId*/
            void 0,
            pr
          );
        }
        function xo(Be, nt) {
          return Be.fileName === nt.fileName;
        }
        function qc(Be, nt) {
          return Be.kind === 80 ? nt.kind === 80 && Be.escapedText === nt.escapedText : nt.kind === 11 && Be.text === nt.text;
        }
        function Rc(Be, nt) {
          const Rt = N.createStringLiteral(Be), pr = N.createImportDeclaration(
            /*modifiers*/
            void 0,
            /*importClause*/
            void 0,
            Rt
          );
          return pS(
            pr,
            2
            /* NeverApplyImportHelper */
          ), ja(Rt, pr), ja(pr, nt), Rt.flags &= -17, pr.flags &= -17, Rt;
        }
        function go(Be) {
          if (Be.imports)
            return;
          const nt = Ku(Be), Rt = ll(Be);
          let pr, Or, dn;
          if (nt || !Be.isDeclarationFile && (Rp($) || ll(Be))) {
            $.importHelpers && (pr = [Rc(ky, Be)]);
            const Vr = G5(mN($, Be), $);
            Vr && (pr || (pr = [])).push(Rc(Vr, Be));
          }
          for (const Vr of Be.statements)
            Ir(
              Vr,
              /*inAmbientModule*/
              false
            );
          (Be.flags & 4194304 || nt) && pF(
            Be,
            /*includeTypeSpaceImports*/
            true,
            /*requireStringLiteralLikeArgument*/
            true,
            (Vr, hi) => {
              X1(
                Vr,
                /*incremental*/
                false
              ), pr = Er(pr, hi);
            }
          ), Be.imports = pr || Ge, Be.moduleAugmentations = Or || Ge, Be.ambientModuleNames = dn || Ge;
          return;
          function Ir(Vr, hi) {
            if (v3(Vr)) {
              const ts = ux(Vr);
              ts && oa(ts) && ts.text && (!hi || !xl(ts.text)) && (X1(
                Vr,
                /*incremental*/
                false
              ), pr = Er(pr, ts), !vs && Bt === 0 && !Be.isDeclarationFile && (Ui(ts.text, "node:") && !fF.has(ts.text) ? vs = true : vs === void 0 && rte.has(ts.text) && (vs = false)));
            } else if (Lc(Vr) && Ju(Vr) && (hi || Gn(
              Vr,
              128
              /* Ambient */
            ) || Be.isDeclarationFile)) {
              Vr.name.parent = Vr;
              const ts = np(Vr.name);
              if (Rt || hi && !xl(ts))
                (Or || (Or = [])).push(Vr.name);
              else if (!hi) {
                Be.isDeclarationFile && (dn || (dn = [])).push(ts);
                const Zn = Vr.body;
                if (Zn)
                  for (const rs of Zn.statements)
                    Ir(
                      rs,
                      /*inAmbientModule*/
                      true
                    );
              }
            }
          }
        }
        function tc(Be) {
          var nt;
          const Rt = $J(Be), pr = Rt && ((nt = ne?.get(Rt)) == null ? void 0 : nt.actual);
          return pr !== void 0 ? To(pr) : void 0;
        }
        function Ld(Be, nt) {
          return ru(cU(nt.fileName, Be.fileName), To);
        }
        function ru(Be, nt, Rt, pr) {
          if (yC(Be)) {
            const Or = st.getCanonicalFileName(Be);
            if (!$.allowNonTsExtensions && !lr(wp(fi), (Ir) => Ho(Or, Ir))) {
              Rt && (Og(Or) ? Rt(p.File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option, Be) : Rt(p.File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1, Be, "'" + wp(ai).join("', '") + "'"));
              return;
            }
            const dn = nt(Be);
            if (Rt)
              if (dn)
                pv(pr) && Or === st.getCanonicalFileName(ea(pr.file).fileName) && Rt(p.A_file_cannot_have_a_reference_to_itself);
              else {
                const Ir = Eo(Be);
                Ir?.outputDts ? Rt(p.Output_file_0_has_not_been_built_from_source_file_1, Ir.outputDts, Be) : Rt(p.File_0_not_found, Be);
              }
            return dn;
          } else {
            const Or = $.allowNonTsExtensions && nt(Be);
            if (Or) return Or;
            if (Rt && $.allowNonTsExtensions) {
              Rt(p.File_0_not_found, Be);
              return;
            }
            const dn = lr(ai[0], (Ir) => nt(Be + Ir));
            return Rt && !dn && Rt(p.Could_not_resolve_the_path_0_with_the_extensions_Colon_1, Be, "'" + wp(ai).join("', '") + "'"), dn;
          }
        }
        function Tf(Be, nt, Rt, pr, Or) {
          ru(
            Be,
            (dn) => Mr(dn, nt, Rt, Or, pr),
            // TODO: GH#18217
            (dn, ...Ir) => zr(
              /*file*/
              void 0,
              Or,
              dn,
              Ir
            ),
            Or
          );
        }
        function C_(Be, nt) {
          return Tf(
            Be,
            /*isDefaultLib*/
            false,
            /*ignoreNoDefaultLib*/
            false,
            /*packageId*/
            void 0,
            nt
          );
        }
        function Ie(Be, nt, Rt) {
          !pv(Rt) && ot(Te.getFileReasons().get(nt.path), pv) ? zr(nt, Rt, p.Already_included_file_name_0_differs_from_file_name_1_only_in_casing, [nt.fileName, Be]) : zr(nt, Rt, p.File_name_0_differs_from_already_included_file_name_1_only_in_casing, [Be, nt.fileName]);
        }
        function Ot(Be, nt, Rt, pr, Or, dn, Ir) {
          var Vr;
          const hi = ov.createRedirectedSourceFile({ redirectTarget: Be, unredirected: nt });
          return hi.fileName = Rt, hi.path = pr, hi.resolvedPath = Or, hi.originalFileName = dn, hi.packageJsonLocations = (Vr = Ir.packageJsonLocations) != null && Vr.length ? Ir.packageJsonLocations : void 0, hi.packageJsonScope = Ir.packageJsonScope, Nr.set(pr, Bt > 0), hi;
        }
        function Mr(Be, nt, Rt, pr, Or) {
          var dn, Ir;
          (dn = on) == null || dn.push(on.Phase.Program, "findSourceFile", {
            fileName: Be,
            isDefaultLib: nt || void 0,
            fileIncludeKind: ej[pr.kind]
          });
          const Vr = Ea(Be, nt, Rt, pr, Or);
          return (Ir = on) == null || Ir.pop(), Vr;
        }
        function Gi(Be, nt, Rt, pr) {
          const Or = BO(Qi(Be, Mn), nt?.getPackageJsonInfoCache(), Rt, pr), dn = pa(pr), Ir = uN(pr);
          return typeof Or == "object" ? { ...Or, languageVersion: dn, setExternalModuleIndicator: Ir, jsDocParsingMode: Rt.jsDocParsingMode } : { languageVersion: dn, impliedNodeFormat: Or, setExternalModuleIndicator: Ir, jsDocParsingMode: Rt.jsDocParsingMode };
        }
        function Ea(Be, nt, Rt, pr, Or) {
          var dn, Ir;
          const Vr = Nt(Be);
          if (Ke) {
            let Pi = gc(Vr);
            if (!Pi && st.realpath && $.preserveSymlinks && wl(Be) && Be.includes(Jg)) {
              const Bo = Nt(st.realpath(Be));
              Bo !== Vr && (Pi = gc(Bo));
            }
            if (Pi?.source) {
              const Bo = Mr(Pi.source, nt, Rt, pr, Or);
              return Bo && da(
                Bo,
                Vr,
                Be,
                /*redirectedPath*/
                void 0
              ), Bo;
            }
          }
          const hi = Be;
          if (Xe.has(Vr)) {
            const Pi = Xe.get(Vr), Bo = Da(
              Pi || void 0,
              pr,
              /*checkExisting*/
              true
            );
            if (Pi && Bo && $.forceConsistentCasingInFileNames !== false) {
              const D_ = Pi.fileName;
              Nt(D_) !== Nt(Be) && (Be = ((dn = Eo(Be)) == null ? void 0 : dn.outputDts) || Be);
              const Vl = yj(D_, Mn), Hp = yj(Be, Mn);
              Vl !== Hp && Ie(Be, Pi, pr);
            }
            return Pi && Nr.get(Pi.path) && Bt === 0 ? (Nr.set(Pi.path, false), $.noResolve || (Nl(Pi, nt), lf(Pi)), $.noLib || E_(Pi), tr.set(Pi.path, false), Md(Pi)) : Pi && tr.get(Pi.path) && Bt < St && (tr.set(Pi.path, false), Md(Pi)), Pi || void 0;
          }
          let ts;
          if (!Ke) {
            const Pi = Eo(Be);
            if (Pi?.outputDts) {
              if (Pi.resolvedRef.commandLine.options.outFile)
                return;
              Be = Pi.outputDts, ts = Nt(Pi.outputDts);
            }
          }
          const Zn = Gi(Be, ft, st, $), rs = st.getSourceFile(
            Be,
            Zn,
            (Pi) => zr(
              /*file*/
              void 0,
              pr,
              p.Cannot_read_file_0_Colon_1,
              [Be, Pi]
            ),
            Ct
          );
          if (Or) {
            const Pi = j1(Or), Bo = Es.get(Pi);
            if (Bo) {
              const D_ = Ot(Bo, rs, Be, Vr, Nt(Be), hi, Zn);
              return yr.add(Bo.path, Be), da(D_, Vr, Be, ts), Da(
                D_,
                pr,
                /*checkExisting*/
                false
              ), Zs.set(Vr, J7(Or)), fe.push(D_), D_;
            } else rs && (Es.set(Pi, rs), Zs.set(Vr, J7(Or)));
          }
          if (da(rs, Vr, Be, ts), rs) {
            if (Nr.set(Vr, Bt > 0), rs.fileName = Be, rs.path = Vr, rs.resolvedPath = Nt(Be), rs.originalFileName = hi, rs.packageJsonLocations = (Ir = Zn.packageJsonLocations) != null && Ir.length ? Zn.packageJsonLocations : void 0, rs.packageJsonScope = Zn.packageJsonScope, Da(
              rs,
              pr,
              /*checkExisting*/
              false
            ), st.useCaseSensitiveFileNames()) {
              const Pi = uy(Vr), Bo = re.get(Pi);
              Bo ? Ie(Be, Bo, pr) : re.set(Pi, rs);
            }
            Jr = Jr || rs.hasNoDefaultLib && !Rt, $.noResolve || (Nl(rs, nt), lf(rs)), $.noLib || E_(rs), Md(rs), nt ? ce.push(rs) : fe.push(rs), (me ?? (me = /* @__PURE__ */ new Set())).add(rs.path);
          }
          return rs;
        }
        function Da(Be, nt, Rt) {
          return Be && (!Rt || !pv(nt) || !me?.has(nt.file)) ? (Te.getFileReasons().add(Be.path, nt), true) : false;
        }
        function da(Be, nt, Rt, pr) {
          pr ? (tl(Rt, pr, Be), tl(Rt, nt, Be || false)) : tl(Rt, nt, Be);
        }
        function tl(Be, nt, Rt) {
          Xe.set(nt, Rt), Rt !== void 0 ? Et.delete(nt) : Et.set(nt, Be);
        }
        function Eo(Be) {
          return Ae?.get(Nt(Be));
        }
        function rc(Be) {
          return XJ(it, Be);
        }
        function gc(Be) {
          return $e?.get(Be);
        }
        function xf(Be) {
          return Ke && !!Eo(Be);
        }
        function Ul(Be) {
          if (Y)
            return Y.get(Be) || void 0;
        }
        function Nl(Be, nt) {
          lr(Be.referencedFiles, (Rt, pr) => {
            Tf(
              cU(Rt.fileName, Be.fileName),
              nt,
              /*ignoreNoDefaultLib*/
              false,
              /*packageId*/
              void 0,
              { kind: 4, file: Be.path, index: pr }
            );
          });
        }
        function lf(Be) {
          const nt = Be.typeReferenceDirectives;
          if (!nt.length) return;
          const Rt = Ce?.get(Be.path) || kt(nt, Be), pr = C6();
          (Ee ?? (Ee = /* @__PURE__ */ new Map())).set(Be.path, pr);
          for (let Or = 0; Or < nt.length; Or++) {
            const dn = Be.typeReferenceDirectives[Or], Ir = Rt[Or], Vr = dn.fileName, hi = e1(dn, Be);
            pr.set(Vr, hi, Ir), pp(Vr, hi, Ir, { kind: 5, file: Be.path, index: Or });
          }
        }
        function Hu(Be) {
          var nt;
          return ((nt = Pr(Be)) == null ? void 0 : nt.commandLine.options) || $;
        }
        function pp(Be, nt, Rt, pr) {
          var Or, dn;
          (Or = on) == null || Or.push(on.Phase.Program, "processTypeReferenceDirective", { directive: Be, hasResolved: !!Rt.resolvedTypeReferenceDirective, refKind: pr.kind, refPath: pv(pr) ? pr.file : void 0 }), eg(Be, nt, Rt, pr), (dn = on) == null || dn.pop();
        }
        function eg(Be, nt, Rt, pr) {
          at(Rt);
          const { resolvedTypeReferenceDirective: Or } = Rt;
          Or ? (Or.isExternalLibraryImport && Bt++, Tf(
            Or.resolvedFileName,
            /*isDefaultLib*/
            false,
            /*ignoreNoDefaultLib*/
            false,
            Or.packageId,
            pr
          ), Or.isExternalLibraryImport && Bt--) : zr(
            /*file*/
            void 0,
            pr,
            p.Cannot_find_type_definition_file_for_0,
            [Be]
          );
        }
        function Wg(Be) {
          const nt = ne?.get(Be);
          if (nt) return nt.actual;
          const Rt = Ug(Be);
          return (ne ?? (ne = /* @__PURE__ */ new Map())).set(Be, Rt), Rt.actual;
        }
        function Ug(Be) {
          var nt, Rt, pr, Or, dn;
          const Ir = Se?.get(Be);
          if (Ir) return Ir;
          if ($.libReplacement === false) {
            const rs = {
              resolution: {
                resolvedModule: void 0
              },
              actual: On(Ji, Be)
            };
            return (Se ?? (Se = /* @__PURE__ */ new Map())).set(Be, rs), rs;
          }
          if (qe !== 0 && ae && !Un(Be)) {
            const rs = (nt = ae.resolvedLibReferences) == null ? void 0 : nt.get(Be);
            if (rs) {
              if (rs.resolution && Vy($, st)) {
                const Pi = gU(Be), Bo = jO($, Mn, Be);
                es(
                  st,
                  rs.resolution.resolvedModule ? rs.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,
                  Pi,
                  Qi(Bo, Mn),
                  (Rt = rs.resolution.resolvedModule) == null ? void 0 : Rt.resolvedFileName,
                  ((pr = rs.resolution.resolvedModule) == null ? void 0 : pr.packageId) && j1(rs.resolution.resolvedModule.packageId)
                );
              }
              return (Se ?? (Se = /* @__PURE__ */ new Map())).set(Be, rs), rs;
            }
          }
          const Vr = gU(Be), hi = jO($, Mn, Be);
          (Or = on) == null || Or.push(on.Phase.Program, "resolveLibrary", { resolveFrom: hi }), Qo("beforeResolveLibrary");
          const ts = ki(Vr, hi, $, Be);
          Qo("afterResolveLibrary"), Zf("ResolveLibrary", "beforeResolveLibrary", "afterResolveLibrary"), (dn = on) == null || dn.pop();
          const Zn = {
            resolution: ts,
            actual: ts.resolvedModule ? ts.resolvedModule.resolvedFileName : On(Ji, Be)
          };
          return (Se ?? (Se = /* @__PURE__ */ new Map())).set(Be, Zn), Zn;
        }
        function E_(Be) {
          lr(Be.libReferenceDirectives, (nt, Rt) => {
            const pr = $J(nt);
            pr ? ta(
              Wg(pr),
              /*isDefaultLib*/
              true,
              /*ignoreNoDefaultLib*/
              true,
              { kind: 7, file: Be.path, index: Rt }
            ) : Te.addFileProcessingDiagnostic({
              kind: 0,
              reason: { kind: 7, file: Be.path, index: Rt }
            });
          });
        }
        function yl(Be) {
          return st.getCanonicalFileName(Be);
        }
        function Md(Be) {
          if (go(Be), Be.imports.length || Be.moduleAugmentations.length) {
            const nt = Dve(Be), Rt = Ne?.get(Be.path) || nr(nt, Be);
            E.assert(Rt.length === nt.length);
            const pr = Hu(Be), Or = C6();
            (ie ?? (ie = /* @__PURE__ */ new Map())).set(Be.path, Or);
            for (let dn = 0; dn < nt.length; dn++) {
              const Ir = Rt[dn].resolvedModule, Vr = nt[dn].text, hi = LO(Be, nt[dn], pr);
              if (Or.set(Vr, hi, Rt[dn]), wt(Be, Vr, Rt[dn], hi), !Ir)
                continue;
              const ts = Ir.isExternalLibraryImport, Zn = !lD(Ir.extension) && !Eo(Ir.resolvedFileName), rs = ts && Zn && (!Ir.originalPath || Hy(Ir.resolvedFileName)), Pi = Ir.resolvedFileName;
              ts && Bt++;
              const Bo = rs && Bt > St, D_ = Pi && !bU(pr, Ir, Be) && !pr.noResolve && dn < Be.imports.length && !Bo && !(Zn && !Ly(pr)) && (an(Be.imports[dn]) || !(Be.imports[dn].flags & 16777216));
              Bo ? tr.set(Be.path, true) : D_ && Mr(
                Pi,
                /*isDefaultLib*/
                false,
                /*ignoreNoDefaultLib*/
                false,
                { kind: 3, file: Be.path, index: dn },
                Ir.packageId
              ), ts && Bt--;
            }
          }
        }
        function jf(Be, nt) {
          let Rt = true;
          const pr = st.getCanonicalFileName(Qi(nt, Mn));
          for (const Or of Be)
            Or.isDeclarationFile || st.getCanonicalFileName(Qi(Or.fileName, Mn)).indexOf(pr) !== 0 && (Te.addLazyConfigDiagnostic(
              Or,
              p.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files,
              Or.fileName,
              nt
            ), Rt = false);
          return Rt;
        }
        function Em(Be) {
          Y || (Y = /* @__PURE__ */ new Map());
          const nt = tk(Be), Rt = Nt(nt), pr = Y.get(Rt);
          if (pr !== void 0)
            return pr || void 0;
          let Or, dn;
          if (st.getParsedCommandLine) {
            if (Or = st.getParsedCommandLine(nt), !Or) {
              da(
                /*file*/
                void 0,
                Rt,
                nt,
                /*redirectedPath*/
                void 0
              ), Y.set(Rt, false);
              return;
            }
            dn = E.checkDefined(Or.options.configFile), E.assert(!dn.path || dn.path === Rt), da(
              dn,
              Rt,
              nt,
              /*redirectedPath*/
              void 0
            );
          } else {
            const Vr = Qi(Hn(nt), Mn);
            if (dn = st.getSourceFile(
              nt,
              100
              /* JSON */
            ), da(
              dn,
              Rt,
              nt,
              /*redirectedPath*/
              void 0
            ), dn === void 0) {
              Y.set(Rt, false);
              return;
            }
            Or = r8(
              dn,
              Wt,
              Vr,
              /*existingOptions*/
              void 0,
              nt
            );
          }
          dn.fileName = nt, dn.path = Rt, dn.resolvedPath = Rt, dn.originalFileName = nt;
          const Ir = { commandLine: Or, sourceFile: dn };
          if (Y.set(Rt, Ir), $.configFile !== dn) {
            Ae ?? (Ae = /* @__PURE__ */ new Map()), $e ?? ($e = /* @__PURE__ */ new Map());
            let Vr;
            Or.options.outFile && (Vr = g0(
              Or.options.outFile,
              ".d.ts"
              /* Dts */
            ), $e?.set(Nt(Vr), { resolvedRef: Ir }));
            const hi = Bu(() => FS(Ir.commandLine, !st.useCaseSensitiveFileNames()));
            Or.fileNames.forEach((ts) => {
              const Zn = Nt(ts);
              let rs;
              !wl(ts) && !Ho(
                ts,
                ".json"
                /* Json */
              ) && (Or.options.outFile ? rs = Vr : (rs = rw(ts, Ir.commandLine, !st.useCaseSensitiveFileNames(), hi), $e.set(Nt(rs), { resolvedRef: Ir, source: ts }))), Ae.set(Zn, { resolvedRef: Ir, outputDts: rs });
            });
          }
          return Or.projectReferences && (Ir.references = Or.projectReferences.map(Em)), Ir;
        }
        function ee() {
          $.strictPropertyInitialization && !uu($, "strictNullChecks") && Oe(p.Option_0_cannot_be_specified_without_specifying_option_1, "strictPropertyInitialization", "strictNullChecks"), $.exactOptionalPropertyTypes && !uu($, "strictNullChecks") && Oe(p.Option_0_cannot_be_specified_without_specifying_option_1, "exactOptionalPropertyTypes", "strictNullChecks"), ($.isolatedModules || $.verbatimModuleSyntax) && $.outFile && Oe(p.Option_0_cannot_be_specified_with_option_1, "outFile", $.verbatimModuleSyntax ? "verbatimModuleSyntax" : "isolatedModules"), $.isolatedDeclarations && (Ly($) && Oe(p.Option_0_cannot_be_specified_with_option_1, "allowJs", "isolatedDeclarations"), M_($) || Oe(p.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "isolatedDeclarations", "declaration", "composite")), $.inlineSourceMap && ($.sourceMap && Oe(p.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"), $.mapRoot && Oe(p.Option_0_cannot_be_specified_with_option_1, "mapRoot", "inlineSourceMap")), $.composite && ($.declaration === false && Oe(p.Composite_projects_may_not_disable_declaration_emit, "declaration"), $.incremental === false && Oe(p.Composite_projects_may_not_disable_incremental_compilation, "declaration"));
          const Be = $.outFile;
          if (!$.tsBuildInfoFile && $.incremental && !Be && !$.configFilePath && Te.addConfigDiagnostic($o(p.Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified)), Gt(), jn(), $.composite) {
            const Ir = new Set(U.map(Nt));
            for (const Vr of he)
              Nb(Vr, Lt) && !Ir.has(Vr.path) && Te.addLazyConfigDiagnostic(
                Vr,
                p.File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern,
                Vr.fileName,
                $.configFilePath || ""
              );
          }
          if ($.paths) {
            for (const Ir in $.paths)
              if (Ya($.paths, Ir))
                if (xJ(Ir) || wi(
                  /*onKey*/
                  true,
                  Ir,
                  p.Pattern_0_can_have_at_most_one_Asterisk_character,
                  Ir
                ), ss($.paths[Ir])) {
                  const Vr = $.paths[Ir].length;
                  Vr === 0 && wi(
                    /*onKey*/
                    false,
                    Ir,
                    p.Substitutions_for_pattern_0_shouldn_t_be_an_empty_array,
                    Ir
                  );
                  for (let hi = 0; hi < Vr; hi++) {
                    const ts = $.paths[Ir][hi], Zn = typeof ts;
                    Zn === "string" ? (xJ(ts) || ni(Ir, hi, p.Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character, ts, Ir), !$.baseUrl && !vf(ts) && !c4(ts) && ni(Ir, hi, p.Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash)) : ni(Ir, hi, p.Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2, ts, Ir, Zn);
                  }
                } else
                  wi(
                    /*onKey*/
                    false,
                    Ir,
                    p.Substitutions_for_pattern_0_should_be_an_array,
                    Ir
                  );
          }
          !$.sourceMap && !$.inlineSourceMap && ($.inlineSources && Oe(p.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided, "inlineSources"), $.sourceRoot && Oe(p.Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided, "sourceRoot")), $.mapRoot && !($.sourceMap || $.declarationMap) && Oe(p.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "mapRoot", "sourceMap", "declarationMap"), $.declarationDir && (M_($) || Oe(p.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "declarationDir", "declaration", "composite"), Be && Oe(p.Option_0_cannot_be_specified_with_option_1, "declarationDir", "outFile")), $.declarationMap && !M_($) && Oe(p.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "declarationMap", "declaration", "composite"), $.lib && $.noLib && Oe(p.Option_0_cannot_be_specified_with_option_1, "lib", "noLib");
          const nt = pa($), Rt = Nn(he, (Ir) => ll(Ir) && !Ir.isDeclarationFile);
          if ($.isolatedModules || $.verbatimModuleSyntax)
            $.module === 0 && nt < 2 && $.isolatedModules && Oe(p.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher, "isolatedModules", "target"), $.preserveConstEnums === false && Oe(p.Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled, $.verbatimModuleSyntax ? "verbatimModuleSyntax" : "isolatedModules", "preserveConstEnums");
          else if (Rt && nt < 2 && $.module === 0) {
            const Ir = K2(Rt, typeof Rt.externalModuleIndicator == "boolean" ? Rt : Rt.externalModuleIndicator);
            Te.addConfigDiagnostic(al(Rt, Ir.start, Ir.length, p.Cannot_use_imports_exports_or_module_augmentations_when_module_is_none));
          }
          if (Be && !$.emitDeclarationOnly) {
            if ($.module && !($.module === 2 || $.module === 4))
              Oe(p.Only_amd_and_system_modules_are_supported_alongside_0, "outFile", "module");
            else if ($.module === void 0 && Rt) {
              const Ir = K2(Rt, typeof Rt.externalModuleIndicator == "boolean" ? Rt : Rt.externalModuleIndicator);
              Te.addConfigDiagnostic(al(Rt, Ir.start, Ir.length, p.Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system, "outFile"));
            }
          }
          if (Lb($) && (Cu($) === 1 ? Oe(p.Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic, "resolveJsonModule") : U5($) || Oe(p.Option_resolveJsonModule_cannot_be_specified_when_module_is_set_to_none_system_or_umd, "resolveJsonModule", "module")), $.outDir || // there is --outDir specified
          $.rootDir || // there is --rootDir specified
          $.sourceRoot || // there is --sourceRoot specified
          $.mapRoot || // there is --mapRoot specified
          M_($) && $.declarationDir) {
            const Ir = Jt();
            $.outDir && Ir === "" && he.some((Vr) => bd(Vr.fileName) > 1) && Oe(p.Cannot_find_the_common_subdirectory_path_for_the_input_files, "outDir");
          }
          $.checkJs && !Ly($) && Oe(p.Option_0_cannot_be_specified_without_specifying_option_1, "checkJs", "allowJs"), $.emitDeclarationOnly && (M_($) || Oe(p.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2, "emitDeclarationOnly", "declaration", "composite")), $.emitDecoratorMetadata && !$.experimentalDecorators && Oe(p.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"), $.jsxFactory ? ($.reactNamespace && Oe(p.Option_0_cannot_be_specified_with_option_1, "reactNamespace", "jsxFactory"), ($.jsx === 4 || $.jsx === 5) && Oe(p.Option_0_cannot_be_specified_when_option_jsx_is_1, "jsxFactory", YN.get("" + $.jsx)), $x($.jsxFactory, nt) || xt("jsxFactory", p.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name, $.jsxFactory)) : $.reactNamespace && !F_($.reactNamespace, nt) && xt("reactNamespace", p.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier, $.reactNamespace), $.jsxFragmentFactory && ($.jsxFactory || Oe(p.Option_0_cannot_be_specified_without_specifying_option_1, "jsxFragmentFactory", "jsxFactory"), ($.jsx === 4 || $.jsx === 5) && Oe(p.Option_0_cannot_be_specified_when_option_jsx_is_1, "jsxFragmentFactory", YN.get("" + $.jsx)), $x($.jsxFragmentFactory, nt) || xt("jsxFragmentFactory", p.Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name, $.jsxFragmentFactory)), $.reactNamespace && ($.jsx === 4 || $.jsx === 5) && Oe(p.Option_0_cannot_be_specified_when_option_jsx_is_1, "reactNamespace", YN.get("" + $.jsx)), $.jsxImportSource && $.jsx === 2 && Oe(p.Option_0_cannot_be_specified_when_option_jsx_is_1, "jsxImportSource", YN.get("" + $.jsx));
          const pr = Wu($);
          $.verbatimModuleSyntax && (pr === 2 || pr === 3 || pr === 4) && Oe(p.Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System, "verbatimModuleSyntax"), $.allowImportingTsExtensions && !($.noEmit || $.emitDeclarationOnly || $.rewriteRelativeImportExtensions) && xt("allowImportingTsExtensions", p.Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set);
          const Or = Cu($);
          if ($.resolvePackageJsonExports && !KC(Or) && Oe(p.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "resolvePackageJsonExports"), $.resolvePackageJsonImports && !KC(Or) && Oe(p.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "resolvePackageJsonImports"), $.customConditions && !KC(Or) && Oe(p.Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler, "customConditions"), Or === 100 && !dN(pr) && pr !== 200 && xt("moduleResolution", p.Option_0_can_only_be_used_when_module_is_set_to_preserve_or_to_es2015_or_later, "bundler"), hC[pr] && 100 <= pr && pr <= 199 && !(3 <= Or && Or <= 99)) {
            const Ir = hC[pr], Vr = gC[Ir] ? Ir : "Node16";
            xt("moduleResolution", p.Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1, Vr, Ir);
          } else if (gC[Or] && 3 <= Or && Or <= 99 && !(100 <= pr && pr <= 199)) {
            const Ir = gC[Or];
            xt("module", p.Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1, Ir, Ir);
          }
          if (!$.noEmit && !$.suppressOutputPathCheck) {
            const Ir = Xt(), Vr = /* @__PURE__ */ new Set();
            QW(Ir, (hi) => {
              $.emitDeclarationOnly || dn(hi.jsFilePath, Vr), dn(hi.declarationFilePath, Vr);
            });
          }
          function dn(Ir, Vr) {
            if (Ir) {
              const hi = Nt(Ir);
              if (Xe.has(hi)) {
                let Zn;
                $.configFilePath || (Zn = Ss(
                  /*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
                )), Zn = Ss(Zn, p.Cannot_write_file_0_because_it_would_overwrite_input_file, Ir), ra(Ir, J5(Zn));
              }
              const ts = st.useCaseSensitiveFileNames() ? hi : uy(hi);
              Vr.has(ts) ? ra(Ir, $o(p.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files, Ir)) : Vr.add(ts);
            }
          }
        }
        function et() {
          const Be = $.ignoreDeprecations;
          if (Be) {
            if (Be === "5.0")
              return new vd(Be);
            se();
          }
          return vd.zero;
        }
        function Ut(Be, nt, Rt, pr) {
          const Or = new vd(Be), dn = new vd(nt), Ir = new vd(K || $E), Vr = et(), hi = dn.compareTo(Ir) !== 1, ts = !hi && Vr.compareTo(Or) === -1;
          (hi || ts) && pr((Zn, rs, Pi) => {
            hi ? rs === void 0 ? Rt(Zn, rs, Pi, p.Option_0_has_been_removed_Please_remove_it_from_your_configuration, Zn) : Rt(Zn, rs, Pi, p.Option_0_1_has_been_removed_Please_remove_it_from_your_configuration, Zn, rs) : rs === void 0 ? Rt(Zn, rs, Pi, p.Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error, Zn, nt, Be) : Rt(Zn, rs, Pi, p.Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error, Zn, rs, nt, Be);
          });
        }
        function Gt() {
          function Be(nt, Rt, pr, Or, ...dn) {
            if (pr) {
              const Ir = Ss(
                /*details*/
                void 0,
                p.Use_0_instead,
                pr
              ), Vr = Ss(Ir, Or, ...dn);
              $i(
                /*onKey*/
                !Rt,
                nt,
                /*option2*/
                void 0,
                Vr
              );
            } else
              $i(
                /*onKey*/
                !Rt,
                nt,
                /*option2*/
                void 0,
                Or,
                ...dn
              );
          }
          Ut("5.0", "5.5", Be, (nt) => {
            $.target === 0 && nt("target", "ES3"), $.noImplicitUseStrict && nt("noImplicitUseStrict"), $.keyofStringsOnly && nt("keyofStringsOnly"), $.suppressExcessPropertyErrors && nt("suppressExcessPropertyErrors"), $.suppressImplicitAnyIndexErrors && nt("suppressImplicitAnyIndexErrors"), $.noStrictGenericChecks && nt("noStrictGenericChecks"), $.charset && nt("charset"), $.out && nt(
              "out",
              /*value*/
              void 0,
              "outFile"
            ), $.importsNotUsedAsValues && nt(
              "importsNotUsedAsValues",
              /*value*/
              void 0,
              "verbatimModuleSyntax"
            ), $.preserveValueImports && nt(
              "preserveValueImports",
              /*value*/
              void 0,
              "verbatimModuleSyntax"
            );
          });
        }
        function Sr(Be, nt, Rt) {
          function pr(Or, dn, Ir, Vr, ...hi) {
            Tr(nt, Rt, Vr, ...hi);
          }
          Ut("5.0", "5.5", pr, (Or) => {
            Be.prepend && Or("prepend");
          });
        }
        function zr(Be, nt, Rt, pr) {
          Te.addFileProcessingDiagnostic({
            kind: 1,
            file: Be && Be.path,
            fileProcessingReason: nt,
            diagnostic: Rt,
            args: pr
          });
        }
        function jn() {
          const Be = $.suppressOutputPathCheck ? void 0 : fv($);
          bD(
            _e,
            it,
            (nt, Rt, pr) => {
              const Or = (Rt ? Rt.commandLine.projectReferences : _e)[pr], dn = Rt && Rt.sourceFile;
              if (Sr(Or, dn, pr), !nt) {
                Tr(dn, pr, p.File_0_not_found, Or.path);
                return;
              }
              const Ir = nt.commandLine.options;
              (!Ir.composite || Ir.noEmit) && (Rt ? Rt.commandLine.fileNames : U).length && (Ir.composite || Tr(dn, pr, p.Referenced_project_0_must_have_setting_composite_Colon_true, Or.path), Ir.noEmit && Tr(dn, pr, p.Referenced_project_0_may_not_disable_emit, Or.path)), !Rt && Be && Be === fv(Ir) && (Tr(dn, pr, p.Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1, Be, Or.path), pn.set(Nt(Be), true));
            }
          );
        }
        function ni(Be, nt, Rt, ...pr) {
          let Or = true;
          L((dn) => {
            ua(dn.initializer) && MC(dn.initializer, Be, (Ir) => {
              const Vr = Ir.initializer;
              Kl(Vr) && Vr.elements.length > nt && (Te.addConfigDiagnostic(tp($.configFile, Vr.elements[nt], Rt, ...pr)), Or = false);
            });
          }), Or && Ns(Rt, ...pr);
        }
        function wi(Be, nt, Rt, ...pr) {
          let Or = true;
          L((dn) => {
            ua(dn.initializer) && jo(
              dn.initializer,
              Be,
              nt,
              /*key2*/
              void 0,
              Rt,
              ...pr
            ) && (Or = false);
          }), Or && Ns(Rt, ...pr);
        }
        function L(Be) {
          return YJ(Zi(), "paths", Be);
        }
        function Oe(Be, nt, Rt, pr) {
          $i(
            /*onKey*/
            true,
            nt,
            Rt,
            Be,
            nt,
            Rt,
            pr
          );
        }
        function xt(Be, nt, ...Rt) {
          $i(
            /*onKey*/
            false,
            Be,
            /*option2*/
            void 0,
            nt,
            ...Rt
          );
        }
        function Tr(Be, nt, Rt, ...pr) {
          const Or = E3(Be || $.configFile, "references", (dn) => Kl(dn.initializer) ? dn.initializer : void 0);
          Or && Or.elements.length > nt ? Te.addConfigDiagnostic(tp(Be || $.configFile, Or.elements[nt], Rt, ...pr)) : Te.addConfigDiagnostic($o(Rt, ...pr));
        }
        function $i(Be, nt, Rt, pr, ...Or) {
          const dn = Zi();
          (!dn || !jo(dn, Be, nt, Rt, pr, ...Or)) && Ns(pr, ...Or);
        }
        function Ns(Be, ...nt) {
          const Rt = hs();
          Rt ? "messageText" in Be ? Te.addConfigDiagnostic(wg($.configFile, Rt.name, Be)) : Te.addConfigDiagnostic(tp($.configFile, Rt.name, Be, ...nt)) : "messageText" in Be ? Te.addConfigDiagnostic(J5(Be)) : Te.addConfigDiagnostic($o(Be, ...nt));
        }
        function Zi() {
          if (_i === void 0) {
            const Be = hs();
            _i = Be && Bn(Be.initializer, ua) || false;
          }
          return _i || void 0;
        }
        function hs() {
          return Je === void 0 && (Je = MC(
            F4($.configFile),
            "compilerOptions",
            fo
          ) || false), Je || void 0;
        }
        function jo(Be, nt, Rt, pr, Or, ...dn) {
          let Ir = false;
          return MC(Be, Rt, (Vr) => {
            "messageText" in Or ? Te.addConfigDiagnostic(wg($.configFile, nt ? Vr.name : Vr.initializer, Or)) : Te.addConfigDiagnostic(tp($.configFile, nt ? Vr.name : Vr.initializer, Or, ...dn)), Ir = true;
          }, pr), Ir;
        }
        function ra(Be, nt) {
          pn.set(Nt(Be), true), Te.addConfigDiagnostic(nt);
        }
        function Al(Be) {
          if ($.noEmit)
            return false;
          const nt = Nt(Be);
          if (ea(nt))
            return false;
          const Rt = $.outFile;
          if (Rt)
            return uf(nt, Rt) || uf(
              nt,
              Uu(Rt) + ".d.ts"
              /* Dts */
            );
          if ($.declarationDir && Kf($.declarationDir, nt, Mn, !st.useCaseSensitiveFileNames()))
            return true;
          if ($.outDir)
            return Kf($.outDir, nt, Mn, !st.useCaseSensitiveFileNames());
          if (bc(nt, e6) || wl(nt)) {
            const pr = Uu(nt);
            return !!ea(
              pr + ".ts"
              /* Ts */
            ) || !!ea(
              pr + ".tsx"
              /* Tsx */
            );
          }
          return false;
        }
        function uf(Be, nt) {
          return _h(Be, nt, Mn, !st.useCaseSensitiveFileNames()) === 0;
        }
        function Bf() {
          return st.getSymlinkCache ? st.getSymlinkCache() : (q || (q = kJ(Mn, yl)), he && !q.hasProcessedResolutions() && q.setSymlinksFromResolutions(M, ye, Ye), q);
        }
        function dp(Be, nt) {
          return LO(Be, nt, Hu(Be));
        }
        function Fh(Be, nt) {
          return Tve(Be, nt, Hu(Be));
        }
        function A0(Be, nt) {
          return dp(Be, E8(Be, nt));
        }
        function o_(Be) {
          return JO(Be, Hu(Be));
        }
        function tg(Be) {
          return OS(Be, Hu(Be));
        }
        function Rd(Be) {
          return ow(Be, Hu(Be));
        }
        function Vp(Be) {
          return Eve(Be, Hu(Be));
        }
        function e1(Be, nt) {
          return Be.resolutionMode || o_(nt);
        }
      }
      function Eve(e, t) {
        const n = Wu(t);
        return 100 <= n && n <= 199 || n === 200 ? false : ow(e, t) < 5;
      }
      function ow(e, t) {
        return OS(e, t) ?? Wu(t);
      }
      function OS(e, t) {
        var n, i;
        const s = Wu(t);
        if (100 <= s && s <= 199)
          return e.impliedNodeFormat;
        if (e.impliedNodeFormat === 1 && (((n = e.packageJsonScope) == null ? void 0 : n.contents.packageJsonContent.type) === "commonjs" || bc(e.fileName, [
          ".cjs",
          ".cts"
          /* Cts */
        ])))
          return 1;
        if (e.impliedNodeFormat === 99 && (((i = e.packageJsonScope) == null ? void 0 : i.contents.packageJsonContent.type) === "module" || bc(e.fileName, [
          ".mjs",
          ".mts"
          /* Mts */
        ])))
          return 99;
      }
      function JO(e, t) {
        return SJ(t) ? OS(e, t) : void 0;
      }
      function Vje(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), true) : e.getResolvedProjectReferences() ? (t || (t = /* @__PURE__ */ new Set(), e.forEachResolvedProjectReference((k) => {
          const D = k.commandLine.options.outFile;
          if (D)
            t.add(Hn(e.toPath(D)));
          else {
            const P = k.commandLine.options.declarationDir || k.commandLine.options.outDir;
            P && t.add(e.toPath(P));
          }
        })), S(
          T,
          /*isFile*/
          false
        )) : false), 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) ? true : !e.getResolvedProjectReferences() || !wl(T) ? false : S(
            T,
            /*isFile*/
            true
          );
        }
        function g(T) {
          const k = e.getRedirectFromOutput(e.toPath(T));
          return k !== void 0 ? ms(k.source) ? n.call(e.compilerHost, k.source) : true : void 0;
        }
        function m(T) {
          const k = e.toPath(T), D = `${k}${yo}`;
          return Eg(
            t,
            (P) => k === P || // Any parent directory of declaration dir
            Ui(P, D) || // Any directory inside declaration dir
            Ui(k, `${P}/`)
          );
        }
        function h(T) {
          var k;
          if (!e.getResolvedProjectReferences() || mD(T) || !o || !T.includes(Jg)) return;
          const D = e.getSymlinkCache(), P = pl(e.toPath(T));
          if ((k = D.getSymlinkedDirectories()) != null && k.has(P)) return;
          const A = qs(o.call(e.compilerHost, T));
          let O;
          if (A === T || (O = pl(e.toPath(A))) === P) {
            D.setSymlinkedDirectory(P, false);
            return;
          }
          D.setSymlinkedDirectory(T, {
            real: pl(A),
            realPath: O
          });
        }
        function S(T, k) {
          var D;
          const P = k ? g : m, A = P(T);
          if (A !== void 0) return A;
          const O = e.getSymlinkCache(), F = O.getSymlinkedDirectories();
          if (!F) return false;
          const R = e.toPath(T);
          return R.includes(Jg) ? k && ((D = O.getSymlinkedFiles()) != null && D.has(R)) ? true : FP(
            F.entries(),
            ([B, U]) => {
              if (!U || !Ui(R, B)) return;
              const $ = P(R.replace(B, U.realPath));
              if (k && $) {
                const W = Qi(T, e.compilerHost.getCurrentDirectory());
                O.setSymlinkedFile(
                  R,
                  `${U.real}${W.replace(new RegExp(B, "i"), "")}`
                );
              }
              return $;
            }
          ) || false : false;
        }
      }
      var yU = { diagnostics: Ge, sourceMaps: void 0, emittedFiles: void 0, emitSkipped: true };
      function vU(e, t, n, i) {
        const s = e.getCompilerOptions();
        if (s.noEmit)
          return t ? yU : 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 && M_(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: true };
      }
      function zO(e, t) {
        return kn(e, (n) => !n.skippedOn || !t[n.skippedOn]);
      }
      function WO(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: Fs(t, t.directoryExists),
          getDirectories: Fs(t, t.getDirectories),
          realpath: Fs(t, t.realpath),
          useCaseSensitiveFileNames: e.useCaseSensitiveFileNames(),
          getCurrentDirectory: () => e.getCurrentDirectory(),
          onUnRecoverableConfigFileDiagnostic: e.onUnRecoverableConfigFileDiagnostic || pb,
          trace: e.trace ? (n) => e.trace(n) : void 0
        };
      }
      function tk(e) {
        return XU(e.path);
      }
      function bU(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 Ly(e) || !uu(e, "noImplicitAny") ? void 0 : p.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type;
        }
        function o() {
          return Lb(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 Dve({ imports: e, moduleAugmentations: t }) {
        const n = e.map((i) => i);
        for (const i of t)
          i.kind === 11 && n.push(i);
        return n;
      }
      function E8({ 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 Aie(e) {
        let t, n = Pp(), i, s, o, c, _, u;
        return {
          addConfigDiagnostic(T) {
            E.assert(t === void 0, "Cannot modify program diagnostic state after requesting combined diagnostics"), (o ?? (o = X4())).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 = X4(), 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 || Ge
                    )
                  );
                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: P }) => t.add(
                m(
                  T,
                  k,
                  /*fileProcessingReason*/
                  void 0,
                  D,
                  P
                )
              )
            ), _ = void 0, u = void 0, t);
          }
        };
        function g(T, { reason: k }) {
          const { file: D, pos: P, end: A } = aw(T, k), O = D.libReferenceDirectives[k.index], F = GJ(O), R = mC(e4(F, "lib."), ".d.ts"), B = mb(R, qF, fo);
          return al(
            D,
            E.checkDefined(P),
            E.checkDefined(A) - P,
            B ? p.Cannot_find_lib_definition_for_0_Did_you_mean_1 : p.Cannot_find_lib_definition_for_0,
            F,
            B
          );
        }
        function m(T, k, D, P, A) {
          let O, F, R, B, U, $;
          const W = k && n.get(k.path);
          let _e = pv(D) ? D : void 0, K = k && _?.get(k.path);
          K ? (K.fileIncludeReasonDetails ? (O = new Set(W), W?.forEach(ce)) : W?.forEach(se), U = K.redirectInfo) : (W?.forEach(se), U = k && RU(k, T.getCompilerOptionsForFile(k))), D && se(D);
          const V = O?.size !== W?.length;
          _e && O?.size === 1 && (O = void 0), O && K && (K.details && !V ? $ = Ss(K.details, P, ...A ?? Ge) : K.fileIncludeReasonDetails && (V ? fe() ? F = Er(K.fileIncludeReasonDetails.next.slice(0, W.length), F[0]) : F = [...K.fileIncludeReasonDetails.next, F[0]] : fe() ? F = K.fileIncludeReasonDetails.next.slice(0, W.length) : B = K.fileIncludeReasonDetails)), $ || (B || (B = O && Ss(F, p.The_file_is_in_the_program_because_Colon)), $ = Ss(
            U ? B ? [B, ...U] : U : B,
            P,
            ...A || Ge
          )), k && (K ? (!K.fileIncludeReasonDetails || !V && B) && (K.fileIncludeReasonDetails = B) : (_ ?? (_ = /* @__PURE__ */ new Map())).set(k.path, K = { fileIncludeReasonDetails: B, redirectInfo: U }), !K.details && !V && (K.details = $.next));
          const ae = _e && aw(T, _e);
          return ae && F6(ae) ? G7(ae.file, ae.pos, ae.end - ae.pos, $, R) : J5($, R);
          function se(he) {
            O?.has(he) || ((O ?? (O = /* @__PURE__ */ new Set())).add(he), (F ?? (F = [])).push(JU(T, he)), ce(he));
          }
          function ce(he) {
            !_e && pv(he) ? _e = he : _e !== he && (R = Er(R, h(T, he)));
          }
          function fe() {
            var he;
            return ((he = K.fileIncludeReasonDetails.next) == null ? void 0 : he.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) ?? false), D || void 0;
        }
        function S(T, k) {
          if (pv(k)) {
            const R = aw(T, k);
            let B;
            switch (k.kind) {
              case 3:
                B = p.File_is_included_via_import_here;
                break;
              case 4:
                B = p.File_is_included_via_reference_here;
                break;
              case 5:
                B = p.File_is_included_via_type_library_reference_here;
                break;
              case 7:
                B = p.File_is_included_via_library_reference_here;
                break;
              default:
                E.assertNever(k);
            }
            return F6(R) ? al(
              R.file,
              R.pos,
              R.end - R.pos,
              B
            ) : void 0;
          }
          const D = T.getCurrentDirectory(), P = T.getRootFileNames(), A = T.getCompilerOptions();
          if (!A.configFile) return;
          let O, F;
          switch (k.kind) {
            case 0:
              if (!A.configFile.configFileSpecs) return;
              const R = Qi(P[k.index], D), B = jU(T, R);
              if (B) {
                O = K7(A.configFile, "files", B), F = p.File_is_matched_by_files_list_specified_here;
                break;
              }
              const U = BU(T, R);
              if (!U || !ms(U)) return;
              O = K7(A.configFile, "include", U), F = p.File_is_matched_by_include_pattern_specified_here;
              break;
            case 1:
            case 2:
              const $ = T.getResolvedProjectReferences(), W = T.getProjectReferences(), _e = E.checkDefined($?.[k.index]), K = bD(
                W,
                $,
                (fe, he, q) => fe === _e ? { sourceFile: he?.sourceFile || A.configFile, index: q } : void 0
              );
              if (!K) return;
              const { sourceFile: V, index: ae } = K, se = E3(V, "references", (fe) => Kl(fe.initializer) ? fe.initializer : void 0);
              return se && se.elements.length > ae ? tp(
                V,
                se.elements[ae],
                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 ce = V5(pa(A));
              O = ce ? ite(e(), "target", ce) : void 0, F = p.File_is_default_library_for_target_specified_here;
              break;
            default:
              E.assertNever(k);
          }
          return O && tp(
            A.configFile,
            O,
            F
          );
        }
      }
      function Iie(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 Fie = /* @__PURE__ */ ((e) => (e[e.ComputedDts = 0] = "ComputedDts", e[e.StoredSignatureAtEmit = 1] = "StoredSignatureAtEmit", e[e.UsedVersion = 2] = "UsedVersion", e))(Fie || {}), Id;
      ((e) => {
        function t() {
          function K(V, ae, se) {
            const ce = {
              getKeys: (fe) => ae.get(fe),
              getValues: (fe) => V.get(fe),
              keys: () => V.keys(),
              size: () => V.size,
              deleteKey: (fe) => {
                (se || (se = /* @__PURE__ */ new Set())).add(fe);
                const he = V.get(fe);
                return he ? (he.forEach((q) => i(ae, q, fe)), V.delete(fe), true) : false;
              },
              set: (fe, he) => {
                se?.delete(fe);
                const q = V.get(fe);
                return V.set(fe, he), q?.forEach((be) => {
                  he.has(be) || i(ae, be, fe);
                }), he.forEach((be) => {
                  q?.has(be) || n(ae, be, fe);
                }), ce;
              }
            };
            return ce;
          }
          return K(
            /* @__PURE__ */ new Map(),
            /* @__PURE__ */ new Map(),
            /*deleted*/
            void 0
          );
        }
        e.createManyToManyPathMap = t;
        function n(K, V, ae) {
          let se = K.get(V);
          se || (se = /* @__PURE__ */ new Set(), K.set(V, se)), se.add(ae);
        }
        function i(K, V, ae) {
          const se = K.get(V);
          return se?.delete(ae) ? (se.size || K.delete(V), true) : false;
        }
        function s(K) {
          return Fi(K.declarations, (V) => {
            var ae;
            return (ae = xr(V)) == null ? void 0 : ae.resolvedPath;
          });
        }
        function o(K, V) {
          const ae = K.getSymbolAtLocation(V);
          return ae && s(ae);
        }
        function c(K, V, ae, se) {
          var ce;
          return io(((ce = K.getRedirectFromSourceFile(V)) == null ? void 0 : ce.outputDts) || V, ae, se);
        }
        function _(K, V, ae) {
          let se;
          if (V.imports && V.imports.length > 0) {
            const q = K.getTypeChecker();
            for (const be of V.imports) {
              const je = o(q, be);
              je?.forEach(he);
            }
          }
          const ce = Hn(V.resolvedPath);
          if (V.referencedFiles && V.referencedFiles.length > 0)
            for (const q of V.referencedFiles) {
              const be = c(K, q.fileName, ce, ae);
              he(be);
            }
          if (K.forEachResolvedTypeReferenceDirective(({ resolvedTypeReferenceDirective: q }) => {
            if (!q)
              return;
            const be = q.resolvedFileName, je = c(K, be, ce, ae);
            he(je);
          }, V), V.moduleAugmentations.length) {
            const q = K.getTypeChecker();
            for (const be of V.moduleAugmentations) {
              if (!oa(be)) continue;
              const je = q.getSymbolAtLocation(be);
              je && fe(je);
            }
          }
          for (const q of K.getTypeChecker().getAmbientModules())
            q.declarations && q.declarations.length > 1 && fe(q);
          return se;
          function fe(q) {
            if (q.declarations)
              for (const be of q.declarations) {
                const je = xr(be);
                je && je !== V && he(je.resolvedPath);
              }
          }
          function he(q) {
            (se || (se = /* @__PURE__ */ new Set())).add(q);
          }
        }
        function u(K, V) {
          return V && !V.referencedMap == !K;
        }
        e.canReuseOldState = u;
        function g(K) {
          return K.module !== 0 && !K.outFile ? t() : void 0;
        }
        e.createReferencedMap = g;
        function m(K, V, ae) {
          var se, ce;
          const fe = /* @__PURE__ */ new Map(), he = K.getCompilerOptions(), q = g(he), be = u(q, V);
          K.getTypeChecker();
          for (const je of K.getSourceFiles()) {
            const me = E.checkDefined(je.version, "Program intended to be used with Builder should have source files with versions set"), Z = be ? (se = V.oldSignatures) == null ? void 0 : se.get(je.resolvedPath) : void 0, pe = Z === void 0 ? be ? (ce = V.fileInfos.get(je.resolvedPath)) == null ? void 0 : ce.signature : void 0 : Z || void 0;
            if (q) {
              const Te = _(K, je, K.getCanonicalFileName);
              Te && q.set(je.resolvedPath, Te);
            }
            fe.set(je.resolvedPath, {
              version: me,
              signature: pe,
              // No need to calculate affectsGlobalScope with --out since its not used at all
              affectsGlobalScope: he.outFile ? void 0 : U(je) || void 0,
              impliedFormat: je.impliedNodeFormat
            });
          }
          return {
            fileInfos: fe,
            referencedMap: q,
            useFileVersionAsSignature: !ae && !be
          };
        }
        e.create = m;
        function h(K) {
          K.allFilesExcludingDefaultLibraryFile = void 0, K.allFileNames = void 0;
        }
        e.releaseCache = h;
        function S(K, V, ae, se, ce) {
          var fe;
          const he = T(
            K,
            V,
            ae,
            se,
            ce
          );
          return (fe = K.oldSignatures) == null || fe.clear(), he;
        }
        e.getFilesAffectedBy = S;
        function T(K, V, ae, se, ce) {
          const fe = V.getSourceFileByPath(ae);
          return fe ? P(K, V, fe, se, ce) ? (K.referencedMap ? _e : W)(K, V, fe, se, ce) : [fe] : Ge;
        }
        e.getFilesAffectedByWithOldState = T;
        function k(K, V, ae) {
          K.fileInfos.get(ae).signature = V, (K.hasCalledUpdateShapeSignature || (K.hasCalledUpdateShapeSignature = /* @__PURE__ */ new Set())).add(ae);
        }
        e.updateSignatureOfFile = k;
        function D(K, V, ae, se, ce) {
          K.emit(
            V,
            (fe, he, q, be, je, me) => {
              E.assert(wl(fe), `File extension for signature expected to be dts: Got:: ${fe}`), ce(
                xU(
                  K,
                  V,
                  he,
                  se,
                  me
                ),
                je
              );
            },
            ae,
            2,
            /*customTransformers*/
            void 0,
            /*forceDtsEmit*/
            true
          );
        }
        e.computeDtsSignature = D;
        function P(K, V, ae, se, ce, fe = K.useFileVersionAsSignature) {
          var he;
          if ((he = K.hasCalledUpdateShapeSignature) != null && he.has(ae.resolvedPath)) return false;
          const q = K.fileInfos.get(ae.resolvedPath), be = q.signature;
          let je;
          return !ae.isDeclarationFile && !fe && D(V, ae, se, ce, (me) => {
            je = me, ce.storeSignatureInfo && (K.signatureInfo ?? (K.signatureInfo = /* @__PURE__ */ new Map())).set(
              ae.resolvedPath,
              0
              /* ComputedDts */
            );
          }), je === void 0 && (je = ae.version, ce.storeSignatureInfo && (K.signatureInfo ?? (K.signatureInfo = /* @__PURE__ */ new Map())).set(
            ae.resolvedPath,
            2
            /* UsedVersion */
          )), (K.oldSignatures || (K.oldSignatures = /* @__PURE__ */ new Map())).set(ae.resolvedPath, be || false), (K.hasCalledUpdateShapeSignature || (K.hasCalledUpdateShapeSignature = /* @__PURE__ */ new Set())).add(ae.resolvedPath), q.signature = je, je !== be;
        }
        e.updateShapeSignature = P;
        function A(K, V, ae) {
          if (V.getCompilerOptions().outFile || !K.referencedMap || U(ae))
            return O(K, V);
          const ce = /* @__PURE__ */ new Set(), fe = [ae.resolvedPath];
          for (; fe.length; ) {
            const he = fe.pop();
            if (!ce.has(he)) {
              ce.add(he);
              const q = K.referencedMap.getValues(he);
              if (q)
                for (const be of q.keys())
                  fe.push(be);
            }
          }
          return ns(sy(ce.keys(), (he) => {
            var q;
            return ((q = V.getSourceFileByPath(he)) == null ? void 0 : q.fileName) ?? he;
          }));
        }
        e.getAllDependencies = A;
        function O(K, V) {
          if (!K.allFileNames) {
            const ae = V.getSourceFiles();
            K.allFileNames = ae === Ge ? Ge : ae.map((se) => se.fileName);
          }
          return K.allFileNames;
        }
        function F(K, V) {
          const ae = K.referencedMap.getKeys(V);
          return ae ? ns(ae.keys()) : [];
        }
        e.getReferencedByPaths = F;
        function R(K) {
          for (const V of K.statements)
            if (!V7(V))
              return false;
          return true;
        }
        function B(K) {
          return ot(K.moduleAugmentations, (V) => Vm(V.parent));
        }
        function U(K) {
          return B(K) || !Y_(K) && !rp(K) && !R(K);
        }
        function $(K, V, ae) {
          if (K.allFilesExcludingDefaultLibraryFile)
            return K.allFilesExcludingDefaultLibraryFile;
          let se;
          ae && ce(ae);
          for (const fe of V.getSourceFiles())
            fe !== ae && ce(fe);
          return K.allFilesExcludingDefaultLibraryFile = se || Ge, K.allFilesExcludingDefaultLibraryFile;
          function ce(fe) {
            V.isSourceFileDefaultLibrary(fe) || (se || (se = [])).push(fe);
          }
        }
        e.getAllFilesExcludingDefaultLibraryFile = $;
        function W(K, V, ae) {
          const se = V.getCompilerOptions();
          return se && se.outFile ? [ae] : $(K, V, ae);
        }
        function _e(K, V, ae, se, ce) {
          if (U(ae))
            return $(K, V, ae);
          const fe = V.getCompilerOptions();
          if (fe && (Rp(fe) || fe.outFile))
            return [ae];
          const he = /* @__PURE__ */ new Map();
          he.set(ae.resolvedPath, ae);
          const q = F(K, ae.resolvedPath);
          for (; q.length > 0; ) {
            const be = q.pop();
            if (!he.has(be)) {
              const je = V.getSourceFileByPath(be);
              he.set(be, je), je && P(K, V, je, se, ce) && q.push(...F(K, je.resolvedPath));
            }
          }
          return ns(sy(he.values(), (be) => be));
        }
      })(Id || (Id = {}));
      var Oie = /* @__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))(Oie || {});
      function O6(e) {
        return e.program !== void 0;
      }
      function qje(e) {
        return E.assert(O6(e)), e;
      }
      function Xy(e) {
        let t = 1;
        return e.sourceMap && (t = t | 2), e.inlineSourceMap && (t = t | 4), M_(e) && (t = t | 24), e.declarationMap && (t = t | 32), e.emitDeclarationOnly && (t = t & 56), t;
      }
      function UO(e, t) {
        const n = t && (ly(t) ? t : Xy(t)), i = ly(e) ? e : Xy(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 Hje(e, t) {
        return e === t || e !== void 0 && t !== void 0 && e.size === t.size && !Eg(e, (n) => !t.has(n));
      }
      function Gje(e, t) {
        var n, i;
        const s = Id.create(
          e,
          t,
          /*disableUseFileVersionAsSignature*/
          false
        );
        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 && wve(o, t.compilerOptions, t.outSignature)), s.changedFilesSet = /* @__PURE__ */ new Set(), s.latestChangedDtsFile = o.composite ? t?.latestChangedDtsFile : void 0, s.checkPending = s.compilerOptions.noCheck ? true : void 0;
        const _ = Id.canReuseOldState(s.referencedMap, t), u = _ ? t.compilerOptions : void 0;
        let g = _ && !Dee(o, u);
        const m = o.composite && t?.emitSignatures && !c && !Pee(o, t.compilerOptions);
        let h = true;
        _ ? ((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 = false, h = false), s.hasErrorsFromOldState = t.hasErrors) : s.buildInfoEmitPending = Mb(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 R, B;
          if (!_ || // File wasn't present in old state
          !(R = t.fileInfos.get(O)) || // versions dont match
          R.version !== A.version || // Implied formats dont match
          R.impliedFormat !== A.impliedFormat || // Referenced files changed
          !Hje(B = S && S.getValues(O), T && T.getValues(O)) || // Referenced file was deleted in the new program
          B && Eg(B, (U) => !s.fileInfos.has(U) && t.fileInfos.has(U)))
            P(O);
          else {
            const U = e.getSourceFileByPath(O), $ = h ? (F = t.emitDiagnosticsPerFile) == null ? void 0 : F.get(O) : void 0;
            if ($ && (s.emitDiagnosticsPerFile ?? (s.emitDiagnosticsPerFile = /* @__PURE__ */ new Map())).set(
              O,
              t.hasReusableDiagnostic ? Nve($, O, e) : Pve($, e)
            ), g) {
              if (U.isDeclarationFile && !k || U.hasNoDefaultLib && !D) return;
              const W = t.semanticDiagnosticsPerFile.get(O);
              W && (s.semanticDiagnosticsPerFile.set(
                O,
                t.hasReusableDiagnostic ? Nve(W, O, e) : Pve(W, e)
              ), (s.semanticDiagnosticsFromOldState ?? (s.semanticDiagnosticsFromOldState = /* @__PURE__ */ new Set())).add(O));
            }
          }
          if (m) {
            const U = t.emitSignatures.get(O);
            U && (s.emitSignatures ?? (s.emitSignatures = /* @__PURE__ */ new Map())).set(O, wve(o, t.compilerOptions, U));
          }
        }), _ && dl(t.fileInfos, (A, O) => s.fileInfos.has(O) ? false : A.affectsGlobalScope ? true : (s.buildInfoEmitPending = true, !!c)))
          Id.getAllFilesExcludingDefaultLibraryFile(
            s,
            e,
            /*firstSourceFile*/
            void 0
          ).forEach((A) => P(A.resolvedPath));
        else if (u) {
          const A = wee(o, u) ? Xy(o) : UO(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) || CU(
              s,
              O.resolvedPath,
              A
            );
          }), E.assert(!s.seenAffectedFiles || !s.seenAffectedFiles.size), s.seenAffectedFiles = s.seenAffectedFiles || /* @__PURE__ */ new Set()), s.buildInfoEmitPending = true);
        }
        return _ && s.semanticDiagnosticsPerFile.size !== s.fileInfos.size && t.checkPending !== s.checkPending && (s.buildInfoEmitPending = true), s;
        function P(A) {
          s.changedFilesSet.add(A), c && (g = false, h = false, s.semanticDiagnosticsFromOldState = void 0, s.semanticDiagnosticsPerFile.clear(), s.emitDiagnosticsPerFile = void 0), s.buildInfoEmitPending = true, s.programEmitPending = void 0;
        }
      }
      function wve(e, t, n) {
        return !!e.declarationMap == !!t.declarationMap ? (
          // Use same format of signature
          n
        ) : (
          // Convert to different format
          ms(n) ? [n] : n[0]
        );
      }
      function Pve(e, t) {
        return e.length ? Gc(e, (n) => {
          if (ms(n.messageText)) return n;
          const i = Lie(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 Lie(e, t, n, i) {
        const s = i(e);
        if (s === true)
          return {
            ...eB(t),
            next: Mie(e.next, t, n, i)
          };
        if (s)
          return {
            ...B7(t, n, s.moduleReference, s.mode, s.packageName || s.moduleReference),
            next: Mie(e.next, t, n, i)
          };
        const o = Mie(e.next, t, n, i);
        return o === e.next ? e : { ...e, next: o };
      }
      function Mie(e, t, n, i) {
        return Gc(e, (s) => Lie(s, t, n, i));
      }
      function Nve(e, t, n) {
        if (!e.length) return Ge;
        let i;
        return e.map((o) => {
          const c = Ave(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) => Ave(u, t, n, s)) : [] : void 0, c;
        });
        function s(o) {
          return i ?? (i = Hn(Qi(fv(n.getCompilerOptions()), n.getCurrentDirectory()))), io(o, i, n.getCanonicalFileName);
        }
      }
      function Ave(e, t, n, i) {
        const { file: s } = e, o = s !== false ? n.getSourceFileByPath(s ? i(s) : t) : void 0;
        return {
          ...e,
          file: o,
          messageText: ms(e.messageText) ? e.messageText : Lie(e.messageText, o, n, (c) => c.info)
        };
      }
      function $je(e) {
        Id.releaseCache(e), e.program = void 0;
      }
      function Rie(e, t) {
        E.assert(!t || !e.affectedFiles || e.affectedFiles[e.affectedFilesIndex - 1] !== t || !e.semanticDiagnosticsPerFile.has(t.resolvedPath));
      }
      function Ive(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, CU(
                  e,
                  g.resolvedPath,
                  Xy(e.compilerOptions)
                ), Yje(
                  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 = Id.getFilesAffectedByWithOldState(
            e,
            e.program,
            o.value,
            t,
            n
          ), e.currentChangedFilePath = o.value, e.affectedFilesIndex = 0, e.seenAffectedFiles || (e.seenAffectedFiles = /* @__PURE__ */ new Set());
        }
      }
      function Fve(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 VO(e, t, n, i) {
        let s = UO(e, t);
        return n && (s = s & 56), i && (s = s & 8), s;
      }
      function SU(e) {
        return e ? 8 : 56;
      }
      function Xje(e, t, n) {
        var i;
        if ((i = e.affectedFilesPendingEmit) != null && i.size)
          return dl(e.affectedFilesPendingEmit, (s, o) => {
            var c;
            const _ = e.program.getSourceFileByPath(o);
            if (!_ || !Nb(_, e.program)) {
              e.affectedFilesPendingEmit.delete(o);
              return;
            }
            const u = (c = e.seenEmittedFiles) == null ? void 0 : c.get(_.resolvedPath), g = VO(
              s,
              u,
              t,
              n
            );
            if (g) return { affectedFile: _, emitKind: g };
          });
      }
      function Qje(e, t) {
        var n;
        if ((n = e.emitDiagnosticsPerFile) != null && n.size)
          return dl(e.emitDiagnosticsPerFile, (i, s) => {
            var o;
            const c = e.program.getSourceFileByPath(s);
            if (!c || !Nb(c, e.program)) {
              e.emitDiagnosticsPerFile.delete(s);
              return;
            }
            const _ = ((o = e.seenEmittedFiles) == null ? void 0 : o.get(c.resolvedPath)) || 0;
            if (!(_ & SU(t))) return { affectedFile: c, diagnostics: i, seenKind: _ };
          });
      }
      function Ove(e) {
        if (!e.cleanedDiagnosticsOfLibFiles) {
          e.cleanedDiagnosticsOfLibFiles = true;
          const t = e.program.getCompilerOptions();
          lr(e.program.getSourceFiles(), (n) => e.program.isSourceFileDefaultLibrary(n) && !Jee(n, t, e.program) && Bie(e, n.resolvedPath));
        }
      }
      function Yje(e, t, n, i) {
        if (Bie(e, t.resolvedPath), e.allFilesExcludingDefaultLibraryFile === e.affectedFiles) {
          Ove(e), Id.updateShapeSignature(
            e,
            e.program,
            t,
            n,
            i
          );
          return;
        }
        e.compilerOptions.assumeChangesOnlyAffectDirectDependencies || Zje(
          e,
          t,
          n,
          i
        );
      }
      function jie(e, t, n, i, s) {
        if (Bie(e, t), !e.changedFilesSet.has(t)) {
          const o = e.program.getSourceFileByPath(t);
          o && (Id.updateShapeSignature(
            e,
            e.program,
            o,
            i,
            s,
            /*useFileVersionAsSignature*/
            true
          ), n ? CU(
            e,
            t,
            Xy(e.compilerOptions)
          ) : M_(e.compilerOptions) && CU(
            e,
            t,
            e.compilerOptions.declarationMap ? 56 : 24
            /* Dts */
          ));
        }
      }
      function Bie(e, t) {
        return e.semanticDiagnosticsFromOldState ? (e.semanticDiagnosticsFromOldState.delete(t), e.semanticDiagnosticsPerFile.delete(t), !e.semanticDiagnosticsFromOldState.size) : true;
      }
      function Lve(e, t) {
        const n = E.checkDefined(e.oldSignatures).get(t) || void 0;
        return E.checkDefined(e.fileInfos.get(t)).signature !== n;
      }
      function Jie(e, t, n, i, s) {
        var o;
        return (o = e.fileInfos.get(t)) != null && o.affectsGlobalScope ? (Id.getAllFilesExcludingDefaultLibraryFile(
          e,
          e.program,
          /*firstSourceFile*/
          void 0
        ).forEach(
          (c) => jie(
            e,
            c.resolvedPath,
            n,
            i,
            s
          )
        ), Ove(e), true) : false;
      }
      function Zje(e, t, n, i) {
        var s, o;
        if (!e.referencedMap || !e.changedFilesSet.has(t.resolvedPath) || !Lve(e, t.resolvedPath)) return;
        if (Rp(e.compilerOptions)) {
          const u = /* @__PURE__ */ new Map();
          u.set(t.resolvedPath, true);
          const g = Id.getReferencedByPaths(e, t.resolvedPath);
          for (; g.length > 0; ) {
            const m = g.pop();
            if (!u.has(m)) {
              if (u.set(m, true), Jie(
                e,
                m,
                /*invalidateJsFiles*/
                false,
                n,
                i
              )) return;
              if (jie(
                e,
                m,
                /*invalidateJsFiles*/
                false,
                n,
                i
              ), Lve(e, m)) {
                const h = e.program.getSourceFileByPath(m);
                g.push(...Id.getReferencedByPaths(e, h.resolvedPath));
              }
            }
          }
        }
        const c = /* @__PURE__ */ new Set(), _ = !!((s = t.symbol) != null && s.exports) && !!dl(
          t.symbol.exports,
          (u) => {
            if ((u.flags & 128) !== 0) return true;
            const g = Ql(u, e.program.getTypeChecker());
            return g === u ? false : (g.flags & 128) !== 0 && ot(g.declarations, (m) => xr(m) === t);
          }
        );
        (o = e.referencedMap.getKeys(t.resolvedPath)) == null || o.forEach((u) => {
          if (Jie(e, u, _, n, i)) return true;
          const g = e.referencedMap.getKeys(u);
          return g && Eg(g, (m) => Mve(
            e,
            m,
            _,
            c,
            n,
            i
          ));
        });
      }
      function Mve(e, t, n, i, s, o) {
        var c;
        if (s0(i, t)) {
          if (Jie(e, t, n, s, o)) return true;
          jie(e, t, n, s, o), (c = e.referencedMap.getKeys(t)) == null || c.forEach(
            (_) => Mve(
              e,
              _,
              n,
              i,
              s,
              o
            )
          );
        }
      }
      function TU(e, t, n, i) {
        return e.compilerOptions.noCheck ? Ge : Bi(
          Kje(e, t, n, i),
          e.program.getProgramDiagnostics(t)
        );
      }
      function Kje(e, t, n, i) {
        i ?? (i = e.semanticDiagnosticsPerFile);
        const s = t.resolvedPath, o = i.get(s);
        if (o)
          return zO(o, e.compilerOptions);
        const c = e.program.getBindAndCheckDiagnostics(t, n);
        return i.set(s, c), e.buildInfoEmitPending = true, zO(c, e.compilerOptions);
      }
      function zie(e) {
        var t;
        return !!((t = e.options) != null && t.outFile);
      }
      function D8(e) {
        return !!e.fileNames;
      }
      function eBe(e) {
        return !D8(e) && !!e.root;
      }
      function Rve(e) {
        e.hasErrors === void 0 && (Mb(e.compilerOptions) ? e.hasErrors = !ot(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);
        }) && (jve(e) || ot(e.program.getSourceFiles(), (t) => !!e.program.getProgramDiagnostics(t).length)) : e.hasErrors = ot(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);
        }) || jve(e));
      }
      function jve(e) {
        return !!e.program.getConfigFileParsingDiagnostics().length || !!e.program.getSyntacticDiagnostics().length || !!e.program.getOptionsDiagnostics().length || !!e.program.getGlobalDiagnostics().length;
      }
      function Bve(e) {
        return Rve(e), e.buildInfoEmitPending ?? (e.buildInfoEmitPending = !!e.hasErrorsFromOldState != !!e.hasErrors);
      }
      function tBe(e) {
        var t, n;
        const i = e.program.getCurrentDirectory(), s = Hn(Qi(fv(e.compilerOptions), i)), o = e.latestChangedDtsFile ? O(e.latestChangedDtsFile) : void 0, c = [], _ = /* @__PURE__ */ new Map(), u = new Set(e.program.getRootFileNames().map((q) => io(q, i, e.program.getCanonicalFileName)));
        if (Rve(e), !Mb(e.compilerOptions))
          return {
            root: ns(u, (be) => F(be)),
            errors: e.hasErrors ? true : void 0,
            checkPending: e.checkPending,
            version: Qf
          };
        const g = [];
        if (e.compilerOptions.outFile) {
          const q = ns(e.fileInfos.entries(), ([je, me]) => {
            const Z = R(je);
            return U(je, Z), me.impliedFormat ? { version: me.version, impliedFormat: me.impliedFormat, signature: void 0, affectsGlobalScope: void 0 } : me.version;
          });
          return {
            fileNames: c,
            fileInfos: q,
            root: g,
            resolvedRoot: $(),
            options: W(e.compilerOptions),
            semanticDiagnosticsPerFile: e.changedFilesSet.size ? void 0 : K(),
            emitDiagnosticsPerFile: V(),
            changeFileSet: he(),
            outSignature: e.outSignature,
            latestChangedDtsFile: o,
            pendingEmit: e.programEmitPending ? (
              // Pending is undefined or None is encoded as undefined
              e.programEmitPending === Xy(e.compilerOptions) ? false : (
                // Pending emit is same as deteremined by compilerOptions
                e.programEmitPending
              )
            ) : void 0,
            // Actual value
            errors: e.hasErrors ? true : void 0,
            checkPending: e.checkPending,
            version: Qf
          };
        }
        let m, h, S;
        const T = ns(e.fileInfos.entries(), ([q, be]) => {
          var je, me;
          const Z = R(q);
          U(q, Z), E.assert(c[Z - 1] === F(q));
          const pe = (je = e.oldSignatures) == null ? void 0 : je.get(q), Te = pe !== void 0 ? pe || void 0 : be.signature;
          if (e.compilerOptions.composite) {
            const Fe = e.program.getSourceFileByPath(q);
            if (!rp(Fe) && Nb(Fe, e.program)) {
              const Ye = (me = e.emitSignatures) == null ? void 0 : me.get(q);
              Ye !== Te && (S = Er(
                S,
                Ye === void 0 ? Z : (
                  // There is no emit, encode as false
                  // fileId, signature: emptyArray if signature only differs in dtsMap option than our own compilerOptions otherwise EmitSignature
                  [Z, !ms(Ye) && Ye[0] === Te ? Ge : Ye]
                )
              ));
            }
          }
          return be.version === Te ? be.affectsGlobalScope || be.impliedFormat ? (
            // If file version is same as signature, dont serialize signature
            { version: be.version, signature: void 0, affectsGlobalScope: be.affectsGlobalScope, impliedFormat: be.impliedFormat }
          ) : (
            // If file info only contains version and signature and both are same we can just write string
            be.version
          ) : Te !== void 0 ? (
            // If signature is not same as version, encode signature in the fileInfo
            pe === void 0 ? (
              // If we havent computed signature, use fileInfo as is
              be
            ) : (
              // Serialize fileInfo with new updated signature
              { version: be.version, signature: Te, affectsGlobalScope: be.affectsGlobalScope, impliedFormat: be.impliedFormat }
            )
          ) : (
            // Signature of the FileInfo is undefined, serialize it as false
            { version: be.version, signature: false, affectsGlobalScope: be.affectsGlobalScope, impliedFormat: be.impliedFormat }
          );
        });
        let k;
        (t = e.referencedMap) != null && t.size() && (k = ns(e.referencedMap.keys()).sort(ou).map((q) => [
          R(q),
          B(e.referencedMap.getValues(q))
        ]));
        const D = K();
        let P;
        if ((n = e.affectedFilesPendingEmit) != null && n.size) {
          const q = Xy(e.compilerOptions), be = /* @__PURE__ */ new Set();
          for (const je of ns(e.affectedFilesPendingEmit.keys()).sort(ou))
            if (s0(be, je)) {
              const me = e.program.getSourceFileByPath(je);
              if (!me || !Nb(me, e.program)) continue;
              const Z = R(je), pe = e.affectedFilesPendingEmit.get(je);
              P = Er(
                P,
                pe === q ? Z : (
                  // Pending full emit per options
                  pe === 24 ? [Z] : (
                    // Pending on Dts only
                    [Z, pe]
                  )
                )
                // Anything else
              );
            }
        }
        return {
          fileNames: c,
          fileIdsList: m,
          fileInfos: T,
          root: g,
          resolvedRoot: $(),
          options: W(e.compilerOptions),
          referencedMap: k,
          semanticDiagnosticsPerFile: D,
          emitDiagnosticsPerFile: V(),
          changeFileSet: he(),
          affectedFilesPendingEmit: P,
          emitSignatures: S,
          latestChangedDtsFile: o,
          errors: e.hasErrors ? true : void 0,
          checkPending: e.checkPending,
          version: Qf
        };
        function O(q) {
          return F(Qi(q, i));
        }
        function F(q) {
          return W2(Ef(s, q, e.program.getCanonicalFileName));
        }
        function R(q) {
          let be = _.get(q);
          return be === void 0 && (c.push(F(q)), _.set(q, be = c.length)), be;
        }
        function B(q) {
          const be = ns(q.keys(), R).sort(po), je = be.join();
          let me = h?.get(je);
          return me === void 0 && (m = Er(m, be), (h ?? (h = /* @__PURE__ */ new Map())).set(je, me = m.length)), me;
        }
        function U(q, be) {
          const je = e.program.getSourceFile(q);
          if (!e.program.getFileIncludeReasons().get(je.path).some(
            (Te) => Te.kind === 0
            /* RootFile */
          )) return;
          if (!g.length) return g.push(be);
          const me = g[g.length - 1], Z = ss(me);
          if (Z && me[1] === be - 1) return me[1] = be;
          if (Z || g.length === 1 || me !== be - 1) return g.push(be);
          const pe = g[g.length - 2];
          return !ly(pe) || pe !== me - 1 ? g.push(be) : (g[g.length - 2] = [pe, be], g.length = g.length - 1);
        }
        function $() {
          let q;
          return u.forEach((be) => {
            const je = e.program.getSourceFileByPath(be);
            je && be !== je.resolvedPath && (q = Er(q, [R(je.resolvedPath), R(be)]));
          }), q;
        }
        function W(q) {
          let be;
          const { optionsNameMap: je } = x6();
          for (const me of Zd(q).sort(ou)) {
            const Z = je.get(me.toLowerCase());
            Z?.affectsBuildInfo && ((be || (be = {}))[me] = _e(
              Z,
              q[me]
            ));
          }
          return be;
        }
        function _e(q, be) {
          if (q) {
            if (E.assert(q.type !== "listOrElement"), q.type === "list") {
              const je = be;
              if (q.element.isFilePath && je.length)
                return je.map(O);
            } else if (q.isFilePath)
              return O(be);
          }
          return be;
        }
        function K() {
          let q;
          return e.fileInfos.forEach((be, je) => {
            const me = e.semanticDiagnosticsPerFile.get(je);
            me ? me.length && (q = Er(q, [
              R(je),
              ae(me, je)
            ])) : e.changedFilesSet.has(je) || (q = Er(q, R(je)));
          }), q;
        }
        function V() {
          var q;
          let be;
          if (!((q = e.emitDiagnosticsPerFile) != null && q.size)) return be;
          for (const je of ns(e.emitDiagnosticsPerFile.keys()).sort(ou)) {
            const me = e.emitDiagnosticsPerFile.get(je);
            be = Er(be, [
              R(je),
              ae(me, je)
            ]);
          }
          return be;
        }
        function ae(q, be) {
          return E.assert(!!q.length), q.map((je) => {
            const me = se(je, be);
            me.reportsUnnecessary = je.reportsUnnecessary, me.reportDeprecated = je.reportsDeprecated, me.source = je.source, me.skippedOn = je.skippedOn;
            const { relatedInformation: Z } = je;
            return me.relatedInformation = Z ? Z.length ? Z.map((pe) => se(pe, be)) : [] : void 0, me;
          });
        }
        function se(q, be) {
          const { file: je } = q;
          return {
            ...q,
            file: je ? je.resolvedPath === be ? void 0 : F(je.resolvedPath) : false,
            messageText: ms(q.messageText) ? q.messageText : ce(q.messageText)
          };
        }
        function ce(q) {
          if (q.repopulateInfo)
            return {
              info: q.repopulateInfo(),
              next: fe(q.next)
            };
          const be = fe(q.next);
          return be === q.next ? q : { ...q, next: be };
        }
        function fe(q) {
          return q && (lr(q, (be, je) => {
            const me = ce(be);
            if (be === me) return;
            const Z = je > 0 ? q.slice(0, je - 1) : [];
            Z.push(me);
            for (let pe = je + 1; pe < q.length; pe++)
              Z.push(ce(q[pe]));
            return Z;
          }) || q);
        }
        function he() {
          let q;
          if (e.changedFilesSet.size)
            for (const be of ns(e.changedFilesSet.keys()).sort(ou))
              q = Er(q, R(be));
          return q;
        }
      }
      var Wie = /* @__PURE__ */ ((e) => (e[e.SemanticDiagnosticsBuilderProgram = 0] = "SemanticDiagnosticsBuilderProgram", e[e.EmitAndSemanticDiagnosticsBuilderProgram = 1] = "EmitAndSemanticDiagnosticsBuilderProgram", e))(Wie || {});
      function qO(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()) : ss(e) ? (u = i, _ = C8({
          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 || Ge };
      }
      function Jve(e, t) {
        return t?.sourceMapUrlPos !== void 0 ? e.substring(0, t.sourceMapUrlPos) : e;
      }
      function xU(e, t, n, i, s) {
        var o;
        n = Jve(n, s);
        let c;
        return (o = s?.diagnostics) != null && o.length && (n += s.diagnostics.map((g) => `${u(g)}${r7[g.category]}${g.code}: ${_(g.messageText)}`).join(`
`)), (i.createHash ?? o4)(n);
        function _(g) {
          return ms(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 = Hn(t.resolvedPath)), `${W2(Ef(
            c,
            g.file.resolvedPath,
            e.getCanonicalFileName
          ))}(${g.start},${g.length})`);
        }
      }
      function rBe(e, t, n) {
        return (t.createHash ?? o4)(Jve(e, n));
      }
      function kU(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 = Gje(t, o);
        t.getBuildInfo = () => tBe(qje(c)), t = void 0, i = void 0, o = void 0;
        const _ = DU(c, s);
        return _.state = c, _.hasChangedEmitSignature = () => !!c.hasChangedEmitSignature, _.getAllDependencies = (O) => Id.getAllDependencies(
          c,
          E.checkDefined(c.program),
          O
        ), _.getSemanticDiagnostics = A, _.getDeclarationDiagnostics = D, _.emit = T, _.releaseProgram = () => $je(c), e === 0 ? _.getSemanticDiagnosticsOfNextAffectedFile = P : e === 1 ? (_.getSemanticDiagnosticsOfNextAffectedFile = P, _.emitNextAffectedFile = h, _.emitBuildInfo = u) : Us(), _;
        function u(O, F) {
          if (E.assert(O6(c)), Bve(c)) {
            const R = c.program.emitBuildInfo(
              O || Fs(n, n.writeFile),
              F
            );
            return c.buildInfoEmitPending = false, R;
          }
          return yU;
        }
        function g(O, F, R, B, U) {
          var $, W, _e, K;
          E.assert(O6(c));
          let V = Ive(c, F, n);
          const ae = Xy(c.compilerOptions);
          let se = U ? 8 : R ? ae & 56 : ae;
          if (!V) {
            if (c.compilerOptions.outFile) {
              if (c.programEmitPending && (se = VO(
                c.programEmitPending,
                c.seenProgramEmit,
                R,
                U
              ), se && (V = c.program)), !V && (($ = c.emitDiagnosticsPerFile) != null && $.size)) {
                const he = c.seenProgramEmit || 0;
                if (!(he & SU(U))) {
                  c.seenProgramEmit = SU(U) | he;
                  const q = [];
                  return c.emitDiagnosticsPerFile.forEach((be) => In(q, be)), {
                    result: { emitSkipped: true, diagnostics: q },
                    affected: c.program
                  };
                }
              }
            } else {
              const he = Xje(
                c,
                R,
                U
              );
              if (he)
                ({ affectedFile: V, emitKind: se } = he);
              else {
                const q = Qje(
                  c,
                  U
                );
                if (q)
                  return (c.seenEmittedFiles ?? (c.seenEmittedFiles = /* @__PURE__ */ new Map())).set(
                    q.affectedFile.resolvedPath,
                    q.seenKind | SU(U)
                  ), {
                    result: { emitSkipped: true, diagnostics: q.diagnostics },
                    affected: q.affectedFile
                  };
              }
            }
            if (!V) {
              if (U || !Bve(c)) return;
              const he = c.program, q = he.emitBuildInfo(
                O || Fs(n, n.writeFile),
                F
              );
              return c.buildInfoEmitPending = false, { result: q, affected: he };
            }
          }
          let ce;
          se & 7 && (ce = 0), se & 56 && (ce = ce === void 0 ? 1 : void 0);
          const fe = U ? {
            emitSkipped: true,
            diagnostics: c.program.getDeclarationDiagnostics(
              V === c.program ? void 0 : V,
              F
            )
          } : c.program.emit(
            V === c.program ? void 0 : V,
            S(O, B),
            F,
            ce,
            B,
            /*forceDtsEmit*/
            void 0,
            /*skipBuildInfo*/
            true
          );
          if (V !== c.program) {
            const he = V;
            c.seenAffectedFiles.add(he.resolvedPath), c.affectedFilesIndex !== void 0 && c.affectedFilesIndex++, c.buildInfoEmitPending = true;
            const q = ((W = c.seenEmittedFiles) == null ? void 0 : W.get(he.resolvedPath)) || 0;
            (c.seenEmittedFiles ?? (c.seenEmittedFiles = /* @__PURE__ */ new Map())).set(he.resolvedPath, se | q);
            const be = ((_e = c.affectedFilesPendingEmit) == null ? void 0 : _e.get(he.resolvedPath)) || ae, je = UO(be, se | q);
            je ? (c.affectedFilesPendingEmit ?? (c.affectedFilesPendingEmit = /* @__PURE__ */ new Map())).set(he.resolvedPath, je) : (K = c.affectedFilesPendingEmit) == null || K.delete(he.resolvedPath), fe.diagnostics.length && (c.emitDiagnosticsPerFile ?? (c.emitDiagnosticsPerFile = /* @__PURE__ */ new Map())).set(he.resolvedPath, fe.diagnostics);
          } else
            c.changedFilesSet.clear(), c.programEmitPending = c.changedFilesSet.size ? UO(ae, se) : c.programEmitPending ? UO(c.programEmitPending, se) : void 0, c.seenProgramEmit = se | (c.seenProgramEmit || 0), m(fe.diagnostics), c.buildInfoEmitPending = true;
          return { result: fe, affected: V };
        }
        function m(O) {
          let F;
          O.forEach((R) => {
            if (!R.file) return;
            let B = F?.get(R.file.resolvedPath);
            B || (F ?? (F = /* @__PURE__ */ new Map())).set(R.file.resolvedPath, B = []), B.push(R);
          }), F && (c.emitDiagnosticsPerFile = F);
        }
        function h(O, F, R, B) {
          return g(
            O,
            F,
            R,
            B,
            /*isForDtsErrors*/
            false
          );
        }
        function S(O, F) {
          return E.assert(O6(c)), M_(c.compilerOptions) ? (R, B, U, $, W, _e) => {
            var K, V, ae;
            if (wl(R))
              if (c.compilerOptions.outFile) {
                if (c.compilerOptions.composite) {
                  const ce = se(
                    c.outSignature,
                    /*newSignature*/
                    void 0
                  );
                  if (!ce) return _e.skippedDtsWrite = true;
                  c.outSignature = ce;
                }
              } else {
                E.assert(W?.length === 1);
                let ce;
                if (!F) {
                  const fe = W[0], he = c.fileInfos.get(fe.resolvedPath);
                  if (he.signature === fe.version) {
                    const q = xU(
                      c.program,
                      fe,
                      B,
                      n,
                      _e
                    );
                    (K = _e?.diagnostics) != null && K.length || (ce = q), q !== fe.version && (n.storeSignatureInfo && (c.signatureInfo ?? (c.signatureInfo = /* @__PURE__ */ new Map())).set(
                      fe.resolvedPath,
                      1
                      /* StoredSignatureAtEmit */
                    ), c.affectedFiles && ((V = c.oldSignatures) == null ? void 0 : V.get(fe.resolvedPath)) === void 0 && (c.oldSignatures ?? (c.oldSignatures = /* @__PURE__ */ new Map())).set(fe.resolvedPath, he.signature || false), he.signature = q);
                  }
                }
                if (c.compilerOptions.composite) {
                  const fe = W[0].resolvedPath;
                  if (ce = se((ae = c.emitSignatures) == null ? void 0 : ae.get(fe), ce), !ce) return _e.skippedDtsWrite = true;
                  (c.emitSignatures ?? (c.emitSignatures = /* @__PURE__ */ new Map())).set(fe, ce);
                }
              }
            O ? O(R, B, U, $, W, _e) : n.writeFile ? n.writeFile(R, B, U, $, W, _e) : c.program.writeFile(R, B, U, $, W, _e);
            function se(ce, fe) {
              const he = !ce || ms(ce) ? ce : ce[0];
              if (fe ?? (fe = rBe(B, n, _e)), fe === he) {
                if (ce === he) return;
                _e ? _e.differsOnlyInMap = true : _e = { differsOnlyInMap: true };
              } else
                c.hasChangedEmitSignature = true, c.latestChangedDtsFile = R;
              return fe;
            }
          } : O || Fs(n, n.writeFile);
        }
        function T(O, F, R, B, U) {
          E.assert(O6(c)), e === 1 && Rie(c, O);
          const $ = vU(_, O, F, R);
          if ($) return $;
          if (!O)
            if (e === 1) {
              let _e = [], K = false, V, ae = [], se;
              for (; se = h(
                F,
                R,
                B,
                U
              ); )
                K = K || se.result.emitSkipped, V = In(V, se.result.diagnostics), ae = In(ae, se.result.emittedFiles), _e = In(_e, se.result.sourceMaps);
              return {
                emitSkipped: K,
                diagnostics: V || Ge,
                emittedFiles: ae,
                sourceMaps: _e
              };
            } else
              Fve(
                c,
                B,
                /*isForDtsErrors*/
                false
              );
          const W = c.program.emit(
            O,
            S(F, U),
            R,
            B,
            U
          );
          return k(
            O,
            B,
            /*isForDtsErrors*/
            false,
            W.diagnostics
          ), W;
        }
        function k(O, F, R, B) {
          !O && e !== 1 && (Fve(c, F, R), m(B));
        }
        function D(O, F) {
          var R;
          if (E.assert(O6(c)), e === 1) {
            Rie(c, O);
            let B, U;
            for (; B = g(
              /*writeFile*/
              void 0,
              F,
              /*emitOnlyDtsFiles*/
              void 0,
              /*customTransformers*/
              void 0,
              /*isForDtsErrors*/
              true
            ); )
              O || (U = In(U, B.result.diagnostics));
            return (O ? (R = c.emitDiagnosticsPerFile) == null ? void 0 : R.get(O.resolvedPath) : U) || Ge;
          } else {
            const B = c.program.getDeclarationDiagnostics(O, F);
            return k(
              O,
              /*emitOnlyDtsFiles*/
              void 0,
              /*isForDtsErrors*/
              true,
              B
            ), B;
          }
        }
        function P(O, F) {
          for (E.assert(O6(c)); ; ) {
            const R = Ive(c, O, n);
            let B;
            if (R)
              if (R !== c.program) {
                const U = R;
                if ((!F || !F(U)) && (B = TU(c, U, O)), c.seenAffectedFiles.add(U.resolvedPath), c.affectedFilesIndex++, c.buildInfoEmitPending = true, !B) continue;
              } else {
                let U;
                const $ = /* @__PURE__ */ new Map();
                c.program.getSourceFiles().forEach(
                  (W) => U = In(
                    U,
                    TU(
                      c,
                      W,
                      O,
                      $
                    )
                  )
                ), c.semanticDiagnosticsPerFile = $, B = U || Ge, c.changedFilesSet.clear(), c.programEmitPending = Xy(c.compilerOptions), c.compilerOptions.noCheck || (c.checkPending = void 0), c.buildInfoEmitPending = true;
              }
            else {
              c.checkPending && !c.compilerOptions.noCheck && (c.checkPending = void 0, c.buildInfoEmitPending = true);
              return;
            }
            return { result: B, affected: R };
          }
        }
        function A(O, F) {
          if (E.assert(O6(c)), Rie(c, O), O)
            return TU(c, O, F);
          for (; ; ) {
            const B = P(F);
            if (!B) break;
            if (B.affected === c.program) return B.result;
          }
          let R;
          for (const B of c.program.getSourceFiles())
            R = In(R, TU(c, B, F));
          return c.checkPending && !c.compilerOptions.noCheck && (c.checkPending = void 0, c.buildInfoEmitPending = true), R || Ge;
        }
      }
      function CU(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 Uie(e) {
        return ms(e) ? { version: e, signature: e, affectsGlobalScope: void 0, impliedFormat: void 0 } : ms(e.signature) ? e : { version: e.version, signature: e.signature === false ? void 0 : e.version, affectsGlobalScope: e.affectsGlobalScope, impliedFormat: e.impliedFormat };
      }
      function Vie(e, t) {
        return ly(e) ? t : e[1] || 24;
      }
      function qie(e, t) {
        return e || Xy(t || {});
      }
      function Hie(e, t, n) {
        var i, s, o, c;
        const _ = Hn(Qi(t, n.getCurrentDirectory())), u = $l(n.useCaseSensitiveFileNames());
        let g;
        const m = (i = e.fileNames) == null ? void 0 : i.map(D);
        let h;
        const S = e.latestChangedDtsFile ? P(e.latestChangedDtsFile) : void 0, T = /* @__PURE__ */ new Map(), k = new Set(hr(e.changeFileSet, A));
        if (zie(e))
          e.fileInfos.forEach((U, $) => {
            const W = A($ + 1);
            T.set(W, ms(U) ? { version: U, signature: void 0, affectsGlobalScope: void 0, impliedFormat: void 0 } : U);
          }), g = {
            fileInfos: T,
            compilerOptions: e.options ? eO(e.options, P) : {},
            semanticDiagnosticsPerFile: R(e.semanticDiagnosticsPerFile),
            emitDiagnosticsPerFile: B(e.emitDiagnosticsPerFile),
            hasReusableDiagnostic: true,
            changedFilesSet: k,
            latestChangedDtsFile: S,
            outSignature: e.outSignature,
            programEmitPending: e.pendingEmit === void 0 ? void 0 : qie(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 U = (o = e.options) != null && o.composite && !e.options.outFile ? /* @__PURE__ */ new Map() : void 0;
          e.fileInfos.forEach((W, _e) => {
            const K = A(_e + 1), V = Uie(W);
            T.set(K, V), U && V.signature && U.set(K, V.signature);
          }), (c = e.emitSignatures) == null || c.forEach((W) => {
            if (ly(W)) U.delete(A(W));
            else {
              const _e = A(W[0]);
              U.set(
                _e,
                !ms(W[1]) && !W[1].length ? (
                  // File signature is emit signature but differs in map
                  [U.get(_e)]
                ) : W[1]
              );
            }
          });
          const $ = e.affectedFilesPendingEmit ? Xy(e.options || {}) : void 0;
          g = {
            fileInfos: T,
            compilerOptions: e.options ? eO(e.options, P) : {},
            referencedMap: F(e.referencedMap, e.options ?? {}),
            semanticDiagnosticsPerFile: R(e.semanticDiagnosticsPerFile),
            emitDiagnosticsPerFile: B(e.emitDiagnosticsPerFile),
            hasReusableDiagnostic: true,
            changedFilesSet: k,
            affectedFilesPendingEmit: e.affectedFilesPendingEmit && fC(e.affectedFilesPendingEmit, (W) => A(ly(W) ? W : W[0]), (W) => Vie(W, $)),
            latestChangedDtsFile: S,
            emitSignatures: U?.size ? U : void 0,
            hasErrors: e.errors,
            checkPending: e.checkPending
          };
        }
        return {
          state: g,
          getProgram: Us,
          getProgramOrUndefined: pb,
          releaseProgram: Ua,
          getCompilerOptions: () => g.compilerOptions,
          getSourceFile: Us,
          getSourceFiles: Us,
          getOptionsDiagnostics: Us,
          getGlobalDiagnostics: Us,
          getConfigFileParsingDiagnostics: Us,
          getSyntacticDiagnostics: Us,
          getDeclarationDiagnostics: Us,
          getSemanticDiagnostics: Us,
          emit: Us,
          getAllDependencies: Us,
          getCurrentDirectory: Us,
          emitNextAffectedFile: Us,
          getSemanticDiagnosticsOfNextAffectedFile: Us,
          emitBuildInfo: Us,
          close: Ua,
          hasChangedEmitSignature: uh
        };
        function D(U) {
          return io(U, _, u);
        }
        function P(U) {
          return Qi(U, _);
        }
        function A(U) {
          return m[U - 1];
        }
        function O(U) {
          return h[U - 1];
        }
        function F(U, $) {
          const W = Id.createReferencedMap($);
          return !W || !U || U.forEach(([_e, K]) => W.set(A(_e), O(K))), W;
        }
        function R(U) {
          const $ = new Map(
            sy(
              T.keys(),
              (W) => k.has(W) ? void 0 : [W, Ge]
            )
          );
          return U?.forEach((W) => {
            ly(W) ? $.delete(A(W)) : $.set(A(W[0]), W[1]);
          }), $;
        }
        function B(U) {
          return U && fC(U, ($) => A($[0]), ($) => $[1]);
        }
      }
      function EU(e, t, n) {
        const i = Hn(Qi(t, n.getCurrentDirectory())), s = $l(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 = io(e.fileNames[h], i, s), T = ms(m) ? m : m.version;
          if (o.set(S, T), c < e.root.length) {
            const k = e.root[c], D = h + 1;
            ss(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(io(e.fileNames[S - 1], i, s), h) : _.set(h, void 0);
        }
      }
      function Gie(e, t, n) {
        if (!eBe(e)) return;
        const i = Hn(Qi(t, n.getCurrentDirectory())), s = $l(n.useCaseSensitiveFileNames());
        return e.root.map((o) => io(o, i, s));
      }
      function DU(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: Us,
          getCurrentDirectory: () => n().getCurrentDirectory(),
          close: Ua
        };
        function n() {
          return E.checkDefined(e.program);
        }
      }
      function zve(e, t, n, i, s, o) {
        return kU(
          0,
          qO(
            e,
            t,
            n,
            i,
            s,
            o
          )
        );
      }
      function wU(e, t, n, i, s, o) {
        return kU(
          1,
          qO(
            e,
            t,
            n,
            i,
            s,
            o
          )
        );
      }
      function Wve(e, t, n, i, s, o) {
        const { newProgram: c, configFileParsingDiagnostics: _ } = qO(
          e,
          t,
          n,
          i,
          s,
          o
        );
        return DU(
          { program: c, compilerOptions: c.getCompilerOptions() },
          _
        );
      }
      function HO(e) {
        return Co(e, "/node_modules/.staging") ? mC(e, "/.staging") : ot(s7, (t) => e.includes(t)) ? void 0 : e;
      }
      function $ie(e, t) {
        if (t <= 1) return 1;
        let n = 1, i = e[0].search(/[a-z]:/i) === 0;
        if (e[0] !== yo && !i && // Non dos style paths
        e[1].search(/[a-z]\$$/i) === 0) {
          if (t === 2) return 2;
          n = 2, i = true;
        }
        return i && !e[n].match(/^users$/i) ? n : e[n].match(/^workspaces$/i) ? n + 1 : n + 2;
      }
      function PU(e, t) {
        if (t === void 0 && (t = e.length), t <= 2) return false;
        const n = $ie(e, t);
        return t > n + 1;
      }
      function w8(e) {
        return PU(cu(e));
      }
      function Xie(e) {
        return Vve(Hn(e));
      }
      function Uve(e, t) {
        if (t.length < e.length) return false;
        for (let n = 0; n < e.length; n++)
          if (t[n] !== e[n]) return false;
        return true;
      }
      function Vve(e) {
        return w8(e);
      }
      function Qie(e) {
        return Vve(e);
      }
      function NU(e, t, n, i, s, o, c, _) {
        const u = cu(t);
        e = $_(e) ? qs(e) : Qi(e, c());
        const g = cu(e), m = $ie(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 && Uve(s, u) ? u.length > s.length + 1 ? Yie(
          g,
          u,
          Math.max(s.length + 1, m + 1),
          S
        ) : {
          dir: n,
          dirPath: i,
          nonRecursive: true
        } : qve(
          g,
          u,
          u.length - 1,
          m,
          h,
          s,
          S,
          _
        );
      }
      function qve(e, t, n, i, s, o, c, _) {
        if (s !== -1)
          return Yie(
            e,
            t,
            s + 1,
            c
          );
        let u = true, g = n;
        if (!_) {
          for (let m = 0; m < n; m++)
            if (t[m] !== o[m]) {
              u = false, g = Math.max(m + 1, i + 1);
              break;
            }
        }
        return Yie(
          e,
          t,
          g,
          c,
          u
        );
      }
      function Yie(e, t, n, i, s) {
        let o;
        return i !== -1 && i + 1 >= n && i + 2 < t.length && (Ui(t[i + 1], "@") ? i + 3 < t.length && (o = i + 3) : o = i + 2), {
          dir: O1(e, n),
          dirPath: O1(t, n),
          nonRecursive: s,
          packageDir: o !== void 0 ? O1(e, o) : void 0,
          packageDirPath: o !== void 0 ? O1(t, o) : void 0
        };
      }
      function Zie(e, t, n, i, s, o, c, _) {
        const u = cu(t);
        if (s && Uve(i, u))
          return n;
        e = $_(e) ? qs(e) : Qi(e, o());
        const g = qve(
          cu(e),
          u,
          u.length,
          $ie(u, u.length),
          u.indexOf("node_modules"),
          i,
          u.lastIndexOf("node_modules"),
          c
        );
        return g && _(g.dirPath) ? g.dirPath : void 0;
      }
      function Kie(e, t) {
        const n = Qi(e, t());
        return gj(n) ? n : a0(n);
      }
      function GO(e) {
        var t;
        return ((t = e.getCompilerHost) == null ? void 0 : t.call(e)) || e;
      }
      function ese(e, t, n, i, s) {
        return {
          nameAndMode: MO,
          resolve: (o, c) => nBe(
            i,
            s,
            o,
            e,
            n,
            t,
            c
          )
        };
      }
      function nBe(e, t, n, i, s, o, c) {
        const _ = GO(e), u = PS(n, i, s, _, t, o, c);
        if (!e.getGlobalTypingsCacheLocation)
          return u;
        const g = e.getGlobalTypingsCacheLocation();
        if (g !== void 0 && !xl(n) && !(u.resolvedModule && rF(u.resolvedModule.extension))) {
          const { resolvedModule: m, failedLookupLocations: h, affectingLocations: S, resolutionDiagnostics: T } = _ne(
            E.checkDefined(e.globalCacheResolutionModuleName)(n),
            e.projectName,
            s,
            _,
            g,
            t
          );
          if (m)
            return u.resolvedModule = m, u.failedLookupLocations = k6(u.failedLookupLocations, h), u.affectingLocations = k6(u.affectingLocations, S), u.resolutionDiagnostics = k6(u.resolutionDiagnostics, T), u;
        }
        return u;
      }
      function AU(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 = false, S, T, k, D, P, A = false;
        const O = Bu(() => e.getCurrentDirectory()), F = e.getCachedDirectoryStructureHost(), R = /* @__PURE__ */ new Map(), B = E6(
          O(),
          e.getCanonicalFileName,
          e.getCompilationSettings()
        ), U = /* @__PURE__ */ new Map(), $ = uO(
          O(),
          e.getCanonicalFileName,
          e.getCompilationSettings(),
          B.getPackageJsonInfoCache(),
          B.optionsToRedirectsKey
        ), W = /* @__PURE__ */ new Map(), _e = E6(
          O(),
          e.getCanonicalFileName,
          fW(e.getCompilationSettings()),
          B.getPackageJsonInfoCache()
        ), K = /* @__PURE__ */ new Map(), V = /* @__PURE__ */ new Map(), ae = Kie(t, O), se = e.toPath(ae), ce = cu(se), fe = PU(ce), he = /* @__PURE__ */ new Map(), q = /* @__PURE__ */ new Map(), be = /* @__PURE__ */ new Map(), je = /* @__PURE__ */ new Map();
        return {
          rootDirForResolution: t,
          resolvedModuleNames: R,
          resolvedTypeReferenceDirectives: U,
          resolvedLibraries: W,
          resolvedFileToResolution: g,
          resolutionsWithFailedLookups: _,
          resolutionsWithOnlyAffectingLocations: u,
          directoryWatchesOfFailedLookups: K,
          fileWatchesOfAffectingLocations: V,
          packageDirWatchers: q,
          dirPathToSymlinkPackageRefCount: be,
          watchFailedLookupLocationsOfExternalModuleResolutions: Wt,
          getModuleResolutionCache: () => B,
          startRecordingFilesWithChangedResolutions: pe,
          finishRecordingFilesWithChangedResolutions: Te,
          // perDirectoryResolvedModuleNames and perDirectoryResolvedTypeReferenceDirectives could be non empty if there was exception during program update
          // (between startCachingPerDirectoryResolution and finishCachingPerDirectoryResolution)
          startCachingPerDirectoryResolution: ne,
          finishCachingPerDirectoryResolution: ie,
          resolveModuleNameLiterals: Bt,
          resolveTypeReferenceDirectiveReferences: St,
          resolveLibrary: tr,
          resolveSingleModuleNameWithoutWatching: Nr,
          removeResolutionsFromProjectReferenceRedirects: Un,
          removeResolutionsOfFile: ki,
          hasChangedAutomaticTypeDirectiveNames: () => h,
          invalidateResolutionOfFile: Zs,
          invalidateResolutionsOfFailedLookupLocations: Et,
          setFilesWithInvalidatedNonRelativeUnresolvedImports: yr,
          createHasInvalidatedResolutions: Ye,
          isFileWithInvalidatedNonRelativeUnresolvedImports: Fe,
          updateTypeRootsWatch: Ke,
          closeTypeRootsWatch: Ae,
          clear: me,
          onChangesAffectModuleResolution: Z
        };
        function me() {
          L_(K, fp), L_(V, fp), he.clear(), q.clear(), be.clear(), c.clear(), Ae(), R.clear(), U.clear(), g.clear(), _.clear(), u.clear(), k = void 0, D = void 0, P = void 0, T = void 0, S = void 0, A = false, B.clear(), $.clear(), B.update(e.getCompilationSettings()), $.update(e.getCompilationSettings()), _e.clear(), m.clear(), W.clear(), h = false;
        }
        function Z() {
          A = true, B.clearAllExceptPackageJsonInfoCache(), $.clearAllExceptPackageJsonInfoCache(), B.update(e.getCompilationSettings()), $.update(e.getCompilationSettings());
        }
        function pe() {
          i = [];
        }
        function Te() {
          const Le = i;
          return i = void 0, Le;
        }
        function Fe(Le) {
          if (!o)
            return false;
          const mt = o.get(Le);
          return !!mt && !!mt.length;
        }
        function Ye(Le, mt) {
          Et();
          const pt = s;
          return s = void 0, {
            hasInvalidatedResolutions: (Ct) => Le(Ct) || A || !!pt?.has(Ct) || Fe(Ct),
            hasInvalidatedLibResolutions: (Ct) => {
              var qe;
              return mt(Ct) || !!((qe = W?.get(Ct)) != null && qe.isInvalidated);
            }
          };
        }
        function ne() {
          B.isReadonly = void 0, $.isReadonly = void 0, _e.isReadonly = void 0, B.getPackageJsonInfoCache().isReadonly = void 0, B.clearAllExceptPackageJsonInfoCache(), $.clearAllExceptPackageJsonInfoCache(), _e.clearAllExceptPackageJsonInfoCache(), ai(), he.clear();
        }
        function Se(Le) {
          W.forEach((mt, pt) => {
            var Ct;
            (Ct = Le?.resolvedLibReferences) != null && Ct.has(pt) || (ft(
              mt,
              e.toPath(jO(e.getCompilationSettings(), O(), pt)),
              ix
            ), W.delete(pt));
          });
        }
        function ie(Le, mt) {
          o = void 0, A = false, ai(), Le !== mt && (Se(Le), Le?.getSourceFiles().forEach((pt) => {
            var Ct;
            const qe = ((Ct = pt.packageJsonLocations) == null ? void 0 : Ct.length) ?? 0, Lt = m.get(pt.resolvedPath) ?? Ge;
            for (let rn = Lt.length; rn < qe; rn++)
              Dt(
                pt.packageJsonLocations[rn],
                /*forResolution*/
                false
              );
            if (Lt.length > qe)
              for (let rn = qe; rn < Lt.length; rn++)
                V.get(Lt[rn]).files--;
            qe ? m.set(pt.resolvedPath, pt.packageJsonLocations) : m.delete(pt.resolvedPath);
          }), m.forEach((pt, Ct) => {
            const qe = Le?.getSourceFileByPath(Ct);
            (!qe || qe.resolvedPath !== Ct) && (pt.forEach((Lt) => V.get(Lt).files--), m.delete(Ct));
          })), K.forEach(Ee), V.forEach(Ce), q.forEach(Ne), h = false, B.isReadonly = true, $.isReadonly = true, _e.isReadonly = true, B.getPackageJsonInfoCache().isReadonly = true, he.clear();
        }
        function Ne(Le, mt) {
          Le.dirPathToWatcher.size === 0 && q.delete(mt);
        }
        function Ee(Le, mt) {
          Le.refCount === 0 && (K.delete(mt), Le.watcher.close());
        }
        function Ce(Le, mt) {
          var pt;
          Le.files === 0 && Le.resolutions === 0 && !((pt = Le.symlinks) != null && pt.size) && (V.delete(mt), Le.watcher.close());
        }
        function Ve({
          entries: Le,
          containingFile: mt,
          containingSourceFile: pt,
          redirectedReference: Ct,
          options: qe,
          perFileCache: Lt,
          reusedNames: rn,
          loader: Pe,
          getResolutionWithResolvedFileName: yt,
          deferWatchingNonRelativeResolution: ue,
          shouldRetryResolution: M,
          logChanges: ye
        }) {
          var Q;
          const dt = e.toPath(mt), Mt = Lt.get(dt) || Lt.set(dt, C6()).get(dt), ke = [], at = ye && Fe(dt), wt = e.getCurrentProgram(), Zr = wt && ((Q = wt.getRedirectFromSourceFile(mt)) == null ? void 0 : Q.resolvedRef), Rr = Zr ? !Ct || Ct.sourceFile.path !== Zr.sourceFile.path : !!Ct, Pr = C6();
          for (const vt of Le) {
            const Nt = Pe.nameAndMode.getName(vt), Jt = Pe.nameAndMode.getMode(vt, pt, Ct?.commandLine.options || qe);
            let _r = Mt.get(Nt, Jt);
            if (!Pr.has(Nt, Jt) && (A || Rr || !_r || _r.isInvalidated || // If the name is unresolved import that was invalidated, recalculate
            at && !xl(Nt) && M(_r))) {
              const nr = _r;
              _r = Pe.resolve(Nt, Jt), e.onDiscoveredSymlink && iBe(_r) && e.onDiscoveredSymlink(), Mt.set(Nt, Jt, _r), _r !== nr && (Wt(Nt, _r, dt, yt, ue), nr && ft(nr, dt, yt)), ye && i && !rt(nr, _r) && (i.push(dt), ye = false);
            } else {
              const nr = GO(e);
              if (Vy(qe, nr) && !Pr.has(Nt, Jt)) {
                const kt = yt(_r);
                es(
                  nr,
                  Lt === R ? 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,
                  Nt,
                  mt,
                  kt?.resolvedFileName,
                  kt?.packageId && j1(kt.packageId)
                );
              }
            }
            E.assert(_r !== void 0 && !_r.isInvalidated), Pr.set(Nt, Jt, true), ke.push(_r);
          }
          return rn?.forEach(
            (vt) => Pr.set(
              Pe.nameAndMode.getName(vt),
              Pe.nameAndMode.getMode(vt, pt, Ct?.commandLine.options || qe),
              true
            )
          ), Mt.size() !== Pr.size() && Mt.forEach((vt, Nt, Jt) => {
            Pr.has(Nt, Jt) || (ft(vt, dt, yt), Mt.delete(Nt, Jt));
          }), ke;
          function rt(vt, Nt) {
            if (vt === Nt)
              return true;
            if (!vt || !Nt)
              return false;
            const Jt = yt(vt), _r = yt(Nt);
            return Jt === _r ? true : !Jt || !_r ? false : Jt.resolvedFileName === _r.resolvedFileName;
          }
        }
        function St(Le, mt, pt, Ct, qe, Lt) {
          return Ve({
            entries: Le,
            containingFile: mt,
            containingSourceFile: qe,
            redirectedReference: pt,
            options: Ct,
            reusedNames: Lt,
            perFileCache: U,
            loader: RO(
              mt,
              pt,
              Ct,
              GO(e),
              $
            ),
            getResolutionWithResolvedFileName: j7,
            shouldRetryResolution: (rn) => rn.resolvedTypeReferenceDirective === void 0,
            deferWatchingNonRelativeResolution: false
          });
        }
        function Bt(Le, mt, pt, Ct, qe, Lt) {
          return Ve({
            entries: Le,
            containingFile: mt,
            containingSourceFile: qe,
            redirectedReference: pt,
            options: Ct,
            reusedNames: Lt,
            perFileCache: R,
            loader: ese(
              mt,
              pt,
              Ct,
              e,
              B
            ),
            getResolutionWithResolvedFileName: ix,
            shouldRetryResolution: (rn) => !rn.resolvedModule || !lD(rn.resolvedModule.extension),
            logChanges: n,
            deferWatchingNonRelativeResolution: true
            // Defer non relative resolution watch because we could be using ambient modules
          });
        }
        function tr(Le, mt, pt, Ct) {
          const qe = GO(e);
          let Lt = W?.get(Ct);
          if (!Lt || Lt.isInvalidated) {
            const rn = Lt;
            Lt = _O(Le, mt, pt, qe, _e);
            const Pe = e.toPath(mt);
            Wt(
              Le,
              Lt,
              Pe,
              ix,
              /*deferWatchingNonRelativeResolution*/
              false
            ), W.set(Ct, Lt), rn && ft(rn, Pe, ix);
          } else if (Vy(pt, qe)) {
            const rn = ix(Lt);
            es(
              qe,
              rn?.resolvedFileName ? rn.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,
              Le,
              mt,
              rn?.resolvedFileName,
              rn?.packageId && j1(rn.packageId)
            );
          }
          return Lt;
        }
        function Nr(Le, mt) {
          var pt, Ct;
          const qe = e.toPath(mt), Lt = R.get(qe), rn = Lt?.get(
            Le,
            /*mode*/
            void 0
          );
          if (rn && !rn.isInvalidated) return rn;
          const Pe = (pt = e.beforeResolveSingleModuleNameWithoutWatching) == null ? void 0 : pt.call(e, B), yt = GO(e), ue = PS(
            Le,
            mt,
            e.getCompilationSettings(),
            yt,
            B
          );
          return (Ct = e.afterResolveSingleModuleNameWithoutWatching) == null || Ct.call(e, B, Le, mt, ue, Pe), ue;
        }
        function st(Le) {
          return Co(Le, "/node_modules/@types");
        }
        function Wt(Le, mt, pt, Ct, qe) {
          if ((mt.files ?? (mt.files = /* @__PURE__ */ new Set())).add(pt), mt.files.size !== 1) return;
          !qe || xl(Le) ? ui(mt) : c.add(mt);
          const Lt = Ct(mt);
          if (Lt && Lt.resolvedFileName) {
            const rn = e.toPath(Lt.resolvedFileName);
            let Pe = g.get(rn);
            Pe || g.set(rn, Pe = /* @__PURE__ */ new Set()), Pe.add(mt);
          }
        }
        function Jr(Le, mt) {
          const pt = e.toPath(Le), Ct = NU(
            Le,
            pt,
            ae,
            se,
            ce,
            fe,
            O,
            e.preferNonRecursiveWatch
          );
          if (Ct) {
            const { dir: qe, dirPath: Lt, nonRecursive: rn, packageDir: Pe, packageDirPath: yt } = Ct;
            Lt === se ? (E.assert(rn), E.assert(!Pe), mt = true) : pn(qe, Lt, Pe, yt, rn);
          }
          return mt;
        }
        function ui(Le) {
          var mt;
          E.assert(!!((mt = Le.files) != null && mt.size));
          const { failedLookupLocations: pt, affectingLocations: Ct, alternateResult: qe } = Le;
          if (!pt?.length && !Ct?.length && !qe) return;
          (pt?.length || qe) && _.add(Le);
          let Lt = false;
          if (pt)
            for (const rn of pt)
              Lt = Jr(rn, Lt);
          qe && (Lt = Jr(qe, Lt)), Lt && pn(
            ae,
            se,
            /*packageDir*/
            void 0,
            /*packageDirPath*/
            void 0,
            /*nonRecursive*/
            true
          ), Ji(Le, !pt?.length && !qe);
        }
        function Ji(Le, mt) {
          var pt;
          E.assert(!!((pt = Le.files) != null && pt.size));
          const { affectingLocations: Ct } = Le;
          if (Ct?.length) {
            mt && u.add(Le);
            for (const qe of Ct)
              Dt(
                qe,
                /*forResolution*/
                true
              );
          }
        }
        function Dt(Le, mt) {
          const pt = V.get(Le);
          if (pt) {
            mt ? pt.resolutions++ : pt.files++;
            return;
          }
          let Ct = Le, qe = false, Lt;
          e.realpath && (Ct = e.realpath(Le), Le !== Ct && (qe = true, Lt = V.get(Ct)));
          const rn = mt ? 1 : 0, Pe = mt ? 0 : 1;
          if (!qe || !Lt) {
            const yt = {
              watcher: Qie(e.toPath(Ct)) ? e.watchAffectingFileLocation(Ct, (ue, M) => {
                F?.addOrDeleteFile(ue, e.toPath(Ct), M), Mn(Ct, B.getPackageJsonInfoCache().getInternalMap()), e.scheduleInvalidateResolutionsOfFailedLookupLocations();
              }) : M6,
              resolutions: qe ? 0 : rn,
              files: qe ? 0 : Pe,
              symlinks: void 0
            };
            V.set(Ct, yt), qe && (Lt = yt);
          }
          if (qe) {
            E.assert(!!Lt);
            const yt = {
              watcher: {
                close: () => {
                  var ue;
                  const M = V.get(Ct);
                  (ue = M?.symlinks) != null && ue.delete(Le) && !M.symlinks.size && !M.resolutions && !M.files && (V.delete(Ct), M.watcher.close());
                }
              },
              resolutions: rn,
              files: Pe,
              symlinks: void 0
            };
            V.set(Le, yt), (Lt.symlinks ?? (Lt.symlinks = /* @__PURE__ */ new Set())).add(Le);
          }
        }
        function Mn(Le, mt) {
          var pt;
          const Ct = V.get(Le);
          Ct?.resolutions && (T ?? (T = /* @__PURE__ */ new Set())).add(Le), Ct?.files && (S ?? (S = /* @__PURE__ */ new Set())).add(Le), (pt = Ct?.symlinks) == null || pt.forEach((qe) => Mn(qe, mt)), mt?.delete(e.toPath(Le));
        }
        function ai() {
          c.forEach(ui), c.clear();
        }
        function fi(Le, mt, pt, Ct, qe) {
          E.assert(!qe);
          let Lt = he.get(Ct), rn = q.get(Ct);
          if (Lt === void 0) {
            const ue = e.realpath(pt);
            Lt = ue !== pt && e.toPath(ue) !== Ct, he.set(Ct, Lt), rn ? rn.isSymlink !== Lt && (rn.dirPathToWatcher.forEach((M) => {
              er(rn.isSymlink ? Ct : mt), M.watcher = yt();
            }), rn.isSymlink = Lt) : q.set(
              Ct,
              rn = {
                dirPathToWatcher: /* @__PURE__ */ new Map(),
                isSymlink: Lt
              }
            );
          } else
            E.assertIsDefined(rn), E.assert(Lt === rn.isSymlink);
          const Pe = rn.dirPathToWatcher.get(mt);
          Pe ? Pe.refCount++ : (rn.dirPathToWatcher.set(mt, {
            watcher: yt(),
            refCount: 1
          }), Lt && be.set(mt, (be.get(mt) ?? 0) + 1));
          function yt() {
            return Lt ? _i(pt, Ct, qe) : _i(Le, mt, qe);
          }
        }
        function pn(Le, mt, pt, Ct, qe) {
          !Ct || !e.realpath ? _i(Le, mt, qe) : fi(Le, mt, pt, Ct, qe);
        }
        function _i(Le, mt, pt) {
          let Ct = K.get(mt);
          return Ct ? (E.assert(!!pt == !!Ct.nonRecursive), Ct.refCount++) : K.set(mt, Ct = { watcher: qr(Le, mt, pt), refCount: 1, nonRecursive: pt }), Ct;
        }
        function Je(Le, mt) {
          const pt = e.toPath(Le), Ct = NU(
            Le,
            pt,
            ae,
            se,
            ce,
            fe,
            O,
            e.preferNonRecursiveWatch
          );
          if (Ct) {
            const { dirPath: qe, packageDirPath: Lt } = Ct;
            if (qe === se)
              mt = true;
            else if (Lt && e.realpath) {
              const rn = q.get(Lt), Pe = rn.dirPathToWatcher.get(qe);
              if (Pe.refCount--, Pe.refCount === 0 && (er(rn.isSymlink ? Lt : qe), rn.dirPathToWatcher.delete(qe), rn.isSymlink)) {
                const yt = be.get(qe) - 1;
                yt === 0 ? be.delete(qe) : be.set(qe, yt);
              }
            } else
              er(qe);
          }
          return mt;
        }
        function ft(Le, mt, pt) {
          if (E.checkDefined(Le.files).delete(mt), Le.files.size) return;
          Le.files = void 0;
          const Ct = pt(Le);
          if (Ct && Ct.resolvedFileName) {
            const Pe = e.toPath(Ct.resolvedFileName), yt = g.get(Pe);
            yt?.delete(Le) && !yt.size && g.delete(Pe);
          }
          const { failedLookupLocations: qe, affectingLocations: Lt, alternateResult: rn } = Le;
          if (_.delete(Le)) {
            let Pe = false;
            if (qe)
              for (const yt of qe)
                Pe = Je(yt, Pe);
            rn && (Pe = Je(rn, Pe)), Pe && er(se);
          } else Lt?.length && u.delete(Le);
          if (Lt)
            for (const Pe of Lt) {
              const yt = V.get(Pe);
              yt.resolutions--;
            }
        }
        function er(Le) {
          const mt = K.get(Le);
          mt.refCount--;
        }
        function qr(Le, mt, pt) {
          return e.watchDirectoryOfFailedLookupLocation(
            Le,
            (Ct) => {
              const qe = e.toPath(Ct);
              F && F.addOrDeleteFileOrDirectory(Ct, qe), vs(qe, mt === qe);
            },
            pt ? 0 : 1
            /* Recursive */
          );
        }
        function Jn(Le, mt, pt) {
          const Ct = Le.get(mt);
          Ct && (Ct.forEach(
            (qe) => ft(
              qe,
              mt,
              pt
            )
          ), Le.delete(mt));
        }
        function Un(Le) {
          if (!Ho(
            Le,
            ".json"
            /* Json */
          )) return;
          const mt = e.getCurrentProgram();
          if (!mt) return;
          const pt = mt.getResolvedProjectReferenceByPath(Le);
          pt && pt.commandLine.fileNames.forEach((Ct) => ki(e.toPath(Ct)));
        }
        function ki(Le) {
          Jn(R, Le, ix), Jn(U, Le, j7);
        }
        function Es(Le, mt) {
          if (!Le) return false;
          let pt = false;
          return Le.forEach((Ct) => {
            if (!(Ct.isInvalidated || !mt(Ct))) {
              Ct.isInvalidated = pt = true;
              for (const qe of E.checkDefined(Ct.files))
                (s ?? (s = /* @__PURE__ */ new Set())).add(qe), h = h || Co(qe, sw);
            }
          }), pt;
        }
        function Zs(Le) {
          ki(Le);
          const mt = h;
          Es(g.get(Le), fb) && h && !mt && e.onChangedAutomaticTypeDirectiveNames();
        }
        function yr(Le) {
          E.assert(o === Le || o === void 0), o = Le;
        }
        function vs(Le, mt) {
          if (mt)
            (P || (P = /* @__PURE__ */ new Set())).add(Le);
          else {
            const pt = HO(Le);
            if (!pt || (Le = pt, e.fileIsOpen(Le)))
              return false;
            const Ct = Hn(Le);
            if (st(Le) || u7(Le) || st(Ct) || u7(Ct))
              (k || (k = /* @__PURE__ */ new Set())).add(Le), (D || (D = /* @__PURE__ */ new Set())).add(Le);
            else {
              if (bie(e.getCurrentProgram(), Le) || Ho(Le, ".map"))
                return false;
              (k || (k = /* @__PURE__ */ new Set())).add(Le), (D || (D = /* @__PURE__ */ new Set())).add(Le);
              const qe = a8(
                Le,
                /*isFolder*/
                true
              );
              qe && (D || (D = /* @__PURE__ */ new Set())).add(qe);
            }
          }
          e.scheduleInvalidateResolutionsOfFailedLookupLocations();
        }
        function Xe() {
          const Le = B.getPackageJsonInfoCache().getInternalMap();
          Le && (k || D || P) && Le.forEach((mt, pt) => it(pt) ? Le.delete(pt) : void 0);
        }
        function Et() {
          var Le;
          if (A)
            return S = void 0, Xe(), (k || D || P || T) && Es(W, re), k = void 0, D = void 0, P = void 0, T = void 0, true;
          let mt = false;
          return S && ((Le = e.getCurrentProgram()) == null || Le.getSourceFiles().forEach((pt) => {
            ot(pt.packageJsonLocations, (Ct) => S.has(Ct)) && ((s ?? (s = /* @__PURE__ */ new Set())).add(pt.path), mt = true);
          }), S = void 0), !k && !D && !P && !T || (mt = Es(_, re) || mt, Xe(), k = void 0, D = void 0, P = void 0, mt = Es(u, Y) || mt, T = void 0), mt;
        }
        function re(Le) {
          var mt;
          return Y(Le) ? true : !k && !D && !P ? false : ((mt = Le.failedLookupLocations) == null ? void 0 : mt.some((pt) => it(e.toPath(pt)))) || !!Le.alternateResult && it(e.toPath(Le.alternateResult));
        }
        function it(Le) {
          return k?.has(Le) || FP(D?.keys() || [], (mt) => Ui(Le, mt) ? true : void 0) || FP(P?.keys() || [], (mt) => Le.length > mt.length && Ui(Le, mt) && (gj(mt) || Le[mt.length] === yo) ? true : void 0);
        }
        function Y(Le) {
          var mt;
          return !!T && ((mt = Le.affectingLocations) == null ? void 0 : mt.some((pt) => T.has(pt)));
        }
        function Ae() {
          L_(je, nd);
        }
        function $e(Le) {
          return Tt(Le) ? e.watchTypeRootsDirectory(
            Le,
            (mt) => {
              const pt = e.toPath(mt);
              F && F.addOrDeleteFileOrDirectory(mt, pt), h = true, e.onChangedAutomaticTypeDirectiveNames();
              const Ct = Zie(
                Le,
                e.toPath(Le),
                se,
                ce,
                fe,
                O,
                e.preferNonRecursiveWatch,
                (qe) => K.has(qe) || be.has(qe)
              );
              Ct && vs(pt, Ct === pt);
            },
            1
            /* Recursive */
          ) : M6;
        }
        function Ke() {
          const Le = e.getCompilationSettings();
          if (Le.types) {
            Ae();
            return;
          }
          const mt = WD(Le, { getCurrentDirectory: O });
          mt ? iD(
            je,
            new Set(mt),
            {
              createNewValue: $e,
              onDeleteValue: nd
            }
          ) : Ae();
        }
        function Tt(Le) {
          return e.getCompilationSettings().typeRoots ? true : Xie(e.toPath(Le));
        }
      }
      function iBe(e) {
        var t, n;
        return !!((t = e.resolvedModule) != null && t.originalPath || (n = e.resolvedTypeReferenceDirective) != null && n.originalPath);
      }
      var Hve = fl ? {
        getCurrentDirectory: () => fl.getCurrentDirectory(),
        getNewLine: () => fl.newLine,
        getCanonicalFileName: $l(fl.useCaseSensitiveFileNames)
      } : void 0;
      function rk(e, t) {
        const n = e === fl && Hve ? Hve : {
          getCurrentDirectory: () => e.getCurrentDirectory(),
          getNewLine: () => e.newLine,
          getCanonicalFileName: $l(e.useCaseSensitiveFileNames)
        };
        if (!t)
          return (s) => e.write(_U(s, n));
        const i = new Array(1);
        return (s) => {
          i[0] = s, e.write(Die(i, n) + n.getNewLine()), i[0] = void 0;
        };
      }
      function Gve(e, t, n) {
        return e.clearScreen && !n.preserveWatchOutput && !n.extendedDiagnostics && !n.diagnostics && ds($ve, t.code) ? (e.clearScreen(), true) : false;
      }
      var $ve = [
        p.Starting_compilation_in_watch_mode.code,
        p.File_change_detected_Starting_incremental_compilation.code
      ];
      function sBe(e, t) {
        return ds($ve, e.code) ? t + t : t;
      }
      function P8(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 IU(e, t) {
        return t ? (n, i, s) => {
          Gve(e, n, s);
          let o = `[${Kb(
            P8(e),
            "\x1B[90m"
            /* Grey */
          )}] `;
          o += `${bm(n.messageText, e.newLine)}${i + i}`, e.write(o);
        } : (n, i, s) => {
          let o = "";
          Gve(e, n, s) || (o += i), o += `${P8(e)} - `, o += `${bm(n.messageText, e.newLine)}${sBe(n, i)}`, e.write(o);
        };
      }
      function tse(e, t, n, i, s, o) {
        const c = s;
        c.onUnRecoverableConfigFileDiagnostic = (u) => Yve(s, o, u);
        const _ = KN(e, t, c, n, i);
        return c.onUnRecoverableConfigFileDiagnostic = void 0, _;
      }
      function $O(e) {
        return i0(
          e,
          (t) => t.category === 1
          /* Error */
        );
      }
      function XO(e) {
        return kn(
          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 = Nn(e, (s) => s.file !== void 0 && s.file.fileName === n);
          if (i !== void 0) {
            const { line: s } = Rs(i.file, i.start);
            return {
              fileName: n,
              line: s + 1
            };
          }
        });
      }
      function FU(e) {
        return e === 1 ? p.Found_1_error_Watching_for_file_changes : p.Found_0_errors_Watching_for_file_changes;
      }
      function Xve(e, t) {
        const n = Kb(
          ":" + e.line,
          "\x1B[90m"
          /* Grey */
        );
        return c4(e.fileName) && c4(t) ? Ef(
          t,
          e.fileName,
          /*ignoreCase*/
          false
        ) + n : e.fileName + n;
      }
      function OU(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] && Xve(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 ? aBe(s, i) : "";
        return `${n}${bm(u.messageText, n)}${n}${n}${g}`;
      }
      function aBe(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, i0(e, (S) => S.fileName === h.fileName)]), o = RR(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) : "", P = Xve(S, t.getCurrentDirectory());
          m += `${D}${T}  ${P}
`;
        }), m;
      }
      function LU(e) {
        return !!e.state;
      }
      function oBe(e, t) {
        const n = e.getCompilerOptions();
        n.explainFiles ? MU(LU(e) ? e.getProgram() : e, t) : (n.listFiles || n.listFilesOnly) && lr(e.getSourceFiles(), (i) => {
          t(i.fileName);
        });
      }
      function MU(e, t) {
        var n, i;
        const s = e.getFileIncludeReasons(), o = (c) => l4(c, e.getCurrentDirectory(), e.getCanonicalFileName);
        for (const c of e.getSourceFiles())
          t(`${L6(c, o)}`), (n = s.get(c.path)) == null || n.forEach((_) => t(`  ${JU(e, _, o).messageText}`)), (i = RU(c, e.getCompilerOptionsForFile(c), o)) == null || i.forEach((_) => t(`  ${_.messageText}`));
      }
      function RU(e, t, n) {
        var i;
        let s;
        if (e.path !== e.resolvedPath && (s ?? (s = [])).push(Ss(
          /*details*/
          void 0,
          p.File_is_output_of_project_reference_source_0,
          L6(e.originalFileName, n)
        )), e.redirectInfo && (s ?? (s = [])).push(Ss(
          /*details*/
          void 0,
          p.File_redirects_to_file_0,
          L6(e.redirectInfo.redirectTarget, n)
        )), Y_(e))
          switch (OS(e, t)) {
            case 99:
              e.packageJsonScope && (s ?? (s = [])).push(Ss(
                /*details*/
                void 0,
                p.File_is_ECMAScript_module_because_0_has_field_type_with_value_module,
                L6(fa(e.packageJsonLocations), n)
              ));
              break;
            case 1:
              e.packageJsonScope ? (s ?? (s = [])).push(Ss(
                /*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,
                L6(fa(e.packageJsonLocations), n)
              )) : (i = e.packageJsonLocations) != null && i.length && (s ?? (s = [])).push(Ss(
                /*details*/
                void 0,
                p.File_is_CommonJS_module_because_package_json_was_not_found
              ));
              break;
          }
        return s;
      }
      function jU(e, t) {
        var n;
        const i = e.getCompilerOptions().configFile;
        if (!((n = i?.configFileSpecs) != null && n.validatedFilesSpec)) return;
        const s = e.getCanonicalFileName(t), o = Hn(Qi(i.fileName, e.getCurrentDirectory())), c = ic(i.configFileSpecs.validatedFilesSpec, (_) => e.getCanonicalFileName(Qi(_, o)) === s);
        return c !== -1 ? i.configFileSpecs.validatedFilesSpecBeforeSubstitution[c] : void 0;
      }
      function BU(e, t) {
        var n, i;
        const s = e.getCompilerOptions().configFile;
        if (!((n = s?.configFileSpecs) != null && n.validatedIncludeSpecs)) return;
        if (s.configFileSpecs.isDefaultIncludeSpec) return true;
        const o = Ho(
          t,
          ".json"
          /* Json */
        ), c = Hn(Qi(s.fileName, e.getCurrentDirectory())), _ = e.useCaseSensitiveFileNames(), u = ic((i = s?.configFileSpecs) == null ? void 0 : i.validatedIncludeSpecs, (g) => {
          if (o && !Co(
            g,
            ".json"
            /* Json */
          )) return false;
          const m = DJ(g, c, "files");
          return !!m && m0(`(?:${m})$`, _).test(t);
        });
        return u !== -1 ? s.configFileSpecs.validatedIncludeSpecsBeforeSubstitution[u] : void 0;
      }
      function JU(e, t, n) {
        var i, s;
        const o = e.getCompilerOptions();
        if (pv(t)) {
          const c = aw(e, t), _ = F6(c) ? c.file.text.substring(c.pos, c.end) : `"${c.text}"`;
          let u;
          switch (E.assert(F6(c) || t.kind === 3, "Only synthetic references are imports"), t.kind) {
            case 3:
              F6(c) ? u = c.packageId ? p.Imported_via_0_from_file_1_with_packageId_2 : p.Imported_via_0_from_file_1 : c.text === ky ? 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 Ss(
            /*details*/
            void 0,
            u,
            _,
            L6(c.file, n),
            c.packageId && j1(c.packageId)
          );
        }
        switch (t.kind) {
          case 0:
            if (!((i = o.configFile) != null && i.configFileSpecs)) return Ss(
              /*details*/
              void 0,
              p.Root_file_specified_for_compilation
            );
            const c = Qi(e.getRootFileNames()[t.index], e.getCurrentDirectory());
            if (jU(e, c)) return Ss(
              /*details*/
              void 0,
              p.Part_of_files_list_in_tsconfig_json
            );
            const u = BU(e, c);
            return ms(u) ? Ss(
              /*details*/
              void 0,
              p.Matched_by_include_pattern_0_in_1,
              u,
              L6(o.configFile, n)
            ) : (
              // Could be additional files specified as roots or matched by default include
              Ss(
                /*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 Ss(
              /*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,
              L6(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, j1(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, j1(t.packageId)] : [p.Entry_point_for_implicit_type_library_0, t.typeReference];
            return Ss(
              /*details*/
              void 0,
              ...h
            );
          }
          case 6: {
            if (t.index !== void 0) return Ss(
              /*details*/
              void 0,
              p.Library_0_specified_in_compilerOptions,
              o.lib[t.index]
            );
            const h = V5(pa(o)), S = h ? [p.Default_library_for_target_0, h] : [p.Default_library];
            return Ss(
              /*details*/
              void 0,
              ...S
            );
          }
          default:
            E.assertNever(t);
        }
      }
      function L6(e, t) {
        const n = ms(e) ? e : e.fileName;
        return t ? t(n) : n;
      }
      function QO(e, t, n, i, s, o, c, _) {
        const u = e.getCompilerOptions(), g = e.getConfigFileParsingDiagnostics().slice(), m = g.length;
        In(g, e.getSyntacticDiagnostics(
          /*sourceFile*/
          void 0,
          o
        )), g.length === m && (In(g, e.getOptionsDiagnostics(o)), u.listFilesOnly || (In(g, e.getGlobalDiagnostics(o)), g.length === m && In(g, e.getSemanticDiagnostics(
          /*sourceFile*/
          void 0,
          o
        )), u.noEmit && M_(u) && g.length === m && In(g, e.getDeclarationDiagnostics(
          /*sourceFile*/
          void 0,
          o
        ))));
        const h = u.listFilesOnly ? { emitSkipped: true, diagnostics: Ge } : e.emit(
          /*targetSourceFile*/
          void 0,
          s,
          o,
          c,
          _
        );
        In(g, h.diagnostics);
        const S = TC(g);
        if (S.forEach(t), n) {
          const T = e.getCurrentDirectory();
          lr(h.emittedFiles, (k) => {
            const D = Qi(k, T);
            n(`TSFILE: ${D}`);
          }), oBe(e, n);
        }
        return i && i($O(S), XO(S)), {
          emitResult: h,
          diagnostics: S
        };
      }
      function zU(e, t, n, i, s, o, c, _) {
        const { emitResult: u, diagnostics: g } = QO(
          e,
          t,
          n,
          i,
          s,
          o,
          c,
          _
        );
        return u.emitSkipped && g.length > 0 ? 1 : g.length > 0 ? 2 : 0;
      }
      var M6 = { close: Ua }, cw = () => M6;
      function WU(e = fl, t) {
        return {
          onWatchStatusChange: t || IU(e),
          watchFile: Fs(e, e.watchFile) || cw,
          watchDirectory: Fs(e, e.watchDirectory) || cw,
          setTimeout: Fs(e, e.setTimeout) || Ua,
          clearTimeout: Fs(e, e.clearTimeout) || Ua,
          preferNonRecursiveWatch: e.preferNonRecursiveWatch
        };
      }
      var Pl = {
        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 UU(e, t) {
        const n = e.trace ? t.extendedDiagnostics ? 2 : t.diagnostics ? 1 : 0 : 0, i = n !== 0 ? (o) => e.trace(o) : Ua, s = aU(e, n, i);
        return s.writeLog = i, s;
      }
      function VU(e, t, n = e) {
        const i = e.useCaseSensitiveFileNames(), s = {
          getSourceFile: lU(
            (o, c) => c ? e.readFile(o, c) : s.readFile(o),
            /*setParentNodes*/
            void 0
          ),
          getDefaultLibLocation: Fs(e, e.getDefaultLibLocation),
          getDefaultLibFileName: (o) => e.getDefaultLibFileName(o),
          writeFile: uU(
            (o, c, _) => e.writeFile(o, c, _),
            (o) => e.createDirectory(o),
            (o) => e.directoryExists(o)
          ),
          getCurrentDirectory: Bu(() => e.getCurrentDirectory()),
          useCaseSensitiveFileNames: () => i,
          getCanonicalFileName: $l(i),
          getNewLine: () => d0(t()),
          fileExists: (o) => e.fileExists(o),
          readFile: (o) => e.readFile(o),
          trace: Fs(e, e.trace),
          directoryExists: Fs(n, n.directoryExists),
          getDirectories: Fs(n, n.getDirectories),
          realpath: Fs(e, e.realpath),
          getEnvironmentVariable: Fs(e, e.getEnvironmentVariable) || (() => ""),
          createHash: Fs(e, e.createHash),
          readDirectory: Fs(e, e.readDirectory),
          storeSignatureInfo: e.storeSignatureInfo,
          jsDocParsingMode: e.jsDocParsingMode
        };
        return s;
      }
      function YO(e, t) {
        if (t.match(Ene)) {
          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 || !Su(o)) {
                  i = s;
                  continue;
                }
                break;
            }
            const c = t.substring(i, n);
            if (c.match(FW)) {
              t = t.substring(0, i);
              break;
            } else if (!c.match(OW))
              break;
            n = i;
          }
        }
        return (e.createHash || o4)(t);
      }
      function ZO(e) {
        const t = e.getSourceFile;
        e.getSourceFile = (...n) => {
          const i = t.call(e, ...n);
          return i && (i.version = YO(e, i.text)), i;
        };
      }
      function qU(e, t) {
        const n = Bu(() => Hn(qs(e.getExecutingFilePath())));
        return {
          useCaseSensitiveFileNames: () => e.useCaseSensitiveFileNames,
          getNewLine: () => e.newLine,
          getCurrentDirectory: Bu(() => e.getCurrentDirectory()),
          getDefaultLibLocation: n,
          getDefaultLibFileName: (i) => On(n(), XP(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: Fs(e, e.realpath),
          getEnvironmentVariable: Fs(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: Fs(e, e.createHash),
          createProgram: t || wU,
          storeSignatureInfo: e.storeSignatureInfo,
          now: Fs(e, e.now)
        };
      }
      function Qve(e = fl, t, n, i) {
        const s = (c) => e.write(c + e.newLine), o = qU(e, t);
        return LR(o, WU(e, i)), o.afterProgramCreate = (c) => {
          const _ = c.getCompilerOptions(), u = d0(_);
          QO(
            c,
            n,
            s,
            (g) => o.onWatchStatusChange(
              $o(FU(g), g),
              u,
              _,
              g
            )
          );
        }, o;
      }
      function Yve(e, t, n) {
        t(n), e.exit(
          1
          /* DiagnosticsPresent_OutputsSkipped */
        );
      }
      function HU({
        configFileName: e,
        optionsToExtend: t,
        watchOptionsToExtend: n,
        extraFileExtensions: i,
        system: s,
        createProgram: o,
        reportDiagnostic: c,
        reportWatchStatus: _
      }) {
        const u = c || rk(s), g = Qve(s, o, u, _);
        return g.onUnRecoverableConfigFileDiagnostic = (m) => Yve(s, u, m), g.configFileName = e, g.optionsToExtend = t, g.watchOptionsToExtend = n, g.extraFileExtensions = i, g;
      }
      function GU({
        rootFiles: e,
        options: t,
        watchOptions: n,
        projectReferences: i,
        system: s,
        createProgram: o,
        reportDiagnostic: c,
        reportWatchStatus: _
      }) {
        const u = Qve(s, o, c || rk(s), _);
        return u.rootFiles = e, u.options = t, u.watchOptions = n, u.projectReferences = i, u;
      }
      function rse(e) {
        const t = e.system || fl, n = e.host || (e.host = e9(e.options, t)), i = nse(e), s = zU(
          i,
          e.reportDiagnostic || rk(t),
          (o) => n.trace && n.trace(o),
          e.reportErrorSummary || e.options.pretty ? (o, c) => t.write(OU(o, c, t.newLine, n)) : void 0
        );
        return e.afterProgramEmitAndDiagnostics && e.afterProgramEmitAndDiagnostics(i), s;
      }
      function KO(e, t) {
        const n = fv(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 = rU(n, s);
        }
        if (!(!i || i.version !== Qf || !D8(i)))
          return Hie(i, n, t);
      }
      function e9(e, t = fl) {
        const n = OO(
          e,
          /*setParentNodes*/
          void 0,
          t
        );
        return n.createHash = Fs(t, t.createHash), n.storeSignatureInfo = t.storeSignatureInfo, ZO(n), iw(n, (i) => io(i, n.getCurrentDirectory(), n.getCanonicalFileName)), n;
      }
      function nse({
        rootNames: e,
        options: t,
        configFileParsingDiagnostics: n,
        projectReferences: i,
        host: s,
        createProgram: o
      }) {
        s = s || e9(t), o = o || wU;
        const c = KO(t, s);
        return o(e, t, s, c, n, i);
      }
      function Zve(e, t, n, i, s, o, c, _) {
        return ss(e) ? GU({
          rootFiles: e,
          options: t,
          watchOptions: _,
          projectReferences: c,
          system: n,
          createProgram: i,
          reportDiagnostic: s,
          reportWatchStatus: o
        }) : HU({
          configFileName: e,
          optionsToExtend: t,
          watchOptionsToExtend: c,
          extraFileExtensions: _,
          system: n,
          createProgram: i,
          reportDiagnostic: s,
          reportWatchStatus: o
        });
      }
      function $U(e) {
        let t, n, i, s, o = /* @__PURE__ */ new Map([[void 0, void 0]]), c, _, u, g, m = e.extendedConfigCache, h = false;
        const S = /* @__PURE__ */ new Map();
        let T, k = false;
        const D = e.useCaseSensitiveFileNames(), P = e.getCurrentDirectory(), { configFileName: A, optionsToExtend: O = {}, watchOptionsToExtend: F, extraFileExtensions: R, createProgram: B } = e;
        let { rootFiles: U, options: $, watchOptions: W, projectReferences: _e } = e, K, V, ae = false, se = false;
        const ce = A === void 0 ? void 0 : AO(e, P, D), fe = ce || e, he = WO(e, fe);
        let q = Nr();
        A && e.configFileParsingResult && (yr(e.configFileParsingResult), q = Nr()), fi(p.Starting_compilation_in_watch_mode), A && !e.configFileParsingResult && (q = d0(O), E.assert(!U), Zs(), q = Nr()), E.assert($), E.assert(U);
        const { watchFile: be, watchDirectory: je, writeLog: me } = UU(e, $), Z = $l(D);
        me(`Current directory: ${P} CaseSensitiveFileNames: ${D}`);
        let pe;
        A && (pe = be(A, qr, 2e3, W, Pl.ConfigFile));
        const Te = VU(e, () => $, fe);
        ZO(Te);
        const Fe = Te.getSourceFile;
        Te.getSourceFile = (pt, ...Ct) => Ji(pt, st(pt), ...Ct), Te.getSourceFileByPath = Ji, Te.getNewLine = () => q, Te.fileExists = ui, Te.onReleaseOldSourceFile = ai, Te.onReleaseParsedCommandLine = Et, Te.toPath = st, Te.getCompilationSettings = () => $, Te.useSourceOfProjectReferenceRedirect = Fs(e, e.useSourceOfProjectReferenceRedirect), Te.preferNonRecursiveWatch = e.preferNonRecursiveWatch, Te.watchDirectoryOfFailedLookupLocation = (pt, Ct, qe) => je(pt, Ct, qe, W, Pl.FailedLookupLocations), Te.watchAffectingFileLocation = (pt, Ct) => be(pt, Ct, 2e3, W, Pl.AffectingFileLocation), Te.watchTypeRootsDirectory = (pt, Ct, qe) => je(pt, Ct, qe, W, Pl.TypeRoots), Te.getCachedDirectoryStructureHost = () => ce, Te.scheduleInvalidateResolutionsOfFailedLookupLocations = Je, Te.onInvalidatedResolution = er, Te.onChangedAutomaticTypeDirectiveNames = er, Te.fileIsOpen = uh, Te.getCurrentProgram = Ve, Te.writeLog = me, Te.getParsedCommandLine = vs;
        const Ye = AU(
          Te,
          A ? Hn(Qi(A, P)) : P,
          /*logChangesWhenResolvingModule*/
          false
        );
        Te.resolveModuleNameLiterals = Fs(e, e.resolveModuleNameLiterals), Te.resolveModuleNames = Fs(e, e.resolveModuleNames), !Te.resolveModuleNameLiterals && !Te.resolveModuleNames && (Te.resolveModuleNameLiterals = Ye.resolveModuleNameLiterals.bind(Ye)), Te.resolveTypeReferenceDirectiveReferences = Fs(e, e.resolveTypeReferenceDirectiveReferences), Te.resolveTypeReferenceDirectives = Fs(e, e.resolveTypeReferenceDirectives), !Te.resolveTypeReferenceDirectiveReferences && !Te.resolveTypeReferenceDirectives && (Te.resolveTypeReferenceDirectiveReferences = Ye.resolveTypeReferenceDirectiveReferences.bind(Ye)), Te.resolveLibrary = e.resolveLibrary ? e.resolveLibrary.bind(e) : Ye.resolveLibrary.bind(Ye), Te.getModuleResolutionCache = e.resolveModuleNameLiterals || e.resolveModuleNames ? Fs(e, e.getModuleResolutionCache) : () => Ye.getModuleResolutionCache();
        const Se = !!e.resolveModuleNameLiterals || !!e.resolveTypeReferenceDirectiveReferences || !!e.resolveModuleNames || !!e.resolveTypeReferenceDirectives ? Fs(e, e.hasInvalidatedResolutions) || fb : uh, ie = e.resolveLibrary ? Fs(e, e.hasInvalidatedLibResolutions) || fb : uh;
        return t = KO($, Te), St(), A ? { getCurrentProgram: Ce, getProgram: Un, close: Ne, getResolutionCache: Ee } : { getCurrentProgram: Ce, getProgram: Un, updateRootFileNames: tr, close: Ne, getResolutionCache: Ee };
        function Ne() {
          _i(), Ye.clear(), L_(S, (pt) => {
            pt && pt.fileWatcher && (pt.fileWatcher.close(), pt.fileWatcher = void 0);
          }), pe && (pe.close(), pe = void 0), m?.clear(), m = void 0, g && (L_(g, fp), g = void 0), s && (L_(s, fp), s = void 0), i && (L_(i, nd), i = void 0), u && (L_(u, (pt) => {
            var Ct;
            (Ct = pt.watcher) == null || Ct.close(), pt.watcher = void 0, pt.watchedDirectories && L_(pt.watchedDirectories, fp), pt.watchedDirectories = void 0;
          }), u = void 0), t = void 0;
        }
        function Ee() {
          return Ye;
        }
        function Ce() {
          return t;
        }
        function Ve() {
          return t && t.getProgramOrUndefined();
        }
        function St() {
          me("Synchronizing program"), E.assert($), E.assert(U), _i();
          const pt = Ce();
          k && (q = Nr(), pt && M7(pt.getCompilerOptions(), $) && Ye.onChangesAffectModuleResolution());
          const { hasInvalidatedResolutions: Ct, hasInvalidatedLibResolutions: qe } = Ye.createHasInvalidatedResolutions(Se, ie), {
            originalReadFile: Lt,
            originalFileExists: rn,
            originalDirectoryExists: Pe,
            originalCreateDirectory: yt,
            originalWriteFile: ue,
            readFileWithCache: M
          } = iw(Te, st);
          return hU(Ve(), U, $, (ye) => Mn(ye, M), (ye) => Te.fileExists(ye), Ct, qe, pn, vs, _e) ? se && (h && fi(p.File_change_detected_Starting_incremental_compilation), t = B(
            /*rootNames*/
            void 0,
            /*options*/
            void 0,
            Te,
            t,
            V,
            _e
          ), se = false) : (h && fi(p.File_change_detected_Starting_incremental_compilation), Bt(Ct, qe)), h = false, e.afterProgramCreate && pt !== t && e.afterProgramCreate(t), Te.readFile = Lt, Te.fileExists = rn, Te.directoryExists = Pe, Te.createDirectory = yt, Te.writeFile = ue, o?.forEach((ye, Q) => {
            if (!Q)
              Ke(), A && Le(st(A), $, W, Pl.ExtendedConfigFile);
            else {
              const dt = u?.get(Q);
              dt && mt(ye, Q, dt);
            }
          }), o = void 0, t;
        }
        function Bt(pt, Ct) {
          me("CreatingProgramWith::"), me(`  roots: ${JSON.stringify(U)}`), me(`  options: ${JSON.stringify($)}`), _e && me(`  projectReferences: ${JSON.stringify(_e)}`);
          const qe = k || !Ve();
          k = false, se = false, Ye.startCachingPerDirectoryResolution(), Te.hasInvalidatedResolutions = pt, Te.hasInvalidatedLibResolutions = Ct, Te.hasChangedAutomaticTypeDirectiveNames = pn;
          const Lt = Ve();
          if (t = B(U, $, Te, t, V, _e), Ye.finishCachingPerDirectoryResolution(t.getProgram(), Lt), sU(
            t.getProgram(),
            i || (i = /* @__PURE__ */ new Map()),
            Ae
          ), qe && Ye.updateTypeRootsWatch(), T) {
            for (const rn of T)
              i.has(rn) || S.delete(rn);
            T = void 0;
          }
        }
        function tr(pt) {
          E.assert(!A, "Cannot update root file names with config file watch mode"), U = pt, er();
        }
        function Nr() {
          return d0($ || O);
        }
        function st(pt) {
          return io(pt, P, Z);
        }
        function Wt(pt) {
          return typeof pt == "boolean";
        }
        function Jr(pt) {
          return typeof pt.version == "boolean";
        }
        function ui(pt) {
          const Ct = st(pt);
          return Wt(S.get(Ct)) ? false : fe.fileExists(pt);
        }
        function Ji(pt, Ct, qe, Lt, rn) {
          const Pe = S.get(Ct);
          if (Wt(Pe))
            return;
          const yt = typeof qe == "object" ? qe.impliedNodeFormat : void 0;
          if (Pe === void 0 || rn || Jr(Pe) || Pe.sourceFile.impliedNodeFormat !== yt) {
            const ue = Fe(pt, qe, Lt);
            if (Pe)
              ue ? (Pe.sourceFile = ue, Pe.version = ue.version, Pe.fileWatcher || (Pe.fileWatcher = re(Ct, pt, it, 250, W, Pl.SourceFile))) : (Pe.fileWatcher && Pe.fileWatcher.close(), S.set(Ct, false));
            else if (ue) {
              const M = re(Ct, pt, it, 250, W, Pl.SourceFile);
              S.set(Ct, { sourceFile: ue, version: ue.version, fileWatcher: M });
            } else
              S.set(Ct, false);
            return ue;
          }
          return Pe.sourceFile;
        }
        function Dt(pt) {
          const Ct = S.get(pt);
          Ct !== void 0 && (Wt(Ct) ? S.set(pt, { version: false }) : Ct.version = false);
        }
        function Mn(pt, Ct) {
          const qe = S.get(pt);
          if (!qe) return;
          if (qe.version) return qe.version;
          const Lt = Ct(pt);
          return Lt !== void 0 ? YO(Te, Lt) : void 0;
        }
        function ai(pt, Ct, qe) {
          const Lt = S.get(pt.resolvedPath);
          Lt !== void 0 && (Wt(Lt) ? (T || (T = [])).push(pt.path) : Lt.sourceFile === pt && (Lt.fileWatcher && Lt.fileWatcher.close(), S.delete(pt.resolvedPath), qe || Ye.removeResolutionsOfFile(pt.path)));
        }
        function fi(pt) {
          e.onWatchStatusChange && e.onWatchStatusChange($o(pt), q, $ || O);
        }
        function pn() {
          return Ye.hasChangedAutomaticTypeDirectiveNames();
        }
        function _i() {
          return _ ? (e.clearTimeout(_), _ = void 0, true) : false;
        }
        function Je() {
          if (!e.setTimeout || !e.clearTimeout)
            return Ye.invalidateResolutionsOfFailedLookupLocations();
          const pt = _i();
          me(`Scheduling invalidateFailedLookup${pt ? ", Cancelled earlier one" : ""}`), _ = e.setTimeout(ft, 250, "timerToInvalidateFailedLookupResolutions");
        }
        function ft() {
          _ = void 0, Ye.invalidateResolutionsOfFailedLookupLocations() && er();
        }
        function er() {
          !e.setTimeout || !e.clearTimeout || (c && e.clearTimeout(c), me("Scheduling update"), c = e.setTimeout(Jn, 250, "timerToUpdateProgram"));
        }
        function qr() {
          E.assert(!!A), n = 2, er();
        }
        function Jn() {
          c = void 0, h = true, Un();
        }
        function Un() {
          switch (n) {
            case 1:
              ki();
              break;
            case 2:
              Es();
              break;
            default:
              St();
              break;
          }
          return Ce();
        }
        function ki() {
          me("Reloading new file names and options"), E.assert($), E.assert(A), n = 0, U = JD($.configFile.configFileSpecs, Qi(Hn(A), P), $, he, R), nO(
            U,
            Qi(A, P),
            $.configFile.configFileSpecs,
            V,
            ae
          ) && (se = true), St();
        }
        function Es() {
          E.assert(A), me(`Reloading config file: ${A}`), n = 0, ce && ce.clearCache(), Zs(), k = true, (o ?? (o = /* @__PURE__ */ new Map())).set(void 0, void 0), St();
        }
        function Zs() {
          E.assert(A), yr(
            KN(
              A,
              O,
              he,
              m || (m = /* @__PURE__ */ new Map()),
              F,
              R
            )
          );
        }
        function yr(pt) {
          U = pt.fileNames, $ = pt.options, W = pt.watchOptions, _e = pt.projectReferences, K = pt.wildcardDirectories, V = e2(pt).slice(), ae = i8(pt.raw), se = true;
        }
        function vs(pt) {
          const Ct = st(pt);
          let qe = u?.get(Ct);
          if (qe) {
            if (!qe.updateLevel) return qe.parsedCommandLine;
            if (qe.parsedCommandLine && qe.updateLevel === 1 && !e.getParsedCommandLine) {
              me("Reloading new file names and options"), E.assert($);
              const rn = JD(
                qe.parsedCommandLine.options.configFile.configFileSpecs,
                Qi(Hn(pt), P),
                $,
                he
              );
              return qe.parsedCommandLine = { ...qe.parsedCommandLine, fileNames: rn }, qe.updateLevel = void 0, qe.parsedCommandLine;
            }
          }
          me(`Loading config file: ${pt}`);
          const Lt = e.getParsedCommandLine ? e.getParsedCommandLine(pt) : Xe(pt);
          return qe ? (qe.parsedCommandLine = Lt, qe.updateLevel = void 0) : (u || (u = /* @__PURE__ */ new Map())).set(Ct, qe = { parsedCommandLine: Lt }), (o ?? (o = /* @__PURE__ */ new Map())).set(Ct, pt), Lt;
        }
        function Xe(pt) {
          const Ct = he.onUnRecoverableConfigFileDiagnostic;
          he.onUnRecoverableConfigFileDiagnostic = Ua;
          const qe = KN(
            pt,
            /*optionsToExtend*/
            void 0,
            he,
            m || (m = /* @__PURE__ */ new Map()),
            F
          );
          return he.onUnRecoverableConfigFileDiagnostic = Ct, qe;
        }
        function Et(pt) {
          var Ct;
          const qe = st(pt), Lt = u?.get(qe);
          Lt && (u.delete(qe), Lt.watchedDirectories && L_(Lt.watchedDirectories, fp), (Ct = Lt.watcher) == null || Ct.close(), iU(qe, g));
        }
        function re(pt, Ct, qe, Lt, rn, Pe) {
          return be(Ct, (yt, ue) => qe(yt, ue, pt), Lt, rn, Pe);
        }
        function it(pt, Ct, qe) {
          Y(pt, qe, Ct), Ct === 2 && S.has(qe) && Ye.invalidateResolutionOfFile(qe), Dt(qe), er();
        }
        function Y(pt, Ct, qe) {
          ce && ce.addOrDeleteFile(pt, Ct, qe);
        }
        function Ae(pt, Ct) {
          return u?.has(pt) ? M6 : re(
            pt,
            Ct,
            $e,
            500,
            W,
            Pl.MissingFile
          );
        }
        function $e(pt, Ct, qe) {
          Y(pt, qe, Ct), Ct === 0 && i.has(qe) && (i.get(qe).close(), i.delete(qe), Dt(qe), er());
        }
        function Ke() {
          b8(
            s || (s = /* @__PURE__ */ new Map()),
            K,
            Tt
          );
        }
        function Tt(pt, Ct) {
          return je(
            pt,
            (qe) => {
              E.assert(A), E.assert($);
              const Lt = st(qe);
              ce && ce.addOrDeleteFileOrDirectory(qe, Lt), Dt(Lt), !S8({
                watchedDirPath: st(pt),
                fileOrDirectory: qe,
                fileOrDirectoryPath: Lt,
                configFileName: A,
                extraFileExtensions: R,
                options: $,
                program: Ce() || U,
                currentDirectory: P,
                useCaseSensitiveFileNames: D,
                writeLog: me,
                toPath: st
              }) && n !== 2 && (n = 1, er());
            },
            Ct,
            W,
            Pl.WildcardDirectory
          );
        }
        function Le(pt, Ct, qe, Lt) {
          IO(
            pt,
            Ct,
            g || (g = /* @__PURE__ */ new Map()),
            (rn, Pe) => be(
              rn,
              (yt, ue) => {
                var M;
                Y(rn, Pe, ue), m && FO(m, Pe, st);
                const ye = (M = g.get(Pe)) == null ? void 0 : M.projects;
                ye?.size && ye.forEach((Q) => {
                  if (A && st(A) === Q)
                    n = 2;
                  else {
                    const dt = u?.get(Q);
                    dt && (dt.updateLevel = 2), Ye.removeResolutionsFromProjectReferenceRedirects(Q);
                  }
                  er();
                });
              },
              2e3,
              qe,
              Lt
            ),
            st
          );
        }
        function mt(pt, Ct, qe) {
          var Lt, rn, Pe, yt;
          qe.watcher || (qe.watcher = be(
            pt,
            (ue, M) => {
              Y(pt, Ct, M);
              const ye = u?.get(Ct);
              ye && (ye.updateLevel = 2), Ye.removeResolutionsFromProjectReferenceRedirects(Ct), er();
            },
            2e3,
            ((Lt = qe.parsedCommandLine) == null ? void 0 : Lt.watchOptions) || W,
            Pl.ConfigFileOfReferencedProject
          )), b8(
            qe.watchedDirectories || (qe.watchedDirectories = /* @__PURE__ */ new Map()),
            (rn = qe.parsedCommandLine) == null ? void 0 : rn.wildcardDirectories,
            (ue, M) => {
              var ye;
              return je(
                ue,
                (Q) => {
                  const dt = st(Q);
                  ce && ce.addOrDeleteFileOrDirectory(Q, dt), Dt(dt);
                  const Mt = u?.get(Ct);
                  Mt?.parsedCommandLine && (S8({
                    watchedDirPath: st(ue),
                    fileOrDirectory: Q,
                    fileOrDirectoryPath: dt,
                    configFileName: pt,
                    options: Mt.parsedCommandLine.options,
                    program: Mt.parsedCommandLine.fileNames,
                    currentDirectory: P,
                    useCaseSensitiveFileNames: D,
                    writeLog: me,
                    toPath: st
                  }) || Mt.updateLevel !== 2 && (Mt.updateLevel = 1, er()));
                },
                M,
                ((ye = qe.parsedCommandLine) == null ? void 0 : ye.watchOptions) || W,
                Pl.WildcardDirectoryOfReferencedProject
              );
            }
          ), Le(
            Ct,
            (Pe = qe.parsedCommandLine) == null ? void 0 : Pe.options,
            ((yt = qe.parsedCommandLine) == null ? void 0 : yt.watchOptions) || W,
            Pl.ExtendedConfigOfReferencedProject
          );
        }
      }
      var ise = /* @__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))(ise || {});
      function XU(e) {
        return Ho(
          e,
          ".json"
          /* Json */
        ) ? e : On(e, "tsconfig.json");
      }
      var cBe = /* @__PURE__ */ new Date(-864e13);
      function lBe(e, t, n) {
        const i = e.get(t);
        let s;
        return i || (s = n(), e.set(t, s)), i || s;
      }
      function sse(e, t) {
        return lBe(e, t, () => /* @__PURE__ */ new Map());
      }
      function QU(e) {
        return e.now ? e.now() : /* @__PURE__ */ new Date();
      }
      function nk(e) {
        return !!e && !!e.buildOrder;
      }
      function N8(e) {
        return nk(e) ? e.buildOrder : e;
      }
      function t9(e, t) {
        return (n) => {
          let i = t ? `[${Kb(
            P8(e),
            "\x1B[90m"
            /* Grey */
          )}] ` : `${P8(e)} - `;
          i += `${bm(n.messageText, e.newLine)}${e.newLine + e.newLine}`, e.write(i);
        };
      }
      function Kve(e, t, n, i) {
        const s = qU(e, t);
        return s.getModifiedTime = e.getModifiedTime ? (o) => e.getModifiedTime(o) : pb, s.setModifiedTime = e.setModifiedTime ? (o, c) => e.setModifiedTime(o, c) : Ua, s.deleteFile = e.deleteFile ? (o) => e.deleteFile(o) : Ua, s.reportDiagnostic = n || rk(e), s.reportSolutionBuilderStatus = i || t9(e), s.now = Fs(e, e.now), s;
      }
      function ase(e = fl, t, n, i, s) {
        const o = Kve(e, t, n, i);
        return o.reportErrorSummary = s, o;
      }
      function ose(e = fl, t, n, i, s) {
        const o = Kve(e, t, n, i), c = WU(e, s);
        return LR(o, c), o;
      }
      function uBe(e) {
        const t = {};
        return HF.forEach((n) => {
          Ya(e, n.name) && (t[n.name] = e[n.name]);
        }), t.tscBuild = true, t;
      }
      function cse(e, t, n) {
        return bbe(
          /*watch*/
          false,
          e,
          t,
          n
        );
      }
      function lse(e, t, n, i) {
        return bbe(
          /*watch*/
          true,
          e,
          t,
          n,
          i
        );
      }
      function _Be(e, t, n, i, s) {
        const o = t, c = t, _ = uBe(i), u = VU(o, () => D.projectCompilerOptions);
        ZO(u), u.getParsedCommandLine = (P) => R6(D, P, Km(D, P)), u.resolveModuleNameLiterals = Fs(o, o.resolveModuleNameLiterals), u.resolveTypeReferenceDirectiveReferences = Fs(o, o.resolveTypeReferenceDirectiveReferences), u.resolveLibrary = Fs(o, o.resolveLibrary), u.resolveModuleNames = Fs(o, o.resolveModuleNames), u.resolveTypeReferenceDirectives = Fs(o, o.resolveTypeReferenceDirectives), u.getModuleResolutionCache = Fs(o, o.getModuleResolutionCache);
        let g, m;
        !u.resolveModuleNameLiterals && !u.resolveModuleNames && (g = E6(u.getCurrentDirectory(), u.getCanonicalFileName), u.resolveModuleNameLiterals = (P, A, O, F, R) => x8(
          P,
          A,
          O,
          F,
          R,
          o,
          g,
          mU
        ), u.getModuleResolutionCache = () => g), !u.resolveTypeReferenceDirectiveReferences && !u.resolveTypeReferenceDirectives && (m = uO(
          u.getCurrentDirectory(),
          u.getCanonicalFileName,
          /*options*/
          void 0,
          g?.getPackageJsonInfoCache(),
          g?.optionsToRedirectsKey
        ), u.resolveTypeReferenceDirectiveReferences = (P, A, O, F, R) => x8(
          P,
          A,
          O,
          F,
          R,
          o,
          m,
          RO
        ));
        let h;
        u.resolveLibrary || (h = E6(
          u.getCurrentDirectory(),
          u.getCanonicalFileName,
          /*options*/
          void 0,
          g?.getPackageJsonInfoCache()
        ), u.resolveLibrary = (P, A, O) => _O(
          P,
          A,
          O,
          o,
          h
        )), u.getBuildInfo = (P, A) => _be(
          D,
          P,
          Km(D, A),
          /*modifiedTime*/
          void 0
        );
        const { watchFile: S, watchDirectory: T, writeLog: k } = UU(c, i), D = {
          host: o,
          hostWithWatch: c,
          parseConfigFileHost: WO(o),
          write: Fs(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: (P) => o.readFile(P),
          projectCompilerOptions: _,
          cache: void 0,
          allProjectBuildPending: true,
          needsSummary: true,
          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: false,
          watchFile: S,
          watchDirectory: T,
          writeLog: k
        };
        return D;
      }
      function cd(e, t) {
        return io(t, e.compilerHost.getCurrentDirectory(), e.compilerHost.getCanonicalFileName);
      }
      function Km(e, t) {
        const { resolvedConfigFilePaths: n } = e, i = n.get(t);
        if (i !== void 0) return i;
        const s = cd(e, t);
        return n.set(t, s), s;
      }
      function ebe(e) {
        return !!e.options;
      }
      function fBe(e, t) {
        const n = e.configFileCache.get(t);
        return n && ebe(n) ? n : void 0;
      }
      function R6(e, t, n) {
        const { configFileCache: i } = e, s = i.get(n);
        if (s)
          return ebe(s) ? s : void 0;
        Qo("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 = KN(t, _, c, g, u), c.onUnRecoverableConfigFileDiagnostic = Ua), i.set(n, h || o), Qo("SolutionBuilder::afterConfigFileParsing"), Zf("SolutionBuilder::Config file parsing", "SolutionBuilder::beforeConfigFileParsing", "SolutionBuilder::afterConfigFileParsing"), h;
      }
      function A8(e, t) {
        return XU(my(e.compilerHost.getCurrentDirectory(), t));
      }
      function tbe(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 || Ge, circularDiagnostics: c } : o || Ge;
        function _(u, g) {
          const m = Km(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, true), s.push(u);
          const h = R6(e, u, m);
          if (h && h.projectReferences)
            for (const S of h.projectReferences) {
              const T = A8(e, S.path);
              _(T, g || S.circular);
            }
          s.pop(), i.set(m, true), (o || (o = [])).push(u);
        }
      }
      function r9(e) {
        return e.buildOrder || pBe(e);
      }
      function pBe(e) {
        const t = tbe(e, e.rootNames.map((s) => A8(e, s)));
        e.resolvedConfigFilePaths.clear();
        const n = new Set(
          N8(t).map(
            (s) => Km(e, s)
          )
        ), i = { onDeleteValue: Ua };
        return Ig(e.configFileCache, n, i), Ig(e.projectStatus, n, i), Ig(e.builderPrograms, n, i), Ig(e.diagnostics, n, i), Ig(e.projectPendingBuild, n, i), Ig(e.projectErrorsReported, n, i), Ig(e.buildInfoCache, n, i), Ig(e.outputTimeStamps, n, i), Ig(e.lastCachedPackageJsonLookups, n, i), e.watch && (Ig(
          e.allWatchedConfigFiles,
          n,
          { onDeleteValue: nd }
        ), e.allWatchedExtendedConfigFiles.forEach((s) => {
          s.projects.forEach((o) => {
            n.has(o) || s.projects.delete(o);
          }), s.close();
        }), Ig(
          e.allWatchedWildcardDirectories,
          n,
          { onDeleteValue: (s) => s.forEach(fp) }
        ), Ig(
          e.allWatchedInputFiles,
          n,
          { onDeleteValue: (s) => s.forEach(nd) }
        ), Ig(
          e.allWatchedPackageJsonFiles,
          n,
          { onDeleteValue: (s) => s.forEach(nd) }
        )), e.buildOrder = t;
      }
      function rbe(e, t, n) {
        const i = t && A8(e, t), s = r9(e);
        if (nk(s)) return s;
        if (i) {
          const c = Km(e, i);
          if (ic(
            s,
            (u) => Km(e, u) === c
          ) === -1) return;
        }
        const o = i ? tbe(e, [i]) : s;
        return E.assert(!nk(o)), E.assert(!n || i !== void 0), E.assert(!n || o[o.length - 1] === i), n ? o.slice(0, o.length - 1) : o;
      }
      function nbe(e) {
        e.cache && use(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
        } = iw(
          n,
          (S) => cd(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 use(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 ibe(e, t) {
        e.projectStatus.delete(t), e.diagnostics.delete(t);
      }
      function sbe({ projectPendingBuild: e }, t, n) {
        const i = e.get(t);
        (i === void 0 || i < n) && e.set(t, n);
      }
      function abe(e, t) {
        if (!e.allProjectBuildPending) return;
        e.allProjectBuildPending = false, e.options.watch && vse(e, p.Starting_compilation_in_watch_mode), nbe(e), N8(r9(e)).forEach(
          (i) => e.projectPendingBuild.set(
            Km(e, i),
            0
            /* Update */
          )
        ), t && t.throwIfCancellationRequested();
      }
      var _se = /* @__PURE__ */ ((e) => (e[e.Build = 0] = "Build", e[e.UpdateOutputFileStamps = 1] = "UpdateOutputFileStamps", e))(_se || {});
      function obe(e, t) {
        return e.projectPendingBuild.delete(t), e.diagnostics.has(t) ? 1 : 0;
      }
      function dBe(e, t, n, i, s) {
        let o = true;
        return {
          kind: 1,
          project: t,
          projectPath: n,
          buildOrder: s,
          getCompilerOptions: () => i.options,
          getCurrentDirectory: () => e.compilerHost.getCurrentDirectory(),
          updateOutputFileStatmps: () => {
            pbe(e, i, n), o = false;
          },
          done: () => (o && pbe(e, i, n), Qo("SolutionBuilder::Timestamps only updates"), obe(e, n))
        };
      }
      function mBe(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(fo),
          getProgram: () => h(
            (P) => P.getProgramOrUndefined()
          ),
          getSourceFile: (P) => h(
            (A) => A.getSourceFile(P)
          ),
          getSourceFiles: () => S(
            (P) => P.getSourceFiles()
          ),
          getOptionsDiagnostics: (P) => S(
            (A) => A.getOptionsDiagnostics(P)
          ),
          getGlobalDiagnostics: (P) => S(
            (A) => A.getGlobalDiagnostics(P)
          ),
          getConfigFileParsingDiagnostics: () => S(
            (P) => P.getConfigFileParsingDiagnostics()
          ),
          getSyntacticDiagnostics: (P, A) => S(
            (O) => O.getSyntacticDiagnostics(P, A)
          ),
          getAllDependencies: (P) => S(
            (A) => A.getAllDependencies(P)
          ),
          getSemanticDiagnostics: (P, A) => S(
            (O) => O.getSemanticDiagnostics(P, A)
          ),
          getSemanticDiagnosticsOfNextAffectedFile: (P, A) => h(
            (O) => O.getSemanticDiagnosticsOfNextAffectedFile && O.getSemanticDiagnosticsOfNextAffectedFile(P, A)
          ),
          emit: (P, A, O, F, R) => P || F ? h(
            (B) => {
              var U, $;
              return B.emit(P, A, O, F, R || (($ = (U = e.host).getCustomTransformers) == null ? void 0 : $.call(U, t)));
            }
          ) : (D(0, O), k(A, O, R)),
          done: m
        };
        function m(P, A, O) {
          return D(3, P, A, O), Qo("SolutionBuilder::Projects built"), obe(e, n);
        }
        function h(P) {
          return D(
            0
            /* CreateProgram */
          ), u && P(u);
        }
        function S(P) {
          return h(P) || Ge;
        }
        function T() {
          var P, A, O;
          if (E.assert(u === void 0), e.options.dry) {
            af(e, p.A_non_dry_build_would_build_project_0, t), g = 1, _ = 2;
            return;
          }
          if (e.options.verbose && af(e, p.Building_project_0, t), s.fileNames.length === 0) {
            I8(e, n, e2(s)), g = 0, _ = 2;
            return;
          }
          const { host: F, compilerHost: R } = e;
          if (e.projectCompilerOptions = s.options, (P = e.moduleResolutionCache) == null || P.update(s.options), (A = e.typeReferenceDirectiveResolutionCache) == null || A.update(s.options), u = F.createProgram(
            s.fileNames,
            s.options,
            R,
            gBe(e, n, s),
            e2(s),
            s.projectReferences
          ), e.watch) {
            const B = (O = e.moduleResolutionCache) == null ? void 0 : O.getPackageJsonInfoCache().getInternalMap();
            e.lastCachedPackageJsonLookups.set(
              n,
              B && new Set(ns(
                B.values(),
                (U) => e.host.realpath && (lO(U) || U.directoryExists) ? e.host.realpath(On(U.packageDirectory, "package.json")) : On(U.packageDirectory, "package.json")
              ))
            ), e.builderPrograms.set(n, u);
          }
          _++;
        }
        function k(P, A, O) {
          var F, R, B;
          E.assertIsDefined(u), E.assert(
            _ === 1
            /* Emit */
          );
          const { host: U, compilerHost: $ } = e, W = /* @__PURE__ */ new Map(), _e = u.getCompilerOptions(), K = Mb(_e);
          let V, ae;
          const { emitResult: se, diagnostics: ce } = QO(
            u,
            (fe) => U.reportDiagnostic(fe),
            e.write,
            /*reportSummary*/
            void 0,
            (fe, he, q, be, je, me) => {
              var Z;
              const pe = cd(e, fe);
              if (W.set(cd(e, fe), fe), me?.buildInfo) {
                ae || (ae = QU(e.host));
                const Fe = (Z = u.hasChangedEmitSignature) == null ? void 0 : Z.call(u), Ye = KU(e, fe, n);
                Ye ? (Ye.buildInfo = me.buildInfo, Ye.modifiedTime = ae, Fe && (Ye.latestChangedDtsTime = ae)) : e.buildInfoCache.set(n, {
                  path: cd(e, fe),
                  buildInfo: me.buildInfo,
                  modifiedTime: ae,
                  latestChangedDtsTime: Fe ? ae : void 0
                });
              }
              const Te = me?.differsOnlyInMap ? HT(e.host, fe) : void 0;
              (P || $.writeFile)(
                fe,
                he,
                q,
                be,
                je,
                me
              ), me?.differsOnlyInMap ? e.host.setModifiedTime(fe, Te) : !K && e.watch && (V || (V = pse(e, n))).set(pe, ae || (ae = QU(e.host)));
            },
            A,
            /*emitOnlyDtsFiles*/
            void 0,
            O || ((R = (F = e.host).getCustomTransformers) == null ? void 0 : R.call(F, t))
          );
          return (!_e.noEmitOnError || !ce.length) && (W.size || o.type !== 8) && fbe(e, s, n, p.Updating_unchanged_output_timestamps_of_project_0, W), e.projectErrorsReported.set(n, true), g = (B = u.hasChangedEmitSignature) != null && B.call(u) ? 0 : 2, ce.length ? (e.diagnostics.set(n, ce), e.projectStatus.set(n, { type: 0, reason: "it had errors" }), g |= 4) : (e.diagnostics.delete(n), e.projectStatus.set(n, {
            type: 1,
            oldestOutputFileName: $I(W.values()) ?? KW(s, !U.useCaseSensitiveFileNames())
          })), hBe(e, u), _ = 2, se;
        }
        function D(P, A, O, F) {
          for (; _ <= P && _ < 3; ) {
            const R = _;
            switch (_) {
              case 0:
                T();
                break;
              case 1:
                k(O, A, F);
                break;
              case 2:
                SBe(e, t, n, i, s, c, E.checkDefined(g)), _++;
                break;
            }
            E.assert(_ > R);
          }
        }
      }
      function cbe(e, t, n) {
        if (!e.projectPendingBuild.size || nk(t)) return;
        const { options: i, projectPendingBuild: s } = e;
        for (let o = 0; o < t.length; o++) {
          const c = t[o], _ = Km(e, c), u = e.projectPendingBuild.get(_);
          if (u === void 0) continue;
          n && (n = false, xbe(e, t));
          const g = R6(e, c, _);
          if (!g) {
            Sbe(e, _), s.delete(_);
            continue;
          }
          u === 2 ? (hbe(e, c, _, g), ybe(e, _, g), vbe(e, c, _, g), hse(e, c, _, g), yse(e, c, _, g)) : u === 1 && (g.fileNames = JD(g.options.configFile.configFileSpecs, Hn(c), g.options, e.parseConfigFileHost), nO(
            g.fileNames,
            c,
            g.options.configFile.configFileSpecs,
            g.errors,
            i8(g.raw)
          ), hse(e, c, _, g), yse(e, c, _, g));
          const m = mse(e, g, _);
          if (!i.force) {
            if (m.type === 1) {
              tV(e, c, m), I8(e, _, e2(g)), s.delete(_), i.dry && af(e, p.Project_0_is_up_to_date, c);
              continue;
            }
            if (m.type === 2 || m.type === 15)
              return I8(e, _, e2(g)), {
                kind: 1,
                status: m,
                project: c,
                projectPath: _,
                projectIndex: o,
                config: g
              };
          }
          if (m.type === 12) {
            tV(e, c, m), I8(e, _, e2(g)), s.delete(_), i.verbose && af(
              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) {
            tV(e, c, m), I8(e, _, e2(g)), s.delete(_);
            continue;
          }
          return {
            kind: 0,
            status: m,
            project: c,
            projectPath: _,
            projectIndex: o,
            config: g
          };
        }
      }
      function lbe(e, t, n) {
        return tV(e, t.project, t.status), t.kind !== 1 ? mBe(
          e,
          t.project,
          t.projectPath,
          t.projectIndex,
          t.config,
          t.status,
          n
        ) : dBe(
          e,
          t.project,
          t.projectPath,
          t.config,
          n
        );
      }
      function fse(e, t, n) {
        const i = cbe(e, t, n);
        return i && lbe(e, i, t);
      }
      function gBe({ options: e, builderPrograms: t, compilerHost: n }, i, s) {
        if (e.force) return;
        const o = t.get(i);
        return o || KO(s.options, n);
      }
      function hBe(e, t) {
        t && (e.host.afterProgramEmitAndDiagnostics && e.host.afterProgramEmitAndDiagnostics(t), t.releaseProgram()), e.projectCompilerOptions = e.baseCompilerOptions;
      }
      function YU(e) {
        return !!e.watcher;
      }
      function ube(e, t) {
        const n = cd(e, t), i = e.filesWatched.get(n);
        if (e.watch && i) {
          if (!YU(i)) return i;
          if (i.modifiedTime) return i.modifiedTime;
        }
        const s = HT(e.host, t);
        return e.watch && (i ? i.modifiedTime = s : e.filesWatched.set(n, s)), s;
      }
      function ZU(e, t, n, i, s, o, c) {
        const _ = cd(e, t), u = e.filesWatched.get(_);
        if (u && YU(u))
          u.callbacks.push(n);
        else {
          const g = e.watchFile(
            t,
            (m, h, S) => {
              const T = E.checkDefined(e.filesWatched.get(_));
              E.assert(YU(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(YU(g)), g.callbacks.length === 1 ? (e.filesWatched.delete(_), fp(g)) : VT(g.callbacks, n);
          }
        };
      }
      function pse(e, t) {
        if (!e.watch) return;
        let n = e.outputTimeStamps.get(t);
        return n || e.outputTimeStamps.set(t, n = /* @__PURE__ */ new Map()), n;
      }
      function KU(e, t, n) {
        const i = cd(e, t), s = e.buildInfoCache.get(n);
        return s?.path === i ? s : void 0;
      }
      function _be(e, t, n, i) {
        const s = cd(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 ? rU(t, c) : void 0;
        return e.buildInfoCache.set(n, { path: s, buildInfo: _ || false, modifiedTime: i || G_ }), _;
      }
      function dse(e, t, n, i) {
        const s = ube(e, t);
        if (n < s)
          return {
            type: 5,
            outOfDateOutputFileName: i,
            newerInputFileName: t
          };
      }
      function yBe(e, t, n) {
        var i, s, o, c, _;
        if (aW(t)) return {
          type: 16
          /* ContainerOnly */
        };
        let u;
        const g = !!e.options.force;
        if (t.projectReferences) {
          e.projectStatus.set(n, {
            type: 13
            /* ComputingUpstream */
          });
          for (const ce of t.projectReferences) {
            const fe = tk(ce), he = Km(e, fe), q = R6(e, fe, he), be = mse(e, q, he);
            if (!(be.type === 13 || be.type === 16)) {
              if (e.options.stopBuildOnErrors && (be.type === 0 || be.type === 12))
                return {
                  type: 12,
                  upstreamProjectName: ce.path,
                  upstreamProjectBlocked: be.type === 12
                  /* UpstreamBlocked */
                };
              g || (u || (u = [])).push({ ref: ce, refStatus: be, resolvedRefPath: he, resolvedConfig: q });
            }
          }
        }
        if (g) return {
          type: 17
          /* ForceBuild */
        };
        const { host: m } = e, h = fv(t.options), S = Mb(t.options);
        let T = KU(e, h, n);
        const k = T?.modifiedTime || HT(m, h);
        if (k === G_)
          return T || e.buildInfoCache.set(n, {
            path: cd(e, h),
            buildInfo: false,
            modifiedTime: k
          }), {
            type: 3,
            missingOutputFileName: h
          };
        const D = _be(e, h, n, k);
        if (!D)
          return {
            type: 4,
            fileName: h
          };
        const P = S && D8(D) ? D : void 0;
        if ((P || !S) && D.version !== Qf)
          return {
            type: 14,
            version: D.version
          };
        if (!t.options.noCheck && (D.errors || // TODO: syntax errors????
        D.checkPending))
          return {
            type: 8,
            buildInfoFile: h
          };
        if (P) {
          if (!t.options.noCheck && ((i = P.changeFileSet) != null && i.length || (s = P.semanticDiagnosticsPerFile) != null && s.length || M_(t.options) && ((o = P.emitDiagnosticsPerFile) != null && o.length)))
            return {
              type: 8,
              buildInfoFile: h
            };
          if (!t.options.noEmit && ((c = P.changeFileSet) != null && c.length || (_ = P.affectedFilesPendingEmit) != null && _.length || P.pendingEmit !== void 0))
            return {
              type: 7,
              buildInfoFile: h
            };
          if ((!t.options.noEmit || t.options.noEmit && M_(t.options)) && VO(
            t.options,
            P.options || {},
            /*emitOnlyDtsFiles*/
            void 0,
            !!t.options.noEmit
          ))
            return {
              type: 9,
              buildInfoFile: h
            };
        }
        let A = k, O = h, F, R = cBe, B = false;
        const U = /* @__PURE__ */ new Set();
        let $;
        for (const ce of t.fileNames) {
          const fe = ube(e, ce);
          if (fe === G_)
            return {
              type: 0,
              reason: `${ce} does not exist`
            };
          const he = cd(e, ce);
          if (k < fe) {
            let q, be;
            if (P) {
              $ || ($ = EU(P, h, m));
              const je = $.roots.get(he);
              q = $.fileInfos.get(je ?? he);
              const me = q ? e.readFileWithCache(je ?? ce) : void 0;
              be = me !== void 0 ? YO(m, me) : void 0, q && q === be && (B = true);
            }
            if (!q || q !== be)
              return {
                type: 5,
                outOfDateOutputFileName: h,
                newerInputFileName: ce
              };
          }
          fe > R && (F = ce, R = fe), U.add(he);
        }
        let W;
        if (P ? ($ || ($ = EU(P, h, m)), W = dl(
          $.roots,
          // File was root file when project was built but its not any more
          (ce, fe) => U.has(fe) ? void 0 : fe
        )) : W = lr(
          Gie(D, h, m),
          (ce) => U.has(ce) ? void 0 : ce
        ), W)
          return {
            type: 10,
            buildInfoFile: h,
            inputFile: W
          };
        if (!S) {
          const ce = NO(t, !m.useCaseSensitiveFileNames()), fe = pse(e, n);
          for (const he of ce) {
            if (he === h) continue;
            const q = cd(e, he);
            let be = fe?.get(q);
            if (be || (be = HT(e.host, he), fe?.set(q, be)), be === G_)
              return {
                type: 3,
                missingOutputFileName: he
              };
            if (be < R)
              return {
                type: 5,
                outOfDateOutputFileName: he,
                newerInputFileName: F
              };
            be < A && (A = be, O = he);
          }
        }
        let _e = false;
        if (u)
          for (const { ref: ce, refStatus: fe, resolvedConfig: he, resolvedRefPath: q } of u) {
            if (fe.newestInputFileTime && fe.newestInputFileTime <= A)
              continue;
            if (vBe(e, T ?? (T = e.buildInfoCache.get(n)), q))
              return {
                type: 6,
                outOfDateOutputFileName: h,
                newerProjectName: ce.path
              };
            const be = bBe(e, he.options, q);
            if (be && be <= A) {
              _e = true;
              continue;
            }
            return E.assert(O !== void 0, "Should have an oldest output filename here"), {
              type: 6,
              outOfDateOutputFileName: O,
              newerProjectName: ce.path
            };
          }
        const K = dse(e, t.options.configFilePath, A, O);
        if (K) return K;
        const V = lr(t.options.configFile.extendedSourceFiles || Ge, (ce) => dse(e, ce, A, O));
        if (V) return V;
        const ae = e.lastCachedPackageJsonLookups.get(n), se = ae && Eg(
          ae,
          (ce) => dse(e, ce, A, O)
        );
        return se || {
          type: _e ? 2 : B ? 15 : 1,
          newestInputFileTime: R,
          newestInputFileName: F,
          oldestOutputFileName: O
        };
      }
      function vBe(e, t, n) {
        return e.buildInfoCache.get(n).path === t.path;
      }
      function mse(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;
        Qo("SolutionBuilder::beforeUpToDateCheck");
        const s = yBe(e, t, n);
        return Qo("SolutionBuilder::afterUpToDateCheck"), Zf("SolutionBuilder::Up-to-date check", "SolutionBuilder::beforeUpToDateCheck", "SolutionBuilder::afterUpToDateCheck"), e.projectStatus.set(n, s), s;
      }
      function fbe(e, t, n, i, s) {
        if (t.options.noEmit) return;
        let o;
        const c = fv(t.options), _ = Mb(t.options);
        if (c && _) {
          s?.has(cd(e, c)) || (e.options.verbose && af(e, i, t.options.configFilePath), e.host.setModifiedTime(c, o = QU(e.host)), KU(e, c, n).modifiedTime = o), e.outputTimeStamps.delete(n);
          return;
        }
        const { host: u } = e, g = NO(t, !u.useCaseSensitiveFileNames()), m = pse(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 = cd(e, T);
            s?.has(k) || (S && (S = false, af(e, i, t.options.configFilePath)), u.setModifiedTime(T, o || (o = QU(e.host))), T === c ? KU(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 bBe(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 && D8(i.buildInfo) && i.buildInfo.latestChangedDtsFile ? e.host.getModifiedTime(Qi(i.buildInfo.latestChangedDtsFile, Hn(i.path))) : void 0;
        return i.latestChangedDtsTime = s || false, s;
      }
      function pbe(e, t, n) {
        if (e.options.dry)
          return af(e, p.A_non_dry_build_would_update_timestamps_for_output_of_project_0, t.options.configFilePath);
        fbe(e, t, n, p.Updating_output_timestamps_of_project_0), e.projectStatus.set(n, {
          type: 1,
          oldestOutputFileName: KW(t, !e.host.useCaseSensitiveFileNames())
        });
      }
      function SBe(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 = Km(e, u);
            if (e.projectPendingBuild.has(g)) continue;
            const m = R6(e, u, g);
            if (!(!m || !m.projectReferences))
              for (const h of m.projectReferences) {
                const S = A8(e, h.path);
                if (Km(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:
                      Km(e, A8(e, T.upstreamProjectName)) === n && ibe(e, g);
                      break;
                  }
                sbe(
                  e,
                  g,
                  0
                  /* Update */
                );
                break;
              }
          }
      }
      function dbe(e, t, n, i, s, o) {
        Qo("SolutionBuilder::beforeBuild");
        const c = TBe(e, t, n, i, s, o);
        return Qo("SolutionBuilder::afterBuild"), Zf("SolutionBuilder::Build", "SolutionBuilder::beforeBuild", "SolutionBuilder::afterBuild"), c;
      }
      function TBe(e, t, n, i, s, o) {
        const c = rbe(e, t, o);
        if (!c) return 3;
        abe(e, n);
        let _ = true, u = 0;
        for (; ; ) {
          const g = fse(e, c, _);
          if (!g) break;
          _ = false, g.done(n, i, s?.(g.project)), e.diagnostics.has(g.projectPath) || u++;
        }
        return use(e), Tbe(e, c), EBe(e, c), nk(c) ? 4 : c.some((g) => e.diagnostics.has(Km(e, g))) ? u ? 2 : 1 : 0;
      }
      function mbe(e, t, n) {
        Qo("SolutionBuilder::beforeClean");
        const i = xBe(e, t, n);
        return Qo("SolutionBuilder::afterClean"), Zf("SolutionBuilder::Clean", "SolutionBuilder::beforeClean", "SolutionBuilder::afterClean"), i;
      }
      function xBe(e, t, n) {
        const i = rbe(e, t, n);
        if (!i) return 3;
        if (nk(i))
          return eV(e, i.circularDiagnostics), 4;
        const { options: s, host: o } = e, c = s.dry ? [] : void 0;
        for (const _ of i) {
          const u = Km(e, _), g = R6(e, _, u);
          if (g === void 0) {
            Sbe(e, u);
            continue;
          }
          const m = NO(g, !o.useCaseSensitiveFileNames());
          if (!m.length) continue;
          const h = new Set(g.fileNames.map((S) => cd(e, S)));
          for (const S of m)
            h.has(cd(e, S)) || o.fileExists(S) && (c ? c.push(S) : (o.deleteFile(S), gse(
              e,
              u,
              0
              /* Update */
            )));
        }
        return c && af(e, p.A_non_dry_build_would_delete_the_following_files_Colon_0, c.map((_) => `\r
 * ${_}`).join("")), 0;
      }
      function gse(e, t, n) {
        e.host.getParsedCommandLine && n === 1 && (n = 2), n === 2 && (e.configFileCache.delete(t), e.buildOrder = void 0), e.needsSummary = true, ibe(e, t), sbe(e, t, n), nbe(e);
      }
      function n9(e, t, n) {
        e.reportFileChangeDetected = true, gse(e, t, n), gbe(
          e,
          250,
          /*changeDetected*/
          true
        );
      }
      function gbe(e, t, n) {
        const { hostWithWatch: i } = e;
        !i.setTimeout || !i.clearTimeout || (e.timerToBuildInvalidatedProject && i.clearTimeout(e.timerToBuildInvalidatedProject), e.timerToBuildInvalidatedProject = i.setTimeout(kBe, t, "timerToBuildInvalidatedProject", e, n));
      }
      function kBe(e, t, n) {
        Qo("SolutionBuilder::beforeBuild");
        const i = CBe(t, n);
        Qo("SolutionBuilder::afterBuild"), Zf("SolutionBuilder::Build", "SolutionBuilder::beforeBuild", "SolutionBuilder::afterBuild"), i && Tbe(t, i);
      }
      function CBe(e, t) {
        e.timerToBuildInvalidatedProject = void 0, e.reportFileChangeDetected && (e.reportFileChangeDetected = false, e.projectErrorsReported.clear(), vse(e, p.File_change_detected_Starting_incremental_compilation));
        let n = 0;
        const i = r9(e), s = fse(
          e,
          i,
          /*reportQueue*/
          false
        );
        if (s)
          for (s.done(), n++; e.projectPendingBuild.size; ) {
            if (e.timerToBuildInvalidatedProject) return;
            const o = cbe(
              e,
              i,
              /*reportQueue*/
              false
            );
            if (!o) break;
            if (o.kind !== 1 && (t || n === 5)) {
              gbe(
                e,
                100,
                /*changeDetected*/
                false
              );
              return;
            }
            lbe(e, o, i).done(), o.kind !== 1 && n++;
          }
        return use(e), i;
      }
      function hbe(e, t, n, i) {
        !e.watch || e.allWatchedConfigFiles.has(n) || e.allWatchedConfigFiles.set(
          n,
          ZU(
            e,
            t,
            () => n9(
              e,
              n,
              2
              /* Full */
            ),
            2e3,
            i?.watchOptions,
            Pl.ConfigFile,
            t
          )
        );
      }
      function ybe(e, t, n) {
        IO(
          t,
          n?.options,
          e.allWatchedExtendedConfigFiles,
          (i, s) => ZU(
            e,
            i,
            () => {
              var o;
              return (o = e.allWatchedExtendedConfigFiles.get(s)) == null ? void 0 : o.projects.forEach((c) => n9(
                e,
                c,
                2
                /* Full */
              ));
            },
            2e3,
            n?.watchOptions,
            Pl.ExtendedConfigFile
          ),
          (i) => cd(e, i)
        );
      }
      function vbe(e, t, n, i) {
        e.watch && b8(
          sse(e.allWatchedWildcardDirectories, n),
          i.wildcardDirectories,
          (s, o) => e.watchDirectory(
            s,
            (c) => {
              var _;
              S8({
                watchedDirPath: cd(e, s),
                fileOrDirectory: c,
                fileOrDirectoryPath: cd(e, c),
                configFileName: t,
                currentDirectory: e.compilerHost.getCurrentDirectory(),
                options: i.options,
                program: e.builderPrograms.get(n) || ((_ = fBe(e, n)) == null ? void 0 : _.fileNames),
                useCaseSensitiveFileNames: e.parseConfigFileHost.useCaseSensitiveFileNames,
                writeLog: (u) => e.writeLog(u),
                toPath: (u) => cd(e, u)
              }) || n9(
                e,
                n,
                1
                /* RootNamesAndUpdate */
              );
            },
            o,
            i?.watchOptions,
            Pl.WildcardDirectory,
            t
          )
        );
      }
      function hse(e, t, n, i) {
        e.watch && iD(
          sse(e.allWatchedInputFiles, n),
          new Set(i.fileNames),
          {
            createNewValue: (s) => ZU(
              e,
              s,
              () => n9(
                e,
                n,
                0
                /* Update */
              ),
              250,
              i?.watchOptions,
              Pl.SourceFile,
              t
            ),
            onDeleteValue: nd
          }
        );
      }
      function yse(e, t, n, i) {
        !e.watch || !e.lastCachedPackageJsonLookups || iD(
          sse(e.allWatchedPackageJsonFiles, n),
          e.lastCachedPackageJsonLookups.get(n),
          {
            createNewValue: (s) => ZU(
              e,
              s,
              () => n9(
                e,
                n,
                0
                /* Update */
              ),
              2e3,
              i?.watchOptions,
              Pl.PackageJson,
              t
            ),
            onDeleteValue: nd
          }
        );
      }
      function EBe(e, t) {
        if (e.watchAllProjectsPending) {
          Qo("SolutionBuilder::beforeWatcherCreation"), e.watchAllProjectsPending = false;
          for (const n of N8(t)) {
            const i = Km(e, n), s = R6(e, n, i);
            hbe(e, n, i, s), ybe(e, i, s), s && (vbe(e, n, i, s), hse(e, n, i, s), yse(e, n, i, s));
          }
          Qo("SolutionBuilder::afterWatcherCreation"), Zf("SolutionBuilder::Watcher creation", "SolutionBuilder::beforeWatcherCreation", "SolutionBuilder::afterWatcherCreation");
        }
      }
      function DBe(e) {
        L_(e.allWatchedConfigFiles, nd), L_(e.allWatchedExtendedConfigFiles, fp), L_(e.allWatchedWildcardDirectories, (t) => L_(t, fp)), L_(e.allWatchedInputFiles, (t) => L_(t, nd)), L_(e.allWatchedPackageJsonFiles, (t) => L_(t, nd));
      }
      function bbe(e, t, n, i, s) {
        const o = _Be(e, t, n, i, s);
        return {
          build: (c, _, u, g) => dbe(o, c, _, u, g),
          clean: (c) => mbe(o, c),
          buildReferences: (c, _, u, g) => dbe(
            o,
            c,
            _,
            u,
            g,
            /*onlyReferences*/
            true
          ),
          cleanReferences: (c) => mbe(
            o,
            c,
            /*onlyReferences*/
            true
          ),
          getNextInvalidatedProject: (c) => (abe(o, c), fse(
            o,
            r9(o),
            /*reportQueue*/
            false
          )),
          getBuildOrder: () => r9(o),
          getUpToDateStatusOfProject: (c) => {
            const _ = A8(o, c), u = Km(o, _);
            return mse(o, R6(o, _, u), u);
          },
          invalidateProject: (c, _) => gse(
            o,
            c,
            _ || 0
            /* Update */
          ),
          close: () => DBe(o)
        };
      }
      function eu(e, t) {
        return l4(t, e.compilerHost.getCurrentDirectory(), e.compilerHost.getCanonicalFileName);
      }
      function af(e, t, ...n) {
        e.host.reportSolutionBuilderStatus($o(t, ...n));
      }
      function vse(e, t, ...n) {
        var i, s;
        (s = (i = e.hostWithWatch).onWatchStatusChange) == null || s.call(i, $o(t, ...n), e.host.getNewLine(), e.baseCompilerOptions);
      }
      function eV({ host: e }, t) {
        t.forEach((n) => e.reportDiagnostic(n));
      }
      function I8(e, t, n) {
        eV(e, n), e.projectErrorsReported.set(t, true), n.length && e.diagnostics.set(t, n);
      }
      function Sbe(e, t) {
        I8(e, t, [e.configFileCache.get(t)]);
      }
      function Tbe(e, t) {
        if (!e.needsSummary) return;
        e.needsSummary = false;
        const n = e.watch || !!e.host.reportErrorSummary, { diagnostics: i } = e;
        let s = 0, o = [];
        nk(t) ? (xbe(e, t.buildOrder), eV(e, t.circularDiagnostics), n && (s += $O(t.circularDiagnostics)), n && (o = [...o, ...XO(t.circularDiagnostics)])) : (t.forEach((c) => {
          const _ = Km(e, c);
          e.projectErrorsReported.has(_) || eV(e, i.get(_) || Ge);
        }), n && i.forEach((c) => s += $O(c)), n && i.forEach((c) => [...o, ...XO(c)])), e.watch ? vse(e, FU(s), s) : e.host.reportErrorSummary && e.host.reportErrorSummary(s, o);
      }
      function xbe(e, t) {
        e.options.verbose && af(e, p.Projects_in_this_build_Colon_0, t.map((n) => `\r
    * ` + eu(e, n)).join(""));
      }
      function wBe(e, t, n) {
        switch (n.type) {
          case 5:
            return af(
              e,
              p.Project_0_is_out_of_date_because_output_1_is_older_than_input_2,
              eu(e, t),
              eu(e, n.outOfDateOutputFileName),
              eu(e, n.newerInputFileName)
            );
          case 6:
            return af(
              e,
              p.Project_0_is_out_of_date_because_output_1_is_older_than_input_2,
              eu(e, t),
              eu(e, n.outOfDateOutputFileName),
              eu(e, n.newerProjectName)
            );
          case 3:
            return af(
              e,
              p.Project_0_is_out_of_date_because_output_file_1_does_not_exist,
              eu(e, t),
              eu(e, n.missingOutputFileName)
            );
          case 4:
            return af(
              e,
              p.Project_0_is_out_of_date_because_there_was_error_reading_file_1,
              eu(e, t),
              eu(e, n.fileName)
            );
          case 7:
            return af(
              e,
              p.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted,
              eu(e, t),
              eu(e, n.buildInfoFile)
            );
          case 8:
            return af(
              e,
              p.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_program_needs_to_report_errors,
              eu(e, t),
              eu(e, n.buildInfoFile)
            );
          case 9:
            return af(
              e,
              p.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions,
              eu(e, t),
              eu(e, n.buildInfoFile)
            );
          case 10:
            return af(
              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,
              eu(e, t),
              eu(e, n.buildInfoFile),
              eu(e, n.inputFile)
            );
          case 1:
            if (n.newestInputFileTime !== void 0)
              return af(
                e,
                p.Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2,
                eu(e, t),
                eu(e, n.newestInputFileName || ""),
                eu(e, n.oldestOutputFileName || "")
              );
            break;
          case 2:
            return af(
              e,
              p.Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies,
              eu(e, t)
            );
          case 15:
            return af(
              e,
              p.Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files,
              eu(e, t)
            );
          case 11:
            return af(
              e,
              p.Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date,
              eu(e, t),
              eu(e, n.upstreamProjectName)
            );
          case 12:
            return af(
              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,
              eu(e, t),
              eu(e, n.upstreamProjectName)
            );
          case 0:
            return af(
              e,
              p.Project_0_is_out_of_date_because_1,
              eu(e, t),
              n.reason
            );
          case 14:
            return af(
              e,
              p.Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2,
              eu(e, t),
              n.version,
              Qf
            );
          case 17:
            return af(
              e,
              p.Project_0_is_being_forcibly_rebuilt,
              eu(e, t)
            );
        }
      }
      function tV(e, t, n) {
        e.options.verbose && wBe(e, t, n);
      }
      var bse = /* @__PURE__ */ ((e) => (e[e.time = 0] = "time", e[e.count = 1] = "count", e[e.memory = 2] = "memory", e))(bse || {});
      function PBe(e) {
        const t = NBe();
        return lr(e.getSourceFiles(), (n) => {
          const i = ABe(e, n), s = vg(n).length;
          t.set(i, t.get(i) + s);
        }), t;
      }
      function NBe() {
        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 ABe(e, t) {
        if (e.isSourceFileDefaultLibrary(t))
          return "Library";
        if (t.isDeclarationFile)
          return "Definitions";
        const n = t.path;
        return bc(n, PJ) ? "TypeScript" : bc(n, e6) ? "JavaScript" : Ho(
          n,
          ".json"
          /* Json */
        ) ? "JSON" : "Other";
      }
      function rV(e, t, n) {
        return i9(e, n) ? rk(
          e,
          /*pretty*/
          true
        ) : t;
      }
      function kbe(e) {
        return !!e.writeOutputIsTTY && e.writeOutputIsTTY() && !e.getEnvironmentVariable("NO_COLOR");
      }
      function i9(e, t) {
        return !t || typeof t.pretty > "u" ? kbe(e) : t.pretty;
      }
      function Cbe(e) {
        return e.options.all ? q_(od.concat(DS), (t, n) => jP(t.name, n.name)) : kn(od.concat(DS), (t) => !!t.showInSimplifiedHelpView);
      }
      function nV(e) {
        e.write(x_(p.Version_0, Qf) + e.newLine);
      }
      function iV(e) {
        if (!kbe(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 Ebe(e) {
        return `--${e.name}${e.shortName ? `, -${e.shortName}` : ""}`;
      }
      function IBe(e, t, n, i) {
        var s;
        const o = [], c = iV(e), _ = Ebe(t), u = k(t), g = typeof t.defaultValueDescription == "object" ? x_(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 = x_(t.description)), o.push(...T(
            _,
            D,
            n,
            i,
            m,
            /*colorLeft*/
            true
          ), e.newLine), S(u, t) && (u && o.push(...T(
            u.valueType,
            u.possibleValues,
            n,
            i,
            m,
            /*colorLeft*/
            false
          ), e.newLine), g && o.push(...T(
            x_(p.default_Colon),
            g,
            n,
            i,
            m,
            /*colorLeft*/
            false
          ), e.newLine)), o.push(e.newLine);
        } else {
          if (o.push(c.blue(_), e.newLine), t.description) {
            const D = x_(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 = x_(p.default_Colon);
              o.push(`${D} ${g}`);
            }
            o.push(e.newLine);
          }
          o.push(e.newLine);
        }
        return o;
        function h(D, P) {
          return D !== void 0 && typeof P == "object" ? ns(P.entries()).filter(([, A]) => A === D).map(([A]) => A).join("/") : String(D);
        }
        function S(D, P) {
          const A = ["string"], O = [void 0, "false", "n/a"], F = P.defaultValueDescription;
          return !(P.category === p.Command_line_Options || ds(A, D?.possibleValues) && ds(O, F));
        }
        function T(D, P, A, O, F, R) {
          const B = [];
          let U = true, $ = P;
          const W = F - O;
          for (; $.length > 0; ) {
            let _e = "";
            U ? (_e = D.padStart(A), _e = _e.padEnd(O), _e = R ? c.blue(_e) : _e) : _e = "".padStart(O);
            const K = $.substr(0, W);
            $ = $.slice(W), B.push(`${_e}${K}`), U = false;
          }
          return B;
        }
        function k(D) {
          if (D.type === "object")
            return;
          return {
            valueType: P(D),
            possibleValues: A(D)
          };
          function P(O) {
            switch (E.assert(O.type !== "listOrElement"), O.type) {
              case "string":
              case "number":
              case "boolean":
                return x_(p.type_Colon);
              case "list":
                return x_(p.one_or_more_Colon);
              default:
                return x_(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 R = {};
                return O.type.forEach((B, U) => {
                  var $;
                  ($ = O.deprecatedKeys) != null && $.has(U) || (R[B] || (R[B] = [])).push(U);
                }), Object.entries(R).map(([, B]) => B.join("/")).join(", ");
            }
            return F;
          }
        }
      }
      function Dbe(e, t) {
        let n = 0;
        for (const c of t) {
          const _ = Ebe(c).length;
          n = n > _ ? n : _;
        }
        const i = n + 2, s = i + 2;
        let o = [];
        for (const c of t) {
          const _ = IBe(e, c, i, s);
          o = [...o, ..._];
        }
        return o[o.length - 2] !== e.newLine && o.push(e.newLine), o;
      }
      function F8(e, t, n, i, s, o) {
        let c = [];
        if (c.push(iV(e).bold(t) + e.newLine + e.newLine), s && c.push(s + e.newLine + e.newLine), !i)
          return c = [...c, ...Dbe(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 = x_(u.category), m = _.get(g) ?? [];
          m.push(u), _.set(g, m);
        }
        return _.forEach((u, g) => {
          c.push(`### ${g}${e.newLine}${e.newLine}`), c = [...c, ...Dbe(e, u)];
        }), o && c.push(o + e.newLine + e.newLine), c;
      }
      function FBe(e, t) {
        const n = iV(e);
        let i = [...sV(e, `${x_(p.tsc_Colon_The_TypeScript_Compiler)} - ${x_(p.Version_0, Qf)}`)];
        i.push(n.bold(x_(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((_) => !ds(s, _));
        i = [
          ...i,
          ...F8(
            e,
            x_(p.COMMAND_LINE_FLAGS),
            s,
            /*subCategory*/
            false,
            /*beforeOptionsDescription*/
            void 0,
            /*afterOptionsDescription*/
            void 0
          ),
          ...F8(
            e,
            x_(p.COMMON_COMPILER_OPTIONS),
            o,
            /*subCategory*/
            false,
            /*beforeOptionsDescription*/
            void 0,
            xx(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("  " + x_(u) + e.newLine + e.newLine);
        }
      }
      function OBe(e, t, n, i) {
        let s = [...sV(e, `${x_(p.tsc_Colon_The_TypeScript_Compiler)} - ${x_(p.Version_0, Qf)}`)];
        s = [...s, ...F8(
          e,
          x_(p.ALL_COMPILER_OPTIONS),
          t,
          /*subCategory*/
          true,
          /*beforeOptionsDescription*/
          void 0,
          xx(p.You_can_learn_about_all_of_the_compiler_options_at_0, "https://aka.ms/tsc")
        )], s = [...s, ...F8(
          e,
          x_(p.WATCH_OPTIONS),
          i,
          /*subCategory*/
          false,
          x_(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, ...F8(
          e,
          x_(p.BUILD_OPTIONS),
          kn(n, (o) => o !== DS),
          /*subCategory*/
          false,
          xx(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 wbe(e, t) {
        let n = [...sV(e, `${x_(p.tsc_Colon_The_TypeScript_Compiler)} - ${x_(p.Version_0, Qf)}`)];
        n = [...n, ...F8(
          e,
          x_(p.BUILD_OPTIONS),
          kn(t, (i) => i !== DS),
          /*subCategory*/
          false,
          xx(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 sV(e, t) {
        var n;
        const i = iV(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 Pbe(e, t) {
        t.options.all ? OBe(e, Cbe(t), Xz, Xx) : FBe(e, Cbe(t));
      }
      function Nbe(e, t, n) {
        let i = rk(e), s;
        if (n.options.locale && Pj(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 jBe(e, i, n.options), e.exit(
            0
            /* Success */
          );
        if (n.options.version)
          return nV(e), e.exit(
            0
            /* Success */
          );
        if (n.options.help || n.options.all)
          return Pbe(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 _ = qs(n.options.project);
          if (!_ || e.directoryExists(_)) {
            if (s = On(_, "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 _ = qs(e.getCurrentDirectory());
          s = oU(_, (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, qs(e.getCurrentDirectory()))) : (nV(e), Pbe(e, n)), e.exit(
            1
            /* DiagnosticsPresent_OutputsSkipped */
          );
        const o = e.getCurrentDirectory(), c = eO(
          n.options,
          (_) => Qi(_, o)
        );
        if (s) {
          const _ = /* @__PURE__ */ new Map(), u = tse(s, c, _, n.watchOptions, e, i);
          if (c.showConfig)
            return u.errors.length !== 0 ? (i = rV(
              e,
              i,
              u.options
            ), u.errors.forEach(i), e.exit(
              1
              /* DiagnosticsPresent_OutputsSkipped */
            )) : (e.write(JSON.stringify(rW(u, s, e), null, 4) + e.newLine), e.exit(
              0
              /* Success */
            ));
          if (i = rV(
            e,
            i,
            u.options
          ), pJ(u.options))
            return Tse(e, i) ? void 0 : LBe(
              e,
              t,
              i,
              u,
              c,
              n.watchOptions,
              _
            );
          Mb(u.options) ? Obe(
            e,
            t,
            i,
            u
          ) : Fbe(
            e,
            t,
            i,
            u
          );
        } else {
          if (c.showConfig)
            return e.write(JSON.stringify(rW(n, On(o, "tsconfig.json"), e), null, 4) + e.newLine), e.exit(
              0
              /* Success */
            );
          if (i = rV(
            e,
            i,
            c
          ), pJ(c))
            return Tse(e, i) ? void 0 : MBe(
              e,
              t,
              i,
              n.fileNames,
              c,
              n.watchOptions
            );
          Mb(c) ? Obe(
            e,
            t,
            i,
            { ...n, options: c }
          ) : Fbe(
            e,
            t,
            i,
            { ...n, options: c }
          );
        }
      }
      function Sse(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 === DS.name || t === DS.shortName;
        }
        return false;
      }
      function Abe(e, t, n) {
        if (Sse(n)) {
          const { buildOptions: s, watchOptions: o, projects: c, errors: _ } = Mre(n);
          if (s.generateCpuProfile && e.enableCPUProfiler)
            e.enableCPUProfiler(s.generateCpuProfile, () => Ibe(
              e,
              t,
              s,
              o,
              c,
              _
            ));
          else
            return Ibe(
              e,
              t,
              s,
              o,
              c,
              _
            );
        }
        const i = Ore(n, (s) => e.readFile(s));
        if (i.options.generateCpuProfile && e.enableCPUProfiler)
          e.enableCPUProfiler(i.options.generateCpuProfile, () => Nbe(
            e,
            t,
            i
          ));
        else
          return Nbe(e, t, i);
      }
      function Tse(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 */
        ), true) : false;
      }
      var s9 = 2;
      function Ibe(e, t, n, i, s, o) {
        const c = rV(
          e,
          rk(e),
          n
        );
        if (n.locale && Pj(n.locale, e, o), o.length > 0)
          return o.forEach(c), e.exit(
            1
            /* DiagnosticsPresent_OutputsSkipped */
          );
        if (n.help || s.length === 0)
          return nV(e), wbe(e, ZN), 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 (Tse(e, c)) return;
          const h = ose(
            e,
            /*createProgram*/
            void 0,
            c,
            t9(e, i9(e, n)),
            kse(e, n)
          );
          h.jsDocParsingMode = s9;
          const S = jbe(e, n);
          Lbe(e, t, h, S);
          const T = h.onWatchStatusChange;
          let k = false;
          h.onWatchStatusChange = (P, A, O, F) => {
            T?.(P, A, O, F), k && (P.code === p.Found_0_errors_Watching_for_file_changes.code || P.code === p.Found_1_error_Watching_for_file_changes.code) && Cse(D, S);
          };
          const D = lse(h, s, n, i);
          return D.build(), Cse(D, S), k = true, D;
        }
        const _ = ase(
          e,
          /*createProgram*/
          void 0,
          c,
          t9(e, i9(e, n)),
          xse(e, n)
        );
        _.jsDocParsingMode = s9;
        const u = jbe(e, n);
        Lbe(e, t, _, u);
        const g = cse(_, s, n), m = n.clean ? g.clean() : g.build();
        return Cse(g, u), EQ(), e.exit(m);
      }
      function xse(e, t) {
        return i9(e, t) ? (n, i) => e.write(OU(n, i, e.newLine, e)) : void 0;
      }
      function Fbe(e, t, n, i) {
        const { fileNames: s, options: o, projectReferences: c } = i, _ = OO(
          o,
          /*setParentNodes*/
          void 0,
          e
        );
        _.jsDocParsingMode = s9;
        const u = _.getCurrentDirectory(), g = $l(_.useCaseSensitiveFileNames());
        iw(_, (T) => io(T, u, g)), Ese(
          e,
          o,
          /*isBuildMode*/
          false
        );
        const m = {
          rootNames: s,
          options: o,
          projectReferences: c,
          host: _,
          configFileParsingDiagnostics: e2(i)
        }, h = C8(m), S = zU(
          h,
          n,
          (T) => e.write(T + e.newLine),
          xse(e, o)
        );
        return oV(
          e,
          h,
          /*solutionPerformance*/
          void 0
        ), t(h), e.exit(S);
      }
      function Obe(e, t, n, i) {
        const { options: s, fileNames: o, projectReferences: c } = i;
        Ese(
          e,
          s,
          /*isBuildMode*/
          false
        );
        const _ = e9(s, e);
        _.jsDocParsingMode = s9;
        const u = rse({
          host: _,
          system: e,
          rootNames: o,
          options: s,
          configFileParsingDiagnostics: e2(i),
          projectReferences: c,
          reportDiagnostic: n,
          reportErrorSummary: xse(e, s),
          afterProgramEmitAndDiagnostics: (g) => {
            oV(
              e,
              g.getProgram(),
              /*solutionPerformance*/
              void 0
            ), t(g);
          }
        });
        return e.exit(u);
      }
      function Lbe(e, t, n, i) {
        Mbe(
          e,
          n,
          /*isBuildMode*/
          true
        ), n.afterProgramEmitAndDiagnostics = (s) => {
          oV(e, s.getProgram(), i), t(s);
        };
      }
      function Mbe(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 && Ese(e, o, n), i(s, o, c, _, u, g));
      }
      function Rbe(e, t, n) {
        n.jsDocParsingMode = s9, Mbe(
          e,
          n,
          /*isBuildMode*/
          false
        );
        const i = n.afterProgramCreate;
        n.afterProgramCreate = (s) => {
          i(s), oV(
            e,
            s.getProgram(),
            /*solutionPerformance*/
            void 0
          ), t(s);
        };
      }
      function kse(e, t) {
        return IU(e, i9(e, t));
      }
      function LBe(e, t, n, i, s, o, c) {
        const _ = HU({
          configFileName: i.options.configFilePath,
          optionsToExtend: s,
          watchOptionsToExtend: o,
          system: e,
          reportDiagnostic: n,
          reportWatchStatus: kse(e, i.options)
        });
        return Rbe(e, t, _), _.configFileParsingResult = i, _.extendedConfigCache = c, $U(_);
      }
      function MBe(e, t, n, i, s, o) {
        const c = GU({
          rootFiles: i,
          options: s,
          watchOptions: o,
          system: e,
          reportDiagnostic: n,
          reportWatchStatus: kse(e, s)
        });
        return Rbe(e, t, c), $U(c);
      }
      function jbe(e, t) {
        if (e === fl && t.extendedDiagnostics)
          return $R(), RBe();
      }
      function RBe() {
        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 Cse(e, t) {
        if (!t) return;
        if (!xQ()) {
          fl.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: N8(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);
        }), GR((o, c) => {
          aV(o) && n.push({
            name: `${s(o)} time`,
            value: c,
            type: 0
            /* time */
          });
        }), kQ(), $R(), t.clear(), zbe(fl, n);
        function i(o) {
          const c = Tge(o);
          c && n.push({
            name: s(o),
            value: c,
            type: 1
            /* count */
          });
        }
        function s(o) {
          return o.replace("SolutionBuilder::", "");
        }
      }
      function Bbe(e, t) {
        return e === fl && (t.diagnostics || t.extendedDiagnostics);
      }
      function Jbe(e, t) {
        return e === fl && t.generateTrace;
      }
      function Ese(e, t, n) {
        Bbe(e, t) && $R(e), Jbe(e, t) && CQ(n ? "build" : "project", t.generateTrace, t.configFilePath);
      }
      function aV(e) {
        return Ui(e, "SolutionBuilder::");
      }
      function oV(e, t, n) {
        var i;
        const s = t.getCompilerOptions();
        Jbe(e, s) && ((i = on) == null || i.stopTracing());
        let o;
        if (Bbe(e, s)) {
          o = [];
          const g = e.getMemoryUsage ? e.getMemoryUsage() : -1;
          _("Files", t.getSourceFiles().length);
          const m = PBe(t);
          if (s.extendedDiagnostics)
            for (const [P, A] of m.entries())
              _("Lines of " + P, A);
          else
            _("Lines", XX(m.values(), (P, A) => P + 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*/
            true
          );
          const h = xQ(), S = h ? s4("Program") : 0, T = h ? s4("Bind") : 0, k = h ? s4("Check") : 0, D = h ? s4("Emit") : 0;
          if (s.extendedDiagnostics) {
            const P = t.getRelationCacheSizes();
            _("Assignability cache size", P.assignable), _("Identity cache size", P.identity), _("Subtype cache size", P.subtype), _("Strict subtype cache size", P.strictSubtype), h && GR((A, O) => {
              aV(A) || u(
                `${A} time`,
                O,
                /*aggregate*/
                true
              );
            });
          } else h && (u(
            "I/O read",
            s4("I/O Read"),
            /*aggregate*/
            true
          ), u(
            "I/O write",
            s4("I/O Write"),
            /*aggregate*/
            true
          ), u(
            "Parse time",
            S,
            /*aggregate*/
            true
          ), u(
            "Bind time",
            T,
            /*aggregate*/
            true
          ), u(
            "Check time",
            k,
            /*aggregate*/
            true
          ), u(
            "Emit time",
            D,
            /*aggregate*/
            true
          ));
          h && u(
            "Total time",
            S + T + k + D,
            /*aggregate*/
            false
          ), zbe(e, o), h ? n ? (GR((P) => {
            aV(P) || kge(P);
          }), xge((P) => {
            aV(P) || Cge(P);
          })) : kQ() : 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*/
            true
          );
        }
        function u(g, m, h) {
          c({
            name: g,
            value: m,
            type: 0
            /* time */
          }, h);
        }
      }
      function zbe(e, t) {
        let n = 0, i = 0;
        for (const s of t) {
          s.name.length > n && (n = s.name.length);
          const o = Wbe(s);
          o.length > i && (i = o.length);
        }
        for (const s of t)
          e.write(`${s.name}:`.padEnd(n + 2) + Wbe(s).toString().padStart(i) + e.newLine);
      }
      function Wbe(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 jBe(e, t, n) {
        const i = e.getCurrentDirectory(), s = qs(On(i, "tsconfig.json"));
        if (e.fileExists(s))
          t($o(p.A_tsconfig_json_file_is_already_defined_at_Colon_0, s));
        else {
          e.writeFile(s, Jre(n, e.newLine));
          const o = [e.newLine, ...sV(e, "Created a new tsconfig.json")];
          o.push("You can learn more at https://aka.ms/tsconfig" + e.newLine);
          for (const c of o)
            e.write(c);
        }
      }
      function Sm(e, t = true) {
        return { type: e, reportFallback: t };
      }
      var Ube = Sm(
        /*type*/
        void 0,
        /*reportFallback*/
        false
      ), Vbe = Sm(
        /*type*/
        void 0,
        /*reportFallback*/
        false
      ), lw = Sm(
        /*type*/
        void 0,
        /*reportFallback*/
        true
      );
      function Dse(e, t) {
        const n = uu(e, "strictNullChecks");
        return {
          serializeTypeOfDeclaration: m,
          serializeReturnTypeForSignature: S,
          serializeTypeOfExpression: g,
          serializeTypeOfAccessor: u,
          tryReuseExistingTypeNode(ie, Ne) {
            if (t.canReuseTypeNode(ie, Ne))
              return s(ie, Ne);
          }
        };
        function i(ie, Ne, Ee = Ne) {
          return Ne === void 0 ? void 0 : t.markNodeReuse(ie, Ne.flags & 16 ? Ne : N.cloneNode(Ne), Ee ?? Ne);
        }
        function s(ie, Ne) {
          const { finalizeBoundary: Ee, startRecoveryScope: Ce, hadError: Ve, markError: St } = t.createRecoveryBoundary(ie), Bt = Qe(Ne, tr, li);
          if (!Ee())
            return;
          return ie.approximateLength += Ne.end - Ne.pos, Bt;
          function tr(Dt) {
            if (Ve()) return Dt;
            const Mn = Ce(), ai = nte(Dt) ? t.enterNewScope(ie, Dt) : void 0, fi = Ji(Dt);
            return ai?.(), Ve() ? li(Dt) && !Rx(Dt) ? (Mn(), t.serializeExistingTypeNode(ie, Dt)) : Dt : fi ? t.markNodeReuse(ie, fi, Dt) : void 0;
          }
          function Nr(Dt) {
            const Mn = z4(Dt);
            switch (Mn.kind) {
              case 184:
                return ui(Mn);
              case 187:
                return Jr(Mn);
              case 200:
                return st(Mn);
              case 199:
                const ai = Mn;
                if (ai.operator === 143)
                  return Wt(ai);
            }
            return Qe(Dt, tr, li);
          }
          function st(Dt) {
            const Mn = Nr(Dt.objectType);
            if (Mn !== void 0)
              return N.updateIndexedAccessTypeNode(Dt, Mn, Qe(Dt.indexType, tr, li));
          }
          function Wt(Dt) {
            E.assertEqual(
              Dt.operator,
              143
              /* KeyOfKeyword */
            );
            const Mn = Nr(Dt.type);
            if (Mn !== void 0)
              return N.updateTypeOperatorNode(Dt, Mn);
          }
          function Jr(Dt) {
            const { introducesError: Mn, node: ai } = t.trackExistingEntityName(ie, Dt.exprName);
            if (!Mn)
              return N.updateTypeQueryNode(
                Dt,
                ai,
                Ar(Dt.typeArguments, tr, li)
              );
            const fi = t.serializeTypeName(
              ie,
              Dt.exprName,
              /*isTypeOf*/
              true
            );
            if (fi)
              return t.markNodeReuse(ie, fi, Dt.exprName);
          }
          function ui(Dt) {
            if (t.canReuseTypeNode(ie, Dt)) {
              const { introducesError: Mn, node: ai } = t.trackExistingEntityName(ie, Dt.typeName), fi = Ar(Dt.typeArguments, tr, li);
              if (Mn) {
                const pn = t.serializeTypeName(
                  ie,
                  Dt.typeName,
                  /*isTypeOf*/
                  false,
                  fi
                );
                if (pn)
                  return t.markNodeReuse(ie, pn, Dt.typeName);
              } else {
                const pn = N.updateTypeReferenceNode(
                  Dt,
                  ai,
                  fi
                );
                return t.markNodeReuse(ie, pn, Dt);
              }
            }
          }
          function Ji(Dt) {
            var Mn;
            if (iv(Dt))
              return Qe(Dt.type, tr, li);
            if (Hte(Dt) || Dt.kind === 320)
              return N.createKeywordTypeNode(
                133
                /* AnyKeyword */
              );
            if (Gte(Dt))
              return N.createKeywordTypeNode(
                159
                /* UnknownKeyword */
              );
            if (d6(Dt))
              return N.createUnionTypeNode([Qe(Dt.type, tr, li), N.createLiteralTypeNode(N.createNull())]);
            if (yz(Dt))
              return N.createUnionTypeNode([Qe(Dt.type, tr, li), N.createKeywordTypeNode(
                157
                /* UndefinedKeyword */
              )]);
            if (NF(Dt))
              return Qe(Dt.type, tr);
            if (AF(Dt))
              return N.createArrayTypeNode(Qe(Dt.type, tr, li));
            if (kS(Dt))
              return N.createTypeLiteralNode(hr(Dt.jsDocPropertyTags, (ft) => {
                const er = Qe(Me(ft.name) ? ft.name : ft.name.right, tr, Me), qr = t.getJsDocPropertyOverride(ie, Dt, ft);
                return N.createPropertySignature(
                  /*modifiers*/
                  void 0,
                  er,
                  ft.isBracketed || ft.typeExpression && yz(ft.typeExpression.type) ? N.createToken(
                    58
                    /* QuestionToken */
                  ) : void 0,
                  qr || ft.typeExpression && Qe(ft.typeExpression.type, tr, li) || N.createKeywordTypeNode(
                    133
                    /* AnyKeyword */
                  )
                );
              }));
            if (rf(Dt) && Me(Dt.typeName) && Dt.typeName.escapedText === "")
              return Cn(N.createKeywordTypeNode(
                133
                /* AnyKeyword */
              ), Dt);
            if ((Th(Dt) || rf(Dt)) && l5(Dt))
              return N.createTypeLiteralNode([N.createIndexSignature(
                /*modifiers*/
                void 0,
                [N.createParameterDeclaration(
                  /*modifiers*/
                  void 0,
                  /*dotDotDotToken*/
                  void 0,
                  "x",
                  /*questionToken*/
                  void 0,
                  Qe(Dt.typeArguments[0], tr, li)
                )],
                Qe(Dt.typeArguments[1], tr, li)
              )]);
            if (m6(Dt))
              if (fx(Dt)) {
                let ft;
                return N.createConstructorTypeNode(
                  /*modifiers*/
                  void 0,
                  Ar(Dt.typeParameters, tr, Io),
                  Fi(Dt.parameters, (er, qr) => er.name && Me(er.name) && er.name.escapedText === "new" ? (ft = er.type, void 0) : N.createParameterDeclaration(
                    /*modifiers*/
                    void 0,
                    pn(er),
                    t.markNodeReuse(ie, N.createIdentifier(_i(er, qr)), er),
                    N.cloneNode(er.questionToken),
                    Qe(er.type, tr, li),
                    /*initializer*/
                    void 0
                  )),
                  Qe(ft || Dt.type, tr, li) || N.createKeywordTypeNode(
                    133
                    /* AnyKeyword */
                  )
                );
              } else
                return N.createFunctionTypeNode(
                  Ar(Dt.typeParameters, tr, Io),
                  hr(Dt.parameters, (ft, er) => N.createParameterDeclaration(
                    /*modifiers*/
                    void 0,
                    pn(ft),
                    t.markNodeReuse(ie, N.createIdentifier(_i(ft, er)), ft),
                    N.cloneNode(ft.questionToken),
                    Qe(ft.type, tr, li),
                    /*initializer*/
                    void 0
                  )),
                  Qe(Dt.type, tr, li) || N.createKeywordTypeNode(
                    133
                    /* AnyKeyword */
                  )
                );
            if (wD(Dt))
              return t.canReuseTypeNode(ie, Dt) || St(), Dt;
            if (Io(Dt)) {
              const { node: ft } = t.trackExistingEntityName(ie, Dt.name);
              return N.updateTypeParameterDeclaration(
                Dt,
                Ar(Dt.modifiers, tr, Ys),
                // resolver.markNodeReuse(context, typeParameterToName(getDeclaredTypeOfSymbol(getSymbolOfDeclaration(node)), context), node),
                ft,
                Qe(Dt.constraint, tr, li),
                Qe(Dt.default, tr, li)
              );
            }
            if (Wb(Dt)) {
              const ft = st(Dt);
              return ft || (St(), Dt);
            }
            if (rf(Dt)) {
              const ft = ui(Dt);
              return ft || (St(), Dt);
            }
            if (mh(Dt)) {
              if (((Mn = Dt.attributes) == null ? void 0 : Mn.token) === 132)
                return St(), Dt;
              if (!t.canReuseTypeNode(ie, Dt))
                return t.serializeExistingTypeNode(ie, Dt);
              const ft = Je(Dt, Dt.argument.literal), er = ft === Dt.argument.literal ? i(ie, Dt.argument.literal) : ft;
              return N.updateImportTypeNode(
                Dt,
                er === Dt.argument.literal ? i(ie, Dt.argument) : N.createLiteralTypeNode(er),
                Qe(Dt.attributes, tr, TS),
                Qe(Dt.qualifier, tr, Zu),
                Ar(Dt.typeArguments, tr, li),
                Dt.isTypeOf
              );
            }
            if (kl(Dt) && Dt.name.kind === 168 && !t.hasLateBindableName(Dt)) {
              if (!hh(Dt))
                return ai(Dt, tr);
              if (t.shouldRemoveDeclaration(ie, Dt))
                return;
            }
            if (Cs(Dt) && !Dt.type || as(Dt) && !Dt.type && !Dt.initializer || Vu(Dt) && !Dt.type && !Dt.initializer || Ii(Dt) && !Dt.type && !Dt.initializer) {
              let ft = ai(Dt, tr);
              return ft === Dt && (ft = t.markNodeReuse(ie, N.cloneNode(Dt), Dt)), ft.type = N.createKeywordTypeNode(
                133
                /* AnyKeyword */
              ), Ii(Dt) && (ft.modifiers = void 0), ft;
            }
            if (Jb(Dt)) {
              const ft = Jr(Dt);
              return ft || (St(), Dt);
            }
            if (Hs(Dt) && Za(Dt.expression)) {
              const { node: ft, introducesError: er } = t.trackExistingEntityName(ie, Dt.expression);
              if (er) {
                const qr = t.serializeTypeOfExpression(ie, Dt.expression);
                let Jn;
                if (S0(qr))
                  Jn = qr.literal;
                else {
                  const Un = t.evaluateEntityNameExpression(Dt.expression), ki = typeof Un.value == "string" ? N.createStringLiteral(
                    Un.value,
                    /*isSingleQuote*/
                    void 0
                  ) : typeof Un.value == "number" ? N.createNumericLiteral(
                    Un.value,
                    /*numericLiteralFlags*/
                    0
                  ) : void 0;
                  if (!ki)
                    return dm(qr) && t.trackComputedName(ie, Dt.expression), Dt;
                  Jn = ki;
                }
                return Jn.kind === 11 && F_(Jn.text, pa(e)) ? N.createIdentifier(Jn.text) : Jn.kind === 9 && !Jn.text.startsWith("-") ? Jn : N.updateComputedPropertyName(Dt, Jn);
              } else
                return N.updateComputedPropertyName(Dt, ft);
            }
            if (Rx(Dt)) {
              let ft;
              if (Me(Dt.parameterName)) {
                const { node: er, introducesError: qr } = t.trackExistingEntityName(ie, Dt.parameterName);
                qr && St(), ft = er;
              } else
                ft = N.cloneNode(Dt.parameterName);
              return N.updateTypePredicateNode(Dt, N.cloneNode(Dt.assertsModifier), ft, Qe(Dt.type, tr, li));
            }
            if (jx(Dt) || r_(Dt) || yS(Dt)) {
              const ft = ai(Dt, tr), er = t.markNodeReuse(ie, ft === Dt ? N.cloneNode(Dt) : ft, Dt), qr = Ca(er);
              return un(er, qr | (ie.flags & 1024 && r_(Dt) ? 0 : 1)), er;
            }
            if (oa(Dt) && ie.flags & 268435456 && !Dt.singleQuote) {
              const ft = N.cloneNode(Dt);
              return ft.singleQuote = true, ft;
            }
            if (zb(Dt)) {
              const ft = Qe(Dt.checkType, tr, li), er = t.enterNewScope(ie, Dt), qr = Qe(Dt.extendsType, tr, li), Jn = Qe(Dt.trueType, tr, li);
              er();
              const Un = Qe(Dt.falseType, tr, li);
              return N.updateConditionalTypeNode(
                Dt,
                ft,
                qr,
                Jn,
                Un
              );
            }
            if (Y1(Dt)) {
              if (Dt.operator === 158 && Dt.type.kind === 155) {
                if (!t.canReuseTypeNode(ie, Dt))
                  return St(), Dt;
              } else if (Dt.operator === 143) {
                const ft = Wt(Dt);
                return ft || (St(), Dt);
              }
            }
            return ai(Dt, tr);
            function ai(ft, er) {
              const qr = !ie.enclosingFile || ie.enclosingFile !== xr(ft);
              return br(
                ft,
                er,
                /*context*/
                void 0,
                qr ? fi : void 0
              );
            }
            function fi(ft, er, qr, Jn, Un) {
              let ki = Ar(ft, er, qr, Jn, Un);
              return ki && (ki.pos !== -1 || ki.end !== -1) && (ki === ft && (ki = N.createNodeArray(ft.slice(), ft.hasTrailingComma)), Dd(ki, -1, -1)), ki;
            }
            function pn(ft) {
              return ft.dotDotDotToken || (ft.type && AF(ft.type) ? N.createToken(
                26
                /* DotDotDotToken */
              ) : void 0);
            }
            function _i(ft, er) {
              return ft.name && Me(ft.name) && ft.name.escapedText === "this" ? "this" : pn(ft) ? "args" : `arg${er}`;
            }
            function Je(ft, er) {
              const qr = t.getModuleSpecifierOverride(ie, ft, er);
              return qr ? Cn(N.createStringLiteral(qr), er) : er;
            }
          }
        }
        function o(ie, Ne, Ee) {
          if (!ie) return;
          let Ce;
          return (!Ee || Fe(ie)) && t.canReuseTypeNode(Ne, ie) && (Ce = s(Ne, ie), Ce !== void 0 && (Ce = Te(
            Ce,
            Ee,
            /*owner*/
            void 0,
            Ne
          ))), Ce;
        }
        function c(ie, Ne, Ee, Ce, Ve, St = Ve !== void 0) {
          if (!ie || !t.canReuseTypeNodeAnnotation(Ne, Ee, ie, Ce, Ve) && (!Ve || !t.canReuseTypeNodeAnnotation(
            Ne,
            Ee,
            ie,
            Ce,
            /*requiresAddingUndefined*/
            false
          )))
            return;
          let Bt;
          return (!Ve || Fe(ie)) && (Bt = o(ie, Ne, Ve)), Bt !== void 0 || !St ? Bt : (Ne.tracker.reportInferenceFallback(Ee), t.serializeExistingTypeNode(Ne, ie, Ve) ?? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ));
        }
        function _(ie, Ne, Ee, Ce) {
          if (!ie) return;
          const Ve = o(ie, Ne, Ee);
          return Ve !== void 0 ? Ve : (Ne.tracker.reportInferenceFallback(ie), t.serializeExistingTypeNode(Ne, ie, Ee) ?? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ));
        }
        function u(ie, Ne, Ee) {
          return D(ie, Ne, Ee) ?? $(ie, t.getAllAccessorDeclarations(ie), Ee, Ne);
        }
        function g(ie, Ne, Ee, Ce) {
          const Ve = K(
            ie,
            Ne,
            /*isConstContext*/
            false,
            Ee,
            Ce
          );
          return Ve.type !== void 0 ? Ve.type : B(ie, Ne, Ve.reportFallback);
        }
        function m(ie, Ne, Ee) {
          switch (ie.kind) {
            case 170:
            case 342:
              return A(ie, Ne, Ee);
            case 261:
              return P(ie, Ne, Ee);
            case 172:
            case 349:
            case 173:
              return F(ie, Ne, Ee);
            case 209:
              return R(ie, Ne, Ee);
            case 278:
              return g(
                ie.expression,
                Ee,
                /*addUndefined*/
                void 0,
                /*preserveLiterals*/
                true
              );
            case 212:
            case 213:
            case 227:
              return O(ie, Ne, Ee);
            case 304:
            case 305:
              return h(ie, Ne, Ee);
            default:
              E.assertNever(ie, `Node needs to be an inferrable node, found ${E.formatSyntaxKind(ie.kind)}`);
          }
        }
        function h(ie, Ne, Ee) {
          const Ce = Qc(ie);
          let Ve;
          if (Ce && t.canReuseTypeNodeAnnotation(Ee, ie, Ce, Ne) && (Ve = o(Ce, Ee)), !Ve && ie.kind === 304) {
            const St = ie.initializer, Bt = Gb(St) ? y6(St) : St.kind === 235 || St.kind === 217 ? St.type : void 0;
            Bt && !Kp(Bt) && t.canReuseTypeNodeAnnotation(Ee, ie, Bt, Ne) && (Ve = o(Bt, Ee));
          }
          return Ve ?? R(
            ie,
            Ne,
            Ee,
            /*reportFallback*/
            false
          );
        }
        function S(ie, Ne, Ee) {
          switch (ie.kind) {
            case 178:
              return u(ie, Ne, Ee);
            case 175:
            case 263:
            case 181:
            case 174:
            case 180:
            case 177:
            case 179:
            case 182:
            case 185:
            case 186:
            case 219:
            case 220:
            case 318:
            case 324:
              return Ye(ie, Ne, Ee);
            default:
              E.assertNever(ie, `Node needs to be an inferrable node, found ${E.formatSyntaxKind(ie.kind)}`);
          }
        }
        function T(ie) {
          if (ie)
            return ie.kind === 178 ? an(ie) && o0(ie) || K_(ie) : KB(ie);
        }
        function k(ie, Ne) {
          let Ee = T(ie);
          return !Ee && ie !== Ne.firstAccessor && (Ee = T(Ne.firstAccessor)), !Ee && Ne.secondAccessor && ie !== Ne.secondAccessor && (Ee = T(Ne.secondAccessor)), Ee;
        }
        function D(ie, Ne, Ee) {
          const Ce = t.getAllAccessorDeclarations(ie), Ve = k(ie, Ce);
          if (Ve && !Rx(Ve))
            return W(Ee, ie, () => c(Ve, Ee, ie, Ne) ?? R(ie, Ne, Ee));
          if (Ce.getAccessor)
            return W(Ee, Ce.getAccessor, () => Ye(Ce.getAccessor, Ne, Ee));
        }
        function P(ie, Ne, Ee) {
          var Ce;
          const Ve = Qc(ie);
          let St = lw;
          return Ve ? St = Sm(c(Ve, Ee, ie, Ne)) : ie.initializer && (((Ce = Ne.declarations) == null ? void 0 : Ce.length) === 1 || i0(Ne.declarations, ei) === 1) && !t.isExpandoFunctionDeclaration(ie) && !Se(ie) && (St = K(
            ie.initializer,
            Ee,
            /*isConstContext*/
            void 0,
            /*requiresAddingUndefined*/
            void 0,
            lK(ie)
          )), St.type !== void 0 ? St.type : R(ie, Ne, Ee, St.reportFallback);
        }
        function A(ie, Ne, Ee) {
          const Ce = ie.parent;
          if (Ce.kind === 179)
            return u(
              Ce,
              /*symbol*/
              void 0,
              Ee
            );
          const Ve = Qc(ie), St = t.requiresAddingImplicitUndefined(ie, Ne, Ee.enclosingDeclaration);
          let Bt = lw;
          return Ve ? Bt = Sm(c(Ve, Ee, ie, Ne, St)) : Ii(ie) && ie.initializer && Me(ie.name) && !Se(ie) && (Bt = K(
            ie.initializer,
            Ee,
            /*isConstContext*/
            void 0,
            St
          )), Bt.type !== void 0 ? Bt.type : R(ie, Ne, Ee, Bt.reportFallback);
        }
        function O(ie, Ne, Ee) {
          const Ce = Qc(ie);
          let Ve;
          Ce && (Ve = c(Ce, Ee, ie, Ne));
          const St = Ee.suppressReportInferenceFallback;
          Ee.suppressReportInferenceFallback = true;
          const Bt = Ve ?? R(
            ie,
            Ne,
            Ee,
            /*reportFallback*/
            false
          );
          return Ee.suppressReportInferenceFallback = St, Bt;
        }
        function F(ie, Ne, Ee) {
          const Ce = Qc(ie), Ve = t.requiresAddingImplicitUndefined(ie, Ne, Ee.enclosingDeclaration);
          let St = lw;
          if (Ce)
            St = Sm(c(Ce, Ee, ie, Ne, Ve));
          else {
            const Bt = as(ie) ? ie.initializer : void 0;
            if (Bt && !Se(ie)) {
              const tr = T3(ie);
              St = K(
                Bt,
                Ee,
                /*isConstContext*/
                void 0,
                Ve,
                tr
              );
            }
          }
          return St.type !== void 0 ? St.type : R(ie, Ne, Ee, St.reportFallback);
        }
        function R(ie, Ne, Ee, Ce = true) {
          return Ce && Ee.tracker.reportInferenceFallback(ie), Ee.noInferenceFallback === true ? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ) : t.serializeTypeOfDeclaration(Ee, ie, Ne);
        }
        function B(ie, Ne, Ee = true, Ce) {
          return E.assert(!Ce), Ee && Ne.tracker.reportInferenceFallback(ie), Ne.noInferenceFallback === true ? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ) : t.serializeTypeOfExpression(Ne, ie) ?? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          );
        }
        function U(ie, Ne, Ee, Ce) {
          return Ce && Ne.tracker.reportInferenceFallback(ie), Ne.noInferenceFallback === true ? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ) : t.serializeReturnTypeForSignature(Ne, ie, Ee) ?? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          );
        }
        function $(ie, Ne, Ee, Ce, Ve = true) {
          return ie.kind === 178 ? Ye(ie, Ce, Ee, Ve) : (Ve && Ee.tracker.reportInferenceFallback(ie), (Ne.getAccessor && Ye(Ne.getAccessor, Ce, Ee, Ve)) ?? t.serializeTypeOfDeclaration(Ee, ie, Ce) ?? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ));
        }
        function W(ie, Ne, Ee) {
          const Ce = t.enterNewScope(ie, Ne), Ve = Ee();
          return Ce(), Ve;
        }
        function _e(ie, Ne, Ee, Ce) {
          return Kp(Ne) ? K(
            ie,
            Ee,
            /*isConstContext*/
            true,
            Ce
          ) : Sm(_(Ne, Ee, Ce));
        }
        function K(ie, Ne, Ee = false, Ce = false, Ve = false) {
          switch (ie.kind) {
            case 218:
              return Gb(ie) ? _e(ie.expression, y6(ie), Ne, Ce) : K(ie.expression, Ne, Ee, Ce);
            case 80:
              if (t.isUndefinedIdentifierExpression(ie))
                return Sm(Z());
              break;
            case 106:
              return Sm(n ? Te(N.createLiteralTypeNode(N.createNull()), Ce, ie, Ne) : N.createKeywordTypeNode(
                133
                /* AnyKeyword */
              ));
            case 220:
            case 219:
              return E.type(ie), W(Ne, ie, () => V(ie, Ne));
            case 217:
            case 235:
              const St = ie;
              return _e(St.expression, St.type, Ne, Ce);
            case 225:
              const Bt = ie;
              if (uF(Bt))
                return pe(
                  Bt.operator === 40 ? Bt.operand : Bt,
                  Bt.operand.kind === 10 ? 163 : 150,
                  Ne,
                  Ee || Ve,
                  Ce
                );
              break;
            case 210:
              return se(ie, Ne, Ee, Ce);
            case 211:
              return fe(ie, Ne, Ee, Ce);
            case 232:
              return Sm(B(
                ie,
                Ne,
                /*reportFallback*/
                true,
                Ce
              ));
            case 229:
              if (!Ee && !Ve)
                return Sm(N.createKeywordTypeNode(
                  154
                  /* StringKeyword */
                ));
              break;
            default:
              let tr, Nr = ie;
              switch (ie.kind) {
                case 9:
                  tr = 150;
                  break;
                case 15:
                  Nr = N.createStringLiteral(ie.text), tr = 154;
                  break;
                case 11:
                  tr = 154;
                  break;
                case 10:
                  tr = 163;
                  break;
                case 112:
                case 97:
                  tr = 136;
                  break;
              }
              if (tr)
                return pe(Nr, tr, Ne, Ee || Ve, Ce);
          }
          return lw;
        }
        function V(ie, Ne) {
          const Ee = Ye(
            ie,
            /*symbol*/
            void 0,
            Ne
          ), Ce = be(ie.typeParameters, Ne), Ve = ie.parameters.map((St) => q(St, Ne));
          return Sm(
            N.createFunctionTypeNode(
              Ce,
              Ve,
              Ee
            )
          );
        }
        function ae(ie, Ne, Ee) {
          if (!Ee)
            return Ne.tracker.reportInferenceFallback(ie), false;
          for (const Ce of ie.elements)
            if (Ce.kind === 231)
              return Ne.tracker.reportInferenceFallback(Ce), false;
          return true;
        }
        function se(ie, Ne, Ee, Ce) {
          if (!ae(ie, Ne, Ee))
            return Ce || Cl(rd(ie).parent) ? Vbe : Sm(B(
              ie,
              Ne,
              /*reportFallback*/
              false,
              Ce
            ));
          const Ve = Ne.noInferenceFallback;
          Ne.noInferenceFallback = true;
          const St = [];
          for (const tr of ie.elements)
            if (E.assert(
              tr.kind !== 231
              /* SpreadElement */
            ), tr.kind === 233)
              St.push(
                Z()
              );
            else {
              const Nr = K(tr, Ne, Ee), st = Nr.type !== void 0 ? Nr.type : B(tr, Ne, Nr.reportFallback);
              St.push(st);
            }
          const Bt = N.createTupleTypeNode(St);
          return Bt.emitNode = { flags: 1, autoGenerate: void 0, internalFlags: 0 }, Ne.noInferenceFallback = Ve, Ube;
        }
        function ce(ie, Ne) {
          let Ee = true;
          for (const Ce of ie.properties) {
            if (Ce.flags & 262144) {
              Ee = false;
              break;
            }
            if (Ce.kind === 305 || Ce.kind === 306)
              Ne.tracker.reportInferenceFallback(Ce), Ee = false;
            else if (Ce.name.flags & 262144) {
              Ee = false;
              break;
            } else if (Ce.name.kind === 81)
              Ee = false;
            else if (Ce.name.kind === 168) {
              const Ve = Ce.name.expression;
              !uF(
                Ve,
                /*includeBigInt*/
                false
              ) && !t.isDefinitelyReferenceToGlobalSymbolObject(Ve) && (Ne.tracker.reportInferenceFallback(Ce.name), Ee = false);
            }
          }
          return Ee;
        }
        function fe(ie, Ne, Ee, Ce) {
          if (!ce(ie, Ne))
            return Ce || Cl(rd(ie).parent) ? Vbe : Sm(B(
              ie,
              Ne,
              /*reportFallback*/
              false,
              Ce
            ));
          const Ve = Ne.noInferenceFallback;
          Ne.noInferenceFallback = true;
          const St = [], Bt = Ne.flags;
          Ne.flags |= 4194304;
          for (const Nr of ie.properties) {
            E.assert(!fu(Nr) && !Bg(Nr));
            const st = Nr.name;
            let Wt;
            switch (Nr.kind) {
              case 175:
                Wt = W(Ne, Nr, () => je(Nr, st, Ne, Ee));
                break;
              case 304:
                Wt = he(Nr, st, Ne, Ee);
                break;
              case 179:
              case 178:
                Wt = me(Nr, st, Ne);
                break;
            }
            Wt && (Yc(Wt, Nr), St.push(Wt));
          }
          Ne.flags = Bt;
          const tr = N.createTypeLiteralNode(St);
          return Ne.flags & 1024 || un(
            tr,
            1
            /* SingleLine */
          ), Ne.noInferenceFallback = Ve, Ube;
        }
        function he(ie, Ne, Ee, Ce) {
          const Ve = Ce ? [N.createModifier(
            148
            /* ReadonlyKeyword */
          )] : [], St = K(ie.initializer, Ee, Ce), Bt = St.type !== void 0 ? St.type : R(
            ie,
            /*symbol*/
            void 0,
            Ee,
            St.reportFallback
          );
          return N.createPropertySignature(
            Ve,
            i(Ee, Ne),
            /*questionToken*/
            void 0,
            Bt
          );
        }
        function q(ie, Ne) {
          return N.updateParameterDeclaration(
            ie,
            /*modifiers*/
            void 0,
            i(Ne, ie.dotDotDotToken),
            t.serializeNameOfParameter(Ne, ie),
            t.isOptionalParameter(ie) ? N.createToken(
              58
              /* QuestionToken */
            ) : void 0,
            A(
              ie,
              /*symbol*/
              void 0,
              Ne
            ),
            // Ignore private param props, since this type is going straight back into a param
            /*initializer*/
            void 0
          );
        }
        function be(ie, Ne) {
          return ie?.map((Ee) => {
            var Ce;
            const { node: Ve } = t.trackExistingEntityName(Ne, Ee.name);
            return N.updateTypeParameterDeclaration(
              Ee,
              (Ce = Ee.modifiers) == null ? void 0 : Ce.map((St) => i(Ne, St)),
              Ve,
              _(Ee.constraint, Ne),
              _(Ee.default, Ne)
            );
          });
        }
        function je(ie, Ne, Ee, Ce) {
          const Ve = Ye(
            ie,
            /*symbol*/
            void 0,
            Ee
          ), St = be(ie.typeParameters, Ee), Bt = ie.parameters.map((tr) => q(tr, Ee));
          return Ce ? N.createPropertySignature(
            [N.createModifier(
              148
              /* ReadonlyKeyword */
            )],
            i(Ee, Ne),
            i(Ee, ie.questionToken),
            N.createFunctionTypeNode(
              St,
              Bt,
              Ve
            )
          ) : (Me(Ne) && Ne.escapedText === "new" && (Ne = N.createStringLiteral("new")), N.createMethodSignature(
            [],
            i(Ee, Ne),
            i(Ee, ie.questionToken),
            St,
            Bt,
            Ve
          ));
        }
        function me(ie, Ne, Ee) {
          const Ce = t.getAllAccessorDeclarations(ie), Ve = Ce.getAccessor && T(Ce.getAccessor), St = Ce.setAccessor && T(Ce.setAccessor);
          if (Ve !== void 0 && St !== void 0)
            return W(Ee, ie, () => {
              const Bt = ie.parameters.map((tr) => q(tr, Ee));
              return kg(ie) ? N.updateGetAccessorDeclaration(
                ie,
                [],
                i(Ee, Ne),
                Bt,
                _(Ve, Ee),
                /*body*/
                void 0
              ) : N.updateSetAccessorDeclaration(
                ie,
                [],
                i(Ee, Ne),
                Bt,
                /*body*/
                void 0
              );
            });
          if (Ce.firstAccessor === ie) {
            const tr = (Ve ? W(Ee, Ce.getAccessor, () => _(Ve, Ee)) : St ? W(Ee, Ce.setAccessor, () => _(St, Ee)) : void 0) ?? $(
              ie,
              Ce,
              Ee,
              /*symbol*/
              void 0
            );
            return N.createPropertySignature(
              Ce.setAccessor === void 0 ? [N.createModifier(
                148
                /* ReadonlyKeyword */
              )] : [],
              i(Ee, Ne),
              /*questionToken*/
              void 0,
              tr
            );
          }
        }
        function Z() {
          return n ? N.createKeywordTypeNode(
            157
            /* UndefinedKeyword */
          ) : N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          );
        }
        function pe(ie, Ne, Ee, Ce, Ve) {
          let St;
          return Ce ? (ie.kind === 225 && ie.operator === 40 && (St = N.createLiteralTypeNode(i(Ee, ie.operand))), St = N.createLiteralTypeNode(i(Ee, ie))) : St = N.createKeywordTypeNode(Ne), Sm(Te(St, Ve, ie, Ee));
        }
        function Te(ie, Ne, Ee, Ce) {
          const Ve = Ee && rd(Ee).parent, St = Ve && Cl(Ve) && Dx(Ve);
          return !n || !(Ne || St) ? ie : (Fe(ie) || Ce.tracker.reportInferenceFallback(ie), b0(ie) ? N.createUnionTypeNode([...ie.types, N.createKeywordTypeNode(
            157
            /* UndefinedKeyword */
          )]) : N.createUnionTypeNode([ie, N.createKeywordTypeNode(
            157
            /* UndefinedKeyword */
          )]));
        }
        function Fe(ie) {
          return !n || b_(ie.kind) || ie.kind === 202 || ie.kind === 185 || ie.kind === 186 || ie.kind === 189 || ie.kind === 190 || ie.kind === 188 || ie.kind === 204 || ie.kind === 198 ? true : ie.kind === 197 ? Fe(ie.type) : ie.kind === 193 || ie.kind === 194 ? ie.types.every(Fe) : false;
        }
        function Ye(ie, Ne, Ee, Ce = true) {
          let Ve = lw;
          const St = fx(ie) ? Qc(ie.parameters[0]) : K_(ie);
          return St ? Ve = Sm(c(St, Ee, ie, Ne)) : aS(ie) && (Ve = ne(ie, Ee)), Ve.type !== void 0 ? Ve.type : U(ie, Ee, Ne, Ce && Ve.reportFallback && !St);
        }
        function ne(ie, Ne) {
          let Ee;
          if (ie && !ac(ie.body)) {
            if (Fc(ie) & 3) return lw;
            const Ve = ie.body;
            Ve && Ps(Ve) ? wy(Ve, (St) => {
              if (St.parent !== Ve)
                return Ee = void 0, true;
              if (!Ee)
                Ee = St.expression;
              else
                return Ee = void 0, true;
            }) : Ee = Ve;
          }
          if (Ee)
            if (Se(Ee)) {
              const Ce = Gb(Ee) ? y6(Ee) : l6(Ee) || EF(Ee) ? Ee.type : void 0;
              if (Ce && !Kp(Ce))
                return Sm(o(Ce, Ne));
            } else
              return K(Ee, Ne);
          return lw;
        }
        function Se(ie) {
          return dr(ie.parent, (Ne) => ws(Ne) || !to(Ne) && !!Qc(Ne) || hm(Ne) || f6(Ne));
        }
      }
      var Qy = {};
      Ec(Qy, {
        NameValidationResult: () => Ybe,
        discoverTypings: () => zBe,
        isTypingUpToDate: () => Xbe,
        loadSafeList: () => BBe,
        loadTypesMap: () => JBe,
        nonRelativeModuleNameForTypingCache: () => Qbe,
        renderPackageNameValidationFailure: () => UBe,
        validatePackageName: () => WBe
      });
      var a9 = "action::set", o9 = "action::invalidate", c9 = "action::packageInstalled", cV = "event::typesRegistry", lV = "event::beginInstallTypes", uV = "event::endInstallTypes", wse = "event::initializationFailed", O8 = "action::watchTypingLocations", _V;
      ((e) => {
        e.GlobalCacheLocation = "--globalTypingsCacheLocation", e.LogFile = "--logFile", e.EnableTelemetry = "--enableTelemetry", e.TypingSafeListLocation = "--typingSafeListLocation", e.TypesMapLocation = "--typesMapLocation", e.NpmLocation = "--npmLocation", e.ValidateDefaultNpmLocation = "--validateDefaultNpmLocation";
      })(_V || (_V = {}));
      function qbe(e) {
        return fl.args.includes(e);
      }
      function Hbe(e) {
        const t = fl.args.indexOf(e);
        return t >= 0 && t < fl.args.length - 1 ? fl.args[t + 1] : void 0;
      }
      function Gbe() {
        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 $be = `
    `;
      function uw(e) {
        return $be + e.replace(/\n/g, $be);
      }
      function dv(e) {
        return uw(JSON.stringify(e, void 0, 2));
      }
      function Xbe(e, t) {
        return new vd(LP(t, `ts${$E}`) || LP(t, "latest")).compareTo(e.version) <= 0;
      }
      function Qbe(e) {
        return n6.has(e) ? "node" : e;
      }
      function BBe(e, t) {
        const n = e8(t, (i) => e.readFile(i));
        return new Map(Object.entries(n.config));
      }
      function JBe(e, t) {
        var n;
        const i = e8(t, (s) => e.readFile(s));
        if ((n = i.config) != null && n.simpleMap)
          return new Map(Object.entries(i.config.simpleMap));
      }
      function zBe(e, t, n, i, s, o, c, _, u, g) {
        if (!c || !c.enable)
          return { cachedTypingPaths: [], newTypingNames: [], filesToWatch: [] };
        const m = /* @__PURE__ */ new Map();
        n = Fi(n, (R) => {
          const B = qs(R);
          if (Og(B))
            return B;
        });
        const h = [];
        c.include && A(c.include, "Explicitly included types");
        const S = c.exclude || [];
        if (!g.types) {
          const R = new Set(n.map(Hn));
          R.add(i), R.forEach((B) => {
            O(B, "bower.json", "bower_components", h), O(B, "package.json", "node_modules", h);
          });
        }
        if (c.disableFilenameBasedTypeAcquisition || F(n), _) {
          const R = _b(
            _.map(Qbe),
            db,
            ou
          );
          A(R, "Inferred typings from unresolved imports");
        }
        for (const R of S)
          m.delete(R) && t && t(`Typing for ${R} is in exclude list, will be ignored.`);
        o.forEach((R, B) => {
          const U = u.get(B);
          m.get(B) === false && U !== void 0 && Xbe(R, U) && m.set(B, R.typingLocation);
        });
        const T = [], k = [];
        m.forEach((R, B) => {
          R ? k.push(R) : T.push(B);
        });
        const D = { cachedTypingPaths: k, newTypingNames: T, filesToWatch: h };
        return t && t(`Finished typings discovery:${dv(D)}`), D;
        function P(R) {
          m.has(R) || m.set(R, false);
        }
        function A(R, B) {
          t && t(`${B}: ${JSON.stringify(R)}`), lr(R, P);
        }
        function O(R, B, U, $) {
          const W = On(R, B);
          let _e, K;
          e.fileExists(W) && ($.push(W), _e = e8(W, (ce) => e.readFile(ce)).config, K = xa([_e.dependencies, _e.devDependencies, _e.optionalDependencies, _e.peerDependencies], Zd), A(K, `Typing names in '${W}' dependencies`));
          const V = On(R, U);
          if ($.push(V), !e.directoryExists(V))
            return;
          const ae = [], se = K ? K.map((ce) => On(V, ce, B)) : e.readDirectory(
            V,
            [
              ".json"
              /* Json */
            ],
            /*excludes*/
            void 0,
            /*includes*/
            void 0,
            /*depth*/
            3
          ).filter((ce) => {
            if (Xc(ce) !== B)
              return false;
            const fe = cu(qs(ce)), he = fe[fe.length - 3][0] === "@";
            return he && uy(fe[fe.length - 4]) === U || // `node_modules/@foo/bar`
            !he && uy(fe[fe.length - 3]) === U;
          });
          t && t(`Searching for typing names in ${V}; all files: ${JSON.stringify(se)}`);
          for (const ce of se) {
            const fe = qs(ce), q = e8(fe, (je) => e.readFile(je)).config;
            if (!q.name)
              continue;
            const be = q.types || q.typings;
            if (be) {
              const je = Qi(be, Hn(fe));
              e.fileExists(je) ? (t && t(`    Package '${q.name}' provides its own types.`), m.set(q.name, je)) : t && t(`    Package '${q.name}' provides its own types but they are missing.`);
            } else
              ae.push(q.name);
          }
          A(ae, "    Found package names");
        }
        function F(R) {
          const B = Fi(R, ($) => {
            if (!Og($)) return;
            const W = Uu(uy(Xc($))), _e = zR(W);
            return s.get(_e);
          });
          B.length && A(B, "Inferred typings from file names"), ot(R, ($) => Ho(
            $,
            ".jsx"
            /* Jsx */
          )) && (t && t("Inferred 'react' typings due to presence of '.jsx' extension"), P("react"));
        }
      }
      var Ybe = /* @__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))(Ybe || {}), Zbe = 214;
      function WBe(e) {
        return Pse(
          e,
          /*supportScopedPackage*/
          true
        );
      }
      function Pse(e, t) {
        if (!e)
          return 1;
        if (e.length > Zbe)
          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 = Pse(
              n[1],
              /*supportScopedPackage*/
              false
            );
            if (i !== 0)
              return { name: n[1], isScopeName: true, result: i };
            const s = Pse(
              n[2],
              /*supportScopedPackage*/
              false
            );
            return s !== 0 ? { name: n[2], isScopeName: false, result: s } : 0;
          }
        }
        return encodeURIComponent(e) !== e ? 5 : 0;
      }
      function UBe(e, t) {
        return typeof e == "object" ? Kbe(t, e.result, e.name, e.isScopeName) : Kbe(
          t,
          e,
          t,
          /*isScopeName*/
          false
        );
      }
      function Kbe(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 ${Zbe} 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 l9;
      ((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;
      })(l9 || (l9 = {}));
      var Nse = /* @__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))(Nse || {}), Ase = /* @__PURE__ */ ((e) => (e[e.Off = 0] = "Off", e[e.On = 1] = "On", e[e.Auto = 2] = "Auto", e))(Ase || {}), Ise = /* @__PURE__ */ ((e) => (e[e.Semantic = 0] = "Semantic", e[e.PartialSemantic = 1] = "PartialSemantic", e[e.Syntactic = 2] = "Syntactic", e))(Ise || {}), zp = {}, Fse = /* @__PURE__ */ ((e) => (e.Original = "original", e.TwentyTwenty = "2020", e))(Fse || {}), fV = /* @__PURE__ */ ((e) => (e.All = "All", e.SortAndCombine = "SortAndCombine", e.RemoveUnused = "RemoveUnused", e))(fV || {}), pV = /* @__PURE__ */ ((e) => (e[e.Invoked = 1] = "Invoked", e[e.TriggerCharacter = 2] = "TriggerCharacter", e[e.TriggerForIncompleteCompletions = 3] = "TriggerForIncompleteCompletions", e))(pV || {}), Ose = /* @__PURE__ */ ((e) => (e.Type = "Type", e.Parameter = "Parameter", e.Enum = "Enum", e))(Ose || {}), Lse = /* @__PURE__ */ ((e) => (e.none = "none", e.definition = "definition", e.reference = "reference", e.writtenReference = "writtenReference", e))(Lse || {}), Mse = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Block = 1] = "Block", e[e.Smart = 2] = "Smart", e))(Mse || {}), dV = /* @__PURE__ */ ((e) => (e.Ignore = "ignore", e.Insert = "insert", e.Remove = "remove", e))(dV || {});
      function u9(e) {
        return {
          indentSize: 4,
          tabSize: 4,
          newLineCharacter: e || `
`,
          convertTabsToSpaces: true,
          indentStyle: 2,
          insertSpaceAfterConstructor: false,
          insertSpaceAfterCommaDelimiter: true,
          insertSpaceAfterSemicolonInForStatements: true,
          insertSpaceBeforeAndAfterBinaryOperators: true,
          insertSpaceAfterKeywordsInControlFlowStatements: true,
          insertSpaceAfterFunctionKeywordForAnonymousFunctions: false,
          insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: false,
          insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: false,
          insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: true,
          insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: false,
          insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces: false,
          insertSpaceBeforeFunctionParenthesis: false,
          placeOpenBraceOnNewLineForFunctions: false,
          placeOpenBraceOnNewLineForControlBlocks: false,
          semicolons: "ignore",
          trimTrailingWhitespace: true,
          indentSwitchCase: true
        };
      }
      var e2e = u9(`
`), _9 = /* @__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))(_9 || {}), Rse = /* @__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))(Rse || {}), jse = /* @__PURE__ */ ((e) => (e.Comment = "comment", e.Region = "region", e.Code = "code", e.Imports = "imports", e))(jse || {}), Bse = /* @__PURE__ */ ((e) => (e[e.JavaScript = 0] = "JavaScript", e[e.SourceMap = 1] = "SourceMap", e[e.Declaration = 2] = "Declaration", e))(Bse || {}), Jse = /* @__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))(Jse || {}), zse = /* @__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))(zse || {}), Wse = /* @__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))(Wse || {}), Use = /* @__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))(Use || {}), Vse = /* @__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))(Vse || {}), mV = /* @__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))(mV || {}), zl = Tg(
        99,
        /*skipTrivia*/
        true
      ), qse = /* @__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))(qse || {});
      function f9(e) {
        switch (e.kind) {
          case 261:
            return an(e) && Fj(e) ? 7 : 1;
          case 170:
          case 209:
          case 173:
          case 172:
          case 304:
          case 305:
          case 175:
          case 174:
          case 177:
          case 178:
          case 179:
          case 263:
          case 219:
          case 220:
          case 300:
          case 292:
            return 1;
          case 169:
          case 265:
          case 266:
          case 188:
            return 2;
          case 347:
            return e.name === void 0 ? 3 : 2;
          case 307:
          case 264:
            return 3;
          case 268:
            return Ju(e) || Eh(e) === 1 ? 5 : 4;
          case 267:
          case 276:
          case 277:
          case 272:
          case 273:
          case 278:
          case 279:
            return 7;
          // An external module can be a Value
          case 308:
            return 5;
        }
        return 7;
      }
      function LS(e) {
        e = wV(e);
        const t = e.parent;
        return e.kind === 308 ? 1 : Fo(t) || Eu(t) || xh(t) || qu(t) || sd(t) || cl(t) && e === t.name ? 7 : p9(e) ? VBe(e) : Hm(e) ? f9(t) : Zu(e) && dr(e, H_(FD, tx, sv)) ? 7 : $Be(e) ? 2 : qBe(e) ? 4 : Io(t) ? (E.assert(Bp(t.parent)), 2) : S0(t) ? 3 : 1;
      }
      function VBe(e) {
        const t = e.kind === 167 ? e : t_(e.parent) && e.parent.right === e ? e.parent : void 0;
        return t && t.parent.kind === 272 ? 7 : 4;
      }
      function p9(e) {
        if (!e.parent)
          return false;
        for (; e.parent.kind === 167; )
          e = e.parent;
        return tS(e.parent) && e.parent.moduleReference === e;
      }
      function qBe(e) {
        return HBe(e) || GBe(e);
      }
      function HBe(e) {
        let t = e, n = true;
        if (t.parent.kind === 167) {
          for (; t.parent && t.parent.kind === 167; )
            t = t.parent;
          n = t.right === e;
        }
        return t.parent.kind === 184 && !n;
      }
      function GBe(e) {
        let t = e, n = true;
        if (t.parent.kind === 212) {
          for (; t.parent && t.parent.kind === 212; )
            t = t.parent;
          n = t.name === e;
        }
        if (!n && t.parent.kind === 234 && t.parent.parent.kind === 299) {
          const i = t.parent.parent.parent;
          return i.kind === 264 && t.parent.parent.token === 119 || i.kind === 265 && t.parent.parent.token === 96;
        }
        return false;
      }
      function $Be(e) {
        switch (K4(e) && (e = e.parent), e.kind) {
          case 110:
            return !qm(e);
          case 198:
            return true;
        }
        switch (e.parent.kind) {
          case 184:
            return true;
          case 206:
            return !e.parent.isTypeOf;
          case 234:
            return sm(e.parent);
        }
        return false;
      }
      function gV(e, t = false, n = false) {
        return L8(e, ws, yV, t, n);
      }
      function _w(e, t = false, n = false) {
        return L8(e, Ub, yV, t, n);
      }
      function hV(e, t = false, n = false) {
        return L8(e, tm, yV, t, n);
      }
      function Hse(e, t = false, n = false) {
        return L8(e, Z1, XBe, t, n);
      }
      function Gse(e, t = false, n = false) {
        return L8(e, ol, yV, t, n);
      }
      function $se(e, t = false, n = false) {
        return L8(e, ku, QBe, t, n);
      }
      function yV(e) {
        return e.expression;
      }
      function XBe(e) {
        return e.tag;
      }
      function QBe(e) {
        return e.tagName;
      }
      function L8(e, t, n, i, s) {
        let o = i ? YBe(e) : d9(e);
        return s && (o = dc(o)), !!o && !!o.parent && t(o.parent) && n(o.parent) === o;
      }
      function d9(e) {
        return j6(e) ? e.parent : e;
      }
      function YBe(e) {
        return j6(e) || TV(e) ? e.parent : e;
      }
      function m9(e, t) {
        for (; e; ) {
          if (e.kind === 257 && e.label.escapedText === t)
            return e.label;
          e = e.parent;
        }
      }
      function M8(e, t) {
        return wn(e.expression) ? e.expression.name.text === t : false;
      }
      function R8(e) {
        var t;
        return Me(e) && ((t = Bn(e.parent, b4)) == null ? void 0 : t.label) === e;
      }
      function vV(e) {
        var t;
        return Me(e) && ((t = Bn(e.parent, Wy)) == null ? void 0 : t.label) === e;
      }
      function bV(e) {
        return vV(e) || R8(e);
      }
      function SV(e) {
        var t;
        return ((t = Bn(e.parent, PC)) == null ? void 0 : t.tagName) === e;
      }
      function Xse(e) {
        var t;
        return ((t = Bn(e.parent, t_)) == null ? void 0 : t.right) === e;
      }
      function j6(e) {
        var t;
        return ((t = Bn(e.parent, wn)) == null ? void 0 : t.name) === e;
      }
      function TV(e) {
        var t;
        return ((t = Bn(e.parent, oo)) == null ? void 0 : t.argumentExpression) === e;
      }
      function xV(e) {
        var t;
        return ((t = Bn(e.parent, Lc)) == null ? void 0 : t.name) === e;
      }
      function kV(e) {
        var t;
        return Me(e) && ((t = Bn(e.parent, Cs)) == null ? void 0 : t.name) === e;
      }
      function g9(e) {
        switch (e.parent.kind) {
          case 173:
          case 172:
          case 304:
          case 307:
          case 175:
          case 174:
          case 178:
          case 179:
          case 268:
            return us(e.parent) === e;
          case 213:
            return e.parent.argumentExpression === e;
          case 168:
            return true;
          case 202:
            return e.parent.parent.kind === 200;
          default:
            return false;
        }
      }
      function Qse(e) {
        return z1(e.parent.parent) && L4(e.parent.parent) === e;
      }
      function MS(e) {
        for (Op(e) && (e = e.parent.parent); ; ) {
          if (e = e.parent, !e)
            return;
          switch (e.kind) {
            case 308:
            case 175:
            case 174:
            case 263:
            case 219:
            case 178:
            case 179:
            case 264:
            case 265:
            case 267:
            case 268:
              return e;
          }
        }
      }
      function t2(e) {
        switch (e.kind) {
          case 308:
            return ll(e) ? "module" : "script";
          case 268:
            return "module";
          case 264:
          case 232:
            return "class";
          case 265:
            return "interface";
          case 266:
          case 339:
          case 347:
            return "type";
          case 267:
            return "enum";
          case 261:
            return t(e);
          case 209:
            return t(om(e));
          case 220:
          case 263:
          case 219:
            return "function";
          case 178:
            return "getter";
          case 179:
            return "setter";
          case 175:
          case 174:
            return "method";
          case 304:
            const { initializer: n } = e;
            return Cs(n) ? "method" : "property";
          case 173:
          case 172:
          case 305:
          case 306:
            return "property";
          case 182:
            return "index";
          case 181:
            return "construct";
          case 180:
            return "call";
          case 177:
          case 176:
            return "constructor";
          case 169:
            return "type parameter";
          case 307:
            return "enum member";
          case 170:
            return Gn(
              e,
              31
              /* ParameterPropertyModifier */
            ) ? "property" : "parameter";
          case 272:
          case 277:
          case 282:
          case 275:
          case 281:
            return "alias";
          case 227:
            const i = wc(e), { right: s } = e;
            switch (i) {
              case 7:
              case 8:
              case 9:
              case 0:
                return "";
              case 1:
              case 2:
                const c = t2(s);
                return c === "" ? "const" : c;
              case 3:
                return mo(s) ? "method" : "property";
              case 4:
                return "property";
              // property
              case 5:
                return mo(s) ? "method" : "property";
              case 6:
                return "local class";
              default:
                return "";
            }
          case 80:
            return sd(e.parent) ? "alias" : "";
          case 278:
            const o = t2(e.expression);
            return o === "" ? "const" : o;
          default:
            return "";
        }
        function t(n) {
          return OC(n) ? "const" : $7(n) ? "let" : "var";
        }
      }
      function B6(e) {
        switch (e.kind) {
          case 110:
            return true;
          case 80:
            return ZB(e) && e.parent.kind === 170;
          default:
            return false;
        }
      }
      var ZBe = /^\/\/\/\s*</;
      function Wp(e, t) {
        const n = vg(t), i = t.getLineAndCharacterOfPosition(e).line;
        return n[i];
      }
      function Yse(e, t) {
        return j8(e, t.pos) && j8(e, t.end);
      }
      function J6(e, t) {
        return e.pos <= t && t <= e.end;
      }
      function j8(e, t) {
        return e.pos < t && t < e.end;
      }
      function B8(e, t, n) {
        return e.pos <= t && e.end >= n;
      }
      function fw(e, t, n) {
        return y9(e.pos, e.end, t, n);
      }
      function h9(e, t, n, i) {
        return y9(e.getStart(t), e.end, n, i);
      }
      function y9(e, t, n, i) {
        const s = Math.max(e, n), o = Math.min(t, i);
        return s < o;
      }
      function CV(e, t, n) {
        return E.assert(e.pos <= t), t < e.end || !Fd(e, n);
      }
      function Fd(e, t) {
        if (e === void 0 || ac(e))
          return false;
        switch (e.kind) {
          case 264:
          case 265:
          case 267:
          case 211:
          case 207:
          case 188:
          case 242:
          case 269:
          case 270:
          case 276:
          case 280:
            return EV(e, 20, t);
          case 300:
            return Fd(e.block, t);
          case 215:
            if (!e.arguments)
              return true;
          // falls through
          case 214:
          case 218:
          case 197:
            return EV(e, 22, t);
          case 185:
          case 186:
            return Fd(e.type, t);
          case 177:
          case 178:
          case 179:
          case 263:
          case 219:
          case 175:
          case 174:
          case 181:
          case 180:
          case 220:
            return e.body ? Fd(e.body, t) : e.type ? Fd(e.type, t) : DV(e, 22, t);
          case 268:
            return !!e.body && Fd(e.body, t);
          case 246:
            return e.elseStatement ? Fd(e.elseStatement, t) : Fd(e.thenStatement, t);
          case 245:
            return Fd(e.expression, t) || DV(e, 27, t);
          case 210:
          case 208:
          case 213:
          case 168:
          case 190:
            return EV(e, 24, t);
          case 182:
            return e.type ? Fd(e.type, t) : DV(e, 24, t);
          case 297:
          case 298:
            return false;
          case 249:
          case 250:
          case 251:
          case 248:
            return Fd(e.statement, t);
          case 247:
            return DV(e, 117, t) ? EV(e, 22, t) : Fd(e.statement, t);
          case 187:
            return Fd(e.exprName, t);
          case 222:
          case 221:
          case 223:
          case 230:
          case 231:
            return Fd(e.expression, t);
          case 216:
            return Fd(e.template, t);
          case 229:
            const i = ko(e.templateSpans);
            return Fd(i, t);
          case 240:
            return Ip(e.literal);
          case 279:
          case 273:
            return Ip(e.moduleSpecifier);
          case 225:
            return Fd(e.operand, t);
          case 227:
            return Fd(e.right, t);
          case 228:
            return Fd(e.whenFalse, t);
          default:
            return true;
        }
      }
      function EV(e, t, n) {
        const i = e.getChildren(n);
        if (i.length) {
          const s = fa(i);
          if (s.kind === t)
            return true;
          if (s.kind === 27 && i.length !== 1)
            return i[i.length - 2].kind === t;
        }
        return false;
      }
      function Zse(e) {
        const t = v9(e);
        if (!t)
          return;
        const n = t.getChildren();
        return {
          listItemIndex: AC(n, e),
          list: t
        };
      }
      function DV(e, t, n) {
        return !!$a(e, t, n);
      }
      function $a(e, t, n) {
        return Nn(e.getChildren(n), (i) => i.kind === t);
      }
      function v9(e) {
        const t = Nn(e.parent.getChildren(), (n) => h6(n) && S_(n, e));
        return E.assert(!t || ds(t.getChildren(), e)), t;
      }
      function t2e(e) {
        return e.kind === 90;
      }
      function KBe(e) {
        return e.kind === 86;
      }
      function eJe(e) {
        return e.kind === 100;
      }
      function tJe(e) {
        if (kl(e))
          return e.name;
        if (Zc(e)) {
          const t = e.modifiers && Nn(e.modifiers, t2e);
          if (t) return t;
        }
        if (Oc(e)) {
          const t = Nn(e.getChildren(), KBe);
          if (t) return t;
        }
      }
      function rJe(e) {
        if (kl(e))
          return e.name;
        if (Tc(e)) {
          const t = Nn(e.modifiers, t2e);
          if (t) return t;
        }
        if (mo(e)) {
          const t = Nn(e.getChildren(), eJe);
          if (t) return t;
        }
      }
      function nJe(e) {
        let t;
        return dr(e, (n) => (li(n) && (t = n), !t_(n.parent) && !li(n.parent) && !yb(n.parent))), t;
      }
      function b9(e, t) {
        if (e.flags & 16777216) return;
        const n = M9(e, t);
        if (n) return n;
        const i = nJe(e);
        return i && t.getTypeAtLocation(i);
      }
      function iJe(e, t) {
        if (!t)
          switch (e.kind) {
            case 264:
            case 232:
              return tJe(e);
            case 263:
            case 219:
              return rJe(e);
            case 177:
              return e;
          }
        if (kl(e))
          return e.name;
      }
      function r2e(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 (gm(e.importClause.namedBindings)) {
              const n = yg(e.importClause.namedBindings.elements);
              return n ? n.name : void 0;
            } else if (jg(e.importClause.namedBindings))
              return e.importClause.namedBindings.name;
          }
        }
        if (!t)
          return e.moduleSpecifier;
      }
      function n2e(e, t) {
        if (e.exportClause) {
          if (_p(e.exportClause))
            return yg(e.exportClause.elements) ? e.exportClause.elements[0].name : void 0;
          if (Xm(e.exportClause))
            return e.exportClause.name;
        }
        if (!t)
          return e.moduleSpecifier;
      }
      function sJe(e) {
        if (e.types.length === 1)
          return e.types[0].expression;
      }
      function i2e(e, t) {
        const { parent: n } = e;
        if (Ys(e) && (t || e.kind !== 90) ? Jp(n) && ds(n.modifiers, e) : e.kind === 86 ? Zc(n) || Oc(e) : e.kind === 100 ? Tc(n) || mo(e) : e.kind === 120 ? Jl(n) : e.kind === 94 ? rv(n) : e.kind === 156 ? jp(n) : e.kind === 145 || e.kind === 144 ? Lc(n) : e.kind === 102 ? cl(n) : e.kind === 139 ? lp(n) : e.kind === 153 && R_(n)) {
          const i = iJe(n, t);
          if (i)
            return i;
        }
        if ((e.kind === 115 || e.kind === 87 || e.kind === 121) && Bl(n) && n.declarations.length === 1) {
          const i = n.declarations[0];
          if (Me(i.name))
            return i.name;
        }
        if (e.kind === 156) {
          if (sd(n) && n.isTypeOnly) {
            const i = r2e(n.parent, t);
            if (i)
              return i;
          }
          if (Mc(n) && n.isTypeOnly) {
            const i = n2e(n, t);
            if (i)
              return i;
          }
        }
        if (e.kind === 130) {
          if (qu(n) && n.propertyName || Eu(n) && n.propertyName || jg(n) || Xm(n))
            return n.name;
          if (Mc(n) && n.exportClause && Xm(n.exportClause))
            return n.exportClause.name;
        }
        if (e.kind === 102 && Wo(n)) {
          const i = r2e(n, t);
          if (i)
            return i;
        }
        if (e.kind === 95) {
          if (Mc(n)) {
            const i = n2e(n, t);
            if (i)
              return i;
          }
          if (Fo(n))
            return dc(n.expression);
        }
        if (e.kind === 149 && xh(n))
          return n.expression;
        if (e.kind === 161 && (Wo(n) || Mc(n)) && n.moduleSpecifier)
          return n.moduleSpecifier;
        if ((e.kind === 96 || e.kind === 119) && nf(n) && n.token === e.kind) {
          const i = sJe(n);
          if (i)
            return i;
        }
        if (e.kind === 96) {
          if (Io(n) && n.constraint && rf(n.constraint))
            return n.constraint.typeName;
          if (zb(n) && rf(n.extendsType))
            return n.extendsType.typeName;
        }
        if (e.kind === 140 && gS(n))
          return n.typeParameter.name;
        if (e.kind === 103 && Io(n) && yS(n.parent))
          return n.name;
        if (e.kind === 143 && Y1(n) && n.operator === 143 && rf(n.type))
          return n.type.typeName;
        if (e.kind === 148 && Y1(n) && n.operator === 148 && LN(n.type) && rf(n.type.elementType))
          return n.type.elementType.typeName;
        if (!t) {
          if ((e.kind === 105 && Ub(n) || e.kind === 116 && Jx(n) || e.kind === 114 && c6(n) || e.kind === 135 && zy(n) || e.kind === 127 && MN(n) || e.kind === 91 && Lte(n)) && n.expression)
            return dc(n.expression);
          if ((e.kind === 103 || e.kind === 104) && _n(n) && n.operatorToken === e)
            return dc(n.right);
          if (e.kind === 130 && l6(n) && rf(n.type))
            return n.type.typeName;
          if (e.kind === 103 && wF(n) || e.kind === 165 && RN(n))
            return dc(n.expression);
        }
        return e;
      }
      function wV(e) {
        return i2e(
          e,
          /*forRename*/
          false
        );
      }
      function S9(e) {
        return i2e(
          e,
          /*forRename*/
          true
        );
      }
      function k_(e, t) {
        return z6(e, t, (n) => am(n) || b_(n.kind) || Ai(n));
      }
      function z6(e, t, n) {
        return s2e(
          e,
          t,
          /*allowPositionInLeadingTrivia*/
          false,
          n,
          /*includeEndPosition*/
          false
        );
      }
      function vi(e, t) {
        return s2e(
          e,
          t,
          /*allowPositionInLeadingTrivia*/
          true,
          /*includePrecedingTokenAtEndPosition*/
          void 0,
          /*includeEndPosition*/
          false
        );
      }
      function s2e(e, t, n, i, s) {
        let o = e, c;
        e:
          for (; ; ) {
            const u = o.getChildren(e), g = zT(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*/
                true
              );
              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*/
            true
          )), g > t))
            return false;
          if (t < m || t === m && (u.kind === 1 || s))
            return true;
          if (i && m === t) {
            const h = ul(t, e, u);
            if (h && i(h))
              return c = h, true;
          }
          return false;
        }
      }
      function Kse(e, t) {
        let n = vi(e, t);
        for (; T9(n); ) {
          const i = r2(n, n.parent, e);
          if (!i) return;
          n = i;
        }
        return n;
      }
      function pw(e, t) {
        const n = vi(e, t);
        return YT(n) && t > n.getStart(e) && t < n.getEnd() ? n : ul(t, e);
      }
      function r2(e, t, n) {
        return i(t);
        function i(s) {
          return YT(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) && sae(o, n) ? i(o) : void 0
          ));
        }
      }
      function ul(e, t, n, i) {
        const s = o(n || t);
        return E.assert(!(s && T9(s))), s;
        function o(c) {
          if (a2e(c) && c.kind !== 1)
            return c;
          const _ = c.getChildren(t), u = zT(_, 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
              !sae(m, t) || T9(m)) {
                const T = tae(
                  _,
                  /*exclusiveStartPosition*/
                  u,
                  t,
                  c.kind
                );
                return T ? !i && I7(T) && T.getChildren(t).length ? o(T) : eae(T, t) : void 0;
              } else
                return o(m);
          }
          E.assert(n !== void 0 || c.kind === 308 || c.kind === 1 || I7(c));
          const g = tae(
            _,
            /*exclusiveStartPosition*/
            _.length,
            t,
            c.kind
          );
          return g && eae(g, t);
        }
      }
      function a2e(e) {
        return YT(e) && !T9(e);
      }
      function eae(e, t) {
        if (a2e(e))
          return e;
        const n = e.getChildren(t);
        if (n.length === 0)
          return e;
        const i = tae(
          n,
          /*exclusiveStartPosition*/
          n.length,
          t,
          e.kind
        );
        return i && eae(i, t);
      }
      function tae(e, t, n, i) {
        for (let s = t - 1; s >= 0; s--) {
          const o = e[s];
          if (T9(o))
            s === 0 && (i === 12 || i === 286) && E.fail("`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`");
          else if (sae(e[s], n))
            return e[s];
        }
      }
      function ik(e, t, n = ul(t, e)) {
        if (n && Jj(n)) {
          const i = n.getStart(e), s = n.getEnd();
          if (i < t && t < s)
            return true;
          if (t === s)
            return !!n.isUnterminated;
        }
        return false;
      }
      function rae(e, t) {
        const n = vi(e, t);
        return n ? !!(n.kind === 12 || n.kind === 30 && n.parent.kind === 12 || n.kind === 30 && n.parent.kind === 295 || n && n.kind === 20 && n.parent.kind === 295 || n.kind === 30 && n.parent.kind === 288) : false;
      }
      function T9(e) {
        return Ix(e) && e.containsOnlyTriviaWhiteSpaces;
      }
      function PV(e, t) {
        const n = vi(e, t);
        return vy(n.kind) && t > n.getStart(e);
      }
      function nae(e, t) {
        const n = vi(e, t);
        return !!(Ix(n) || n.kind === 19 && f6(n.parent) && hm(n.parent.parent) || n.kind === 30 && ku(n.parent) && hm(n.parent.parent));
      }
      function x9(e, t) {
        function n(i) {
          for (; i; )
            if (i.kind >= 286 && i.kind <= 295 || 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 === 285) {
              if (t > i.getStart(e)) return true;
              i = i.parent;
            } else
              return false;
          return false;
        }
        return n(vi(e, t));
      }
      function k9(e, t, n) {
        const i = Vs(e.kind), s = Vs(t), o = e.getFullStart(), c = n.text.lastIndexOf(s, o);
        if (c === -1)
          return;
        if (n.text.lastIndexOf(i, o - 1) < c) {
          const g = ul(c + 1, n);
          if (g && g.kind === t)
            return g;
        }
        const _ = e.kind;
        let u = 0;
        for (; ; ) {
          const g = ul(e.getFullStart(), n);
          if (!g)
            return;
          if (e = g, e.kind === t) {
            if (u === 0)
              return e;
            u--;
          } else e.kind === _ && u++;
        }
      }
      function aJe(e, t, n) {
        return t ? e.getNonNullableType() : n ? e.getNonOptionalType() : e;
      }
      function J8(e, t, n) {
        const i = AV(e, t);
        return i !== void 0 && (sm(i.called) || NV(i.called, i.nTypeArguments, n).length !== 0 || J8(i.called, t, n));
      }
      function NV(e, t, n) {
        let i = n.getTypeAtLocation(e);
        return Tu(e.parent) && (i = aJe(
          i,
          y4(e.parent),
          /*isOptionalChain*/
          true
        )), (Ub(e.parent) ? i.getConstructSignatures() : i.getCallSignatures()).filter((o) => !!o.typeParameters && o.typeParameters.length >= t);
      }
      function AV(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 = ul(n.getFullStart(), t), n && n.kind === 29 && (n = ul(n.getFullStart(), t)), !n || !Me(n)) return;
              if (!i)
                return Hm(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 = k9(n, 19, t), !n) return;
              break;
            case 22:
              if (n = k9(n, 21, t), !n) return;
              break;
            case 24:
              if (n = k9(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 (li(n))
                break;
              return;
          }
          n = ul(n.getFullStart(), t);
        }
      }
      function k0(e, t, n) {
        return el.getRangeOfEnclosingComment(
          e,
          t,
          /*precedingToken*/
          void 0,
          n
        );
      }
      function iae(e, t) {
        const n = vi(e, t);
        return !!dr(n, Nd);
      }
      function sae(e, t) {
        return e.kind === 1 ? !!e.jsDoc : e.getWidth(t) !== 0;
      }
      function dw(e, t = 0) {
        const n = [], i = Cl(e) ? wj(e) & ~t : 0;
        return i & 2 && n.push(
          "private"
          /* privateMemberModifier */
        ), i & 4 && n.push(
          "protected"
          /* protectedMemberModifier */
        ), i & 1 && n.push(
          "public"
          /* publicMemberModifier */
        ), (i & 256 || Sc(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 === 278 && n.push(
          "export"
          /* exportedModifier */
        ), n.length > 0 ? n.join(",") : "";
      }
      function aae(e) {
        if (e.kind === 184 || e.kind === 214)
          return e.typeArguments;
        if (Cs(e) || e.kind === 264 || e.kind === 265)
          return e.typeParameters;
      }
      function C9(e) {
        return e === 2 || e === 3;
      }
      function IV(e) {
        return !!(e === 11 || e === 14 || vy(e));
      }
      function o2e(e, t, n) {
        return !!(t.flags & 4) && e.isEmptyAnonymousObjectType(n);
      }
      function oae(e) {
        if (!e.isIntersection())
          return false;
        const { types: t, checker: n } = e;
        return t.length === 2 && (o2e(n, t[0], t[1]) || o2e(n, t[1], t[0]));
      }
      function z8(e, t, n) {
        return vy(e.kind) && e.getStart(n) < t && t < e.end || !!e.isUnterminated && t === e.end;
      }
      function FV(e) {
        switch (e) {
          case 125:
          case 123:
          case 124:
            return true;
        }
        return false;
      }
      function OV(e) {
        const t = sQ(e);
        return iW(t, e && e.configFile), t;
      }
      function C0(e) {
        return !!((e.kind === 210 || e.kind === 211) && (e.parent.kind === 227 && e.parent.left === e && e.parent.operatorToken.kind === 64 || e.parent.kind === 251 && e.parent.initializer === e || C0(e.parent.kind === 304 ? e.parent.parent : e.parent)));
      }
      function cae(e, t) {
        return c2e(
          e,
          t,
          /*shouldBeReference*/
          true
        );
      }
      function lae(e, t) {
        return c2e(
          e,
          t,
          /*shouldBeReference*/
          false
        );
      }
      function c2e(e, t, n) {
        const i = k0(
          e,
          t,
          /*tokenAtPosition*/
          void 0
        );
        return !!i && n === ZBe.test(e.text.substring(i.pos, i.end));
      }
      function LV(e, t) {
        if (e)
          switch (e.kind) {
            case 11:
            case 15:
              return MV(e, t);
            default:
              return a_(e);
          }
      }
      function a_(e, t, n) {
        return Dc(e.getStart(t), (n || e).getEnd());
      }
      function MV(e, t) {
        let n = e.getEnd() - 1;
        if (e.isUnterminated) {
          if (e.getStart() === n) return;
          n = Math.min(t, e.getEnd());
        }
        return Dc(e.getStart() + 1, n);
      }
      function RV(e, t) {
        return ip(e.getStart(t), e.end);
      }
      function E0(e) {
        return Dc(e.pos, e.end);
      }
      function E9(e) {
        return ip(e.start, e.start + e.length);
      }
      function D9(e, t, n) {
        return W8(Xl(e, t), n);
      }
      function W8(e, t) {
        return { span: e, newText: t };
      }
      var jV = [
        133,
        131,
        163,
        136,
        97,
        140,
        143,
        146,
        106,
        150,
        151,
        148,
        154,
        155,
        114,
        112,
        116,
        157,
        158,
        159
        /* UnknownKeyword */
      ];
      function mw(e) {
        return ds(jV, e);
      }
      function l2e(e) {
        return e.kind === 156;
      }
      function w9(e) {
        return l2e(e) || Me(e) && e.text === "type";
      }
      function W6() {
        const e = [];
        return (t) => {
          const n = Oa(t);
          return !e[n] && (e[n] = true);
        };
      }
      function sk(e) {
        return e.getText(0, e.getLength());
      }
      function U8(e, t) {
        let n = "";
        for (let i = 0; i < t; i++)
          n += e;
        return n;
      }
      function BV(e) {
        return e.isTypeParameter() && e.getConstraint() || e;
      }
      function V8(e) {
        return e.kind === 168 ? wf(e.expression) ? e.expression.text : void 0 : Ai(e) ? An(e) : np(e);
      }
      function uae(e) {
        return e.getSourceFiles().some((t) => !t.isDeclarationFile && !e.isSourceFileFromExternalLibrary(t) && !!(t.externalModuleIndicator || t.commonJsModuleIndicator));
      }
      function _ae(e) {
        return e.getSourceFiles().some((t) => !t.isDeclarationFile && !e.isSourceFileFromExternalLibrary(t) && !!t.externalModuleIndicator);
      }
      function JV(e) {
        return !!e.module || pa(e) >= 2 || !!e.noEmit;
      }
      function mv(e, t) {
        return {
          fileExists: (n) => e.fileExists(n),
          getCurrentDirectory: () => t.getCurrentDirectory(),
          readFile: Fs(t, t.readFile),
          useCaseSensitiveFileNames: Fs(t, t.useCaseSensitiveFileNames) || e.useCaseSensitiveFileNames,
          getSymlinkCache: Fs(t, t.getSymlinkCache) || e.getSymlinkCache,
          getModuleSpecifierCache: Fs(t, t.getModuleSpecifierCache),
          getPackageJsonInfoCache: () => {
            var n;
            return (n = e.getModuleResolutionCache()) == null ? void 0 : n.getPackageJsonInfoCache();
          },
          getGlobalTypingsCacheLocation: Fs(t, t.getGlobalTypingsCacheLocation),
          redirectTargetsMap: e.redirectTargetsMap,
          getRedirectFromSourceFile: (n) => e.getRedirectFromSourceFile(n),
          isSourceOfProjectReferenceRedirect: (n) => e.isSourceOfProjectReferenceRedirect(n),
          getNearestAncestorDirectoryWithPackageJson: Fs(t, t.getNearestAncestorDirectoryWithPackageJson),
          getFileIncludeReasons: () => e.getFileIncludeReasons(),
          getCommonSourceDirectory: () => e.getCommonSourceDirectory(),
          getDefaultResolutionModeForFile: (n) => e.getDefaultResolutionModeForFile(n),
          getModeForResolutionAtIndex: (n, i) => e.getModeForResolutionAtIndex(n, i)
        };
      }
      function zV(e, t) {
        return {
          ...mv(e, t),
          getCommonSourceDirectory: () => e.getCommonSourceDirectory()
        };
      }
      function P9(e) {
        return e === 2 || e >= 3 && e <= 99 || e === 100;
      }
      function Yy(e, t, n, i, s) {
        return N.createImportDeclaration(
          /*modifiers*/
          void 0,
          e || t ? N.createImportClause(s ? 156 : void 0, e, t && t.length ? N.createNamedImports(t) : void 0) : void 0,
          typeof n == "string" ? gw(n, i) : n,
          /*attributes*/
          void 0
        );
      }
      function gw(e, t) {
        return N.createStringLiteral(
          e,
          t === 0
          /* Single */
        );
      }
      var fae = /* @__PURE__ */ ((e) => (e[e.Single = 0] = "Single", e[e.Double = 1] = "Double", e))(fae || {});
      function WV(e, t) {
        return u5(e, t) ? 1 : 0;
      }
      function of(e, t) {
        if (t.quotePreference && t.quotePreference !== "auto")
          return t.quotePreference === "single" ? 0 : 1;
        {
          const n = Pg(e) && e.imports && Nn(e.imports, (i) => oa(i) && !ao(i.parent));
          return n ? WV(n, e) : 1;
        }
      }
      function UV(e) {
        switch (e) {
          case 0:
            return "'";
          case 1:
            return '"';
          default:
            return E.assertNever(e);
        }
      }
      function VV(e) {
        const t = N9(e);
        return t === void 0 ? void 0 : Si(t);
      }
      function N9(e) {
        return e.escapedName !== "default" ? e.escapedName : Ic(e.declarations, (t) => {
          const n = us(t);
          return n && n.kind === 80 ? n.escapedText : void 0;
        });
      }
      function A9(e) {
        return Ma(e) && (xh(e.parent) || Wo(e.parent) || vm(e.parent) || v_(
          e.parent,
          /*requireStringLiteralLikeArgument*/
          false
        ) && e.parent.arguments[0] === e || y_(e.parent) && e.parent.arguments[0] === e);
      }
      function q8(e) {
        return ha(e) && Nf(e.parent) && Me(e.name) && !e.propertyName;
      }
      function I9(e, t) {
        const n = e.getTypeAtLocation(t.parent);
        return n && e.getPropertyOfType(n, t.name.text);
      }
      function H8(e, t, n) {
        if (e)
          for (; e.parent; ) {
            if (Di(e.parent) || !oJe(n, e.parent, t))
              return e;
            e = e.parent;
          }
      }
      function oJe(e, t, n) {
        return Cj(e, t.getStart(n)) && t.getEnd() <= Yo(e);
      }
      function U6(e, t) {
        return Jp(e) ? Nn(e.modifiers, (n) => n.kind === t) : void 0;
      }
      function qV(e, t, n, i, s) {
        var o;
        const _ = (ss(n) ? n[0] : n).kind === 244 ? F3 : ax, u = kn(t.statements, _), { comparer: g, isSorted: m } = Tv.getOrganizeImportsStringComparerWithDetection(u, s), h = ss(n) ? q_(n, (S, T) => Tv.compareImportsOrRequireStatements(S, T, g)) : [n];
        if (!u?.length) {
          if (Pg(t))
            e.insertNodesAtTopOfFile(t, h, i);
          else
            for (const S of h)
              e.insertStatementsInNewFile(t.fileName, [S], (o = zo(S)) == null ? void 0 : o.getSourceFile());
          return;
        }
        if (E.assert(Pg(t)), u && m)
          for (const S of h) {
            const T = Tv.getImportDeclarationInsertionIndex(u, S, g);
            if (T === 0) {
              const k = u[0] === t.statements[0] ? { leadingTriviaOption: cn.LeadingTriviaOption.Exclude } : {};
              e.insertNodeBefore(
                t,
                u[0],
                S,
                /*blankLineBetween*/
                false,
                k
              );
            } else {
              const k = u[T - 1];
              e.insertNodeAfter(t, k, S);
            }
          }
        else {
          const S = ko(u);
          S ? e.insertNodesAfter(t, S, h) : e.insertNodesAtTopOfFile(t, h, i);
        }
      }
      function HV(e, t) {
        return E.assert(e.isTypeOnly), Ws(e.getChildAt(0, t), l2e);
      }
      function V6(e, t) {
        return !!e && !!t && e.start === t.start && e.length === t.length;
      }
      function GV(e, t, n) {
        return (n ? db : fy)(e.fileName, t.fileName) && V6(e.textSpan, t.textSpan);
      }
      function $V(e) {
        return (t, n) => GV(t, n, e);
      }
      function XV(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 pae(e, t, n) {
        for (let i = t; i < n; i++)
          if (!bg(e.charCodeAt(i)))
            return false;
        return true;
      }
      function hw(e, t, n) {
        const i = t.tryGetSourcePosition(e);
        return i && (!n || n(qs(i.fileName)) ? i : void 0);
      }
      function F9(e, t, n) {
        const { fileName: i, textSpan: s } = e, o = hw({ fileName: i, pos: s.start }, t, n);
        if (!o) return;
        const c = hw({ 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: QV(e, t, n),
          originalContextSpan: e.contextSpan
        };
      }
      function QV(e, t, n) {
        const i = e.contextSpan && hw(
          { fileName: e.fileName, pos: e.contextSpan.start },
          t,
          n
        ), s = e.contextSpan && hw(
          { 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 YV(e) {
        const t = e.declarations ? $c(e.declarations) : void 0;
        return !!dr(t, (n) => Ii(n) ? true : ha(n) || Nf(n) || T0(n) ? false : "quit");
      }
      var dae = /* @__PURE__ */ new Map();
      function cJe(e) {
        return e = e || D4, dae.has(e) || dae.set(e, lJe(e)), dae.get(e);
      }
      function lJe(e) {
        const t = e * 10;
        let n, i, s, o;
        h();
        const c = (S) => u(
          S,
          17
          /* text */
        );
        return {
          displayParts: () => {
            const S = n.length && n[n.length - 1].text;
            return o > t && S && S !== "..." && (bg(S.charCodeAt(S.length - 1)) || n.push(j_(
              " ",
              16
              /* space */
            )), n.push(j_(
              "...",
              15
              /* punctuation */
            ))), n;
          },
          writeKeyword: (S) => u(
            S,
            5
            /* keyword */
          ),
          writeOperator: (S) => u(
            S,
            12
            /* operator */
          ),
          writePunctuation: (S) => u(
            S,
            15
            /* punctuation */
          ),
          writeTrailingSemicolon: (S) => u(
            S,
            15
            /* punctuation */
          ),
          writeSpace: (S) => u(
            S,
            16
            /* space */
          ),
          writeStringLiteral: (S) => u(
            S,
            8
            /* stringLiteral */
          ),
          writeParameter: (S) => u(
            S,
            13
            /* parameterName */
          ),
          writeProperty: (S) => u(
            S,
            14
            /* propertyName */
          ),
          writeLiteral: (S) => u(
            S,
            8
            /* stringLiteral */
          ),
          writeSymbol: g,
          writeLine: m,
          write: c,
          writeComment: c,
          getText: () => "",
          getTextPos: () => 0,
          getColumn: () => 0,
          getLine: () => 0,
          isAtStartOfLine: () => false,
          hasTrailingWhitespace: () => false,
          hasTrailingComment: () => false,
          rawWrite: Us,
          getIndent: () => s,
          increaseIndent: () => {
            s++;
          },
          decreaseIndent: () => {
            s--;
          },
          clear: h
        };
        function _() {
          if (!(o > t) && i) {
            const S = S5(s);
            S && (o += S.length, n.push(j_(
              S,
              16
              /* space */
            ))), i = false;
          }
        }
        function u(S, T) {
          o > t || (_(), o += S.length, n.push(j_(S, T)));
        }
        function g(S, T) {
          o > t || (_(), o += S.length, n.push(uJe(S, T)));
        }
        function m() {
          o > t || (o += 1, n.push(q6()), i = true);
        }
        function h() {
          n = [], i = true, s = 0, o = 0;
        }
      }
      function uJe(e, t) {
        return j_(e, n(t));
        function n(i) {
          const s = i.flags;
          return s & 3 ? YV(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 j_(e, t) {
        return { text: e, kind: _9[t] };
      }
      function lc() {
        return j_(
          " ",
          16
          /* space */
        );
      }
      function cf(e) {
        return j_(
          Vs(e),
          5
          /* keyword */
        );
      }
      function Pu(e) {
        return j_(
          Vs(e),
          15
          /* punctuation */
        );
      }
      function yw(e) {
        return j_(
          Vs(e),
          12
          /* operator */
        );
      }
      function mae(e) {
        return j_(
          e,
          13
          /* parameterName */
        );
      }
      function gae(e) {
        return j_(
          e,
          14
          /* propertyName */
        );
      }
      function ZV(e) {
        const t = U2(e);
        return t === void 0 ? Lf(e) : cf(t);
      }
      function Lf(e) {
        return j_(
          e,
          17
          /* text */
        );
      }
      function hae(e) {
        return j_(
          e,
          0
          /* aliasName */
        );
      }
      function yae(e) {
        return j_(
          e,
          18
          /* typeParameterName */
        );
      }
      function vae(e) {
        return j_(
          e,
          24
          /* linkText */
        );
      }
      function _Je(e, t) {
        return {
          text: e,
          kind: _9[
            23
            /* linkName */
          ],
          target: {
            fileName: xr(t).fileName,
            textSpan: a_(t)
          }
        };
      }
      function u2e(e) {
        return j_(
          e,
          22
          /* link */
        );
      }
      function bae(e, t) {
        var n;
        const i = Vte(e) ? "link" : qte(e) ? "linkcode" : "linkplain", s = [u2e(`{@${i} `)];
        if (!e.name)
          e.text && s.push(vae(e.text));
        else {
          const o = t?.getSymbolAtLocation(e.name), c = o && t ? tq(o, t) : void 0, _ = pJe(e.text), u = Go(e.name) + e.text.slice(0, _), g = fJe(e.text.slice(_)), m = c?.valueDeclaration || ((n = c?.declarations) == null ? void 0 : n[0]);
          if (m)
            s.push(_Je(u, m)), g && s.push(vae(g));
          else {
            const h = _ === 0 || e.text.charCodeAt(_) === 124 && u.charCodeAt(u.length - 1) !== 32 ? " " : "";
            s.push(vae(u + h + g));
          }
        }
        return s.push(u2e("}")), s;
      }
      function fJe(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 pJe(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 dJe = `
`;
      function wh(e, t) {
        var n;
        return t?.newLineCharacter || ((n = e.getNewLine) == null ? void 0 : n.call(e)) || dJe;
      }
      function q6() {
        return j_(
          `
`,
          6
          /* lineBreak */
        );
      }
      function Zy(e, t) {
        const n = cJe(t);
        try {
          return e(n), n.displayParts();
        } finally {
          n.clear();
        }
      }
      function G8(e, t, n, i = 0, s, o, c) {
        return Zy((_) => {
          e.writeType(t, n, i | 1024 | 16384, _, s, o, c);
        }, s);
      }
      function vw(e, t, n, i, s = 0) {
        return Zy((o) => {
          e.writeSymbol(t, n, i, s | 8, o);
        });
      }
      function KV(e, t, n, i = 0, s, o, c) {
        return i |= 25632, Zy((_) => {
          e.writeSignature(
            t,
            n,
            i,
            /*kind*/
            void 0,
            _,
            s,
            o,
            c
          );
        }, s);
      }
      function Sae(e) {
        return !!e.parent && by(e.parent) && e.parent.propertyName === e;
      }
      function eq(e, t) {
        return Y5(e, t.getScriptKind && t.getScriptKind(e));
      }
      function tq(e, t) {
        let n = e;
        for (; mJe(n) || Cg(n) && n.links.target; )
          Cg(n) && n.links.target ? n = n.links.target : n = Ql(n, t);
        return n;
      }
      function mJe(e) {
        return (e.flags & 2097152) !== 0;
      }
      function Tae(e, t) {
        return $s(Ql(e, t));
      }
      function xae(e, t) {
        for (; bg(e.charCodeAt(t)); )
          t += 1;
        return t;
      }
      function O9(e, t) {
        for (; t > -1 && em(e.charCodeAt(t)); )
          t -= 1;
        return t + 1;
      }
      function RS(e, t) {
        const n = e.getSourceFile(), i = n.text;
        gJe(e, i) ? H6(e, t, n) : X8(e, t, n), bw(e, t, n);
      }
      function gJe(e, t) {
        const n = e.getFullStart(), i = e.getStart();
        for (let s = n; s < i; s++)
          if (t.charCodeAt(s) === 10) return true;
        return false;
      }
      function jS(e, t) {
        let n = e;
        for (let i = 1; !z7(t, n); i++)
          n = `${e}_${i}`;
        return n;
      }
      function $8(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 = hJe(m, Gm(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 H6(e, t, n, i, s) {
        HP(n.text, e.pos, kae(t, n, i, s, jy));
      }
      function bw(e, t, n, i, s) {
        GP(n.text, e.end, kae(t, n, i, s, TD));
      }
      function X8(e, t, n, i, s) {
        GP(n.text, e.pos, kae(t, n, i, s, jy));
      }
      function kae(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 hJe(e, t) {
        if (Ui(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 L9(e) {
        return _n(e) && e.operatorToken.kind === 28 || ua(e) || (l6(e) || u6(e)) && ua(e.expression);
      }
      function M9(e, t, n) {
        const i = rd(e.parent);
        switch (i.kind) {
          case 215:
            return t.getContextualType(i, n);
          case 227: {
            const { left: s, operatorToken: o, right: c } = i;
            return R9(o.kind) ? t.getTypeAtLocation(e === c ? s : c) : t.getContextualType(e, n);
          }
          case 297:
            return nq(i, t);
          default:
            return t.getContextualType(e, n);
        }
      }
      function Sw(e, t, n) {
        const i = of(e, t), s = JSON.stringify(n);
        return i === 0 ? `'${Lp(s).replace(/'/g, () => "\\'").replace(/\\"/g, '"')}'` : s;
      }
      function R9(e) {
        switch (e) {
          case 37:
          case 35:
          case 38:
          case 36:
            return true;
          default:
            return false;
        }
      }
      function Cae(e) {
        switch (e.kind) {
          case 11:
          case 15:
          case 229:
          case 216:
            return true;
          default:
            return false;
        }
      }
      function rq(e) {
        return !!e.getStringIndexType() || !!e.getNumberIndexType();
      }
      function nq(e, t) {
        return t.getTypeAtLocation(e.parent.parent.expression);
      }
      var iq = "anonymous function";
      function Tw(e, t, n, i) {
        const s = n.getTypeChecker();
        let o = true;
        const c = () => o = false, _ = s.typeToTypeNode(e, t, 1, 8, {
          trackSymbol: (u, g, m) => (o = o && s.isSymbolAccessible(
            u,
            g,
            m,
            /*shouldComputeAliasToMarkVisible*/
            false
          ).accessibility === 0, !o),
          reportInaccessibleThisError: c,
          reportPrivateInBaseOfClassExpression: c,
          reportInaccessibleUniqueSymbolError: c,
          moduleResolverHost: zV(n, i)
        });
        return o ? _ : void 0;
      }
      function Eae(e) {
        return e === 180 || e === 181 || e === 182 || e === 172 || e === 174;
      }
      function _2e(e) {
        return e === 263 || e === 177 || e === 175 || e === 178 || e === 179;
      }
      function f2e(e) {
        return e === 268;
      }
      function Dae(e) {
        return e === 244 || e === 245 || e === 247 || e === 252 || e === 253 || e === 254 || e === 258 || e === 260 || e === 173 || e === 266 || e === 273 || e === 272 || e === 279 || e === 271 || e === 278;
      }
      var yJe = H_(
        Eae,
        _2e,
        f2e,
        Dae
      );
      function vJe(e, t) {
        const n = e.getLastToken(t);
        if (n && n.kind === 27)
          return false;
        if (Eae(e.kind)) {
          if (n && n.kind === 28)
            return false;
        } else if (f2e(e.kind)) {
          const _ = fa(e.getChildren(t));
          if (_ && mm(_))
            return false;
        } else if (_2e(e.kind)) {
          const _ = fa(e.getChildren(t));
          if (_ && kb(_))
            return false;
        } else if (!Dae(e.kind))
          return false;
        if (e.kind === 247)
          return true;
        const i = dr(e, (_) => !_.parent), s = r2(e, i, t);
        if (!s || s.kind === 20)
          return true;
        const o = t.getLineAndCharacterOfPosition(e.getEnd()).line, c = t.getLineAndCharacterOfPosition(s.getStart(t)).line;
        return o !== c;
      }
      function j9(e, t, n) {
        const i = dr(t, (s) => s.end !== e ? "quit" : yJe(s.kind));
        return !!i && vJe(i, n);
      }
      function Q8(e) {
        let t = 0, n = 0;
        const i = 5;
        return Ts(e, function s(o) {
          if (Dae(o.kind)) {
            const c = o.getLastToken(e);
            c?.kind === 27 ? t++ : n++;
          } else if (Eae(o.kind)) {
            const c = o.getLastToken(e);
            if (c?.kind === 27)
              t++;
            else if (c && c.kind !== 28) {
              const _ = Rs(e, c.getStart(e)).line, u = Rs(e, nm(e, c.end).start).line;
              _ !== u && n++;
            }
          }
          return t + n >= i ? true : Ts(o, s);
        }), t === 0 && n <= 1 ? true : t / n > 1 / i;
      }
      function B9(e, t) {
        return wae(e, e.getDirectories, t) || [];
      }
      function sq(e, t, n, i, s) {
        return wae(e, e.readDirectory, t, n, i, s) || Ge;
      }
      function xw(e, t) {
        return wae(e, e.fileExists, t);
      }
      function J9(e, t) {
        return z9(() => Cd(t, e)) || false;
      }
      function z9(e) {
        try {
          return e();
        } catch {
          return;
        }
      }
      function wae(e, t, ...n) {
        return z9(() => t && t.apply(e, n));
      }
      function aq(e, t) {
        const n = [];
        return Qm(
          t,
          e,
          (i) => {
            const s = On(i, "package.json");
            xw(t, s) && n.push(s);
          }
        ), n;
      }
      function Pae(e, t) {
        let n;
        return Qm(
          t,
          e,
          (i) => {
            if (i === "node_modules" || (n = oU(i, (s) => xw(t, s), "package.json"), n))
              return true;
          }
        ), n;
      }
      function bJe(e, t) {
        if (!t.fileExists)
          return [];
        const n = [];
        return Qm(
          t,
          Hn(e),
          (i) => {
            const s = On(i, "package.json");
            if (t.fileExists(s)) {
              const o = oq(s, t);
              o && n.push(o);
            }
          }
        ), n;
      }
      function oq(e, t) {
        if (!t.readFile)
          return;
        const n = ["dependencies", "devDependencies", "optionalDependencies", "peerDependencies"], i = t.readFile(e) || "", s = aN(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 G6(e, t, n) {
        const i = (n.getPackageJsonsVisibleToFile && n.getPackageJsonsVisibleToFile(e.fileName) || bJe(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 P of i)
            if (P.has(D) || P.has(dO(D)))
              return true;
          return false;
        }
        function u(k, D) {
          if (!i.length || !k.valueDeclaration)
            return true;
          if (!o)
            o = /* @__PURE__ */ new Map();
          else {
            const R = o.get(k);
            if (R !== void 0)
              return R;
          }
          const P = Lp(k.getName());
          if (h(P))
            return o.set(k, true), true;
          const A = k.valueDeclaration.getSourceFile(), O = S(A.fileName, D);
          if (typeof O > "u")
            return o.set(k, true), true;
          const F = _(O) || _(P);
          return o.set(k, F), F;
        }
        function g(k, D) {
          if (!i.length)
            return { importable: true, packageName: void 0 };
          if (!c)
            c = /* @__PURE__ */ new Map();
          else {
            const F = c.get(k);
            if (F !== void 0)
              return F;
          }
          const P = S(k.fileName, D);
          if (!P) {
            const F = { importable: true, packageName: P };
            return c.set(k, F), F;
          }
          const O = { importable: _(P), packageName: P };
          return c.set(k, O), O;
        }
        function m(k) {
          return !i.length || h(k) || vf(k) || $_(k) ? true : _(k);
        }
        function h(k) {
          return !!(Pg(e) && Ku(e) && n6.has(k) && (s === void 0 && (s = W9(e)), s));
        }
        function S(k, D) {
          if (!k.includes("node_modules"))
            return;
          const P = Dh.getNodeModulesPackageName(
            n.getCompilationSettings(),
            e,
            k,
            D,
            t
          );
          if (P && !vf(P) && !$_(P))
            return T(P);
        }
        function T(k) {
          const D = cu(HD(k)).slice(1);
          return Ui(D[0], "@") ? `${D[0]}/${D[1]}` : D[0];
        }
      }
      function W9(e) {
        return ot(e.imports, ({ text: t }) => n6.has(t));
      }
      function Y8(e) {
        return ds(cu(e), "node_modules");
      }
      function p2e(e) {
        return e.file !== void 0 && e.start !== void 0 && e.length !== void 0;
      }
      function Nae(e, t) {
        const n = a_(e), i = zT(t, n, fo, XI);
        if (i >= 0) {
          const s = t[i];
          return E.assertEqual(s.file, e.getSourceFile(), "Diagnostics proided to 'findDiagnosticForNode' must be from a single SourceFile"), Ws(s, p2e);
        }
      }
      function Aae(e, t) {
        var n;
        let i = zT(t, e.start, (c) => c.start, po);
        for (i < 0 && (i = ~i); ((n = t[i - 1]) == null ? void 0 : n.start) === e.start; )
          i--;
        const s = [], o = Yo(e);
        for (; ; ) {
          const c = Bn(t[i], p2e);
          if (!c || c.start > o)
            break;
          VY(e, c) && s.push(c), i++;
        }
        return s;
      }
      function ak({ startPosition: e, endPosition: t }) {
        return Dc(e, t === void 0 ? e : t);
      }
      function cq(e, t) {
        const n = vi(e, t.start);
        return dr(n, (s) => s.getStart(e) < t.start || s.getEnd() > Yo(t) ? "quit" : ut(s) && V6(t, a_(s, e)));
      }
      function lq(e, t, n = fo) {
        return e ? ss(e) ? n(hr(e, t)) : t(e, 0) : void 0;
      }
      function uq(e) {
        return ss(e) ? ka(e) : e;
      }
      function U9(e, t, n) {
        return e.escapedName === "export=" || e.escapedName === "default" ? _q(e) || Z8(SJe(e), t, !!n) : e.name;
      }
      function _q(e) {
        return Ic(e.declarations, (t) => {
          var n, i, s;
          if (Fo(t))
            return (n = Bn(dc(t.expression), Me)) == null ? void 0 : n.text;
          if (Eu(t) && t.symbol.flags === 2097152)
            return (i = Bn(t.propertyName, Me)) == null ? void 0 : i.text;
          const o = (s = Bn(us(t), Me)) == null ? void 0 : s.text;
          if (o)
            return o;
          if (e.parent && !rx(e.parent))
            return e.parent.getName();
        });
      }
      function SJe(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 = an(n), { expression: o } = n;
            return (s ? "[JS]" : "") + i + (o ? ` (expression: ${E.formatSyntaxKind(o.kind)})` : "");
          }).join(", ")}.`
        );
      }
      function Z8(e, t, n) {
        return K8(Uu(Lp(e.name)), t, n);
      }
      function K8(e, t, n) {
        const i = Xc(mC(Uu(e), "/index"));
        let s = "", o = true;
        const c = i.charCodeAt(0);
        Jm(c, t) ? (s += String.fromCharCode(c), n && (s = s.toUpperCase())) : o = false;
        for (let _ = 1; _ < i.length; _++) {
          const u = i.charCodeAt(_), g = fh(u, t);
          if (g) {
            let m = String.fromCharCode(u);
            o || (m = m.toUpperCase()), s += m;
          }
          o = g;
        }
        return dx(s) ? `_${s}` : s || "_";
      }
      function Iae(e, t, n) {
        const i = t.length;
        if (i + n > e.length)
          return false;
        for (let s = 0; s < i; s++)
          if (t.charCodeAt(s) !== e.charCodeAt(s + n)) return false;
        return true;
      }
      function fq(e) {
        return e.charCodeAt(0) === 95;
      }
      function V9(e) {
        return !!(wj(e) & 65536);
      }
      function q9(e, t) {
        let n;
        for (const i of e.imports)
          if (n6.has(i.text) && !fF.has(i.text)) {
            if (Ui(i.text, "node:"))
              return true;
            n = false;
          }
        return n ?? t.usesUriStyleNodeCoreModules;
      }
      function eA(e) {
        return e === `
` ? 1 : 0;
      }
      function n2(e) {
        return ss(e) ? Fg(bs(e[0]), e.slice(1)) : bs(e);
      }
      function H9({ options: e }, t) {
        const n = !e.semicolons || e.semicolons === "ignore", i = e.semicolons === "remove" || n && !Q8(t);
        return {
          ...e,
          semicolons: i ? "remove" : "ignore"
          /* Ignore */
        };
      }
      function pq(e) {
        return e === 2 || e === 3;
      }
      function $6(e, t) {
        return e.isSourceFileFromExternalLibrary(t) || e.isSourceFileDefaultLibrary(t);
      }
      function G9(e, t) {
        const n = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), s = /* @__PURE__ */ new Set();
        for (const _ of t)
          if (!ID(_)) {
            const u = Ra(_.expression);
            if (G2(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 = zee(Co(u.text, "n") ? u.text.slice(0, -1) : u.text);
                  g && s.add(Rb(g));
                  break;
              }
            else {
              const g = e.getSymbolAtLocation(_.expression);
              if (g && g.valueDeclaration && kh(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(Rb(_));
          }
        }
      }
      function dq(e, t, n, i) {
        var s;
        const o = typeof e == "string" ? e : e.fileName;
        if (!Og(o))
          return false;
        const c = typeof e == "string" ? t.getCompilerOptions() : t.getCompilerOptionsForFile(e), _ = Wu(c), u = typeof e == "string" ? {
          fileName: e,
          impliedNodeFormat: k8(io(e, n.getCurrentDirectory(), yh(n)), (s = t.getPackageJsonInfoCache) == null ? void 0 : s.call(t), n, c)
        } : e, g = OS(u, c);
        if (g === 99)
          return false;
        if (g === 1 || c.verbatimModuleSyntax && _ === 1)
          return true;
        if (c.verbatimModuleSyntax && dN(_))
          return false;
        if (typeof e == "object") {
          if (e.commonJsModuleIndicator)
            return true;
          if (e.externalModuleIndicator)
            return false;
        }
        return i;
      }
      function ok(e) {
        switch (e.kind) {
          case 242:
          case 308:
          case 269:
          case 297:
            return true;
          default:
            return false;
        }
      }
      function $9(e, t, n, i) {
        var s;
        const o = BO(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: io(e, n.getCurrentDirectory(), n.getCanonicalFileName),
          fileName: e,
          externalModuleIndicator: t === 99 ? true : void 0,
          commonJsModuleIndicator: t === 1 ? true : void 0,
          impliedNodeFormat: c,
          packageJsonScope: _,
          statements: Ge,
          imports: Ge
        };
      }
      var Fae = /* @__PURE__ */ ((e) => (e[e.Named = 0] = "Named", e[e.Default = 1] = "Default", e[e.Namespace = 2] = "Namespace", e[e.CommonJS = 3] = "CommonJS", e))(Fae || {}), Oae = /* @__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))(Oae || {});
      function mq(e) {
        let t = 1;
        const n = Pp(), 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, P, A, O, F, R) => {
            T !== o && (c.clear(), o = T);
            let B;
            if (A) {
              const he = aF(A.fileName);
              if (he) {
                const { topLevelNodeModulesIndex: q, topLevelPackageNameIndex: be, packageRootIndex: je } = he;
                if (B = c8(HD(A.fileName.substring(be + 1, je))), Ui(T, A.path.substring(0, q))) {
                  const me = s.get(B), Z = A.fileName.substring(0, be + 1);
                  if (me) {
                    const pe = me.indexOf(Jg);
                    q > pe && s.set(B, Z);
                  } else
                    s.set(B, Z);
                }
              }
            }
            const $ = O === 1 && eD(k) || k, W = O === 0 || rx($) ? Si(D) : xJe(
              $,
              R,
              /*scriptTarget*/
              void 0
            ), _e = typeof W == "string" ? W : W[0], K = typeof W == "string" ? void 0 : W[1], V = Lp(P.name), ae = t++, se = Ql(k, R), ce = k.flags & 33554432 ? void 0 : k, fe = P.flags & 33554432 ? void 0 : P;
            (!ce || !fe) && i.set(ae, [k, P]), n.add(u(_e, k, xl(V) ? void 0 : V, R), {
              id: ae,
              symbolTableKey: D,
              symbolName: _e,
              capitalizedSymbolName: K,
              moduleName: V,
              moduleFile: A,
              moduleFileName: A?.fileName,
              packageName: B,
              exportKind: O,
              targetFlags: se.flags,
              isFromPackageJson: F,
              symbol: ce,
              moduleSymbol: fe
            });
          },
          get: (T, k) => {
            if (T !== o) return;
            const D = n.get(k);
            return D?.map(_);
          },
          search: (T, k, D, P) => {
            if (T === o)
              return dl(n, (A, O) => {
                const { symbolName: F, ambientModuleName: R } = g(O), B = k && A[0].capitalizedSymbolName || F;
                if (D(B, A[0].targetFlags)) {
                  const $ = A.map(_).filter((W, _e) => S(W, A[_e].packageName));
                  if ($.length) {
                    const W = P($, B, !!R, O);
                    if (W !== void 0) return W;
                  }
                }
              });
          },
          releaseSymbols: () => {
            i.clear();
          },
          onFileChanged: (T, k, D) => m(T) && m(k) ? false : 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 && W9(T) !== W9(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.
          !yf(T.moduleAugmentations, k.moduleAugmentations) || !h(T, k) ? (c.clear(), true) : (o = k.path, false)
        };
        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: P, isFromPackageJson: A, moduleFileName: O } = T, [F, R] = i.get(k) || Ge;
          if (F && R)
            return {
              symbol: F,
              moduleSymbol: R,
              moduleFileName: O,
              exportKind: D,
              targetFlags: P,
              isFromPackageJson: A
            };
          const B = (A ? e.getPackageJsonAutoImportProvider() : e.getCurrentProgram()).getTypeChecker(), U = T.moduleSymbol || R || E.checkDefined(
            T.moduleFile ? B.getMergedSymbol(T.moduleFile.symbol) : B.tryFindAmbientModule(T.moduleName)
          ), $ = T.symbol || F || E.checkDefined(
            D === 2 ? B.resolveExternalModuleSymbol(U) : B.tryGetMemberInModuleExportsAndProperties(Si(T.symbolTableKey), U),
            `Could not find symbol '${T.symbolName}' by key '${T.symbolTableKey}' in module ${U.name}`
          );
          return i.set(k, [$, U]), {
            symbol: $,
            moduleSymbol: U,
            moduleFileName: O,
            exportKind: D,
            targetFlags: P,
            isFromPackageJson: A
          };
        }
        function u(T, k, D, P) {
          const A = D || "";
          return `${T.length} ${$s(Ql(k, P))} ${T} ${A}`;
        }
        function g(T) {
          const k = T.indexOf(" "), D = T.indexOf(" ", k + 1), P = parseInt(T.substring(0, k), 10), A = T.substring(D + 1), O = A.substring(0, P), F = A.substring(P + 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 (!yf(T.ambientModuleNames, k.ambientModuleNames))
            return false;
          let D = -1, P = -1;
          for (const A of k.ambientModuleNames) {
            const O = (F) => cB(F) && F.name.text === A;
            if (D = ic(T.statements, O, D + 1), P = ic(k.statements, O, P + 1), T.statements[D] !== k.statements[P])
              return false;
          }
          return true;
        }
        function S(T, k) {
          if (!k || !T.moduleFileName) return true;
          const D = e.getGlobalTypingsCacheLocation();
          if (D && Ui(T.moduleFileName, D)) return true;
          const P = s.get(k);
          return !P || Ui(T.moduleFileName, P);
        }
      }
      function gq(e, t, n, i, s, o, c, _) {
        var u;
        if (!n) {
          let T;
          const k = Lp(i.name);
          return n6.has(k) && (T = q9(t, e)) !== void 0 ? T === Ui(k, "node:") : !o || o.allowsImportingAmbientModule(i, c) || Lae(t, k);
        }
        if (E.assertIsDefined(n), t === n) return false;
        const g = _?.get(t.path, n.path, s, {});
        if (g?.isBlockedByPackageJsonDependencies !== void 0)
          return !g.isBlockedByPackageJsonDependencies || !!g.packageName && Lae(t, g.packageName);
        const m = yh(c), h = (u = c.getGlobalTypingsCacheLocation) == null ? void 0 : u.call(c), S = !!Dh.forEachFileNameOfModule(
          t.fileName,
          n.fileName,
          c,
          /*preferSymlinks*/
          false,
          (T) => {
            const k = e.getSourceFile(T);
            return (k === n || !k) && TJe(
              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 && Lae(t, T.packageName);
        }
        return S;
      }
      function Lae(e, t) {
        return e.imports && e.imports.some((n) => n.text === t || n.text.startsWith(t + "/"));
      }
      function TJe(e, t, n, i, s) {
        const o = Qm(
          s,
          t,
          (_) => Xc(_) === "node_modules" ? _ : void 0
        ), c = o && Hn(n(o));
        return c === void 0 || Ui(n(e), c) || !!i && Ui(n(i), c);
      }
      function hq(e, t, n, i, s) {
        var o, c;
        const _ = cS(t), u = n.autoImportFileExcludePatterns && d2e(n, _);
        m2e(e.getTypeChecker(), e.getSourceFiles(), u, t, (m, h) => s(
          m,
          h,
          e,
          /*isFromPackageJson*/
          false
        ));
        const g = i && ((o = t.getPackageJsonAutoImportProvider) == null ? void 0 : o.call(t));
        if (g) {
          const m = no(), h = e.getTypeChecker();
          m2e(g.getTypeChecker(), g.getSourceFiles(), u, t, (S, T) => {
            (T && !e.getSourceFile(T.fileName) || !T && !h.resolveName(
              S.name,
              /*location*/
              void 0,
              1536,
              /*excludeGlobals*/
              false
            )) && s(
              S,
              T,
              g,
              /*isFromPackageJson*/
              true
            );
          }), (c = t.log) == null || c.call(t, `forEachExternalModuleToImportFrom autoImportProvider: ${no() - m}`);
        }
      }
      function d2e(e, t) {
        return Fi(e.autoImportFileExcludePatterns, (n) => {
          const i = X5(n, "", "exclude");
          return i ? m0(i, t) : void 0;
        });
      }
      function m2e(e, t, n, i, s) {
        var o;
        const c = n && g2e(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)
          Y_(_) && !c?.(_) && s(e.getMergedSymbol(_.symbol), _);
      }
      function g2e(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 true;
          if (i?.size && Hy(s)) {
            let c = Hn(s);
            return Qm(
              t,
              Hn(o),
              (_) => {
                const u = i.get(pl(_));
                if (u)
                  return u.some((g) => e.some((m) => m.test(s.replace(c, g))));
                c = Hn(c);
              }
            ) ?? false;
          }
          return false;
        };
      }
      function Mae(e, t) {
        return t.autoImportFileExcludePatterns ? g2e(d2e(t, cS(e)), e) : () => false;
      }
      function tA(e, t, n, i, s) {
        var o, c, _, u, g;
        const m = no();
        (o = t.getPackageJsonAutoImportProvider) == null || o.call(t);
        const h = ((c = t.getCachedExportInfoMap) == null ? void 0 : c.call(t)) || mq({
          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 {
          hq(
            n,
            t,
            i,
            /*useAutoImportProvider*/
            true,
            (T, k, D, P) => {
              ++S % 100 === 0 && s?.throwIfCancellationRequested();
              const A = /* @__PURE__ */ new Set(), O = D.getTypeChecker(), F = X9(T, O);
              F && h2e(F.symbol, O) && h.add(
                e.path,
                F.symbol,
                F.exportKind === 1 ? "default" : "export=",
                T,
                k,
                F.exportKind,
                P,
                O
              ), O.forEachExportAndPropertyOfModule(T, (R, B) => {
                R !== F?.symbol && h2e(R, O) && Mp(A, B) && h.add(
                  e.path,
                  R,
                  B,
                  T,
                  k,
                  0,
                  P,
                  O
                );
              });
            }
          );
        } catch (T) {
          throw h.clear(), T;
        }
        return (g = t.log) == null || g.call(t, `getExportInfoMap: done in ${no() - m} ms`), h;
      }
      function X9(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 h2e(e, t) {
        return !t.isUndefinedSymbol(e) && !t.isUnknownSymbol(e) && !G4(e) && !jK(e);
      }
      function xJe(e, t, n) {
        let i;
        return Q9(e, t, n, (s, o) => (i = o ? [s, o] : s, true)), E.checkDefined(i);
      }
      function Q9(e, t, n, i) {
        let s, o = e;
        const c = /* @__PURE__ */ new Set();
        for (; o; ) {
          const _ = _q(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 = Er(s, o), !Mp(c, o)) break;
          o = o.flags & 2097152 ? t.getImmediateAliasedSymbol(o) : void 0;
        }
        for (const _ of s ?? Ge)
          if (_.parent && rx(_.parent)) {
            const u = i(
              Z8(
                _.parent,
                n,
                /*forceCapitalize*/
                false
              ),
              Z8(
                _.parent,
                n,
                /*forceCapitalize*/
                true
              )
            );
            if (u) return u;
          }
      }
      function y2e() {
        const e = Tg(
          99,
          /*skipTrivia*/
          false
        );
        function t(i, s, o) {
          return DJe(n(i, s, o), i);
        }
        function n(i, s, o) {
          let c = 0, _ = 0;
          const u = [], { prefix: g, pushTemplate: m } = NJe(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(), VC(c) || (D(), _ = c);
            const P = e.getTokenEnd();
            if (EJe(e.getTokenStart(), P, h, FJe(c), T), P >= i.length) {
              const A = CJe(e, c, ko(u));
              A !== void 0 && (S = A);
            }
          } while (c !== 1);
          function D() {
            switch (c) {
              case 44:
              case 69:
                !kJe[_] && 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 P = ko(u);
                  P === 16 ? (c = e.reScanTemplateToken(
                    /*isTaggedTemplate*/
                    false
                  ), c === 18 ? u.pop() : E.assertEqual(c, 17, "Should have been a template middle.")) : (E.assertEqual(P, 19, "Should have been an open brace"), u.pop());
                }
                break;
              default:
                if (!b_(c))
                  break;
                (_ === 25 || b_(_) && b_(c) && !PJe(_, c)) && (c = 80);
            }
          }
          return { endOfLineState: S, spans: T };
        }
        return { getClassificationsForLine: t, getEncodedLexicalClassifications: n };
      }
      var kJe = iQ(
        [
          80,
          11,
          9,
          10,
          14,
          110,
          46,
          47,
          22,
          24,
          20,
          112,
          97
          /* FalseKeyword */
        ],
        (e) => e,
        () => true
      );
      function CJe(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 (vy(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 EJe(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 DJe(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: wJe(g) }), s = _ + u;
        }
        const o = t.length - s;
        return o > 0 && n.push({
          length: o,
          classification: 4
          /* Whitespace */
        }), { entries: n, finalLexState: e.endOfLineState };
      }
      function wJe(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 PJe(e, t) {
        if (!FV(e))
          return true;
        switch (t) {
          case 139:
          case 153:
          case 137:
          case 126:
          case 129:
            return true;
          // Allow things like "public get", "public constructor" and "public static".
          default:
            return false;
        }
      }
      function NJe(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: true };
          case 6:
            return { prefix: "", pushTemplate: true };
          case 0:
            return { prefix: "" };
          default:
            return E.assertNever(e);
        }
      }
      function AJe(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 true;
          default:
            return false;
        }
      }
      function IJe(e) {
        switch (e) {
          case 40:
          case 41:
          case 55:
          case 54:
          case 46:
          case 47:
            return true;
          default:
            return false;
        }
      }
      function FJe(e) {
        if (b_(e))
          return 3;
        if (AJe(e) || IJe(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 vy(e) ? 6 : 2;
        }
      }
      function Rae(e, t, n, i, s) {
        return S2e(yq(e, t, n, i, s));
      }
      function v2e(e, t) {
        switch (t) {
          case 268:
          case 264:
          case 265:
          case 263:
          case 232:
          case 219:
          case 220:
            e.throwIfCancellationRequested();
        }
      }
      function yq(e, t, n, i, s) {
        const o = [];
        return n.forEachChild(function _(u) {
          if (!(!u || !YP(s, u.pos, u.getFullWidth()))) {
            if (v2e(t, u.kind), Me(u) && !ac(u) && i.has(u.escapedText)) {
              const g = e.getSymbolAtLocation(u), m = g && b2e(g, LS(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 b2e(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 && OJe(e) ? 14 : void 0 : i & 2097152 ? b2e(n.getAliasedSymbol(e), t, n) : t & 2 ? i & 64 ? 13 : i & 262144 ? 15 : void 0 : void 0;
      }
      function OJe(e) {
        return ot(
          e.declarations,
          (t) => Lc(t) && Eh(t) === 1
          /* Instantiated */
        );
      }
      function LJe(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 S2e(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: Xl(t[i], t[i + 1]),
            classificationType: LJe(t[i + 2])
          });
        return n;
      }
      function jae(e, t, n) {
        return S2e(vq(e, t, n));
      }
      function vq(e, t, n) {
        const i = n.start, s = n.length, o = Tg(
          99,
          /*skipTrivia*/
          false,
          t.languageVariant,
          t.text
        ), c = Tg(
          99,
          /*skipTrivia*/
          false,
          t.languageVariant,
          t.text
        ), _ = [];
        return R(t), {
          spans: _,
          endOfLineState: 0
          /* None */
        };
        function u(B, U, $) {
          _.push(B), _.push(U), _.push($);
        }
        function g(B) {
          for (o.resetTokenState(B.pos); ; ) {
            const U = o.getTokenEnd();
            if (!jY(t.text, U))
              return U;
            const $ = o.scan(), W = o.getTokenEnd(), _e = W - U;
            if (!VC($))
              return U;
            switch ($) {
              case 4:
              case 5:
                continue;
              case 2:
              case 3:
                m(B, $, U, _e), o.resetTokenState(W);
                continue;
              case 7:
                const K = t.text, V = K.charCodeAt(U);
                if (V === 60 || V === 62) {
                  u(
                    U,
                    _e,
                    1
                    /* comment */
                  );
                  continue;
                }
                E.assert(
                  V === 124 || V === 61
                  /* equals */
                ), D(K, U, W);
                break;
              case 6:
                break;
              default:
                E.assertNever($);
            }
          }
        }
        function m(B, U, $, W) {
          if (U === 3) {
            const _e = bre(t.text, $, W);
            if (_e && _e.jsDoc) {
              ja(_e.jsDoc, B), S(_e.jsDoc);
              return;
            }
          } else if (U === 2 && T($, W))
            return;
          h($, W);
        }
        function h(B, U) {
          u(
            B,
            U,
            1
            /* comment */
          );
        }
        function S(B) {
          var U, $, W, _e, K, V, ae, se;
          let ce = B.pos;
          if (B.tags)
            for (const he of B.tags) {
              he.pos !== ce && h(ce, he.pos - ce), u(
                he.pos,
                1,
                10
                /* punctuation */
              ), u(
                he.tagName.pos,
                he.tagName.end - he.tagName.pos,
                18
                /* docCommentTagName */
              ), ce = he.tagName.end;
              let q = he.tagName.end;
              switch (he.kind) {
                case 342:
                  const be = he;
                  fe(be), q = be.isNameFirst && ((U = be.typeExpression) == null ? void 0 : U.end) || be.name.end;
                  break;
                case 349:
                  const je = he;
                  q = je.isNameFirst && (($ = je.typeExpression) == null ? void 0 : $.end) || je.name.end;
                  break;
                case 346:
                  k(he), ce = he.end, q = he.typeParameters.end;
                  break;
                case 347:
                  const me = he;
                  q = ((W = me.typeExpression) == null ? void 0 : W.kind) === 310 && ((_e = me.fullName) == null ? void 0 : _e.end) || ((K = me.typeExpression) == null ? void 0 : K.end) || q;
                  break;
                case 339:
                  q = he.typeExpression.end;
                  break;
                case 345:
                  R(he.typeExpression), ce = he.end, q = he.typeExpression.end;
                  break;
                case 344:
                case 341:
                  q = he.typeExpression.end;
                  break;
                case 343:
                  R(he.typeExpression), ce = he.end, q = ((V = he.typeExpression) == null ? void 0 : V.end) || q;
                  break;
                case 348:
                  q = ((ae = he.name) == null ? void 0 : ae.end) || q;
                  break;
                case 329:
                case 330:
                  q = he.class.end;
                  break;
                case 350:
                  R(he.typeExpression), ce = he.end, q = ((se = he.typeExpression) == null ? void 0 : se.end) || q;
                  break;
              }
              typeof he.comment == "object" ? h(he.comment.pos, he.comment.end - he.comment.pos) : typeof he.comment == "string" && h(q, he.end - q);
            }
          ce !== B.end && h(ce, B.end - ce);
          return;
          function fe(he) {
            he.isNameFirst && (h(ce, he.name.pos - ce), u(
              he.name.pos,
              he.name.end - he.name.pos,
              17
              /* parameterName */
            ), ce = he.name.end), he.typeExpression && (h(ce, he.typeExpression.pos - ce), R(he.typeExpression), ce = he.typeExpression.end), he.isNameFirst || (h(ce, he.name.pos - ce), u(
              he.name.pos,
              he.name.end - he.name.pos,
              17
              /* parameterName */
            ), ce = he.name.end);
          }
        }
        function T(B, U) {
          const $ = /^(\/\/\/\s*)(<)(?:(\S+)((?:[^/]|\/[^>])*)(\/>)?)?/m, W = /(\s)(\S+)(\s*)(=)(\s*)('[^']+'|"[^"]+")/g, _e = t.text.substr(B, U), K = $.exec(_e);
          if (!K || !K[3] || !(K[3] in n7))
            return false;
          let V = B;
          h(V, K[1].length), V += K[1].length, u(
            V,
            K[2].length,
            10
            /* punctuation */
          ), V += K[2].length, u(
            V,
            K[3].length,
            21
            /* jsxSelfClosingTagName */
          ), V += K[3].length;
          const ae = K[4];
          let se = V;
          for (; ; ) {
            const fe = W.exec(ae);
            if (!fe)
              break;
            const he = V + fe.index + fe[1].length;
            he > se && (h(se, he - se), se = he), u(
              se,
              fe[2].length,
              22
              /* jsxAttribute */
            ), se += fe[2].length, fe[3].length && (h(se, fe[3].length), se += fe[3].length), u(
              se,
              fe[4].length,
              5
              /* operator */
            ), se += fe[4].length, fe[5].length && (h(se, fe[5].length), se += fe[5].length), u(
              se,
              fe[6].length,
              24
              /* jsxAttributeStringLiteralValue */
            ), se += fe[6].length;
          }
          V += K[4].length, V > se && h(se, V - se), K[5] && (u(
            V,
            K[5].length,
            10
            /* punctuation */
          ), V += K[5].length);
          const ce = B + U;
          return V < ce && h(V, ce - V), true;
        }
        function k(B) {
          for (const U of B.getChildren())
            R(U);
        }
        function D(B, U, $) {
          let W;
          for (W = U; W < $ && !Su(B.charCodeAt(W)); W++)
            ;
          for (u(
            U,
            W - U,
            1
            /* comment */
          ), c.resetTokenState(W); c.getTokenEnd() < $; )
            P();
        }
        function P() {
          const B = c.getTokenEnd(), U = c.scan(), $ = c.getTokenEnd(), W = F(U);
          W && u(B, $ - B, W);
        }
        function A(B) {
          if (Nd(B) || ac(B))
            return true;
          const U = O(B);
          if (!YT(B) && B.kind !== 12 && U === void 0)
            return false;
          const $ = B.kind === 12 ? B.pos : g(B), W = B.end - $;
          if (E.assert(W >= 0), W > 0) {
            const _e = U || F(B.kind, B);
            _e && u($, W, _e);
          }
          return true;
        }
        function O(B) {
          switch (B.parent && B.parent.kind) {
            case 287:
              if (B.parent.tagName === B)
                return 19;
              break;
            case 288:
              if (B.parent.tagName === B)
                return 20;
              break;
            case 286:
              if (B.parent.tagName === B)
                return 21;
              break;
            case 292:
              if (B.parent.name === B)
                return 22;
              break;
          }
        }
        function F(B, U) {
          if (b_(B))
            return 3;
          if ((B === 30 || B === 32) && U && aae(U.parent))
            return 10;
          if (LB(B)) {
            if (U) {
              const $ = U.parent;
              if (B === 64 && ($.kind === 261 || $.kind === 173 || $.kind === 170 || $.kind === 292) || $.kind === 227 || $.kind === 225 || $.kind === 226 || $.kind === 228)
                return 5;
            }
            return 10;
          } else {
            if (B === 9)
              return 4;
            if (B === 10)
              return 25;
            if (B === 11)
              return U && U.parent.kind === 292 ? 24 : 6;
            if (B === 14)
              return 6;
            if (vy(B))
              return 6;
            if (B === 12)
              return 23;
            if (B === 80) {
              if (U) {
                switch (U.parent.kind) {
                  case 264:
                    return U.parent.name === U ? 11 : void 0;
                  case 169:
                    return U.parent.name === U ? 15 : void 0;
                  case 265:
                    return U.parent.name === U ? 13 : void 0;
                  case 267:
                    return U.parent.name === U ? 12 : void 0;
                  case 268:
                    return U.parent.name === U ? 14 : void 0;
                  case 170:
                    return U.parent.name === U ? Iy(U) ? 3 : 17 : void 0;
                }
                if (Kp(U.parent))
                  return 3;
              }
              return 2;
            }
          }
        }
        function R(B) {
          if (B && ZP(i, s, B.pos, B.getFullWidth())) {
            v2e(e, B.kind);
            for (const U of B.getChildren(t))
              A(U) || R(U);
          }
        }
      }
      var Y9;
      ((e) => {
        function t(V, ae, se, ce, fe) {
          const he = k_(se, ce);
          if (he.parent && (wd(he.parent) && he.parent.tagName === he || Vb(he.parent))) {
            const { openingElement: q, closingElement: be } = he.parent.parent, je = [q, be].map(({ tagName: me }) => n(me, se));
            return [{ fileName: se.fileName, highlightSpans: je }];
          }
          return i(ce, he, V, ae, fe) || s(he, se);
        }
        e.getDocumentHighlights = t;
        function n(V, ae) {
          return {
            fileName: ae.fileName,
            textSpan: a_(V, ae),
            kind: "none"
            /* none */
          };
        }
        function i(V, ae, se, ce, fe) {
          const he = new Set(fe.map((me) => me.fileName)), q = So.getReferenceEntriesForNode(
            V,
            ae,
            se,
            fe,
            ce,
            /*options*/
            void 0,
            he
          );
          if (!q) return;
          const be = MP(q.map(So.toHighlightSpan), (me) => me.fileName, (me) => me.span), je = $l(se.useCaseSensitiveFileNames());
          return ns(sy(be.entries(), ([me, Z]) => {
            if (!he.has(me)) {
              if (!se.redirectTargetsMap.has(io(me, se.getCurrentDirectory(), je)))
                return;
              const pe = se.getSourceFile(me);
              me = Nn(fe, (Fe) => !!Fe.redirectInfo && Fe.redirectInfo.redirectTarget === pe).fileName, E.assert(he.has(me));
            }
            return { fileName: me, highlightSpans: Z };
          }));
        }
        function s(V, ae) {
          const se = o(V, ae);
          return se && [{ fileName: ae.fileName, highlightSpans: se }];
        }
        function o(V, ae) {
          switch (V.kind) {
            case 101:
            case 93:
              return ev(V.parent) ? W(V.parent, ae) : void 0;
            case 107:
              return ce(V.parent, Sf, R);
            case 111:
              return ce(V.parent, hz, F);
            case 113:
            case 85:
            case 98:
              const he = V.kind === 85 ? V.parent.parent : V.parent;
              return ce(he, SS, O);
            case 109:
              return ce(V.parent, ND, A);
            case 84:
            case 90:
              return ID(V.parent) || p6(V.parent) ? ce(V.parent.parent.parent, ND, A) : void 0;
            case 83:
            case 88:
              return ce(V.parent, b4, P);
            case 99:
            case 117:
            case 92:
              return ce(V.parent, (q) => xy(
                q,
                /*lookInLabeledStatements*/
                true
              ), D);
            case 137:
              return se(ec, [
                137
                /* ConstructorKeyword */
              ]);
            case 139:
            case 153:
              return se(Ty, [
                139,
                153
                /* SetKeyword */
              ]);
            case 135:
              return ce(V.parent, zy, B);
            case 134:
              return fe(B(V));
            case 127:
              return fe(U(V));
            case 103:
            case 147:
              return;
            default:
              return Sy(V.kind) && (Cl(V.parent) || Pc(V.parent)) ? fe(S(V.kind, V.parent)) : void 0;
          }
          function se(he, q) {
            return ce(V.parent, he, (be) => {
              var je;
              return Fi((je = Bn(be, Td)) == null ? void 0 : je.symbol.declarations, (me) => he(me) ? Nn(me.getChildren(ae), (Z) => ds(q, Z.kind)) : void 0);
            });
          }
          function ce(he, q, be) {
            return q(he) ? fe(be(he, ae)) : void 0;
          }
          function fe(he) {
            return he && he.map((q) => n(q, ae));
          }
        }
        function c(V) {
          return hz(V) ? [V] : SS(V) ? Bi(
            V.catchClause ? c(V.catchClause) : V.tryBlock && c(V.tryBlock),
            V.finallyBlock && c(V.finallyBlock)
          ) : Cs(V) ? void 0 : g(V, c);
        }
        function _(V) {
          let ae = V;
          for (; ae.parent; ) {
            const se = ae.parent;
            if (kb(se) || se.kind === 308)
              return se;
            if (SS(se) && se.tryBlock === ae && se.catchClause)
              return ae;
            ae = se;
          }
        }
        function u(V) {
          return b4(V) ? [V] : Cs(V) ? void 0 : g(V, u);
        }
        function g(V, ae) {
          const se = [];
          return V.forEachChild((ce) => {
            const fe = ae(ce);
            fe !== void 0 && se.push(...UT(fe));
          }), se;
        }
        function m(V, ae) {
          const se = h(ae);
          return !!se && se === V;
        }
        function h(V) {
          return dr(V, (ae) => {
            switch (ae.kind) {
              case 256:
                if (V.kind === 252)
                  return false;
              // falls through
              case 249:
              case 250:
              case 251:
              case 248:
              case 247:
                return !V.label || K(ae, V.label.escapedText);
              default:
                return Cs(ae) && "quit";
            }
          });
        }
        function S(V, ae) {
          return Fi(T(ae, hx(V)), (se) => U6(se, V));
        }
        function T(V, ae) {
          const se = V.parent;
          switch (se.kind) {
            case 269:
            case 308:
            case 242:
            case 297:
            case 298:
              return ae & 64 && Zc(V) ? [...V.members, V] : se.statements;
            case 177:
            case 175:
            case 263:
              return [...se.parameters, ...$n(se.parent) ? se.parent.members : []];
            case 264:
            case 232:
            case 265:
            case 188:
              const ce = se.members;
              if (ae & 15) {
                const fe = Nn(se.members, ec);
                if (fe)
                  return [...ce, ...fe.parameters];
              } else if (ae & 64)
                return [...ce, se];
              return ce;
            // Syntactically invalid positions that the parser might produce anyway
            default:
              return;
          }
        }
        function k(V, ae, ...se) {
          return ae && ds(se, ae.kind) ? (V.push(ae), true) : false;
        }
        function D(V) {
          const ae = [];
          if (k(
            ae,
            V.getFirstToken(),
            99,
            117,
            92
            /* DoKeyword */
          ) && V.kind === 247) {
            const se = V.getChildren();
            for (let ce = se.length - 1; ce >= 0 && !k(
              ae,
              se[ce],
              117
              /* WhileKeyword */
            ); ce--)
              ;
          }
          return lr(u(V.statement), (se) => {
            m(V, se) && k(
              ae,
              se.getFirstToken(),
              83,
              88
              /* ContinueKeyword */
            );
          }), ae;
        }
        function P(V) {
          const ae = h(V);
          if (ae)
            switch (ae.kind) {
              case 249:
              case 250:
              case 251:
              case 247:
              case 248:
                return D(ae);
              case 256:
                return A(ae);
            }
        }
        function A(V) {
          const ae = [];
          return k(
            ae,
            V.getFirstToken(),
            109
            /* SwitchKeyword */
          ), lr(V.caseBlock.clauses, (se) => {
            k(
              ae,
              se.getFirstToken(),
              84,
              90
              /* DefaultKeyword */
            ), lr(u(se), (ce) => {
              m(V, ce) && k(
                ae,
                ce.getFirstToken(),
                83
                /* BreakKeyword */
              );
            });
          }), ae;
        }
        function O(V, ae) {
          const se = [];
          if (k(
            se,
            V.getFirstToken(),
            113
            /* TryKeyword */
          ), V.catchClause && k(
            se,
            V.catchClause.getFirstToken(),
            85
            /* CatchKeyword */
          ), V.finallyBlock) {
            const ce = $a(V, 98, ae);
            k(
              se,
              ce,
              98
              /* FinallyKeyword */
            );
          }
          return se;
        }
        function F(V, ae) {
          const se = _(V);
          if (!se)
            return;
          const ce = [];
          return lr(c(se), (fe) => {
            ce.push($a(fe, 111, ae));
          }), kb(se) && wy(se, (fe) => {
            ce.push($a(fe, 107, ae));
          }), ce;
        }
        function R(V, ae) {
          const se = Df(V);
          if (!se)
            return;
          const ce = [];
          return wy(Ws(se.body, Ps), (fe) => {
            ce.push($a(fe, 107, ae));
          }), lr(c(se.body), (fe) => {
            ce.push($a(fe, 111, ae));
          }), ce;
        }
        function B(V) {
          const ae = Df(V);
          if (!ae)
            return;
          const se = [];
          return ae.modifiers && ae.modifiers.forEach((ce) => {
            k(
              se,
              ce,
              134
              /* AsyncKeyword */
            );
          }), Ts(ae, (ce) => {
            $(ce, (fe) => {
              zy(fe) && k(
                se,
                fe.getFirstToken(),
                135
                /* AwaitKeyword */
              );
            });
          }), se;
        }
        function U(V) {
          const ae = Df(V);
          if (!ae)
            return;
          const se = [];
          return Ts(ae, (ce) => {
            $(ce, (fe) => {
              MN(fe) && k(
                se,
                fe.getFirstToken(),
                127
                /* YieldKeyword */
              );
            });
          }), se;
        }
        function $(V, ae) {
          ae(V), !Cs(V) && !$n(V) && !Jl(V) && !Lc(V) && !jp(V) && !li(V) && Ts(V, (se) => $(se, ae));
        }
        function W(V, ae) {
          const se = _e(V, ae), ce = [];
          for (let fe = 0; fe < se.length; fe++) {
            if (se[fe].kind === 93 && fe < se.length - 1) {
              const he = se[fe], q = se[fe + 1];
              let be = true;
              for (let je = q.getStart(ae) - 1; je >= he.end; je--)
                if (!em(ae.text.charCodeAt(je))) {
                  be = false;
                  break;
                }
              if (be) {
                ce.push({
                  fileName: ae.fileName,
                  textSpan: Dc(he.getStart(), q.end),
                  kind: "reference"
                  /* reference */
                }), fe++;
                continue;
              }
            }
            ce.push(n(se[fe], ae));
          }
          return ce;
        }
        function _e(V, ae) {
          const se = [];
          for (; ev(V.parent) && V.parent.elseStatement === V; )
            V = V.parent;
          for (; ; ) {
            const ce = V.getChildren(ae);
            k(
              se,
              ce[0],
              101
              /* IfKeyword */
            );
            for (let fe = ce.length - 1; fe >= 0 && !k(
              se,
              ce[fe],
              93
              /* ElseKeyword */
            ); fe--)
              ;
            if (!V.elseStatement || !ev(V.elseStatement))
              break;
            V = V.elseStatement;
          }
          return se;
        }
        function K(V, ae) {
          return !!dr(V.parent, (se) => Wy(se) ? se.label.escapedText === ae : "quit");
        }
      })(Y9 || (Y9 = {}));
      function rA(e) {
        return !!e.sourceFile;
      }
      function Bae(e, t, n) {
        return bq(e, t, n);
      }
      function bq(e, t = "", n, i) {
        const s = /* @__PURE__ */ new Map(), o = $l(!!e);
        function c() {
          const P = ns(s.keys()).filter((A) => A && A.charAt(0) === "_").map((A) => {
            const O = s.get(A), F = [];
            return O.forEach((R, B) => {
              rA(R) ? F.push({
                name: B,
                scriptKind: R.sourceFile.scriptKind,
                refCount: R.languageServiceRefCount
              }) : R.forEach((U, $) => F.push({ name: B, scriptKind: $, refCount: U.languageServiceRefCount }));
            }), F.sort((R, B) => B.refCount - R.refCount), {
              bucket: A,
              sourceFiles: F
            };
          });
          return JSON.stringify(P, void 0, 2);
        }
        function _(P) {
          return typeof P.getCompilationSettings == "function" ? P.getCompilationSettings() : P;
        }
        function u(P, A, O, F, R, B) {
          const U = io(P, t, o), $ = Sq(_(A));
          return g(P, U, A, $, O, F, R, B);
        }
        function g(P, A, O, F, R, B, U, $) {
          return T(
            P,
            A,
            O,
            F,
            R,
            B,
            /*acquiring*/
            true,
            U,
            $
          );
        }
        function m(P, A, O, F, R, B) {
          const U = io(P, t, o), $ = Sq(_(A));
          return h(P, U, A, $, O, F, R, B);
        }
        function h(P, A, O, F, R, B, U, $) {
          return T(
            P,
            A,
            _(O),
            F,
            R,
            B,
            /*acquiring*/
            false,
            U,
            $
          );
        }
        function S(P, A) {
          const O = rA(P) ? P : P.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(P, A, O, F, R, B, U, $, W) {
          var _e, K, V, ae;
          $ = Y5(P, $);
          const se = _(O), ce = O === se ? void 0 : O, fe = $ === 6 ? 100 : pa(se), he = typeof W == "object" ? W : {
            languageVersion: fe,
            impliedNodeFormat: ce && k8(A, (ae = (V = (K = (_e = ce.getCompilerHost) == null ? void 0 : _e.call(ce)) == null ? void 0 : K.getModuleResolutionCache) == null ? void 0 : V.call(K)) == null ? void 0 : ae.getPackageJsonInfoCache(), ce, se),
            setExternalModuleIndicator: uN(se),
            jsDocParsingMode: n
          };
          he.languageVersion = fe, E.assertEqual(n, he.jsDocParsingMode);
          const q = s.size, be = Jae(F, he.impliedNodeFormat), je = YE(s, be, () => /* @__PURE__ */ new Map());
          if (on) {
            s.size > q && on.instant(on.Phase.Session, "createdDocumentRegistryBucket", { configFilePath: se.configFilePath, key: be });
            const Te = !wl(A) && dl(s, (Fe, Ye) => Ye !== be && Fe.has(A) && Ye);
            Te && on.instant(on.Phase.Session, "documentRegistryBucketOverlap", { path: A, key1: Te, key2: be });
          }
          const me = je.get(A);
          let Z = me && S(me, $);
          if (!Z && i) {
            const Te = i.getDocument(be, A);
            Te && Te.scriptKind === $ && Te.text === sk(R) && (E.assert(U), Z = {
              sourceFile: Te,
              languageServiceRefCount: 0
            }, pe());
          }
          if (Z)
            Z.sourceFile.version !== B && (Z.sourceFile = eH(Z.sourceFile, R, B, R.getChangeRange(Z.sourceFile.scriptSnapshot)), i && i.setDocument(be, A, Z.sourceFile)), U && Z.languageServiceRefCount++;
          else {
            const Te = pL(
              P,
              R,
              he,
              B,
              /*setNodeParents*/
              false,
              $
            );
            i && i.setDocument(be, A, Te), Z = {
              sourceFile: Te,
              languageServiceRefCount: 1
            }, pe();
          }
          return E.assert(Z.languageServiceRefCount !== 0), Z.sourceFile;
          function pe() {
            if (!me)
              je.set(A, Z);
            else if (rA(me)) {
              const Te = /* @__PURE__ */ new Map();
              Te.set(me.sourceFile.scriptKind, me), Te.set($, Z), je.set(A, Te);
            } else
              me.set($, Z);
          }
        }
        function k(P, A, O, F) {
          const R = io(P, t, o), B = Sq(A);
          return D(R, B, O, F);
        }
        function D(P, A, O, F) {
          const R = E.checkDefined(s.get(Jae(A, F))), B = R.get(P), U = S(B, O);
          U.languageServiceRefCount--, E.assert(U.languageServiceRefCount >= 0), U.languageServiceRefCount === 0 && (rA(B) ? R.delete(P) : (B.delete(O), B.size === 1 && R.set(P, FP(B.values(), fo))));
        }
        return {
          acquireDocument: u,
          acquireDocumentWithKey: g,
          updateDocument: m,
          updateDocumentWithKey: h,
          releaseDocument: k,
          releaseDocumentWithKey: D,
          getKeyForCompilationSettings: Sq,
          getDocumentRegistryBucketKeyWithMode: Jae,
          reportStats: c,
          getBuckets: () => s
        };
      }
      function Sq(e) {
        return _W(e, $z);
      }
      function Jae(e, t) {
        return t ? `${e}|${t}` : e;
      }
      function zae(e, t, n, i, s, o, c) {
        const _ = cS(i), u = $l(_), g = Tq(t, n, u, c), m = Tq(n, t, u, c);
        return cn.ChangeTracker.with({ host: i, formatContext: s, preferences: o }, (h) => {
          RJe(e, h, g, t, n, i.getCurrentDirectory(), _), jJe(e, h, g, m, i, u);
        });
      }
      function Tq(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 : MJe(_.fileName, u, c, n) : u;
        };
        function o(c) {
          if (n(c) === s) return t;
          const _ = CJ(c, s, n);
          return _ === void 0 ? void 0 : t + "/" + _;
        }
      }
      function MJe(e, t, n, i) {
        const s = vC(e, t, i);
        return Wae(Hn(n), s);
      }
      function RJe(e, t, n, i, s, o, c) {
        const { configFile: _ } = e.getCompilerOptions();
        if (!_) return;
        const u = Hn(_.fileName), g = F4(_);
        if (!g) return;
        Uae(g, (T, k) => {
          switch (k) {
            case "files":
            case "include":
            case "exclude": {
              if (m(T) || k !== "include" || !Kl(T.initializer)) return;
              const P = Fi(T.initializer.elements, (O) => oa(O) ? O.text : void 0);
              if (P.length === 0) return;
              const A = Q5(
                u,
                /*excludes*/
                [],
                P,
                c,
                o
              );
              m0(E.checkDefined(A.includeFilePattern), c).test(i) && !m0(E.checkDefined(A.includeFilePattern), c).test(s) && t.insertNodeAfter(_, fa(T.initializer.elements), N.createStringLiteral(S(s)));
              return;
            }
            case "compilerOptions":
              Uae(T.initializer, (D, P) => {
                const A = Yz(P);
                E.assert(A?.type !== "listOrElement"), A && (A.isFilePath || A.type === "list" && A.element.isFilePath) ? m(D) : P === "paths" && Uae(D.initializer, (O) => {
                  if (Kl(O.initializer))
                    for (const F of O.initializer.elements)
                      h(F);
                });
              });
              return;
          }
        });
        function m(T) {
          const k = Kl(T.initializer) ? T.initializer.elements : [T.initializer];
          let D = false;
          for (const P of k)
            D = h(P) || D;
          return D;
        }
        function h(T) {
          if (!oa(T)) return false;
          const k = Wae(u, T.text), D = n(k);
          return D !== void 0 ? (t.replaceRangeWithText(_, x2e(T, _), S(D)), true) : false;
        }
        function S(T) {
          return Ef(
            u,
            T,
            /*ignoreCase*/
            !c
          );
        }
      }
      function jJe(e, t, n, i, s, o) {
        const c = e.getSourceFiles();
        for (const _ of c) {
          const u = n(_.fileName), g = u ?? _.fileName, m = Hn(g), h = i(_.fileName), S = h || _.fileName, T = Hn(S), k = u !== void 0 || h !== void 0;
          zJe(_, t, (D) => {
            if (!vf(D)) return;
            const P = Wae(T, D), A = n(P);
            return A === void 0 ? void 0 : W2(Ef(m, A, o));
          }, (D) => {
            const P = e.getTypeChecker().getSymbolAtLocation(D);
            if (P?.declarations && P.declarations.some((O) => Ju(O))) return;
            const A = h !== void 0 ? T2e(D, PS(D.text, S, e.getCompilerOptions(), s), n, c) : JJe(P, D, _, e, s, n);
            return A !== void 0 && (A.updated || k && vf(D.text)) ? Dh.updateModuleSpecifier(e.getCompilerOptions(), _, g, A.newFileName, mv(e, s), D.text) : void 0;
          });
        }
      }
      function BJe(e, t) {
        return qs(On(e, t));
      }
      function Wae(e, t) {
        return W2(BJe(e, t));
      }
      function JJe(e, t, n, i, s, o) {
        if (e) {
          const c = Nn(e.declarations, Di).fileName, _ = o(c);
          return _ === void 0 ? { newFileName: c, updated: false } : { newFileName: _, updated: true };
        } 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 T2e(t, _, o, i.getSourceFiles());
        }
      }
      function T2e(e, t, n, i) {
        if (!t) return;
        if (t.resolvedModule) {
          const u = _(t.resolvedModule.resolvedFileName);
          if (u) return u;
        }
        const s = lr(t.failedLookupLocations, o) || vf(e.text) && lr(t.failedLookupLocations, c);
        if (s) return s;
        return t.resolvedModule && { newFileName: t.resolvedModule.resolvedFileName, updated: false };
        function o(u) {
          const g = n(u);
          return g && Nn(i, (m) => m.fileName === g) ? c(u) : void 0;
        }
        function c(u) {
          return Co(u, "/package.json") ? void 0 : _(u);
        }
        function _(u) {
          const g = n(u);
          return g && { newFileName: g, updated: true };
        }
      }
      function zJe(e, t, n, i) {
        for (const s of e.referencedFiles || Ge) {
          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, x2e(s, e), o);
        }
      }
      function x2e(e, t) {
        return ip(e.getStart(t) + 1, e.end - 1);
      }
      function Uae(e, t) {
        if (ua(e))
          for (const n of e.properties)
            Kc(n) && oa(n.name) && t(n, n.name.text);
      }
      var xq = /* @__PURE__ */ ((e) => (e[e.exact = 0] = "exact", e[e.prefix = 1] = "prefix", e[e.substring = 2] = "substring", e[e.camelCase = 3] = "camelCase", e))(xq || {});
      function kw(e, t) {
        return {
          kind: e,
          isCaseSensitive: t
        };
      }
      function Vae(e) {
        const t = /* @__PURE__ */ new Map(), n = e.trim().split(".").map((i) => qJe(i.trim()));
        if (n.length === 1 && n[0].totalTextChunk.text === "")
          return {
            getMatchForLastSegmentOfPattern: () => kw(
              2,
              /*isCaseSensitive*/
              true
            ),
            getFullMatch: () => kw(
              2,
              /*isCaseSensitive*/
              true
            ),
            patternContainsDots: false
          };
        if (!n.some((i) => !i.subWordTextChunks.length))
          return {
            getFullMatch: (i, s) => WJe(i, s, n, t),
            getMatchForLastSegmentOfPattern: (i) => qae(i, fa(n), t),
            patternContainsDots: n.length > 1
          };
      }
      function WJe(e, t, n, i) {
        if (!qae(t, fa(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 = E2e(o, qae(e[_], n[c], i));
        return o;
      }
      function k2e(e, t) {
        let n = t.get(e);
        return n || t.set(e, n = Yae(e)), n;
      }
      function C2e(e, t, n) {
        const i = HJe(e, t.textLowerCase);
        if (i === 0)
          return kw(
            t.text.length === e.length ? 0 : 1,
            /*isCaseSensitive:*/
            Ui(e, t.text)
          );
        if (t.isLowerCase) {
          if (i === -1) return;
          const s = k2e(e, n);
          for (const o of s)
            if (Hae(
              e,
              o,
              t.text,
              /*ignoreCase*/
              true
            ))
              return kw(
                2,
                /*isCaseSensitive:*/
                Hae(
                  e,
                  o,
                  t.text,
                  /*ignoreCase*/
                  false
                )
              );
          if (t.text.length < e.length && X6(e.charCodeAt(i)))
            return kw(
              2,
              /*isCaseSensitive*/
              false
            );
        } else {
          if (e.indexOf(t.text) > 0)
            return kw(
              2,
              /*isCaseSensitive*/
              true
            );
          if (t.characterSpans.length > 0) {
            const s = k2e(e, n), o = D2e(
              e,
              s,
              t,
              /*ignoreCase*/
              false
            ) ? true : D2e(
              e,
              s,
              t,
              /*ignoreCase*/
              true
            ) ? false : void 0;
            if (o !== void 0)
              return kw(3, o);
          }
        }
      }
      function qae(e, t, n) {
        if (kq(
          t.totalTextChunk.text,
          (o) => o !== 32 && o !== 42
          /* asterisk */
        )) {
          const o = C2e(e, t.totalTextChunk, n);
          if (o) return o;
        }
        const i = t.subWordTextChunks;
        let s;
        for (const o of i)
          s = E2e(s, C2e(e, o, n));
        return s;
      }
      function E2e(e, t) {
        return jR([e, t], UJe);
      }
      function UJe(e, t) {
        return e === void 0 ? 1 : t === void 0 ? -1 : po(e.kind, t.kind) || F1(!e.isCaseSensitive, !t.isCaseSensitive);
      }
      function Hae(e, t, n, i, s = { start: 0, length: n.length }) {
        return s.length <= t.length && A2e(0, s.length, (o) => VJe(n.charCodeAt(s.start + o), e.charCodeAt(t.start + o), i));
      }
      function VJe(e, t, n) {
        return n ? Gae(e) === Gae(t) : e === t;
      }
      function D2e(e, t, n, i) {
        const s = n.characterSpans;
        let o = 0, c = 0;
        for (; ; ) {
          if (c === s.length)
            return true;
          if (o === t.length)
            return false;
          let _ = t[o], u = false;
          for (; c < s.length; c++) {
            const g = s[c];
            if (u && (!X6(n.text.charCodeAt(s[c - 1].start)) || !X6(n.text.charCodeAt(s[c].start))) || !Hae(e, _, n.text, i, g))
              break;
            u = true, _ = Xl(_.start + g.length, _.length - g.length);
          }
          o++;
        }
      }
      function qJe(e) {
        return {
          totalTextChunk: Xae(e),
          subWordTextChunks: $Je(e)
        };
      }
      function X6(e) {
        if (e >= 65 && e <= 90)
          return true;
        if (e < 127 || !f7(
          e,
          99
          /* Latest */
        ))
          return false;
        const t = String.fromCharCode(e);
        return t === t.toUpperCase();
      }
      function w2e(e) {
        if (e >= 97 && e <= 122)
          return true;
        if (e < 127 || !f7(
          e,
          99
          /* Latest */
        ))
          return false;
        const t = String.fromCharCode(e);
        return t === t.toLowerCase();
      }
      function HJe(e, t) {
        const n = e.length - t.length;
        for (let i = 0; i <= n; i++)
          if (kq(t, (s, o) => Gae(e.charCodeAt(o + i)) === s))
            return i;
        return -1;
      }
      function Gae(e) {
        return e >= 65 && e <= 90 ? 97 + (e - 65) : e < 127 ? e : String.fromCharCode(e).toLowerCase().charCodeAt(0);
      }
      function $ae(e) {
        return e >= 48 && e <= 57;
      }
      function GJe(e) {
        return X6(e) || w2e(e) || $ae(e) || e === 95 || e === 36;
      }
      function $Je(e) {
        const t = [];
        let n = 0, i = 0;
        for (let s = 0; s < e.length; s++) {
          const o = e.charCodeAt(s);
          GJe(o) ? (i === 0 && (n = s), i++) : i > 0 && (t.push(Xae(e.substr(n, i))), i = 0);
        }
        return i > 0 && t.push(Xae(e.substr(n, i))), t;
      }
      function Xae(e) {
        const t = e.toLowerCase();
        return {
          text: e,
          textLowerCase: t,
          isLowerCase: e === t,
          characterSpans: Qae(e)
        };
      }
      function Qae(e) {
        return P2e(
          e,
          /*word*/
          false
        );
      }
      function Yae(e) {
        return P2e(
          e,
          /*word*/
          true
        );
      }
      function P2e(e, t) {
        const n = [];
        let i = 0;
        for (let s = 1; s < e.length; s++) {
          const o = $ae(e.charCodeAt(s - 1)), c = $ae(e.charCodeAt(s)), _ = QJe(e, t, s), u = t && XJe(e, s, i);
          (Zae(e.charCodeAt(s - 1)) || Zae(e.charCodeAt(s)) || o !== c || _ || u) && (N2e(e, i, s) || n.push(Xl(i, s - i)), i = s);
        }
        return N2e(e, i, e.length) || n.push(Xl(i, e.length - i)), n;
      }
      function Zae(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 true;
        }
        return false;
      }
      function N2e(e, t, n) {
        return kq(e, (i) => Zae(i) && i !== 95, t, n);
      }
      function XJe(e, t, n) {
        return t !== n && t + 1 < e.length && X6(e.charCodeAt(t)) && w2e(e.charCodeAt(t + 1)) && kq(e, X6, n, t);
      }
      function QJe(e, t, n) {
        const i = X6(e.charCodeAt(n - 1));
        return X6(e.charCodeAt(n)) && (!t || !i);
      }
      function A2e(e, t, n) {
        for (let i = e; i < t; i++)
          if (!n(i))
            return false;
        return true;
      }
      function kq(e, t, n = 0, i = e.length) {
        return A2e(n, i, (s) => t(e.charCodeAt(s), s));
      }
      function I2e(e, t = true, n = false) {
        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 = false;
        function m() {
          return c = _, _ = zl.scan(), _ === 19 ? u++ : _ === 20 && u--, _;
        }
        function h() {
          const B = zl.getTokenValue(), U = zl.getTokenStart();
          return { fileName: B, pos: U, end: U + B.length };
        }
        function S() {
          o || (o = []), o.push({ ref: h(), depth: u });
        }
        function T() {
          s.push(h()), k();
        }
        function k() {
          u === 0 && (g = true);
        }
        function D() {
          let B = zl.getToken();
          return B === 138 ? (B = m(), B === 144 && (B = m(), B === 11 && S()), true) : false;
        }
        function P() {
          if (c === 25)
            return false;
          let B = zl.getToken();
          if (B === 102) {
            if (B = m(), B === 21) {
              if (B = m(), B === 11 || B === 15)
                return T(), true;
            } else {
              if (B === 11)
                return T(), true;
              if (B === 156 && zl.lookAhead(() => {
                const $ = zl.scan();
                return $ !== 161 && ($ === 42 || $ === 19 || $ === 80 || b_($));
              }) && (B = m()), B === 80 || b_(B))
                if (B = m(), B === 161) {
                  if (B = m(), B === 11)
                    return T(), true;
                } else if (B === 64) {
                  if (O(
                    /*skipCurrentToken*/
                    true
                  ))
                    return true;
                } else if (B === 28)
                  B = m();
                else
                  return true;
              if (B === 19) {
                for (B = m(); B !== 20 && B !== 1; )
                  B = m();
                B === 20 && (B = m(), B === 161 && (B = m(), B === 11 && T()));
              } else B === 42 && (B = m(), B === 130 && (B = m(), (B === 80 || b_(B)) && (B = m(), B === 161 && (B = m(), B === 11 && T()))));
            }
            return true;
          }
          return false;
        }
        function A() {
          let B = zl.getToken();
          if (B === 95) {
            if (k(), B = m(), B === 156 && zl.lookAhead(() => {
              const $ = zl.scan();
              return $ === 42 || $ === 19;
            }) && (B = m()), B === 19) {
              for (B = m(); B !== 20 && B !== 1; )
                B = m();
              B === 20 && (B = m(), B === 161 && (B = m(), B === 11 && T()));
            } else if (B === 42)
              B = m(), B === 161 && (B = m(), B === 11 && T());
            else if (B === 102 && (B = m(), B === 156 && zl.lookAhead(() => {
              const $ = zl.scan();
              return $ === 80 || b_($);
            }) && (B = m()), (B === 80 || b_(B)) && (B = m(), B === 64 && O(
              /*skipCurrentToken*/
              true
            ))))
              return true;
            return true;
          }
          return false;
        }
        function O(B, U = false) {
          let $ = B ? m() : zl.getToken();
          return $ === 149 ? ($ = m(), $ === 21 && ($ = m(), ($ === 11 || U && $ === 15) && T()), true) : false;
        }
        function F() {
          let B = zl.getToken();
          if (B === 80 && zl.getTokenValue() === "define") {
            if (B = m(), B !== 21)
              return true;
            if (B = m(), B === 11 || B === 15)
              if (B = m(), B === 28)
                B = m();
              else
                return true;
            if (B !== 23)
              return true;
            for (B = m(); B !== 24 && B !== 1; )
              (B === 11 || B === 15) && T(), B = m();
            return true;
          }
          return false;
        }
        function R() {
          for (zl.setText(e), m(); zl.getToken() !== 1; ) {
            if (zl.getToken() === 16) {
              const B = [zl.getToken()];
              e:
                for (; wr(B); ) {
                  const U = zl.scan();
                  switch (U) {
                    case 1:
                      break e;
                    case 102:
                      P();
                      break;
                    case 16:
                      B.push(U);
                      break;
                    case 19:
                      wr(B) && B.push(U);
                      break;
                    case 20:
                      wr(B) && (ko(B) === 16 ? zl.reScanTemplateToken(
                        /*isTaggedTemplate*/
                        false
                      ) === 18 && B.pop() : B.pop());
                      break;
                  }
                }
              m();
            }
            D() || P() || A() || n && (O(
              /*skipCurrentToken*/
              false,
              /*allowTemplateLiterals*/
              true
            ) || F()) || m();
          }
          zl.setText(void 0);
        }
        if (t && R(), Uz(i, e), Vz(i, Ua), g) {
          if (o)
            for (const B of o)
              s.push(B.ref);
          return { referencedFiles: i.referencedFiles, typeReferenceDirectives: i.typeReferenceDirectives, libReferenceDirectives: i.libReferenceDirectives, importedFiles: s, isLibFile: !!i.hasNoDefaultLib, ambientExternalModules: void 0 };
        } else {
          let B;
          if (o)
            for (const U of o)
              U.depth === 0 ? (B || (B = []), B.push(U.ref.fileName)) : s.push(U.ref);
          return { referencedFiles: i.referencedFiles, typeReferenceDirectives: i.typeReferenceDirectives, libReferenceDirectives: i.libReferenceDirectives, importedFiles: s, isLibFile: !!i.hasNoDefaultLib, ambientExternalModules: B };
        }
      }
      var YJe = /^data:(?:application\/json;charset=[uU][tT][fF]-8;base64,([A-Za-z0-9+/=]+)$)?/;
      function Kae(e) {
        const t = $l(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 io(k, n, t);
        }
        function c(k, D) {
          const P = o(k), A = s.get(P);
          if (A) return A;
          let O;
          if (e.getDocumentPositionMapper)
            O = e.getDocumentPositionMapper(k, D);
          else if (e.readFile) {
            const F = h(k);
            O = F && Cq(
              { getSourceFileLike: h, getCanonicalFileName: t, log: (R) => e.log(R) },
              k,
              LW(F.text, vg(F)),
              (R) => !e.fileExists || e.fileExists(R) ? e.readFile(R) : void 0
            );
          }
          return s.set(P, O || RW), O || RW;
        }
        function _(k) {
          if (!wl(k.fileName) || !g(k.fileName)) return;
          const P = c(k.fileName).getSourcePosition(k);
          return !P || P === k ? void 0 : _(P) || P;
        }
        function u(k) {
          if (wl(k.fileName)) return;
          const D = g(k.fileName);
          if (!D) return;
          const P = e.getProgram();
          if (P.isSourceOfProjectReferenceRedirect(D.fileName))
            return;
          const O = P.getCompilerOptions().outFile, F = O ? Uu(O) + ".d.ts" : T5(k.fileName, P.getCompilerOptions(), P);
          if (F === void 0) return;
          const R = c(F, k.fileName).getGeneratedPosition(k);
          return R === k ? void 0 : R;
        }
        function g(k) {
          const D = e.getProgram();
          if (!D) return;
          const P = o(k), A = D.getSourceFileByPath(P);
          return A && A.resolvedPath === P ? A : void 0;
        }
        function m(k) {
          const D = o(k), P = i.get(D);
          if (P !== void 0) return P || void 0;
          if (!e.readFile || e.fileExists && !e.fileExists(k)) {
            i.set(D, false);
            return;
          }
          const A = e.readFile(k), O = A ? ZJe(A) : false;
          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 Cq(e, t, n, i) {
        let s = Dne(n);
        if (s) {
          const _ = YJe.exec(s);
          if (_) {
            if (_[1]) {
              const u = _[1];
              return F2e(e, oee(fl, u), t);
            }
            s = void 0;
          }
        }
        const o = [];
        s && o.push(s), o.push(t + ".map");
        const c = s && Qi(s, Hn(t));
        for (const _ of o) {
          const u = Qi(_, Hn(t)), g = i(u, c);
          if (ms(g))
            return F2e(e, g, u);
          if (g !== void 0)
            return g || void 0;
        }
      }
      function F2e(e, t, n) {
        const i = wne(t);
        if (!(!i || !i.sources || !i.file || !i.mappings) && !(i.sourcesContent && i.sourcesContent.some(ms)))
          return Nne(e, i, n);
      }
      function ZJe(e, t) {
        return {
          text: e,
          lineMap: t,
          getLineAndCharacterOfPosition(n) {
            return bC(vg(this), n);
          }
        };
      }
      var eoe = /* @__PURE__ */ new Map();
      function Eq(e, t, n) {
        var i;
        t.getSemanticDiagnostics(e, n);
        const s = [], o = t.getTypeChecker();
        !(t.getImpliedNodeFormatForEmit(e) === 1 || bc(e.fileName, [
          ".cts",
          ".cjs"
          /* Cjs */
        ])) && e.commonJsModuleIndicator && (_ae(t) || JV(t.getCompilerOptions())) && KJe(e) && s.push(sn(nze(e.commonJsModuleIndicator), p.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module));
        const _ = Ku(e);
        if (eoe.clear(), u(e), kx(t.getCompilerOptions()))
          for (const g of e.imports) {
            const m = J4(g);
            if (cl(m) && Gn(
              m,
              32
              /* Export */
            )) continue;
            const h = eze(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 !== true && Fo(T.externalModuleIndicator) && T.externalModuleIndicator.isExportEquals && s.push(sn(h, p.Import_may_be_converted_to_a_default_import));
          }
        return In(s, e.bindSuggestionDiagnostics), In(s, t.getSuggestionDiagnostics(e, n)), s.sort((g, m) => g.start - m.start), s;
        function u(g) {
          if (_)
            sze(g, o) && s.push(sn(ei(g.parent) ? g.parent.name : g, p.This_constructor_function_may_be_converted_to_a_class_declaration));
          else {
            if (Pc(g) && g.parent === e && g.declarationList.flags & 2 && g.declarationList.declarations.length === 1) {
              const h = g.declarationList.declarations[0].initializer;
              h && v_(
                h,
                /*requireStringLiteralLikeArgument*/
                true
              ) && s.push(sn(h, p.require_call_may_be_converted_to_an_import));
            }
            const m = Nu.getJSDocTypedefNodes(g);
            for (const h of m)
              s.push(sn(h, p.JSDoc_typedef_may_be_converted_to_TypeScript_type));
            Nu.parameterShouldGetTypeFromJSDoc(g) && s.push(sn(g.name || g, p.JSDoc_types_may_be_moved_to_TypeScript_types));
          }
          Pq(g) && tze(g, o, s), g.forEachChild(u);
        }
      }
      function KJe(e) {
        return e.statements.some((t) => {
          switch (t.kind) {
            case 244:
              return t.declarationList.declarations.some((n) => !!n.initializer && v_(
                O2e(n.initializer),
                /*requireStringLiteralLikeArgument*/
                true
              ));
            case 245: {
              const { expression: n } = t;
              if (!_n(n)) return v_(
                n,
                /*requireStringLiteralLikeArgument*/
                true
              );
              const i = wc(n);
              return i === 1 || i === 2;
            }
            default:
              return false;
          }
        });
      }
      function O2e(e) {
        return wn(e) ? O2e(e.expression) : e;
      }
      function eze(e) {
        switch (e.kind) {
          case 273:
            const { importClause: t, moduleSpecifier: n } = e;
            return t && !t.name && t.namedBindings && t.namedBindings.kind === 275 && oa(n) ? t.namedBindings.name : void 0;
          case 272:
            return e.name;
          default:
            return;
        }
      }
      function tze(e, t, n) {
        rze(e, t) && !eoe.has(j2e(e)) && n.push(sn(
          !e.name && ei(e.parent) && Me(e.parent.name) ? e.parent.name : e,
          p.This_may_be_converted_to_an_async_function
        ));
      }
      function rze(e, t) {
        return !q4(e) && e.body && Ps(e.body) && ize(e.body, t) && Dq(e, t);
      }
      function Dq(e, t) {
        const n = t.getSignatureFromDeclaration(e), i = n ? t.getReturnTypeOfSignature(n) : void 0;
        return !!i && !!t.getPromisedTypeOfPromise(i);
      }
      function nze(e) {
        return _n(e) ? e.left : e;
      }
      function ize(e, t) {
        return !!wy(e, (n) => Z9(n, t));
      }
      function Z9(e, t) {
        return Sf(e) && !!e.expression && wq(e.expression, t);
      }
      function wq(e, t) {
        if (!L2e(e) || !M2e(e) || !e.arguments.every((i) => R2e(i, t)))
          return false;
        let n = e.expression.expression;
        for (; L2e(n) || wn(n); )
          if (ws(n)) {
            if (!M2e(n) || !n.arguments.every((i) => R2e(i, t)))
              return false;
            n = n.expression.expression;
          } else
            n = n.expression;
        return true;
      }
      function L2e(e) {
        return ws(e) && (M8(e, "then") || M8(e, "catch") || M8(e, "finally"));
      }
      function M2e(e) {
        const t = e.expression.name.text, n = t === "then" ? 2 : t === "catch" || t === "finally" ? 1 : 0;
        return e.arguments.length > n ? false : e.arguments.length < n ? true : n === 1 || ot(e.arguments, (i) => i.kind === 106 || Me(i) && i.text === "undefined");
      }
      function R2e(e, t) {
        switch (e.kind) {
          case 263:
          case 219:
            if (Fc(e) & 1)
              return false;
          // falls through
          case 220:
            eoe.set(j2e(e), true);
          // falls through
          case 106:
            return true;
          case 80:
          case 212: {
            const i = t.getSymbolAtLocation(e);
            return i ? t.isUndefinedSymbol(i) || ot(Ql(i, t).declarations, (s) => Cs(s) || l0(s) && !!s.initializer && Cs(s.initializer)) : false;
          }
          default:
            return false;
        }
      }
      function j2e(e) {
        return `${e.pos.toString()}:${e.end.toString()}`;
      }
      function sze(e, t) {
        var n, i, s, o;
        if (mo(e)) {
          if (ei(e.parent) && ((n = e.symbol.members) != null && n.size))
            return true;
          const c = t.getSymbolOfExpando(
            e,
            /*allowDeclaration*/
            false
          );
          return !!(c && ((i = c.exports) != null && i.size || (s = c.members) != null && s.size));
        }
        return Tc(e) ? !!((o = e.symbol.members) != null && o.size) : false;
      }
      function Pq(e) {
        switch (e.kind) {
          case 263:
          case 175:
          case 219:
          case 220:
            return true;
          default:
            return false;
        }
      }
      var aze = /* @__PURE__ */ new Set([
        "isolatedModules"
      ]);
      function toe(e, t) {
        return J2e(
          e,
          t,
          /*declaration*/
          false
        );
      }
      function B2e(e, t) {
        return J2e(
          e,
          t,
          /*declaration*/
          true
        );
      }
      var oze = `/// <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;
}`, K9 = "lib.d.ts", roe;
      function J2e(e, t, n) {
        roe ?? (roe = Gx(K9, oze, {
          languageVersion: 99
          /* Latest */
        }));
        const i = [], s = t.compilerOptions ? Nq(t.compilerOptions, i) : {}, o = fL();
        for (const D in o)
          Ya(o, D) && s[D] === void 0 && (s[D] = o[D]);
        for (const D of Pre)
          s.verbatimModuleSyntax && aze.has(D.name) || (s[D.name] = D.transpileOptionValue);
        s.suppressOutputPathCheck = true, s.allowNonTsExtensions = true, n ? (s.declaration = true, s.emitDeclarationOnly = true, s.isolatedDeclarations = true) : (s.declaration = false, s.declarationMap = false);
        const c = d0(s), _ = {
          getSourceFile: (D) => D === qs(u) ? g : D === qs(K9) ? roe : void 0,
          writeFile: (D, P) => {
            Ho(D, ".map") ? (E.assertEqual(h, void 0, "Unexpected multiple source map outputs, file:", D), h = P) : (E.assertEqual(m, void 0, "Unexpected multiple outputs, file:", D), m = P);
          },
          getDefaultLibFileName: () => K9,
          useCaseSensitiveFileNames: () => false,
          getCanonicalFileName: (D) => D,
          getCurrentDirectory: () => "",
          getNewLine: () => c,
          fileExists: (D) => D === u || !!n && D === K9,
          readFile: () => "",
          directoryExists: () => true,
          getDirectories: () => []
        }, u = t.fileName || (t.compilerOptions && t.compilerOptions.jsx ? "module.tsx" : "module.ts"), g = Gx(
          u,
          e,
          {
            languageVersion: pa(s),
            impliedNodeFormat: k8(
              io(u, "", _.getCanonicalFileName),
              /*packageJsonInfoCache*/
              void 0,
              _,
              s
            ),
            setExternalModuleIndicator: uN(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 = C8(n ? [u, K9] : [u], s, _);
        t.reportDiagnostics && (In(
          /*to*/
          i,
          /*from*/
          T.getSyntacticDiagnostics(g)
        ), In(
          /*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 In(
          /*to*/
          i,
          /*from*/
          k.diagnostics
        ), m === void 0 ? E.fail("Output generation failed") : { outputText: m, diagnostics: i, sourceMapText: h };
      }
      function z2e(e, t, n, i, s) {
        const o = toe(e, { compilerOptions: t, fileName: n, reportDiagnostics: !!i, moduleName: s });
        return In(i, o.diagnostics), o.outputText;
      }
      var noe;
      function Nq(e, t) {
        noe = noe || kn(od, (n) => typeof n.type == "object" && !dl(n.type, (i) => typeof i != "number")), e = OV(e);
        for (const n of noe) {
          if (!Ya(e, n.name))
            continue;
          const i = e[n.name];
          ms(i) ? e[n.name] = XF(n, i, t) : dl(n.type, (s) => s === i) || t.push(Are(n));
        }
        return e;
      }
      var ioe = {};
      Ec(ioe, {
        getNavigateToItems: () => W2e
      });
      function W2e(e, t, n, i, s, o, c) {
        const _ = Vae(i);
        if (!_) return Ge;
        const u = [], g = e.length === 1 ? e[0] : void 0;
        for (const m of e)
          n.throwIfCancellationRequested(), !(o && m.isDeclarationFile) && (U2e(m, !!c, g) || m.getNamedDeclarations().forEach((h, S) => {
            cze(_, S, h, t, m.fileName, !!c, g, u);
          }));
        return u.sort(fze), (s === void 0 ? u : u.slice(0, s)).map(pze);
      }
      function U2e(e, t, n) {
        return e !== n && t && (Y8(e.path) || e.hasNoDefaultLib);
      }
      function cze(e, t, n, i, s, o, c, _) {
        const u = e.getMatchForLastSegmentOfPattern(t);
        if (u) {
          for (const g of n)
            if (lze(g, i, o, c))
              if (e.patternContainsDots) {
                const m = e.getFullMatch(_ze(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 lze(e, t, n, i) {
        var s;
        switch (e.kind) {
          case 274:
          case 277:
          case 272:
            const o = t.getSymbolAtLocation(e.name), c = t.getAliasedSymbol(o);
            return o.escapedName !== c.escapedName && !((s = c.declarations) != null && s.every((_) => U2e(_.getSourceFile(), n, i)));
          default:
            return true;
        }
      }
      function uze(e, t) {
        const n = us(e);
        return !!n && (V2e(n, t) || n.kind === 168 && soe(n.expression, t));
      }
      function soe(e, t) {
        return V2e(e, t) || wn(e) && (t.push(e.name.text), true) && soe(e.expression, t);
      }
      function V2e(e, t) {
        return am(e) && (t.push(np(e)), true);
      }
      function _ze(e) {
        const t = [], n = us(e);
        if (n && n.kind === 168 && !soe(n.expression, t))
          return Ge;
        t.shift();
        let i = MS(e);
        for (; i; ) {
          if (!uze(i, t))
            return Ge;
          i = MS(i);
        }
        return t.reverse(), t;
      }
      function fze(e, t) {
        return po(e.matchKind, t.matchKind) || BP(e.name, t.name);
      }
      function pze(e) {
        const t = e.declaration, n = MS(t), i = n && us(n);
        return {
          name: e.name,
          kind: t2(t),
          kindModifiers: dw(t),
          matchKind: xq[e.matchKind],
          isCaseSensitive: e.isCaseSensitive,
          fileName: e.fileName,
          textSpan: a_(t),
          // TODO(jfreeman): What should be the containerName when the container has a computed name?
          containerName: i ? i.text : "",
          containerKind: i ? t2(n) : ""
          /* unknown */
        };
      }
      var aoe = {};
      Ec(aoe, {
        getNavigationBarItems: () => H2e,
        getNavigationTree: () => G2e
      });
      var dze = /\s+/g, ooe = 150, Aq, nA, eL = [], D0, q2e = [], Q6, coe = [];
      function H2e(e, t) {
        Aq = t, nA = e;
        try {
          return hr(vze(Q2e(e)), bze);
        } finally {
          $2e();
        }
      }
      function G2e(e, t) {
        Aq = t, nA = e;
        try {
          return sSe(Q2e(e));
        } finally {
          $2e();
        }
      }
      function $2e() {
        nA = void 0, Aq = void 0, eL = [], D0 = void 0, coe = [];
      }
      function tL(e) {
        return Cw(e.getText(nA));
      }
      function Iq(e) {
        return e.node.kind;
      }
      function X2e(e, t) {
        e.children ? e.children.push(t) : e.children = [t];
      }
      function Q2e(e) {
        E.assert(!eL.length);
        const t = { node: e, name: void 0, additionalNodes: void 0, parent: void 0, children: void 0, indent: 0 };
        D0 = t;
        for (const n of e.statements)
          ck(n);
        return gv(), E.assert(!D0 && !eL.length), t;
      }
      function i2(e, t) {
        X2e(D0, loe(e, t));
      }
      function loe(e, t) {
        return {
          node: e,
          name: t || (Cl(e) || ut(e) ? us(e) : void 0),
          additionalNodes: void 0,
          parent: D0,
          children: void 0,
          indent: D0.indent + 1
        };
      }
      function Y2e(e) {
        Q6 || (Q6 = /* @__PURE__ */ new Map()), Q6.set(e, true);
      }
      function Z2e(e) {
        for (let t = 0; t < e; t++) gv();
      }
      function K2e(e, t) {
        const n = [];
        for (; !am(t); ) {
          const i = R3(t), s = gh(t);
          t = t.expression, !(s === "prototype" || Ai(i)) && n.push(i);
        }
        n.push(t);
        for (let i = n.length - 1; i > 0; i--) {
          const s = n[i];
          s2(e, s);
        }
        return [n.length - 1, n[0]];
      }
      function s2(e, t) {
        const n = loe(e, t);
        X2e(D0, n), eL.push(D0), q2e.push(Q6), Q6 = void 0, D0 = n;
      }
      function gv() {
        D0.children && (Fq(D0.children, D0), foe(D0.children)), D0 = eL.pop(), Q6 = q2e.pop();
      }
      function hv(e, t, n) {
        s2(e, n), ck(t), gv();
      }
      function eSe(e) {
        e.initializer && Tze(e.initializer) ? (s2(e), Ts(e.initializer, ck), gv()) : hv(e, e.initializer);
      }
      function uoe(e) {
        const t = us(e);
        if (t === void 0) return false;
        if (Hs(t)) {
          const n = t.expression;
          return Za(n) || T_(n) || wf(n);
        }
        return !!t;
      }
      function ck(e) {
        if (Aq.throwIfCancellationRequested(), !(!e || YT(e)))
          switch (e.kind) {
            case 177:
              const t = e;
              hv(t, t.body);
              for (const c of t.parameters)
                X_(c, t) && i2(c);
              break;
            case 175:
            case 178:
            case 179:
            case 174:
              uoe(e) && hv(e, e.body);
              break;
            case 173:
              uoe(e) && eSe(e);
              break;
            case 172:
              uoe(e) && i2(e);
              break;
            case 274:
              const n = e;
              n.name && i2(n.name);
              const { namedBindings: i } = n;
              if (i)
                if (i.kind === 275)
                  i2(i);
                else
                  for (const c of i.elements)
                    i2(c);
              break;
            case 305:
              hv(e, e.name);
              break;
            case 306:
              const { expression: s } = e;
              Me(s) ? i2(e, s) : i2(e);
              break;
            case 209:
            case 304:
            case 261: {
              const c = e;
              Ds(c.name) ? ck(c.name) : eSe(c);
              break;
            }
            case 263:
              const o = e.name;
              o && Me(o) && Y2e(o.text), hv(e, e.body);
              break;
            case 220:
            case 219:
              hv(e, e.body);
              break;
            case 267:
              s2(e);
              for (const c of e.members)
                Sze(c) || i2(c);
              gv();
              break;
            case 264:
            case 232:
            case 265:
              s2(e);
              for (const c of e.members)
                ck(c);
              gv();
              break;
            case 268:
              hv(e, oSe(e).body);
              break;
            case 278: {
              const c = e.expression, _ = ua(c) || ws(c) ? c : bo(c) || mo(c) ? c.body : void 0;
              _ ? (s2(e), ck(_), gv()) : i2(e);
              break;
            }
            case 282:
            case 272:
            case 182:
            case 180:
            case 181:
            case 266:
              i2(e);
              break;
            case 214:
            case 227: {
              const c = wc(e);
              switch (c) {
                case 1:
                case 2:
                  hv(e, e.right);
                  return;
                case 6:
                case 3: {
                  const _ = e, u = _.left, g = c === 3 ? u.expression : u;
                  let m = 0, h;
                  Me(g.expression) ? (Y2e(g.expression.text), h = g.expression) : [m, h] = K2e(_, g.expression), c === 6 ? ua(_.right) && _.right.properties.length > 0 && (s2(_, h), Ts(_.right, ck), gv()) : mo(_.right) || bo(_.right) ? hv(e, _.right, h) : (s2(_, h), hv(e, _.right, u.name), gv()), Z2e(m);
                  return;
                }
                case 7:
                case 9: {
                  const _ = e, u = c === 7 ? _.arguments[0] : _.arguments[0].expression, g = _.arguments[1], [m, h] = K2e(e, u);
                  s2(e, h), s2(e, ct(N.createIdentifier(g.text), g)), ck(e.arguments[2]), gv(), gv(), Z2e(m);
                  return;
                }
                case 5: {
                  const _ = e, u = _.left, g = u.expression;
                  if (Me(g) && gh(u) !== "prototype" && Q6 && Q6.has(g.text)) {
                    mo(_.right) || bo(_.right) ? hv(e, _.right, g) : Eb(u) && (s2(_, g), hv(_.left, _.right, R3(u)), gv());
                    return;
                  }
                  break;
                }
                case 4:
                case 0:
                case 8:
                  break;
                default:
                  E.assertNever(c);
              }
            }
            // falls through
            default:
              bf(e) && lr(e.jsDoc, (c) => {
                lr(c.tags, (_) => {
                  Op(_) && i2(_);
                });
              }), Ts(e, ck);
          }
      }
      function Fq(e, t) {
        const n = /* @__PURE__ */ new Map();
        TR(e, (i, s) => {
          const o = i.name || us(i.node), c = o && tL(o);
          if (!c)
            return true;
          const _ = n.get(c);
          if (!_)
            return n.set(c, i), true;
          if (_ instanceof Array) {
            for (const u of _)
              if (tSe(u, i, s, t))
                return false;
            return _.push(i), true;
          } else {
            const u = _;
            return tSe(u, i, s, t) ? false : (n.set(c, [u, i]), true);
          }
        });
      }
      var iA = {
        5: true,
        3: true,
        7: true,
        9: true,
        0: false,
        1: false,
        2: false,
        8: false,
        6: true,
        4: false
      };
      function mze(e, t, n, i) {
        function s(_) {
          return mo(_) || Tc(_) || ei(_);
        }
        const o = _n(t.node) || ws(t.node) ? wc(t.node) : 0, c = _n(e.node) || ws(e.node) ? wc(e.node) : 0;
        if (iA[o] && iA[c] || s(e.node) && iA[o] || s(t.node) && iA[c] || Zc(e.node) && _oe(e.node) && iA[o] || Zc(t.node) && iA[c] || Zc(e.node) && _oe(e.node) && s(t.node) || Zc(t.node) && s(e.node) && _oe(e.node)) {
          let _ = e.additionalNodes && ko(e.additionalNodes) || e.node;
          if (!Zc(e.node) && !Zc(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 = ct(
                N.createConstructorDeclaration(
                  /*modifiers*/
                  void 0,
                  [],
                  /*body*/
                  void 0
                ),
                g
              ), h = loe(m);
              h.indent = e.indent + 1, h.children = e.node === g ? e.children : t.children, e.children = e.node === g ? Bi([h], t.children || [t]) : Bi(e.children || [{ ...e }], [h]);
            } else
              (e.children || t.children) && (e.children = Bi(e.children || [{ ...e }], t.children || [t]), e.children && (Fq(e.children, e), foe(e.children)));
            _ = e.node = ct(
              N.createClassDeclaration(
                /*modifiers*/
                void 0,
                e.name || N.createIdentifier("__class__"),
                /*typeParameters*/
                void 0,
                /*heritageClauses*/
                void 0,
                []
              ),
              e.node
            );
          } else
            e.children = Bi(e.children, t.children), e.children && Fq(e.children, e);
          const u = t.node;
          return i.children[n - 1].node.end === _.end ? ct(_, { pos: _.pos, end: u.end }) : (e.additionalNodes || (e.additionalNodes = []), e.additionalNodes.push(ct(
            N.createClassDeclaration(
              /*modifiers*/
              void 0,
              e.name || N.createIdentifier("__class__"),
              /*typeParameters*/
              void 0,
              /*heritageClauses*/
              void 0,
              []
            ),
            t.node
          ))), true;
        }
        return o !== 0;
      }
      function tSe(e, t, n, i) {
        return mze(e, t, n, i) ? true : gze(e.node, t.node, i) ? (hze(e, t), true) : false;
      }
      function gze(e, t, n) {
        if (e.kind !== t.kind || e.parent !== t.parent && !(rSe(e, n) && rSe(t, n)))
          return false;
        switch (e.kind) {
          case 173:
          case 175:
          case 178:
          case 179:
            return Bs(e) === Bs(t);
          case 268:
            return nSe(e, t) && moe(e) === moe(t);
          default:
            return true;
        }
      }
      function _oe(e) {
        return !!(e.flags & 16);
      }
      function rSe(e, t) {
        if (e.parent === void 0) return false;
        const n = mm(e.parent) ? e.parent.parent : e.parent;
        return n === t.node || ds(t.additionalNodes, n);
      }
      function nSe(e, t) {
        return !e.body || !t.body ? e.body === t.body : e.body.kind === t.body.kind && (e.body.kind !== 268 || nSe(e.body, t.body));
      }
      function hze(e, t) {
        e.additionalNodes = e.additionalNodes || [], e.additionalNodes.push(t.node), t.additionalNodes && e.additionalNodes.push(...t.additionalNodes), e.children = Bi(e.children, t.children), e.children && (Fq(e.children, e), foe(e.children));
      }
      function foe(e) {
        e.sort(yze);
      }
      function yze(e, t) {
        return BP(iSe(e.node), iSe(t.node)) || po(Iq(e), Iq(t));
      }
      function iSe(e) {
        if (e.kind === 268)
          return aSe(e);
        const t = us(e);
        if (t && Wc(t)) {
          const n = oS(t);
          return n && Si(n);
        }
        switch (e.kind) {
          case 219:
          case 220:
          case 232:
            return lSe(e);
          default:
            return;
        }
      }
      function poe(e, t) {
        if (e.kind === 268)
          return Cw(aSe(e));
        if (t) {
          const n = Me(t) ? t.text : oo(t) ? `[${tL(t.argumentExpression)}]` : tL(t);
          if (n.length > 0)
            return Cw(n);
        }
        switch (e.kind) {
          case 308:
            const n = e;
            return ll(n) ? `"${Gm(Xc(Uu(qs(n.fileName))))}"` : "<global>";
          case 278:
            return Fo(e) && e.isExportEquals ? "export=" : "default";
          case 220:
          case 263:
          case 219:
          case 264:
          case 232:
            return f0(e) & 2048 ? "default" : lSe(e);
          case 177:
            return "constructor";
          case 181:
            return "new()";
          case 180:
            return "()";
          case 182:
            return "[]";
          default:
            return "<unknown>";
        }
      }
      function vze(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 true;
          switch (Iq(s)) {
            case 264:
            case 232:
            case 267:
            case 265:
            case 268:
            case 308:
            case 266:
            case 347:
            case 339:
              return true;
            case 220:
            case 263:
            case 219:
              return o(s);
            default:
              return false;
          }
          function o(c) {
            if (!c.node.body)
              return false;
            switch (Iq(c.parent)) {
              case 269:
              case 308:
              case 175:
              case 177:
                return true;
              default:
                return false;
            }
          }
        }
      }
      function sSe(e) {
        return {
          text: poe(e.node, e.name),
          kind: t2(e.node),
          kindModifiers: cSe(e.node),
          spans: doe(e),
          nameSpan: e.name && goe(e.name),
          childItems: hr(e.children, sSe)
        };
      }
      function bze(e) {
        return {
          text: poe(e.node, e.name),
          kind: t2(e.node),
          kindModifiers: cSe(e.node),
          spans: doe(e),
          childItems: hr(e.children, t) || coe,
          indent: e.indent,
          bolded: false,
          grayed: false
        };
        function t(n) {
          return {
            text: poe(n.node, n.name),
            kind: t2(n.node),
            kindModifiers: dw(n.node),
            spans: doe(n),
            childItems: coe,
            indent: 0,
            bolded: false,
            grayed: false
          };
        }
      }
      function doe(e) {
        const t = [goe(e.node)];
        if (e.additionalNodes)
          for (const n of e.additionalNodes)
            t.push(goe(n));
        return t;
      }
      function aSe(e) {
        return Ju(e) ? Go(e.name) : moe(e);
      }
      function moe(e) {
        const t = [np(e.name)];
        for (; e.body && e.body.kind === 268; )
          e = e.body, t.push(np(e.name));
        return t.join(".");
      }
      function oSe(e) {
        return e.body && Lc(e.body) ? oSe(e.body) : e;
      }
      function Sze(e) {
        return !e.name || e.name.kind === 168;
      }
      function goe(e) {
        return e.kind === 308 ? E0(e) : a_(e, nA);
      }
      function cSe(e) {
        return e.parent && e.parent.kind === 261 && (e = e.parent), dw(e);
      }
      function lSe(e) {
        const { parent: t } = e;
        if (e.name && d3(e.name) > 0)
          return Cw(so(e.name));
        if (ei(t))
          return Cw(so(t.name));
        if (_n(t) && t.operatorToken.kind === 64)
          return tL(t.left).replace(dze, "");
        if (Kc(t))
          return tL(t.name);
        if (f0(e) & 2048)
          return "default";
        if ($n(e))
          return "<class>";
        if (ws(t)) {
          let n = uSe(t.expression);
          if (n !== void 0) {
            if (n = Cw(n), n.length > ooe)
              return `${n} callback`;
            const i = Cw(Fi(t.arguments, (s) => Ma(s) || ex(s) ? s.getText(nA) : void 0).join(", "));
            return `${n}(${i}) callback`;
          }
        }
        return "<function>";
      }
      function uSe(e) {
        if (Me(e))
          return e.text;
        if (wn(e)) {
          const t = uSe(e.expression), n = e.name.text;
          return t === void 0 ? n : `${t}.${n}`;
        } else
          return;
      }
      function Tze(e) {
        switch (e.kind) {
          case 220:
          case 219:
          case 232:
            return true;
          default:
            return false;
        }
      }
      function Cw(e) {
        return e = e.length > ooe ? e.substring(0, ooe) + "..." : e, e.replace(/\\?(?:\r?\n|[\r\u2028\u2029])/g, "");
      }
      var lk = {};
      Ec(lk, {
        addExportsInOldFile: () => Doe,
        addImportsForMovedSymbols: () => woe,
        addNewFileToTsconfig: () => Eoe,
        addOrRemoveBracesToArrowFunction: () => hWe,
        addTargetFileImports: () => Roe,
        containsJsx: () => Aoe,
        convertArrowFunctionOrFunctionExpression: () => TWe,
        convertParamsToDestructuredObject: () => FWe,
        convertStringOrTemplateLiteral: () => YWe,
        convertToOptionalChainExpression: () => oUe,
        createNewFileName: () => Noe,
        doChangeNamedToNamespaceOrDefault: () => gSe,
        extractSymbol: () => cTe,
        generateGetAccessorAndSetAccessor: () => VUe,
        getApplicableRefactors: () => xze,
        getEditsForRefactor: () => kze,
        getExistingLocals: () => Loe,
        getIdentifierForNode: () => Moe,
        getNewStatementsAndRemoveFromOldFile: () => Coe,
        getStatementsToMove: () => sA,
        getUsageInfo: () => rL,
        inferFunctionReturnType: () => qUe,
        isInImport: () => Wq,
        isRefactorErrorInfo: () => Ph,
        refactorKindBeginsWith: () => yv,
        registerRefactor: () => zg
      });
      var hoe = /* @__PURE__ */ new Map();
      function zg(e, t) {
        hoe.set(e, t);
      }
      function xze(e, t) {
        return ns(xR(hoe.values(), (n) => {
          var i;
          return e.cancellationToken && e.cancellationToken.isCancellationRequested() || !((i = n.kinds) != null && i.some((s) => yv(s, e.kind))) ? void 0 : n.getAvailableActions(e, t);
        }));
      }
      function kze(e, t, n, i) {
        const s = hoe.get(t);
        return s && s.getEditsForAction(e, n, i);
      }
      var yoe = "Convert export", Oq = {
        name: "Convert default export to named export",
        description: bs(p.Convert_default_export_to_named_export),
        kind: "refactor.rewrite.export.named"
      }, Lq = {
        name: "Convert named export to default export",
        description: bs(p.Convert_named_export_to_default_export),
        kind: "refactor.rewrite.export.default"
      };
      zg(yoe, {
        kinds: [
          Oq.kind,
          Lq.kind
        ],
        getAvailableActions: function(t) {
          const n = _Se(t, t.triggerReason === "invoked");
          if (!n) return Ge;
          if (!Ph(n)) {
            const i = n.wasDefault ? Oq : Lq;
            return [{ name: yoe, description: i.description, actions: [i] }];
          }
          return t.preferences.provideRefactorNotApplicableReason ? [
            {
              name: yoe,
              description: bs(p.Convert_default_export_to_named_export),
              actions: [
                { ...Oq, notApplicableReason: n.error },
                { ...Lq, notApplicableReason: n.error }
              ]
            }
          ] : Ge;
        },
        getEditsForAction: function(t, n) {
          E.assert(n === Oq.name || n === Lq.name, "Unexpected action name");
          const i = _Se(t);
          return E.assert(i && !Ph(i), "Expected applicable refactor info"), { edits: cn.ChangeTracker.with(t, (o) => Cze(t.file, t.program, i, o, t.cancellationToken)), renameFilename: void 0, renameLocation: void 0 };
        }
      });
      function _Se(e, t = true) {
        const { file: n, program: i } = e, s = ak(e), o = vi(n, s.start), c = o.parent && f0(o.parent) & 32 && t ? o.parent : H8(o, n, s);
        if (!c || !Di(c.parent) && !(mm(c.parent) && Ju(c.parent.parent)))
          return { error: bs(p.Could_not_find_export_statement) };
        const _ = i.getTypeChecker(), u = Nze(c.parent, _), g = f0(c) || (Fo(c) && !c.isExportEquals ? 2080 : 0), m = !!(g & 2048);
        if (!(g & 32) || !m && u.exports.has(
          "default"
          /* Default */
        ))
          return { error: bs(p.This_file_already_has_a_default_export) };
        const h = (S) => Me(S) && _.getSymbolAtLocation(S) ? void 0 : { error: bs(p.Can_only_convert_named_export) };
        switch (c.kind) {
          case 263:
          case 264:
          case 265:
          case 267:
          case 266:
          case 268: {
            const S = c;
            return S.name ? h(S.name) || { exportNode: S, exportName: S.name, wasDefault: m, exportingModuleSymbol: u } : void 0;
          }
          case 244: {
            const S = c;
            if (!(S.declarationList.flags & 2) || S.declarationList.declarations.length !== 1)
              return;
            const T = ka(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 278: {
            const S = c;
            return S.isExportEquals ? void 0 : h(S.expression) || { exportNode: S, exportName: S.expression, wasDefault: m, exportingModuleSymbol: u };
          }
          default:
            return;
        }
      }
      function Cze(e, t, n, i, s) {
        Eze(e, n, i, t.getTypeChecker()), Dze(t, n, i, s);
      }
      function Eze(e, { wasDefault: t, exportNode: n, exportName: i }, s, o) {
        if (t)
          if (Fo(n) && !n.isExportEquals) {
            const c = n.expression, _ = fSe(c.text, c.text);
            s.replaceNode(e, n, N.createExportDeclaration(
              /*modifiers*/
              void 0,
              /*isTypeOnly*/
              false,
              N.createNamedExports([_])
            ));
          } else
            s.delete(e, E.checkDefined(U6(
              n,
              90
              /* DefaultKeyword */
            ), "Should find a default keyword in modifier list"));
        else {
          const c = E.checkDefined(U6(
            n,
            95
            /* ExportKeyword */
          ), "Should find an export keyword in modifier list");
          switch (n.kind) {
            case 263:
            case 264:
            case 265:
              s.insertNodeAfter(e, c, N.createToken(
                90
                /* DefaultKeyword */
              ));
              break;
            case 244:
              const _ = ka(n.declarationList.declarations);
              if (!So.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 267:
            case 266:
            case 268:
              s.deleteModifier(e, c), s.insertNodeAfter(e, n, N.createExportDefault(N.createIdentifier(i.text)));
              break;
            default:
              E.fail(`Unexpected exportNode kind ${n.kind}`);
          }
        }
      }
      function Dze(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");
        So.Core.eachExportReference(e.getSourceFiles(), c, o, _, i, n.text, t, (u) => {
          if (n === u) return;
          const g = u.getSourceFile();
          t ? wze(g, u, s, n.text) : Pze(g, u, s);
        });
      }
      function wze(e, t, n, i) {
        const { parent: s } = t;
        switch (s.kind) {
          case 212:
            n.replaceNode(e, t, N.createIdentifier(i));
            break;
          case 277:
          case 282: {
            const c = s;
            n.replaceNode(e, c, voe(i, c.name.text));
            break;
          }
          case 274: {
            const c = s;
            E.assert(c.name === t, "Import clause name should match provided ref");
            const _ = voe(i, t.text), { namedBindings: u } = c;
            if (!u)
              n.replaceNode(e, t, N.createNamedImports([_]));
            else if (u.kind === 275) {
              n.deleteRange(e, { pos: t.getStart(e), end: u.getStart(e) });
              const g = oa(c.parent.moduleSpecifier) ? WV(c.parent.moduleSpecifier, e) : 1, m = Yy(
                /*defaultImport*/
                void 0,
                [voe(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 206:
            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 Pze(e, t, n) {
        const i = t.parent;
        switch (i.kind) {
          case 212:
            n.replaceNode(e, t, N.createIdentifier("default"));
            break;
          case 277: {
            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 282: {
            n.replaceNode(e, i, fSe("default", i.name.text));
            break;
          }
          default:
            E.assertNever(i, `Unexpected parent kind ${i.kind}`);
        }
      }
      function voe(e, t) {
        return N.createImportSpecifier(
          /*isTypeOnly*/
          false,
          e === t ? void 0 : N.createIdentifier(e),
          N.createIdentifier(t)
        );
      }
      function fSe(e, t) {
        return N.createExportSpecifier(
          /*isTypeOnly*/
          false,
          e === t ? void 0 : N.createIdentifier(e),
          N.createIdentifier(t)
        );
      }
      function Nze(e, t) {
        if (Di(e))
          return e.symbol;
        const n = e.parent.symbol;
        return n.valueDeclaration && xb(n.valueDeclaration) ? t.getMergedSymbol(n) : n;
      }
      var boe = "Convert import", Mq = {
        0: {
          name: "Convert namespace import to named imports",
          description: bs(p.Convert_namespace_import_to_named_imports),
          kind: "refactor.rewrite.import.named"
        },
        2: {
          name: "Convert named imports to namespace import",
          description: bs(p.Convert_named_imports_to_namespace_import),
          kind: "refactor.rewrite.import.namespace"
        },
        1: {
          name: "Convert named imports to default import",
          description: bs(p.Convert_named_imports_to_default_import),
          kind: "refactor.rewrite.import.default"
        }
      };
      zg(boe, {
        kinds: WT(Mq).map((e) => e.kind),
        getAvailableActions: function(t) {
          const n = pSe(t, t.triggerReason === "invoked");
          if (!n) return Ge;
          if (!Ph(n)) {
            const i = Mq[n.convertTo];
            return [{ name: boe, description: i.description, actions: [i] }];
          }
          return t.preferences.provideRefactorNotApplicableReason ? WT(Mq).map((i) => ({
            name: boe,
            description: i.description,
            actions: [{ ...i, notApplicableReason: n.error }]
          })) : Ge;
        },
        getEditsForAction: function(t, n) {
          E.assert(ot(WT(Mq), (o) => o.name === n), "Unexpected action name");
          const i = pSe(t);
          return E.assert(i && !Ph(i), "Expected applicable refactor info"), { edits: cn.ChangeTracker.with(t, (o) => Aze(t.file, t.program, o, i)), renameFilename: void 0, renameLocation: void 0 };
        }
      });
      function pSe(e, t = true) {
        const { file: n } = e, i = ak(e), s = vi(n, i.start), o = t ? dr(s, H_(Wo, vm)) : H8(s, n, i);
        if (o === void 0 || !(Wo(o) || vm(o))) return { error: "Selection is not an import declaration." };
        const c = i.start + i.length, _ = r2(o, o.parent, n);
        if (_ && c > _.getStart()) return;
        const { importClause: u } = o;
        return u ? u.namedBindings ? u.namedBindings.kind === 275 ? { convertTo: 0, import: u.namedBindings } : dSe(e.program, u) ? { convertTo: 1, import: u.namedBindings } : { convertTo: 2, import: u.namedBindings } : { error: bs(p.Could_not_find_namespace_import_or_named_imports) } : { error: bs(p.Could_not_find_import_clause) };
      }
      function dSe(e, t) {
        return kx(e.getCompilerOptions()) && Oze(t.parent.moduleSpecifier, e.getTypeChecker());
      }
      function Aze(e, t, n, i) {
        const s = t.getTypeChecker();
        i.convertTo === 0 ? Ize(e, s, n, i.import, kx(t.getCompilerOptions())) : gSe(
          e,
          t,
          n,
          i.import,
          i.convertTo === 1
          /* Default */
        );
      }
      function Ize(e, t, n, i, s) {
        let o = false;
        const c = [], _ = /* @__PURE__ */ new Map();
        So.Core.eachSymbolReferenceInFile(i.name, t, e, (h) => {
          if (!l3(h.parent))
            o = true;
          else {
            const S = mSe(h.parent).text;
            t.resolveName(
              S,
              h,
              -1,
              /*excludeGlobals*/
              true
            ) && _.set(S, true), E.assert(Fze(h.parent) === h, "Parent expression should match id"), c.push(h.parent);
          }
        });
        const u = /* @__PURE__ */ new Map();
        for (const h of c) {
          const S = mSe(h).text;
          let T = u.get(S);
          T === void 0 && u.set(S, T = _.has(S) ? jS(S, e) : S), n.replaceNode(e, h, N.createIdentifier(T));
        }
        const g = [];
        u.forEach((h, S) => {
          g.push(N.createImportSpecifier(
            /*isTypeOnly*/
            false,
            h === S ? void 0 : N.createIdentifier(S),
            N.createIdentifier(h)
          ));
        });
        const m = i.parent.parent;
        if (o && !s && Wo(m))
          n.insertNodeAfter(e, m, hSe(
            m,
            /*defaultImportName*/
            void 0,
            g
          ));
        else {
          const h = o ? N.createIdentifier(i.name.text) : void 0;
          n.replaceNode(e, i.parent, ySe(h, g));
        }
      }
      function mSe(e) {
        return wn(e) ? e.name : e.right;
      }
      function Fze(e) {
        return wn(e) ? e.expression : e.left;
      }
      function gSe(e, t, n, i, s = dSe(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 = _ && oa(_) ? K8(
          _.text,
          99
          /* ESNext */
        ) : "module";
        function m(k) {
          return !!So.Core.eachSymbolReferenceInFile(k.name, o, e, (D) => {
            const P = o.resolveName(
              g,
              D,
              -1,
              /*excludeGlobals*/
              true
            );
            return P ? u.has(P) ? Eu(D.parent) : true : false;
          });
        }
        const S = i.elements.some(m) ? jS(g, e) : g, T = /* @__PURE__ */ new Set();
        for (const k of i.elements) {
          const D = k.propertyName || k.name;
          So.Core.eachSymbolReferenceInFile(k.name, o, e, (P) => {
            const A = D.kind === 11 ? N.createElementAccessExpression(N.createIdentifier(S), N.cloneNode(D)) : N.createPropertyAccessExpression(N.createIdentifier(S), N.cloneNode(D));
            fu(P.parent) ? n.replaceNode(e, P.parent, N.createPropertyAssignment(P.text, A)) : Eu(P.parent) ? T.add(k) : n.replaceNode(e, P, A);
          });
        }
        if (n.replaceNode(
          e,
          i,
          s ? N.createIdentifier(S) : N.createNamespaceImport(N.createIdentifier(S))
        ), T.size && Wo(c)) {
          const k = ns(T.values(), (D) => N.createImportSpecifier(D.isTypeOnly, D.propertyName && N.cloneNode(D.propertyName), N.cloneNode(D.name)));
          n.insertNodeAfter(e, i.parent.parent, hSe(
            c,
            /*defaultImportName*/
            void 0,
            k
          ));
        }
      }
      function Oze(e, t) {
        const n = t.resolveExternalModuleName(e);
        if (!n) return false;
        const i = t.resolveExternalModuleSymbol(n);
        return n !== i;
      }
      function hSe(e, t, n) {
        return N.createImportDeclaration(
          /*modifiers*/
          void 0,
          ySe(t, n),
          e.moduleSpecifier,
          /*attributes*/
          void 0
        );
      }
      function ySe(e, t) {
        return N.createImportClause(
          /*phaseModifier*/
          void 0,
          e,
          t && t.length ? N.createNamedImports(t) : void 0
        );
      }
      var Soe = "Extract type", Rq = {
        name: "Extract to type alias",
        description: bs(p.Extract_to_type_alias),
        kind: "refactor.extract.type"
      }, jq = {
        name: "Extract to interface",
        description: bs(p.Extract_to_interface),
        kind: "refactor.extract.interface"
      }, Bq = {
        name: "Extract to typedef",
        description: bs(p.Extract_to_typedef),
        kind: "refactor.extract.typedef"
      };
      zg(Soe, {
        kinds: [
          Rq.kind,
          jq.kind,
          Bq.kind
        ],
        getAvailableActions: function(t) {
          const { info: n, affectedTextRange: i } = vSe(t, t.triggerReason === "invoked");
          return n ? Ph(n) ? t.preferences.provideRefactorNotApplicableReason ? [{
            name: Soe,
            description: bs(p.Extract_type),
            actions: [
              { ...Bq, notApplicableReason: n.error },
              { ...Rq, notApplicableReason: n.error },
              { ...jq, notApplicableReason: n.error }
            ]
          }] : Ge : [{
            name: Soe,
            description: bs(p.Extract_type),
            actions: n.isJS ? [Bq] : Er([Rq], n.typeElements && jq)
          }].map((o) => ({
            ...o,
            actions: o.actions.map((c) => ({
              ...c,
              range: i ? {
                start: { line: Rs(t.file, i.pos).line, offset: Rs(t.file, i.pos).character },
                end: { line: Rs(t.file, i.end).line, offset: Rs(t.file, i.end).character }
              } : void 0
            }))
          })) : Ge;
        },
        getEditsForAction: function(t, n) {
          const { file: i } = t, { info: s } = vSe(t);
          E.assert(s && !Ph(s), "Expected to find a range to extract");
          const o = jS("NewType", i), c = cn.ChangeTracker.with(t, (g) => {
            switch (n) {
              case Rq.name:
                return E.assert(!s.isJS, "Invalid actionName/JS combo"), Rze(g, i, o, s);
              case Bq.name:
                return E.assert(s.isJS, "Invalid actionName/JS combo"), Bze(g, t, i, o, s);
              case jq.name:
                return E.assert(!s.isJS && !!s.typeElements, "Invalid actionName/JS combo"), jze(g, i, o, s);
              default:
                E.fail("Unexpected action name");
            }
          }), _ = i.fileName, u = $8(
            c,
            _,
            o,
            /*preferLastLocation*/
            false
          );
          return { edits: c, renameFilename: _, renameLocation: u };
        }
      });
      function vSe(e, t = true) {
        const { file: n, startPosition: i } = e, s = Ku(n), o = E9(ak(e)), c = o.pos === o.end && t, _ = Lze(n, i, o, c);
        if (!_ || !li(_)) return { info: { error: bs(p.Selection_is_not_a_valid_type_node) }, affectedTextRange: void 0 };
        const u = e.program.getTypeChecker(), g = Jze(_, s);
        if (g === void 0) return { info: { error: bs(p.No_type_could_be_extracted_from_this_type_node) }, affectedTextRange: void 0 };
        const m = zze(_, g);
        if (!li(m)) return { info: { error: bs(p.Selection_is_not_a_valid_type_node) }, affectedTextRange: void 0 };
        const h = [];
        (b0(m.parent) || Bx(m.parent)) && o.end > _.end && In(
          h,
          m.parent.types.filter((P) => h9(P, n, o.pos, o.end))
        );
        const S = h.length > 1 ? h : m, { typeParameters: T, affectedTextRange: k } = Mze(u, S, g, n);
        if (!T) return { info: { error: bs(p.No_type_could_be_extracted_from_this_type_node) }, affectedTextRange: void 0 };
        const D = Jq(u, S);
        return { info: { isJS: s, selection: S, enclosingNode: g, typeParameters: T, typeElements: D }, affectedTextRange: k };
      }
      function Lze(e, t, n, i) {
        const s = [
          () => vi(e, t),
          () => z6(e, t, () => true)
        ];
        for (const o of s) {
          const c = o(), _ = h9(c, e, n.pos, n.end), u = dr(c, (g) => g.parent && li(g) && !a2(n, g.parent, e) && (i || _));
          if (u)
            return u;
        }
      }
      function Jq(e, t) {
        if (t) {
          if (ss(t)) {
            const n = [];
            for (const i of t) {
              const s = Jq(e, i);
              if (!s) return;
              In(n, s);
            }
            return n;
          }
          if (Bx(t)) {
            const n = [], i = /* @__PURE__ */ new Set();
            for (const s of t.types) {
              const o = Jq(e, s);
              if (!o || !o.every((c) => c.name && Mp(i, V8(c.name))))
                return;
              In(n, o);
            }
            return n;
          } else {
            if (hS(t))
              return Jq(e, t.type);
            if (r_(t))
              return t.members;
          }
        }
      }
      function a2(e, t, n) {
        return B8(e, aa(n.text, t.pos), t.end);
      }
      function Mze(e, t, n, i) {
        const s = [], o = UT(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 (rf(u)) {
            if (Me(u.typeName)) {
              const g = u.typeName, m = e.resolveName(
                g.text,
                g,
                262144,
                /*excludeGlobals*/
                true
              );
              for (const h of m?.declarations || Ge)
                if (Io(h) && h.getSourceFile() === i) {
                  if (h.name.escapedText === g.escapedText && a2(h, c, i))
                    return true;
                  if (a2(n, h, i) && !a2(c, h, i)) {
                    Yf(s, h);
                    break;
                  }
                }
            }
          } else if (gS(u)) {
            const g = dr(u, (m) => zb(m) && a2(m.extendsType, u, i));
            if (!g || !a2(c, g, i))
              return true;
          } else if (Rx(u) || wD(u)) {
            const g = dr(u.parent, Cs);
            if (g && g.type && a2(g.type, u, i) && !a2(c, g, i))
              return true;
          } else if (Jb(u)) {
            if (Me(u.exprName)) {
              const g = e.resolveName(
                u.exprName.text,
                u.exprName,
                111551,
                /*excludeGlobals*/
                false
              );
              if (g?.valueDeclaration && a2(n, g.valueDeclaration, i) && !a2(c, g.valueDeclaration, i))
                return true;
            } else if (Iy(u.exprName.left) && !a2(c, u.parent, i))
              return true;
          }
          return i && jx(u) && Rs(i, u.pos).line === Rs(i, u.end).line && un(
            u,
            1
            /* SingleLine */
          ), Ts(u, _);
        }
      }
      function Rze(e, t, n, i) {
        const { enclosingNode: s, typeParameters: o } = i, { firstTypeNode: c, lastTypeNode: _, newTypeNode: u } = Toe(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,
          az(g),
          /*blankLineBetween*/
          true
        ), e.replaceNodeRange(t, c, _, N.createTypeReferenceNode(n, o.map((m) => N.createTypeReferenceNode(
          m.name,
          /*typeArguments*/
          void 0
        ))), { leadingTriviaOption: cn.LeadingTriviaOption.Exclude, trailingTriviaOption: cn.TrailingTriviaOption.ExcludeWhitespace });
      }
      function jze(e, t, n, i) {
        var s;
        const { enclosingNode: o, typeParameters: c, typeElements: _ } = i, u = N.createInterfaceDeclaration(
          /*modifiers*/
          void 0,
          n,
          c,
          /*heritageClauses*/
          void 0,
          _
        );
        ct(u, (s = _[0]) == null ? void 0 : s.parent), e.insertNodeBefore(
          t,
          o,
          az(u),
          /*blankLineBetween*/
          true
        );
        const { firstTypeNode: g, lastTypeNode: m } = Toe(i);
        e.replaceNodeRange(t, g, m, N.createTypeReferenceNode(n, c.map((h) => N.createTypeReferenceNode(
          h.name,
          /*typeArguments*/
          void 0
        ))), { leadingTriviaOption: cn.LeadingTriviaOption.Exclude, trailingTriviaOption: cn.TrailingTriviaOption.ExcludeWhitespace });
      }
      function Bze(e, t, n, i, s) {
        var o;
        UT(s.selection).forEach((k) => {
          un(
            k,
            7168
            /* NoNestedComments */
          );
        });
        const { enclosingNode: c, typeParameters: _ } = s, { firstTypeNode: u, lastTypeNode: g, newTypeNode: m } = Toe(s), h = N.createJSDocTypedefTag(
          N.createIdentifier("typedef"),
          N.createJSDocTypeExpression(m),
          N.createIdentifier(i)
        ), S = [];
        lr(_, (k) => {
          const D = kC(k), P = N.createTypeParameterDeclaration(
            /*modifiers*/
            void 0,
            k.name
          ), A = N.createJSDocTemplateTag(
            N.createIdentifier("template"),
            D && Ws(D, iv),
            [P]
          );
          S.push(A);
        });
        const T = N.createJSDocComment(
          /*comment*/
          void 0,
          N.createNodeArray(Bi(S, [h]))
        );
        if (Nd(c)) {
          const k = c.getStart(n), D = wh(t.host, (o = t.formatContext) == null ? void 0 : o.options);
          e.insertNodeAt(n, c.getStart(n), T, {
            suffix: D + D + n.text.slice(O9(n.text, k - 1), k)
          });
        } else
          e.insertNodeBefore(
            n,
            c,
            T,
            /*blankLineBetween*/
            true
          );
        e.replaceNodeRange(n, u, g, N.createTypeReferenceNode(i, _.map((k) => N.createTypeReferenceNode(
          k.name,
          /*typeArguments*/
          void 0
        ))));
      }
      function Toe(e) {
        return ss(e.selection) ? {
          firstTypeNode: e.selection[0],
          lastTypeNode: e.selection[e.selection.length - 1],
          newTypeNode: b0(e.selection[0].parent) ? N.createUnionTypeNode(e.selection) : N.createIntersectionTypeNode(e.selection)
        } : {
          firstTypeNode: e.selection,
          lastTypeNode: e.selection,
          newTypeNode: e.selection
        };
      }
      function Jze(e, t) {
        return dr(e, Ti) || (t ? dr(e, Nd) : void 0);
      }
      function zze(e, t) {
        return dr(e, (n) => n === t ? "quit" : !!(b0(n.parent) || Bx(n.parent))) ?? e;
      }
      var zq = "Move to file", xoe = bs(p.Move_to_file), koe = {
        name: "Move to file",
        description: xoe,
        kind: "refactor.move.file"
      };
      zg(zq, {
        kinds: [koe.kind],
        getAvailableActions: function(t, n) {
          const i = t.file, s = sA(t);
          if (!n)
            return Ge;
          if (t.triggerReason === "implicit" && t.endPosition !== void 0) {
            const o = dr(vi(i, t.startPosition), ok), c = dr(vi(i, t.endPosition), ok);
            if (o && !Di(o) && c && !Di(c))
              return Ge;
          }
          if (t.preferences.allowTextChangesInNewFiles && s) {
            const o = {
              start: { line: Rs(i, s.all[0].getStart(i)).line, offset: Rs(i, s.all[0].getStart(i)).character },
              end: { line: Rs(i, fa(s.all).end).line, offset: Rs(i, fa(s.all).end).character }
            };
            return [{ name: zq, description: xoe, actions: [{ ...koe, range: o }] }];
          }
          return t.preferences.provideRefactorNotApplicableReason ? [{ name: zq, description: xoe, actions: [{ ...koe, notApplicableReason: bs(p.Selection_is_not_a_valid_statement_or_statements) }] }] : Ge;
        },
        getEditsForAction: function(t, n, i) {
          E.assert(n === zq, "Wrong refactor invoked");
          const s = E.checkDefined(sA(t)), { host: o, program: c } = t;
          E.assert(i, "No interactive refactor arguments available");
          const _ = i.targetFile;
          return Og(_) || _S(_) ? o.fileExists(_) && c.getSourceFile(_) === void 0 ? bSe(bs(p.Cannot_move_statements_to_the_selected_file)) : { edits: cn.ChangeTracker.with(t, (g) => Wze(t, t.file, i.targetFile, t.program, s, g, t.host, t.preferences)), renameFilename: void 0, renameLocation: void 0 } : bSe(bs(p.Cannot_move_to_file_selected_file_is_invalid));
        }
      });
      function bSe(e) {
        return { edits: [], renameFilename: void 0, renameLocation: void 0, notApplicableReason: e };
      }
      function Wze(e, t, n, i, s, o, c, _) {
        const u = i.getTypeChecker(), g = !c.fileExists(n), m = g ? $9(n, t.externalModuleIndicator ? 99 : t.commonJsModuleIndicator ? 1 : void 0, i, c) : E.checkDefined(i.getSourceFile(n)), h = Nu.createImportAdder(t, e.program, e.preferences, e.host), S = Nu.createImportAdder(m, e.program, e.preferences, e.host);
        Coe(t, m, rL(t, s.all, u, g ? void 0 : Loe(m, s.all, u)), o, s, i, c, _, S, h), g && Eoe(i, o, t.fileName, n, yh(c));
      }
      function Coe(e, t, n, i, s, o, c, _, u, g) {
        const m = o.getTypeChecker(), h = VR(e.statements, im), S = !dq(t.fileName, o, c, !!e.commonJsModuleIndicator), T = of(e, _);
        woe(n.oldFileImportsFromTargetFile, t.fileName, g, o), Vze(e, s.all, n.unusedImportsFromOldFile, g), g.writeFixes(i, T), Uze(e, s.ranges, i), qze(i, o, c, e, n.movedSymbols, t.fileName, T), Doe(e, n.targetFileImportsFromOldFile, i, S), Roe(e, n.oldImportsNeededByTargetFile, n.targetFileImportsFromOldFile, m, o, u), !Pg(t) && h.length && i.insertStatementsInNewFile(t.fileName, h, e), u.writeFixes(i, T);
        const k = Yze(e, s.all, ns(n.oldFileImportsFromTargetFile.keys()), S);
        Pg(t) && t.statements.length > 0 ? pWe(i, o, k, t, s) : Pg(t) ? i.insertNodesAtEndOfFile(
          t,
          k,
          /*blankLineBetween*/
          false
        ) : i.insertStatementsInNewFile(t.fileName, u.hasFixes() ? [4, ...k] : k, e);
      }
      function Eoe(e, t, n, i, s) {
        const o = e.getCompilerOptions().configFile;
        if (!o) return;
        const c = qs(On(n, "..", i)), _ = vC(o.fileName, c, s), u = o.statements[0] && Bn(o.statements[0].expression, ua), g = u && Nn(u.properties, (m) => Kc(m) && oa(m.name) && m.name.text === "files");
        g && Kl(g.initializer) && t.insertNodeInListAfter(o, fa(g.initializer.elements), N.createStringLiteral(_), g.initializer.elements);
      }
      function Uze(e, t, n) {
        for (const { first: i, afterLast: s } of t)
          n.deleteNodeRangeExcludingEnd(e, i, s);
      }
      function Vze(e, t, n, i) {
        for (const s of e.statements)
          ds(t, s) || TSe(s, (o) => {
            xSe(o, (c) => {
              n.has(c.symbol) && i.removeExistingImport(c);
            });
          });
      }
      function Doe(e, t, n, i) {
        const s = W6();
        t.forEach((o, c) => {
          if (c.declarations)
            for (const _ of c.declarations) {
              if (!Ooe(_)) continue;
              const u = sWe(_);
              if (!u) continue;
              const g = DSe(_);
              s(g) && aWe(e, g, u, n, i);
            }
        });
      }
      function qze(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)
              TSe(g, (m) => {
                if (_.getSymbolAtLocation(Xze(m)) !== i.symbol) return;
                const h = (P) => {
                  const A = ha(P.parent) ? I9(_, P.parent) : Ql(_.getSymbolAtLocation(P), _);
                  return !!A && s.has(A);
                };
                Zze(u, m, e, h);
                const S = my(Hn(Qi(i.fileName, t.getCurrentDirectory())), o);
                if (dC(!t.useCaseSensitiveFileNames())(S, u.fileName) === 0) return;
                const T = Dh.getModuleSpecifier(t.getCompilerOptions(), u, u.fileName, S, mv(t, n)), k = rWe(m, gw(T, c), h);
                k && e.insertNodeAfter(u, g, k);
                const D = Hze(m);
                D && Gze(e, u, _, s, T, D, m, c);
              });
      }
      function Hze(e) {
        switch (e.kind) {
          case 273:
            return e.importClause && e.importClause.namedBindings && e.importClause.namedBindings.kind === 275 ? e.importClause.namedBindings.name : void 0;
          case 272:
            return e.name;
          case 261:
            return Bn(e.name, Me);
          default:
            return E.assertNever(e, `Unexpected node kind ${e.kind}`);
        }
      }
      function Gze(e, t, n, i, s, o, c, _) {
        const u = K8(
          s,
          99
          /* ESNext */
        );
        let g = false;
        const m = [];
        if (So.Core.eachSymbolReferenceInFile(o, n, t, (h) => {
          wn(h.parent) && (g = g || !!n.resolveName(
            u,
            h,
            -1,
            /*excludeGlobals*/
            true
          ), i.has(n.getSymbolAtLocation(h.parent.name)) && m.push(h));
        }), m.length) {
          const h = g ? jS(u, t) : u;
          for (const S of m)
            e.replaceNode(t, S, N.createIdentifier(h));
          e.insertNodeAfter(t, c, $ze(c, u, s, _));
        }
      }
      function $ze(e, t, n, i) {
        const s = N.createIdentifier(t), o = gw(n, i);
        switch (e.kind) {
          case 273:
            return N.createImportDeclaration(
              /*modifiers*/
              void 0,
              N.createImportClause(
                /*phaseModifier*/
                void 0,
                /*name*/
                void 0,
                N.createNamespaceImport(s)
              ),
              o,
              /*attributes*/
              void 0
            );
          case 272:
            return N.createImportEqualsDeclaration(
              /*modifiers*/
              void 0,
              /*isTypeOnly*/
              false,
              s,
              N.createExternalModuleReference(o)
            );
          case 261:
            return N.createVariableDeclaration(
              s,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              SSe(o)
            );
          default:
            return E.assertNever(e, `Unexpected node kind ${e.kind}`);
        }
      }
      function SSe(e) {
        return N.createCallExpression(
          N.createIdentifier("require"),
          /*typeArguments*/
          void 0,
          [e]
        );
      }
      function Xze(e) {
        return e.kind === 273 ? e.moduleSpecifier : e.kind === 272 ? e.moduleReference.expression : e.initializer.arguments[0];
      }
      function TSe(e, t) {
        if (Wo(e))
          oa(e.moduleSpecifier) && t(e);
        else if (cl(e))
          xh(e.moduleReference) && Ma(e.moduleReference.expression) && t(e);
        else if (Pc(e))
          for (const n of e.declarationList.declarations)
            n.initializer && v_(
              n.initializer,
              /*requireStringLiteralLikeArgument*/
              true
            ) && t(n);
      }
      function xSe(e, t) {
        var n, i, s, o, c;
        if (e.kind === 273) {
          if ((n = e.importClause) != null && n.name && t(e.importClause), ((s = (i = e.importClause) == null ? void 0 : i.namedBindings) == null ? void 0 : s.kind) === 275 && t(e.importClause.namedBindings), ((c = (o = e.importClause) == null ? void 0 : o.namedBindings) == null ? void 0 : c.kind) === 276)
            for (const _ of e.importClause.namedBindings.elements)
              t(_);
        } else if (e.kind === 272)
          t(e);
        else if (e.kind === 261) {
          if (e.name.kind === 80)
            t(e);
          else if (e.name.kind === 207)
            for (const _ of e.name.elements)
              Me(_.name) && t(_);
        }
      }
      function woe(e, t, n, i) {
        for (const [s, o] of e) {
          const c = U9(s, pa(i.getCompilerOptions())), _ = s.name === "default" && s.parent ? 1 : 0;
          n.addImportForNonExistentExport(c, t, _, s.flags, o);
        }
      }
      function Qze(e, t, n, i = 2) {
        return N.createVariableStatement(
          /*modifiers*/
          void 0,
          N.createVariableDeclarationList([N.createVariableDeclaration(
            e,
            /*exclamationToken*/
            void 0,
            t,
            n
          )], i)
        );
      }
      function Yze(e, t, n, i) {
        return xa(t, (s) => {
          if (CSe(s) && !kSe(e, s, i) && Foe(s, (o) => {
            var c;
            return n.includes(E.checkDefined((c = Bn(o, Td)) == null ? void 0 : c.symbol));
          })) {
            const o = Kze(Wa(s), i);
            if (o) return o;
          }
          return Wa(s);
        });
      }
      function kSe(e, t, n, i) {
        var s;
        return n ? !Dl(t) && Gn(
          t,
          32
          /* Export */
        ) || !!(i && e.symbol && ((s = e.symbol.exports) != null && s.has(i.escapedText))) : !!e.symbol && !!e.symbol.exports && Poe(t).some((o) => e.symbol.exports.has(Zo(o)));
      }
      function Zze(e, t, n, i) {
        if (t.kind === 273 && t.importClause) {
          const { name: s, namedBindings: o } = t.importClause;
          if ((!s || i(s)) && (!o || o.kind === 276 && o.elements.length !== 0 && o.elements.every((c) => i(c.name))))
            return n.delete(e, t);
        }
        xSe(t, (s) => {
          s.name && Me(s.name) && i(s.name) && n.delete(e, s);
        });
      }
      function CSe(e) {
        return E.assert(Di(e.parent), "Node parent should be a SourceFile"), NSe(e) || Pc(e);
      }
      function Kze(e, t) {
        return t ? [eWe(e)] : tWe(e);
      }
      function eWe(e) {
        const t = Jp(e) ? Bi([N.createModifier(
          95
          /* ExportKeyword */
        )], gb(e)) : void 0;
        switch (e.kind) {
          case 263:
            return N.updateFunctionDeclaration(e, t, e.asteriskToken, e.name, e.typeParameters, e.parameters, e.type, e.body);
          case 264:
            const n = $b(e) ? hy(e) : void 0;
            return N.updateClassDeclaration(e, Bi(n, t), e.name, e.typeParameters, e.heritageClauses, e.members);
          case 244:
            return N.updateVariableStatement(e, t, e.declarationList);
          case 268:
            return N.updateModuleDeclaration(e, t, e.name, e.body);
          case 267:
            return N.updateEnumDeclaration(e, t, e.name, e.members);
          case 266:
            return N.updateTypeAliasDeclaration(e, t, e.name, e.typeParameters, e.type);
          case 265:
            return N.updateInterfaceDeclaration(e, t, e.name, e.typeParameters, e.heritageClauses, e.members);
          case 272:
            return N.updateImportEqualsDeclaration(e, t, e.isTypeOnly, e.name, e.moduleReference);
          case 245:
            return E.fail();
          default:
            return E.assertNever(e, `Unexpected declaration kind ${e.kind}`);
        }
      }
      function tWe(e) {
        return [e, ...Poe(e).map(ESe)];
      }
      function ESe(e) {
        return N.createExpressionStatement(
          N.createBinaryExpression(
            N.createPropertyAccessExpression(N.createIdentifier("exports"), N.createIdentifier(e)),
            64,
            N.createIdentifier(e)
          )
        );
      }
      function Poe(e) {
        switch (e.kind) {
          case 263:
          case 264:
            return [e.name.text];
          // TODO: GH#18217
          case 244:
            return Fi(e.declarationList.declarations, (t) => Me(t.name) ? t.name.text : void 0);
          case 268:
          case 267:
          case 266:
          case 265:
          case 272:
            return Ge;
          case 245:
            return E.fail("Can't export an ExpressionStatement");
          default:
            return E.assertNever(e, `Unexpected decl kind ${e.kind}`);
        }
      }
      function rWe(e, t, n) {
        switch (e.kind) {
          case 273: {
            const i = e.importClause;
            if (!i) return;
            const s = i.name && n(i.name) ? i.name : void 0, o = i.namedBindings && nWe(i.namedBindings, n);
            return s || o ? N.createImportDeclaration(
              /*modifiers*/
              void 0,
              N.createImportClause(i.phaseModifier, s, o),
              Wa(t),
              /*attributes*/
              void 0
            ) : void 0;
          }
          case 272:
            return n(e.name) ? e : void 0;
          case 261: {
            const i = iWe(e.name, n);
            return i ? Qze(i, e.type, SSe(t), e.parent.flags) : void 0;
          }
          default:
            return E.assertNever(e, `Unexpected import kind ${e.kind}`);
        }
      }
      function nWe(e, t) {
        if (e.kind === 275)
          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 iWe(e, t) {
        switch (e.kind) {
          case 80:
            return t(e) ? e : void 0;
          case 208:
            return e;
          case 207: {
            const n = e.elements.filter((i) => i.propertyName || !Me(i.name) || t(i.name));
            return n.length ? N.createObjectBindingPattern(n) : void 0;
          }
        }
      }
      function sWe(e) {
        return Dl(e) ? Bn(e.expression.left.name, Me) : Bn(e.name, Me);
      }
      function DSe(e) {
        switch (e.kind) {
          case 261:
            return e.parent.parent;
          case 209:
            return DSe(
              Ws(e.parent.parent, (t) => ei(t) || ha(t))
            );
          default:
            return e;
        }
      }
      function aWe(e, t, n, i, s) {
        if (!kSe(e, t, s, n))
          if (s)
            Dl(t) || i.insertExportModifier(e, t);
          else {
            const o = Poe(t);
            o.length !== 0 && i.insertNodesAfter(e, t, o.map(ESe));
          }
      }
      function Noe(e, t, n, i) {
        const s = t.getTypeChecker();
        if (i) {
          const o = rL(e, i.all, s), c = Hn(e.fileName), _ = uD(e.fileName);
          return On(
            // new file is always placed in the same directory as the old file
            c,
            // ensures the filename computed below isn't already taken
            uWe(
              // infers a name for the new file from the symbols being moved
              _We(o.oldFileImportsFromTargetFile, o.movedSymbols),
              _,
              c,
              n
            )
          ) + _;
        }
        return "";
      }
      function oWe(e) {
        const { file: t } = e, n = E9(ak(e)), { statements: i } = t;
        let s = ic(i, (g) => g.end > n.pos);
        if (s === -1) return;
        const o = i[s], c = ASe(t, o);
        c && (s = c.start);
        let _ = ic(i, (g) => g.end >= n.end, s);
        _ !== -1 && n.end <= i[_].getStart() && _--;
        const u = ASe(t, i[_]);
        return u && (_ = u.end), {
          toMove: i.slice(s, _ === -1 ? i.length : _ + 1),
          afterLast: _ === -1 ? void 0 : i[_ + 1]
        };
      }
      function sA(e) {
        const t = oWe(e);
        if (t === void 0) return;
        const n = [], i = [], { toMove: s, afterLast: o } = t;
        return ER(s, cWe, (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 Aoe(e) {
        return Nn(e, (t) => !!(t.transformFlags & 2));
      }
      function cWe(e) {
        return !lWe(e) && !im(e);
      }
      function lWe(e) {
        switch (e.kind) {
          case 273:
            return true;
          case 272:
            return !Gn(
              e,
              32
              /* Export */
            );
          case 244:
            return e.declarationList.declarations.every((t) => !!t.initializer && v_(
              t.initializer,
              /*requireStringLiteralLikeArgument*/
              true
            ));
          default:
            return false;
        }
      }
      function rL(e, t, n, i = /* @__PURE__ */ new Set(), s) {
        var o;
        const c = /* @__PURE__ */ new Set(), _ = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map(), g = S(Aoe(t));
        g && _.set(g, [false, Bn((o = g.declarations) == null ? void 0 : o[0], (T) => qu(T) || sd(T) || jg(T) || cl(T) || ha(T) || ei(T))]);
        for (const T of t)
          Foe(T, (k) => {
            c.add(E.checkDefined(Dl(k) ? n.getSymbolAtLocation(k.expression.left) : k.symbol, "Need a symbol here"));
          });
        const m = /* @__PURE__ */ new Set();
        for (const T of t)
          Ioe(T, n, s, (k, D) => {
            if (!ot(k.declarations))
              return;
            if (i.has(Ql(k, n))) {
              m.add(k);
              return;
            }
            const P = Nn(k.declarations, Wq);
            if (P) {
              const A = _.get(k);
              _.set(k, [
                (A === void 0 || A) && D,
                Bn(P, (O) => qu(O) || sd(O) || jg(O) || cl(O) || ha(O) || ei(O))
              ]);
            } else !c.has(k) && Ni(k.declarations, (A) => Ooe(A) && fWe(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)
          ds(t, T) || (g && T.transformFlags & 2 && m.delete(g), Ioe(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*/
            true
          );
          return D && ot(D.declarations, Wq) ? D : void 0;
        }
      }
      function uWe(e, t, n, i) {
        let s = e;
        for (let o = 1; ; o++) {
          const c = On(n, s + t);
          if (!i.fileExists(c)) return s;
          s = `${e}.${o}`;
        }
      }
      function _We(e, t) {
        return Eg(e, VV) || Eg(t, VV) || "newFile";
      }
      function Ioe(e, t, n, i) {
        e.forEachChild(function s(o) {
          if (Me(o) && !Hm(o)) {
            if (n && !S_(n, o))
              return;
            const c = t.getSymbolAtLocation(o);
            c && i(c, $1(o));
          } else
            o.forEachChild(s);
        });
      }
      function Foe(e, t) {
        switch (e.kind) {
          case 263:
          case 264:
          case 268:
          case 267:
          case 266:
          case 265:
          case 272:
            return t(e);
          case 244:
            return Ic(e.declarationList.declarations, (n) => PSe(n.name, t));
          case 245: {
            const { expression: n } = e;
            return _n(n) && wc(n) === 1 ? t(e) : void 0;
          }
        }
      }
      function Wq(e) {
        switch (e.kind) {
          case 272:
          case 277:
          case 274:
          case 275:
            return true;
          case 261:
            return wSe(e);
          case 209:
            return ei(e.parent.parent) && wSe(e.parent.parent);
          default:
            return false;
        }
      }
      function wSe(e) {
        return Di(e.parent.parent.parent) && !!e.initializer && v_(
          e.initializer,
          /*requireStringLiteralLikeArgument*/
          true
        );
      }
      function Ooe(e) {
        return NSe(e) && Di(e.parent) || ei(e) && Di(e.parent.parent.parent);
      }
      function fWe(e) {
        return ei(e) ? e.parent.parent.parent : e.parent;
      }
      function PSe(e, t) {
        switch (e.kind) {
          case 80:
            return t(Ws(e.parent, (n) => ei(n) || ha(n)));
          case 208:
          case 207:
            return Ic(e.elements, (n) => gl(n) ? void 0 : PSe(n.name, t));
          default:
            return E.assertNever(e, `Unexpected name kind ${e.kind}`);
        }
      }
      function NSe(e) {
        switch (e.kind) {
          case 263:
          case 264:
          case 268:
          case 267:
          case 266:
          case 265:
          case 272:
            return true;
          default:
            return false;
        }
      }
      function pWe(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)
            CSe(h) && Gn(
              h,
              32
              /* Export */
            ) && Foe(h, (S) => {
              var T;
              const k = Td(S) ? (T = _.get(S.symbol.escapedName)) == null ? void 0 : T.declarations : void 0, D = Ic(k, (P) => Mc(P) ? P : Eu(P) ? Bn(P.parent.parent, Mc) : void 0);
              D && D.moduleSpecifier && m.set(D, (m.get(D) || /* @__PURE__ */ new Set()).add(S));
            });
          for (const [h, S] of ns(m))
            if (h.exportClause && _p(h.exportClause) && wr(h.exportClause.elements)) {
              const T = h.exportClause.elements, k = kn(T, (D) => Nn(Ql(D.symbol, g).declarations, (P) => Ooe(P) && S.has(P)) === void 0);
              if (wr(k) === 0) {
                e.deleteNode(i, h), c.add(h);
                continue;
              }
              wr(k) < wr(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 = ub(i.statements, (g) => Mc(g) && !!g.moduleSpecifier && !c.has(g));
        u ? e.insertNodesBefore(
          i,
          u,
          n,
          /*blankLineBetween*/
          true
        ) : e.insertNodesAfter(i, i.statements[i.statements.length - 1], n);
      }
      function ASe(e, t) {
        if (to(t)) {
          const n = t.symbol.declarations;
          if (n === void 0 || wr(n) <= 1 || !ds(n, t))
            return;
          const i = n[0], s = n[wr(n) - 1], o = Fi(n, (u) => xr(u) === e && Ti(u) ? u : void 0), c = ic(e.statements, (u) => u.end >= s.end), _ = ic(e.statements, (u) => u.end >= i.end);
          return { toMove: o, start: _, end: c };
        }
      }
      function Loe(e, t, n) {
        const i = /* @__PURE__ */ new Set();
        for (const s of e.imports) {
          const o = J4(s);
          if (Wo(o) && o.importClause && o.importClause.namedBindings && gm(o.importClause.namedBindings))
            for (const c of o.importClause.namedBindings.elements) {
              const _ = n.getSymbolAtLocation(c.propertyName || c.name);
              _ && i.add(Ql(_, n));
            }
          if (I3(o.parent) && Nf(o.parent.name))
            for (const c of o.parent.name.elements) {
              const _ = n.getSymbolAtLocation(c.propertyName || c.name);
              _ && i.add(Ql(_, n));
            }
        }
        for (const s of t)
          Ioe(
            s,
            n,
            /*enclosingRange*/
            void 0,
            (o) => {
              const c = Ql(o, n);
              c.valueDeclaration && xr(c.valueDeclaration).path === e.path && i.add(c);
            }
          );
        return i;
      }
      function Ph(e) {
        return e.error !== void 0;
      }
      function yv(e, t) {
        return t ? e.substr(0, t.length) === t : true;
      }
      function Moe(e, t, n, i) {
        return wn(e) && !$n(t) && !n.resolveName(
          e.name.text,
          e,
          111551,
          /*excludeGlobals*/
          false
        ) && !Ai(e.name) && !q2(e.name) ? e.name.text : jS($n(t) ? "newProperty" : "newLocal", i);
      }
      function Roe(e, t, n, i, s, o) {
        t.forEach(([c, _], u) => {
          var g;
          const m = Ql(u, i);
          i.isUnknownSymbol(m) ? o.addVerbatimImport(E.checkDefined(_ ?? dr((g = u.declarations) == null ? void 0 : g[0], eK))) : m.parent === void 0 ? (E.assert(_ !== void 0, "expected module symbol to have a declaration"), o.addImportForModuleSymbol(u, c, _)) : o.addImportFromExportedSymbol(m, c, _);
        }), woe(n, e.fileName, o, s);
      }
      var nL = "Inline variable", joe = bs(p.Inline_variable), Boe = {
        name: nL,
        description: joe,
        kind: "refactor.inline.variable"
      };
      zg(nL, {
        kinds: [Boe.kind],
        getAvailableActions(e) {
          const {
            file: t,
            program: n,
            preferences: i,
            startPosition: s,
            triggerReason: o
          } = e, c = ISe(t, s, o === "invoked", n);
          return c ? lk.isRefactorErrorInfo(c) ? i.provideRefactorNotApplicableReason ? [{
            name: nL,
            description: joe,
            actions: [{
              ...Boe,
              notApplicableReason: c.error
            }]
          }] : Ge : [{
            name: nL,
            description: joe,
            actions: [Boe]
          }] : Ge;
        },
        getEditsForAction(e, t) {
          E.assert(t === nL, "Unexpected refactor invoked");
          const { file: n, program: i, startPosition: s } = e, o = ISe(
            n,
            s,
            /*tryWithReferenceToken*/
            true,
            i
          );
          if (!o || lk.isRefactorErrorInfo(o))
            return;
          const { references: c, declaration: _, replacement: u } = o;
          return { edits: cn.ChangeTracker.with(e, (m) => {
            for (const h of c) {
              const S = oa(u) && Me(h) && rd(h.parent);
              S && _6(S) && !Z1(S.parent.parent) ? mWe(m, n, S, u) : m.replaceNode(n, h, dWe(h, u));
            }
            m.delete(n, _);
          }) };
        }
      });
      function ISe(e, t, n, i) {
        var s, o;
        const c = i.getTypeChecker(), _ = k_(e, t), u = _.parent;
        if (Me(_)) {
          if (cN(u) && I4(u) && Me(u.name)) {
            if (((s = c.getMergedSymbol(u.symbol).declarations) == null ? void 0 : s.length) !== 1)
              return { error: bs(p.Variables_with_multiple_declarations_cannot_be_inlined) };
            if (FSe(u))
              return;
            const g = OSe(u, c, e);
            return g && { references: g, declaration: u, replacement: u.initializer };
          }
          if (n) {
            let g = c.resolveName(
              _.text,
              _,
              111551,
              /*excludeGlobals*/
              false
            );
            if (g = g && c.getMergedSymbol(g), ((o = g?.declarations) == null ? void 0 : o.length) !== 1)
              return { error: bs(p.Variables_with_multiple_declarations_cannot_be_inlined) };
            const m = g.declarations[0];
            if (!cN(m) || !I4(m) || !Me(m.name) || FSe(m))
              return;
            const h = OSe(m, c, e);
            return h && { references: h, declaration: m, replacement: m.initializer };
          }
          return { error: bs(p.Could_not_find_variable_to_inline) };
        }
      }
      function FSe(e) {
        const t = Ws(e.parent.parent, Pc);
        return ot(t.modifiers, Ox);
      }
      function OSe(e, t, n) {
        const i = [], s = So.Core.eachSymbolReferenceInFile(e.name, t, n, (o) => {
          if (So.isWriteAccessForReference(o) && !fu(o.parent) || Eu(o.parent) || Fo(o.parent) || Jb(o.parent) || QP(e, o.pos))
            return true;
          i.push(o);
        });
        return i.length === 0 || s ? void 0 : i;
      }
      function dWe(e, t) {
        t = Wa(t);
        const { parent: n } = e;
        return ut(n) && ($4(t) < $4(n) || L9(n)) || Cs(t) && (vb(n) || wn(n)) || wn(n) && (T_(t) || ua(t)) ? N.createParenthesizedExpression(t) : Me(e) && fu(n) ? N.createPropertyAssignment(e, t) : t;
      }
      function mWe(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 iL = "Move to a new file", Joe = bs(p.Move_to_a_new_file), zoe = {
        name: iL,
        description: Joe,
        kind: "refactor.move.newFile"
      };
      zg(iL, {
        kinds: [zoe.kind],
        getAvailableActions: function(t) {
          const n = sA(t), i = t.file;
          if (t.triggerReason === "implicit" && t.endPosition !== void 0) {
            const s = dr(vi(i, t.startPosition), ok), o = dr(vi(i, t.endPosition), ok);
            if (s && !Di(s) && o && !Di(o))
              return Ge;
          }
          if (t.preferences.allowTextChangesInNewFiles && n) {
            const s = t.file, o = {
              start: { line: Rs(s, n.all[0].getStart(s)).line, offset: Rs(s, n.all[0].getStart(s)).character },
              end: { line: Rs(s, fa(n.all).end).line, offset: Rs(s, fa(n.all).end).character }
            };
            return [{ name: iL, description: Joe, actions: [{ ...zoe, range: o }] }];
          }
          return t.preferences.provideRefactorNotApplicableReason ? [{ name: iL, description: Joe, actions: [{ ...zoe, notApplicableReason: bs(p.Selection_is_not_a_valid_statement_or_statements) }] }] : Ge;
        },
        getEditsForAction: function(t, n) {
          E.assert(n === iL, "Wrong refactor invoked");
          const i = E.checkDefined(sA(t));
          return { edits: cn.ChangeTracker.with(t, (o) => gWe(t.file, t.program, i, o, t.host, t, t.preferences)), renameFilename: void 0, renameLocation: void 0 };
        }
      });
      function gWe(e, t, n, i, s, o, c) {
        const _ = t.getTypeChecker(), u = rL(e, n.all, _), g = Noe(e, t, s, n), m = $9(g, e.externalModuleIndicator ? 99 : e.commonJsModuleIndicator ? 1 : void 0, t, s), h = Nu.createImportAdder(e, o.program, o.preferences, o.host), S = Nu.createImportAdder(m, o.program, o.preferences, o.host);
        Coe(e, m, u, i, n, t, s, c, S, h), Eoe(t, i, e.fileName, g, yh(s));
      }
      var hWe = {}, Woe = "Convert overload list to single signature", LSe = bs(p.Convert_overload_list_to_single_signature), MSe = {
        name: Woe,
        description: LSe,
        kind: "refactor.rewrite.function.overloadList"
      };
      zg(Woe, {
        kinds: [MSe.kind],
        getEditsForAction: vWe,
        getAvailableActions: yWe
      });
      function yWe(e) {
        const { file: t, startPosition: n, program: i } = e;
        return jSe(t, n, i) ? [{
          name: Woe,
          description: LSe,
          actions: [MSe]
        }] : Ge;
      }
      function vWe(e) {
        const { file: t, startPosition: n, program: i } = e, s = jSe(t, n, i);
        if (!s) return;
        const o = i.getTypeChecker(), c = s[s.length - 1];
        let _ = c;
        switch (c.kind) {
          case 174: {
            _ = N.updateMethodSignature(
              c,
              c.modifiers,
              c.name,
              c.questionToken,
              c.typeParameters,
              g(s),
              c.type
            );
            break;
          }
          case 175: {
            _ = N.updateMethodDeclaration(
              c,
              c.modifiers,
              c.asteriskToken,
              c.name,
              c.questionToken,
              c.typeParameters,
              g(s),
              c.type,
              c.body
            );
            break;
          }
          case 180: {
            _ = N.updateCallSignature(
              c,
              c.typeParameters,
              g(s),
              c.type
            );
            break;
          }
          case 177: {
            _ = N.updateConstructorDeclaration(
              c,
              c.modifiers,
              g(s),
              c.body
            );
            break;
          }
          case 181: {
            _ = N.updateConstructSignature(
              c,
              c.typeParameters,
              g(s),
              c.type
            );
            break;
          }
          case 263: {
            _ = 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: cn.ChangeTracker.with(e, (S) => {
          S.replaceNodeRange(t, s[0], s[s.length - 1], _);
        }) };
        function g(S) {
          const T = S[S.length - 1];
          return to(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(hr(S, m))
            )
          ]);
        }
        function m(S) {
          const T = hr(S.parameters, h);
          return un(
            N.createTupleTypeNode(T),
            ot(T, (k) => !!wr(i6(k))) ? 0 : 1
            /* SingleLine */
          );
        }
        function h(S) {
          E.assert(Me(S.name));
          const T = ct(
            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 = cA(k);
            D.length && Q1(T, [{
              text: `*
${D.split(`
`).map((P) => ` * ${P}`).join(`
`)}
 `,
              kind: 3,
              pos: -1,
              end: -1,
              hasTrailingNewLine: true,
              hasLeadingNewline: true
            }]);
          }
          return T;
        }
      }
      function RSe(e) {
        switch (e.kind) {
          case 174:
          case 175:
          case 180:
          case 177:
          case 181:
          case 263:
            return true;
        }
        return false;
      }
      function jSe(e, t, n) {
        const i = vi(e, t), s = dr(i, RSe);
        if (!s || to(s) && s.body && J6(s.body, t))
          return;
        const o = n.getTypeChecker(), c = s.symbol;
        if (!c)
          return;
        const _ = c.declarations;
        if (wr(_) <= 1 || !Ni(_, (S) => xr(S) === e) || !RSe(_[0]))
          return;
        const u = _[0].kind;
        if (!Ni(_, (S) => S.kind === u))
          return;
        const g = _;
        if (ot(g, (S) => !!S.typeParameters || ot(S.parameters, (T) => !!T.modifiers || !Me(T.name))))
          return;
        const m = Fi(g, (S) => o.getSignatureFromDeclaration(S));
        if (wr(m) !== wr(_))
          return;
        const h = o.getReturnTypeOfSignature(m[0]);
        if (Ni(m, (S) => o.getReturnTypeOfSignature(S) === h))
          return g;
      }
      var Uoe = "Add or remove braces in an arrow function", BSe = bs(p.Add_or_remove_braces_in_an_arrow_function), Uq = {
        name: "Add braces to arrow function",
        description: bs(p.Add_braces_to_arrow_function),
        kind: "refactor.rewrite.arrow.braces.add"
      }, sL = {
        name: "Remove braces from arrow function",
        description: bs(p.Remove_braces_from_arrow_function),
        kind: "refactor.rewrite.arrow.braces.remove"
      };
      zg(Uoe, {
        kinds: [sL.kind],
        getEditsForAction: SWe,
        getAvailableActions: bWe
      });
      function bWe(e) {
        const { file: t, startPosition: n, triggerReason: i } = e, s = JSe(t, n, i === "invoked");
        return s ? Ph(s) ? e.preferences.provideRefactorNotApplicableReason ? [{
          name: Uoe,
          description: BSe,
          actions: [
            { ...Uq, notApplicableReason: s.error },
            { ...sL, notApplicableReason: s.error }
          ]
        }] : Ge : [{
          name: Uoe,
          description: BSe,
          actions: [
            s.addBraces ? Uq : sL
          ]
        }] : Ge;
      }
      function SWe(e, t) {
        const { file: n, startPosition: i } = e, s = JSe(n, i);
        E.assert(s && !Ph(s), "Expected applicable refactor info");
        const { expression: o, returnStatement: c, func: _ } = s;
        let u;
        if (t === Uq.name) {
          const m = N.createReturnStatement(o);
          u = N.createBlock(
            [m],
            /*multiLine*/
            true
          ), H6(
            o,
            m,
            n,
            3,
            /*hasTrailingNewLine*/
            true
          );
        } else if (t === sL.name && c) {
          const m = o || N.createVoidZero();
          u = L9(m) ? N.createParenthesizedExpression(m) : m, X8(
            c,
            u,
            n,
            3,
            /*hasTrailingNewLine*/
            false
          ), H6(
            c,
            u,
            n,
            3,
            /*hasTrailingNewLine*/
            false
          ), bw(
            c,
            u,
            n,
            3,
            /*hasTrailingNewLine*/
            false
          );
        } else
          E.fail("invalid action");
        return { renameFilename: void 0, renameLocation: void 0, edits: cn.ChangeTracker.with(e, (m) => {
          m.replaceNode(n, _.body, u);
        }) };
      }
      function JSe(e, t, n = true, i) {
        const s = vi(e, t), o = Df(s);
        if (!o)
          return {
            error: bs(p.Could_not_find_a_containing_arrow_function)
          };
        if (!bo(o))
          return {
            error: bs(p.Containing_function_is_not_an_arrow_function)
          };
        if (!(!S_(o, s) || S_(o.body, s) && !n)) {
          if (yv(Uq.kind, i) && ut(o.body))
            return { func: o, addBraces: true, expression: o.body };
          if (yv(sL.kind, i) && Ps(o.body) && o.body.statements.length === 1) {
            const c = ka(o.body.statements);
            if (Sf(c)) {
              const _ = c.expression && ua(ZC(
                c.expression,
                /*stopAtCallExpressions*/
                false
              )) ? N.createParenthesizedExpression(c.expression) : c.expression;
              return { func: o, addBraces: false, expression: _, returnStatement: c };
            }
          }
        }
      }
      var TWe = {}, zSe = "Convert arrow function or function expression", xWe = bs(p.Convert_arrow_function_or_function_expression), aL = {
        name: "Convert to anonymous function",
        description: bs(p.Convert_to_anonymous_function),
        kind: "refactor.rewrite.function.anonymous"
      }, oL = {
        name: "Convert to named function",
        description: bs(p.Convert_to_named_function),
        kind: "refactor.rewrite.function.named"
      }, cL = {
        name: "Convert to arrow function",
        description: bs(p.Convert_to_arrow_function),
        kind: "refactor.rewrite.function.arrow"
      };
      zg(zSe, {
        kinds: [
          aL.kind,
          oL.kind,
          cL.kind
        ],
        getEditsForAction: CWe,
        getAvailableActions: kWe
      });
      function kWe(e) {
        const { file: t, startPosition: n, program: i, kind: s } = e, o = USe(t, n, i);
        if (!o) return Ge;
        const { selectedVariableDeclaration: c, func: _ } = o, u = [], g = [];
        if (yv(oL.kind, s)) {
          const m = c || bo(_) && ei(_.parent) ? void 0 : bs(p.Could_not_convert_to_named_function);
          m ? g.push({ ...oL, notApplicableReason: m }) : u.push(oL);
        }
        if (yv(aL.kind, s)) {
          const m = !c && bo(_) ? void 0 : bs(p.Could_not_convert_to_anonymous_function);
          m ? g.push({ ...aL, notApplicableReason: m }) : u.push(aL);
        }
        if (yv(cL.kind, s)) {
          const m = mo(_) ? void 0 : bs(p.Could_not_convert_to_arrow_function);
          m ? g.push({ ...cL, notApplicableReason: m }) : u.push(cL);
        }
        return [{
          name: zSe,
          description: xWe,
          actions: u.length === 0 && e.preferences.provideRefactorNotApplicableReason ? g : u
        }];
      }
      function CWe(e, t) {
        const { file: n, startPosition: i, program: s } = e, o = USe(n, i, s);
        if (!o) return;
        const { func: c } = o, _ = [];
        switch (t) {
          case aL.name:
            _.push(...PWe(e, c));
            break;
          case oL.name:
            const u = wWe(c);
            if (!u) return;
            _.push(...NWe(e, c, u));
            break;
          case cL.name:
            if (!mo(c)) return;
            _.push(...AWe(e, c));
            break;
          default:
            return E.fail("invalid action");
        }
        return { renameFilename: void 0, renameLocation: void 0, edits: _ };
      }
      function WSe(e) {
        let t = false;
        return e.forEachChild(function n(i) {
          if (B6(i)) {
            t = true;
            return;
          }
          !$n(i) && !Tc(i) && !mo(i) && Ts(i, n);
        }), t;
      }
      function USe(e, t, n) {
        const i = vi(e, t), s = n.getTypeChecker(), o = DWe(e, s, i.parent);
        if (o && !WSe(o.body) && !s.containsArgumentsReference(o))
          return { selectedVariableDeclaration: true, func: o };
        const c = Df(i);
        if (c && (mo(c) || bo(c)) && !S_(c.body, i) && !WSe(c.body) && !s.containsArgumentsReference(c))
          return mo(c) && qSe(e, s, c) ? void 0 : { selectedVariableDeclaration: false, func: c };
      }
      function EWe(e) {
        return ei(e) || Bl(e) && e.declarations.length === 1;
      }
      function DWe(e, t, n) {
        if (!EWe(n))
          return;
        const s = (ei(n) ? n : ka(n.declarations)).initializer;
        if (s && (bo(s) || mo(s) && !qSe(e, t, s)))
          return s;
      }
      function VSe(e) {
        if (ut(e)) {
          const t = N.createReturnStatement(e), n = e.getSourceFile();
          return ct(t, e), tf(t), X8(
            e,
            t,
            n,
            /*commentKind*/
            void 0,
            /*hasTrailingNewLine*/
            true
          ), N.createBlock(
            [t],
            /*multiLine*/
            true
          );
        } else
          return e;
      }
      function wWe(e) {
        const t = e.parent;
        if (!ei(t) || !I4(t)) return;
        const n = t.parent, i = n.parent;
        if (!(!Bl(n) || !Pc(i) || !Me(t.name)))
          return { variableDeclaration: t, variableDeclarationList: n, statement: i, name: t.name };
      }
      function PWe(e, t) {
        const { file: n } = e, i = VSe(t.body), s = N.createFunctionExpression(
          t.modifiers,
          t.asteriskToken,
          /*name*/
          void 0,
          t.typeParameters,
          t.parameters,
          t.type,
          i
        );
        return cn.ChangeTracker.with(e, (o) => o.replaceNode(n, t, s));
      }
      function NWe(e, t, n) {
        const { file: i } = e, s = VSe(t.body), { variableDeclaration: o, variableDeclarationList: c, statement: _, name: u } = n;
        KJ(_);
        const g = L1(o) & 32 | lu(t), m = N.createModifiersFromModifierFlags(g), h = N.createFunctionDeclaration(wr(m) ? m : void 0, t.asteriskToken, u, t.typeParameters, t.parameters, t.type, s);
        return c.declarations.length === 1 ? cn.ChangeTracker.with(e, (S) => S.replaceNode(i, _, h)) : cn.ChangeTracker.with(e, (S) => {
          S.delete(i, o), S.insertNodeAfter(i, _, h);
        });
      }
      function AWe(e, t) {
        const { file: n } = e, s = t.body.statements[0];
        let o;
        IWe(t.body, s) ? (o = s.expression, tf(o), RS(s, o)) : o = t.body;
        const c = N.createArrowFunction(t.modifiers, t.typeParameters, t.parameters, t.type, N.createToken(
          39
          /* EqualsGreaterThanToken */
        ), o);
        return cn.ChangeTracker.with(e, (_) => _.replaceNode(n, t, c));
      }
      function IWe(e, t) {
        return e.statements.length === 1 && Sf(t) && !!t.expression;
      }
      function qSe(e, t, n) {
        return !!n.name && So.Core.isSymbolReferencedInFile(n.name, t, e);
      }
      var FWe = {}, Vq = "Convert parameters to destructured object", OWe = 1, HSe = bs(p.Convert_parameters_to_destructured_object), GSe = {
        name: Vq,
        description: HSe,
        kind: "refactor.rewrite.parameters.toDestructured"
      };
      zg(Vq, {
        kinds: [GSe.kind],
        getEditsForAction: MWe,
        getAvailableActions: LWe
      });
      function LWe(e) {
        const { file: t, startPosition: n } = e;
        return Ku(t) || !QSe(t, n, e.program.getTypeChecker()) ? Ge : [{
          name: Vq,
          description: HSe,
          actions: [GSe]
        }];
      }
      function MWe(e, t) {
        E.assert(t === Vq, "Unexpected action name");
        const { file: n, startPosition: i, program: s, cancellationToken: o, host: c } = e, _ = QSe(n, i, s.getTypeChecker());
        if (!_ || !o) return;
        const u = jWe(_, s, o);
        return u.valid ? { renameFilename: void 0, renameLocation: void 0, edits: cn.ChangeTracker.with(e, (m) => RWe(n, s, c, m, _, u)) } : { edits: [] };
      }
      function RWe(e, t, n, i, s, o) {
        const c = o.signature, _ = hr(eTe(s, t, n), (m) => Wa(m));
        if (c) {
          const m = hr(eTe(c, t, n), (h) => Wa(h));
          g(c, m);
        }
        g(s, _);
        const u = ZE(
          o.functionCalls,
          /*comparer*/
          (m, h) => po(m.pos, h.pos)
        );
        for (const m of u)
          if (m.arguments && m.arguments.length) {
            const h = Wa(
              $We(s, m.arguments),
              /*includeTrivia*/
              true
            );
            i.replaceNodeRange(
              xr(m),
              ka(m.arguments),
              fa(m.arguments),
              h,
              { leadingTriviaOption: cn.LeadingTriviaOption.IncludeAll, trailingTriviaOption: cn.TrailingTriviaOption.Include }
            );
          }
        function g(m, h) {
          i.replaceNodeRangeWithNodes(
            e,
            ka(m.parameters),
            fa(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: cn.LeadingTriviaOption.IncludeAll,
              trailingTriviaOption: cn.TrailingTriviaOption.Include
            }
          );
        }
      }
      function jWe(e, t, n) {
        const i = QWe(e), s = ec(e) ? XWe(e) : [], o = _b([...i, ...s], _y), c = t.getTypeChecker(), _ = xa(
          o,
          /*mapfn*/
          (h) => So.getReferenceEntriesForNode(-1, h, t, t.getSourceFiles(), n)
        ), u = g(_);
        return Ni(
          u.declarations,
          /*callback*/
          (h) => ds(o, h)
        ) || (u.valid = false), u;
        function g(h) {
          const S = { accessExpressions: [], typeUsages: [] }, T = { functionCalls: [], declarations: [], classReferences: S, valid: true }, k = hr(i, m), D = hr(s, m), P = ec(e), A = hr(i, (O) => Voe(O, c));
          for (const O of h) {
            if (O.kind === So.EntryKind.Span) {
              T.valid = false;
              continue;
            }
            if (ds(A, m(O.node))) {
              if (WWe(O.node.parent)) {
                T.signature = O.node.parent;
                continue;
              }
              const R = XSe(O);
              if (R) {
                T.functionCalls.push(R);
                continue;
              }
            }
            const F = Voe(O.node, c);
            if (F && ds(A, F)) {
              const R = qoe(O);
              if (R) {
                T.declarations.push(R);
                continue;
              }
            }
            if (ds(k, m(O.node)) || _w(O.node)) {
              if ($Se(O))
                continue;
              const B = qoe(O);
              if (B) {
                T.declarations.push(B);
                continue;
              }
              const U = XSe(O);
              if (U) {
                T.functionCalls.push(U);
                continue;
              }
            }
            if (P && ds(D, m(O.node))) {
              if ($Se(O))
                continue;
              const B = qoe(O);
              if (B) {
                T.declarations.push(B);
                continue;
              }
              const U = BWe(O);
              if (U) {
                S.accessExpressions.push(U);
                continue;
              }
              if (Zc(e.parent)) {
                const $ = JWe(O);
                if ($) {
                  S.typeUsages.push($);
                  continue;
                }
              }
            }
            T.valid = false;
          }
          return T;
        }
        function m(h) {
          const S = c.getSymbolAtLocation(h);
          return S && tq(S, c);
        }
      }
      function Voe(e, t) {
        const n = lA(e);
        if (n) {
          const i = t.getContextualTypeForObjectLiteralElement(n), s = i?.getSymbol();
          if (s && !(oc(s) & 6))
            return s;
        }
      }
      function $Se(e) {
        const t = e.node;
        if (qu(t.parent) || sd(t.parent) || cl(t.parent) || jg(t.parent) || Eu(t.parent) || Fo(t.parent))
          return t;
      }
      function qoe(e) {
        if (Cl(e.node.parent))
          return e.node;
      }
      function XSe(e) {
        if (e.node.parent) {
          const t = e.node, n = t.parent;
          switch (n.kind) {
            // foo(...) or super(...) or new Foo(...)
            case 214:
            case 215:
              const i = Bn(n, tm);
              if (i && i.expression === t)
                return i;
              break;
            // x.foo(...)
            case 212:
              const s = Bn(n, wn);
              if (s && s.parent && s.name === t) {
                const c = Bn(s.parent, tm);
                if (c && c.expression === s)
                  return c;
              }
              break;
            // x["foo"](...)
            case 213:
              const o = Bn(n, oo);
              if (o && o.parent && o.argumentExpression === t) {
                const c = Bn(o.parent, tm);
                if (c && c.expression === o)
                  return c;
              }
              break;
          }
        }
      }
      function BWe(e) {
        if (e.node.parent) {
          const t = e.node, n = t.parent;
          switch (n.kind) {
            // `C.foo`
            case 212:
              const i = Bn(n, wn);
              if (i && i.expression === t)
                return i;
              break;
            // `C["foo"]`
            case 213:
              const s = Bn(n, oo);
              if (s && s.expression === t)
                return s;
              break;
          }
        }
      }
      function JWe(e) {
        const t = e.node;
        if (LS(t) === 2 || A5(t.parent))
          return t;
      }
      function QSe(e, t, n) {
        const i = z6(e, t), s = hK(i);
        if (!zWe(i) && s && UWe(s, n) && S_(s, i) && !(s.body && S_(s.body, i)))
          return s;
      }
      function zWe(e) {
        const t = dr(e, wC);
        if (t) {
          const n = dr(t, (i) => !wC(i));
          return !!n && to(n);
        }
        return false;
      }
      function WWe(e) {
        return id(e) && (Jl(e.parent) || r_(e.parent));
      }
      function UWe(e, t) {
        var n;
        if (!VWe(e.parameters, t)) return false;
        switch (e.kind) {
          case 263:
            return YSe(e) && lL(e, t);
          case 175:
            if (ua(e.parent)) {
              const i = Voe(e.name, t);
              return ((n = i?.declarations) == null ? void 0 : n.length) === 1 && lL(e, t);
            }
            return lL(e, t);
          case 177:
            return Zc(e.parent) ? YSe(e.parent) && lL(e, t) : ZSe(e.parent.parent) && lL(e, t);
          case 219:
          case 220:
            return ZSe(e.parent);
        }
        return false;
      }
      function lL(e, t) {
        return !!e.body && !t.isImplementationOfOverload(e);
      }
      function YSe(e) {
        return e.name ? true : !!U6(
          e,
          90
          /* DefaultKeyword */
        );
      }
      function VWe(e, t) {
        return HWe(e) >= OWe && Ni(
          e,
          /*callback*/
          (n) => qWe(n, t)
        );
      }
      function qWe(e, t) {
        if (Wm(e)) {
          const n = t.getTypeAtLocation(e);
          if (!t.isArrayType(n) && !t.isTupleType(n)) return false;
        }
        return !e.modifiers && Me(e.name);
      }
      function ZSe(e) {
        return ei(e) && OC(e) && Me(e.name) && !e.type;
      }
      function Hoe(e) {
        return e.length > 0 && B6(e[0].name);
      }
      function HWe(e) {
        return Hoe(e) ? e.length - 1 : e.length;
      }
      function KSe(e) {
        return Hoe(e) && (e = N.createNodeArray(e.slice(1), e.hasTrailingComma)), e;
      }
      function GWe(e, t) {
        return Me(t) && np(t) === e ? N.createShorthandPropertyAssignment(e) : N.createPropertyAssignment(e, t);
      }
      function $We(e, t) {
        const n = KSe(e.parameters), i = Wm(fa(n)), s = i ? t.slice(0, n.length - 1) : t, o = hr(s, (_, u) => {
          const g = qq(n[u]), m = GWe(g, _);
          return tf(m.name), Kc(m) && tf(m.initializer), RS(_, m), m;
        });
        if (i && t.length >= n.length) {
          const _ = t.slice(n.length - 1), u = N.createPropertyAssignment(qq(fa(n)), N.createArrayLiteralExpression(_));
          o.push(u);
        }
        return N.createObjectLiteralExpression(
          o,
          /*multiLine*/
          false
        );
      }
      function eTe(e, t, n) {
        const i = t.getTypeChecker(), s = KSe(e.parameters), o = hr(s, m), c = N.createObjectBindingPattern(o), _ = h(s);
        let u;
        Ni(s, k) && (u = N.createObjectLiteralExpression());
        const g = N.createParameterDeclaration(
          /*modifiers*/
          void 0,
          /*dotDotDotToken*/
          void 0,
          c,
          /*questionToken*/
          void 0,
          _,
          u
        );
        if (Hoe(e.parameters)) {
          const D = e.parameters[0], P = N.createParameterDeclaration(
            /*modifiers*/
            void 0,
            /*dotDotDotToken*/
            void 0,
            D.name,
            /*questionToken*/
            void 0,
            D.type
          );
          return tf(P.name), RS(D.name, P.name), D.type && (tf(P.type), RS(D.type, P.type)), N.createNodeArray([P, g]);
        }
        return N.createNodeArray([g]);
        function m(D) {
          const P = N.createBindingElement(
            /*dotDotDotToken*/
            void 0,
            /*propertyName*/
            void 0,
            qq(D),
            Wm(D) && k(D) ? N.createArrayLiteralExpression() : D.initializer
          );
          return tf(P), D.initializer && P.initializer && RS(D.initializer, P.initializer), P;
        }
        function h(D) {
          const P = hr(D, S);
          return fm(
            N.createTypeLiteralNode(P),
            1
            /* SingleLine */
          );
        }
        function S(D) {
          let P = D.type;
          !P && (D.initializer || Wm(D)) && (P = T(D));
          const A = N.createPropertySignature(
            /*modifiers*/
            void 0,
            qq(D),
            k(D) ? N.createToken(
              58
              /* QuestionToken */
            ) : D.questionToken,
            P
          );
          return tf(A), RS(D.name, A.name), D.type && A.type && RS(D.type, A.type), A;
        }
        function T(D) {
          const P = i.getTypeAtLocation(D);
          return Tw(P, D, t, n);
        }
        function k(D) {
          if (Wm(D)) {
            const P = i.getTypeAtLocation(D);
            return !i.isTupleType(P);
          }
          return i.isOptionalParameter(D);
        }
      }
      function qq(e) {
        return np(e.name);
      }
      function XWe(e) {
        switch (e.parent.kind) {
          case 264:
            const t = e.parent;
            return t.name ? [t.name] : [E.checkDefined(
              U6(
                t,
                90
                /* DefaultKeyword */
              ),
              "Nameless class declaration should be a default export"
            )];
          case 232:
            const i = e.parent, s = e.parent.parent, o = i.name;
            return o ? [o, s.name] : [s.name];
        }
      }
      function QWe(e) {
        switch (e.kind) {
          case 263:
            return e.name ? [e.name] : [E.checkDefined(
              U6(
                e,
                90
                /* DefaultKeyword */
              ),
              "Nameless function declaration should be a default export"
            )];
          case 175:
            return [e.name];
          case 177:
            const n = E.checkDefined(
              $a(e, 137, e.getSourceFile()),
              "Constructor declaration should have constructor keyword"
            );
            return e.parent.kind === 232 ? [e.parent.parent.name, n] : [n];
          case 220:
            return [e.parent.name];
          case 219:
            return e.name ? [e.name, e.parent.name] : [e.parent.name];
          default:
            return E.assertNever(e, `Unexpected function declaration kind ${e.kind}`);
        }
      }
      var YWe = {}, Goe = "Convert to template string", $oe = bs(p.Convert_to_template_string), Xoe = {
        name: Goe,
        description: $oe,
        kind: "refactor.rewrite.string"
      };
      zg(Goe, {
        kinds: [Xoe.kind],
        getEditsForAction: KWe,
        getAvailableActions: ZWe
      });
      function ZWe(e) {
        const { file: t, startPosition: n } = e, i = tTe(t, n), s = Qoe(i), o = oa(s), c = { name: Goe, description: $oe, actions: [] };
        return o && e.triggerReason !== "invoked" ? Ge : qm(s) && (o || _n(s) && Yoe(s).isValidConcatenation) ? (c.actions.push(Xoe), [c]) : e.preferences.provideRefactorNotApplicableReason ? (c.actions.push({ ...Xoe, notApplicableReason: bs(p.Can_only_convert_string_concatenations_and_string_literals) }), [c]) : Ge;
      }
      function tTe(e, t) {
        const n = vi(e, t), i = Qoe(n);
        return !Yoe(i).isValidConcatenation && n_(i.parent) && _n(i.parent.parent) ? i.parent.parent : n;
      }
      function KWe(e, t) {
        const { file: n, startPosition: i } = e, s = tTe(n, i);
        switch (t) {
          case $oe:
            return { edits: eUe(e, s) };
          default:
            return E.fail("invalid action");
        }
      }
      function eUe(e, t) {
        const n = Qoe(t), i = e.file, s = sUe(Yoe(n), i), o = gy(i.text, n.end);
        if (o) {
          const c = o[o.length - 1], _ = { pos: o[0].pos, end: c.end };
          return cn.ChangeTracker.with(e, (u) => {
            u.deleteRange(i, _), u.replaceNode(i, n, s);
          });
        } else
          return cn.ChangeTracker.with(e, (c) => c.replaceNode(i, n, s));
      }
      function tUe(e) {
        return !(e.operatorToken.kind === 64 || e.operatorToken.kind === 65);
      }
      function Qoe(e) {
        return dr(e.parent, (n) => {
          switch (n.kind) {
            case 212:
            case 213:
              return false;
            case 229:
            case 227:
              return !(_n(n.parent) && tUe(n.parent));
            default:
              return "quit";
          }
        }) || e;
      }
      function Yoe(e) {
        const t = (c) => {
          if (!_n(c))
            return { nodes: [c], operators: [], validOperators: true, hasString: oa(c) || mS(c) };
          const { nodes: _, operators: u, hasString: g, validOperators: m } = t(c.left);
          if (!(g || oa(c.right) || DF(c.right)))
            return { nodes: [c], operators: [], hasString: false, validOperators: true };
          const h = c.operatorToken.kind === 40, S = m && h;
          return _.push(c.right), u.push(c.operatorToken), { nodes: _, operators: u, hasString: true, validOperators: S };
        }, { nodes: n, operators: i, validOperators: s, hasString: o } = t(e);
        return { nodes: n, operators: i, isValidConcatenation: s && o };
      }
      var rUe = (e, t) => (n, i) => {
        n < e.length && bw(
          e[n],
          i,
          t,
          3,
          /*hasTrailingNewLine*/
          false
        );
      }, nUe = (e, t, n) => (i, s) => {
        for (; i.length > 0; ) {
          const o = i.shift();
          bw(
            e[o],
            s,
            t,
            3,
            /*hasTrailingNewLine*/
            false
          ), n(o, s);
        }
      };
      function iUe(e) {
        return e.replace(/\\.|[$`]/g, (t) => t[0] === "\\" ? t : "\\" + t);
      }
      function rTe(e) {
        const t = Fx(e) || cz(e) ? -2 : -1;
        return Go(e).slice(1, t);
      }
      function nTe(e, t) {
        const n = [];
        let i = "", s = "";
        for (; e < t.length; ) {
          const o = t[e];
          if (Ma(o))
            i += o.text, s += iUe(Go(o).slice(1, -1)), n.push(e), e++;
          else if (DF(o)) {
            i += o.head.text, s += rTe(o.head);
            break;
          } else
            break;
        }
        return [e, i, s, n];
      }
      function sUe({ nodes: e, operators: t }, n) {
        const i = rUe(t, n), s = nUe(e, n, i), [o, c, _, u] = nTe(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 = aUe(e[h]);
          i(h, S);
          const [T, k, D, P] = nTe(h + 1, e);
          h = T - 1;
          const A = h === e.length - 1;
          if (DF(S)) {
            const O = hr(S.templateSpans, (F, R) => {
              iTe(F);
              const B = R === S.templateSpans.length - 1, U = F.literal.text + (B ? k : ""), $ = rTe(F.literal) + (B ? D : "");
              return N.createTemplateSpan(
                F.expression,
                A && B ? N.createTemplateTail(U, $) : N.createTemplateMiddle(U, $)
              );
            });
            g.push(...O);
          } else {
            const O = A ? N.createTemplateTail(k, D) : N.createTemplateMiddle(k, D);
            s(P, O), g.push(N.createTemplateSpan(S, O));
          }
        }
        return N.createTemplateExpression(m, g);
      }
      function iTe(e) {
        const t = e.getSourceFile();
        bw(
          e,
          e.expression,
          t,
          3,
          /*hasTrailingNewLine*/
          false
        ), X8(
          e.expression,
          e.expression,
          t,
          3,
          /*hasTrailingNewLine*/
          false
        );
      }
      function aUe(e) {
        return n_(e) && (iTe(e), e = e.expression), e;
      }
      var oUe = {}, Hq = "Convert to optional chain expression", Zoe = bs(p.Convert_to_optional_chain_expression), Koe = {
        name: Hq,
        description: Zoe,
        kind: "refactor.rewrite.expression.optionalChain"
      };
      zg(Hq, {
        kinds: [Koe.kind],
        getEditsForAction: lUe,
        getAvailableActions: cUe
      });
      function cUe(e) {
        const t = sTe(e, e.triggerReason === "invoked");
        return t ? Ph(t) ? e.preferences.provideRefactorNotApplicableReason ? [{
          name: Hq,
          description: Zoe,
          actions: [{ ...Koe, notApplicableReason: t.error }]
        }] : Ge : [{
          name: Hq,
          description: Zoe,
          actions: [Koe]
        }] : Ge;
      }
      function lUe(e, t) {
        const n = sTe(e);
        return E.assert(n && !Ph(n), "Expected applicable refactor info"), { edits: cn.ChangeTracker.with(e, (s) => hUe(e.file, e.program.getTypeChecker(), s, n)), renameFilename: void 0, renameLocation: void 0 };
      }
      function Gq(e) {
        return _n(e) || vS(e);
      }
      function uUe(e) {
        return Dl(e) || Sf(e) || Pc(e);
      }
      function $q(e) {
        return Gq(e) || uUe(e);
      }
      function sTe(e, t = true) {
        const { file: n, program: i } = e, s = ak(e), o = s.length === 0;
        if (o && !t) return;
        const c = vi(n, s.start), _ = pw(n, s.start + s.length), u = Dc(c.pos, _ && _.end >= c.pos ? _.getEnd() : c.getEnd()), g = o ? mUe(c) : dUe(c, u), m = g && $q(g) ? gUe(g) : void 0;
        if (!m) return { error: bs(p.Could_not_find_convertible_access_expression) };
        const h = i.getTypeChecker();
        return vS(m) ? _Ue(m, h) : fUe(m);
      }
      function _Ue(e, t) {
        const n = e.condition, i = tce(e.whenTrue);
        if (!i || t.isNullableType(t.getTypeAtLocation(i)))
          return { error: bs(p.Could_not_find_convertible_access_expression) };
        if ((wn(n) || Me(n)) && ece(n, i.expression))
          return { finalExpression: i, occurrences: [n], expression: e };
        if (_n(n)) {
          const s = aTe(i.expression, n);
          return s ? { finalExpression: i, occurrences: s, expression: e } : { error: bs(p.Could_not_find_matching_access_expressions) };
        }
      }
      function fUe(e) {
        if (e.operatorToken.kind !== 56)
          return { error: bs(p.Can_only_convert_logical_AND_access_chains) };
        const t = tce(e.right);
        if (!t) return { error: bs(p.Could_not_find_convertible_access_expression) };
        const n = aTe(t.expression, e.left);
        return n ? { finalExpression: t, occurrences: n, expression: e } : { error: bs(p.Could_not_find_matching_access_expressions) };
      }
      function aTe(e, t) {
        const n = [];
        for (; _n(t) && t.operatorToken.kind === 56; ) {
          const s = ece(Ra(e), Ra(t.right));
          if (!s)
            break;
          n.push(s), e = s, t = t.left;
        }
        const i = ece(e, t);
        return i && n.push(i), n.length > 0 ? n : void 0;
      }
      function ece(e, t) {
        if (!(!Me(t) && !wn(t) && !oo(t)))
          return pUe(e, t) ? t : void 0;
      }
      function pUe(e, t) {
        for (; (ws(e) || wn(e) || oo(e)) && aA(e) !== aA(t); )
          e = e.expression;
        for (; wn(e) && wn(t) || oo(e) && oo(t); ) {
          if (aA(e) !== aA(t)) return false;
          e = e.expression, t = t.expression;
        }
        return Me(e) && Me(t) && e.getText() === t.getText();
      }
      function aA(e) {
        if (Me(e) || wf(e))
          return e.getText();
        if (wn(e))
          return aA(e.name);
        if (oo(e))
          return aA(e.argumentExpression);
      }
      function dUe(e, t) {
        for (; e.parent; ) {
          if ($q(e) && t.length !== 0 && e.end >= t.start + t.length)
            return e;
          e = e.parent;
        }
      }
      function mUe(e) {
        for (; e.parent; ) {
          if ($q(e) && !$q(e.parent))
            return e;
          e = e.parent;
        }
      }
      function gUe(e) {
        if (Gq(e))
          return e;
        if (Pc(e)) {
          const t = px(e), n = t?.initializer;
          return n && Gq(n) ? n : void 0;
        }
        return e.expression && Gq(e.expression) ? e.expression : void 0;
      }
      function tce(e) {
        if (e = Ra(e), _n(e))
          return tce(e.left);
        if ((wn(e) || oo(e) || ws(e)) && !Tu(e))
          return e;
      }
      function oTe(e, t, n) {
        if (wn(t) || oo(t) || ws(t)) {
          const i = oTe(e, t.expression, n), s = n.length > 0 ? n[n.length - 1] : void 0, o = s?.getText() === t.expression.getText();
          if (o && n.pop(), ws(t))
            return o ? N.createCallChain(i, N.createToken(
              29
              /* QuestionDotToken */
            ), t.typeArguments, t.arguments) : N.createCallChain(i, t.questionDotToken, t.typeArguments, t.arguments);
          if (wn(t))
            return o ? N.createPropertyAccessChain(i, N.createToken(
              29
              /* QuestionDotToken */
            ), t.name) : N.createPropertyAccessChain(i, t.questionDotToken, t.name);
          if (oo(t))
            return o ? N.createElementAccessChain(i, N.createToken(
              29
              /* QuestionDotToken */
            ), t.argumentExpression) : N.createElementAccessChain(i, t.questionDotToken, t.argumentExpression);
        }
        return t;
      }
      function hUe(e, t, n, i, s) {
        const { finalExpression: o, occurrences: c, expression: _ } = i, u = c[c.length - 1], g = oTe(t, o, c);
        g && (wn(g) || oo(g) || ws(g)) && (_n(_) ? n.replaceNodeRange(e, u, o, g) : vS(_) && n.replaceNode(e, _, N.createBinaryExpression(g, N.createToken(
          61
          /* QuestionQuestionToken */
        ), _.whenFalse)));
      }
      var cTe = {};
      Ec(cTe, {
        Messages: () => tu,
        RangeFacts: () => _Te,
        getRangeToExtract: () => rce,
        getRefactorActionsToExtractSymbol: () => lTe,
        getRefactorEditsToExtractSymbol: () => uTe
      });
      var Ew = "Extract Symbol", Dw = {
        name: "Extract Constant",
        description: bs(p.Extract_constant),
        kind: "refactor.extract.constant"
      }, ww = {
        name: "Extract Function",
        description: bs(p.Extract_function),
        kind: "refactor.extract.function"
      };
      zg(Ew, {
        kinds: [
          Dw.kind,
          ww.kind
        ],
        getEditsForAction: uTe,
        getAvailableActions: lTe
      });
      function lTe(e) {
        const t = e.kind, n = rce(e.file, ak(e), e.triggerReason === "invoked"), i = n.targetRange;
        if (i === void 0) {
          if (!n.errors || n.errors.length === 0 || !e.preferences.provideRefactorNotApplicableReason)
            return Ge;
          const D = [];
          return yv(ww.kind, t) && D.push({
            name: Ew,
            description: ww.description,
            actions: [{ ...ww, notApplicableReason: k(n.errors) }]
          }), yv(Dw.kind, t) && D.push({
            name: Ew,
            description: Dw.description,
            actions: [{ ...Dw, notApplicableReason: k(n.errors) }]
          }), D;
        }
        const { affectedTextRange: s, extractions: o } = xUe(i, e);
        if (o === void 0)
          return Ge;
        const c = [], _ = /* @__PURE__ */ new Map();
        let u;
        const g = [], m = /* @__PURE__ */ new Map();
        let h, S = 0;
        for (const { functionExtraction: D, constantExtraction: P } of o) {
          if (yv(ww.kind, t)) {
            const A = D.description;
            D.errors.length === 0 ? _.has(A) || (_.set(A, true), c.push({
              description: A,
              name: `function_scope_${S}`,
              kind: ww.kind,
              range: {
                start: { line: Rs(e.file, s.pos).line, offset: Rs(e.file, s.pos).character },
                end: { line: Rs(e.file, s.end).line, offset: Rs(e.file, s.end).character }
              }
            })) : u || (u = {
              description: A,
              name: `function_scope_${S}`,
              notApplicableReason: k(D.errors),
              kind: ww.kind
            });
          }
          if (yv(Dw.kind, t)) {
            const A = P.description;
            P.errors.length === 0 ? m.has(A) || (m.set(A, true), g.push({
              description: A,
              name: `constant_scope_${S}`,
              kind: Dw.kind,
              range: {
                start: { line: Rs(e.file, s.pos).line, offset: Rs(e.file, s.pos).character },
                end: { line: Rs(e.file, s.end).line, offset: Rs(e.file, s.end).character }
              }
            })) : h || (h = {
              description: A,
              name: `constant_scope_${S}`,
              notApplicableReason: k(P.errors),
              kind: Dw.kind
            });
          }
          S++;
        }
        const T = [];
        return c.length ? T.push({
          name: Ew,
          description: bs(p.Extract_function),
          actions: c
        }) : e.preferences.provideRefactorNotApplicableReason && u && T.push({
          name: Ew,
          description: bs(p.Extract_function),
          actions: [u]
        }), g.length ? T.push({
          name: Ew,
          description: bs(p.Extract_constant),
          actions: g
        }) : e.preferences.provideRefactorNotApplicableReason && h && T.push({
          name: Ew,
          description: bs(p.Extract_constant),
          actions: [h]
        }), T.length ? T : Ge;
        function k(D) {
          let P = D[0].messageText;
          return typeof P != "string" && (P = P.messageText), P;
        }
      }
      function uTe(e, t) {
        const i = rce(e.file, ak(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"), SUe(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"), TUe(i, e, c);
        }
        E.fail("Unrecognized action name");
      }
      var tu;
      ((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");
      })(tu || (tu = {}));
      var _Te = /* @__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))(_Te || {});
      function rce(e, t, n = true) {
        const { length: i } = t;
        if (i === 0 && !n)
          return { errors: [al(e, t.start, i, tu.cannotExtractEmpty)] };
        const s = i === 0 && n, o = Kse(e, t.start), c = pw(e, Yo(t)), _ = o && c && n ? yUe(o, c, e) : t, u = s ? UUe(o) : H8(o, e, _), g = s ? u : H8(c, e, _);
        let m = 0, h;
        if (!u || !g)
          return { errors: [al(e, t.start, i, tu.cannotExtractRange)] };
        if (u.flags & 16777216)
          return { errors: [al(e, t.start, i, tu.cannotExtractJSDoc)] };
        if (u.parent !== g.parent)
          return { errors: [al(e, t.start, i, tu.cannotExtractRange)] };
        if (u !== g) {
          if (!ok(u.parent))
            return { errors: [al(e, t.start, i, tu.cannotExtractRange)] };
          const O = [];
          for (const F of u.parent.statements) {
            if (F === u || O.length) {
              const R = A(F);
              if (R)
                return { errors: R };
              O.push(F);
            }
            if (F === g)
              break;
          }
          return O.length ? { targetRange: { range: O, facts: m, thisNode: h } } : { errors: [al(e, t.start, i, tu.cannotExtractRange)] };
        }
        if (Sf(u) && !u.expression)
          return { errors: [al(e, t.start, i, tu.cannotExtractRange)] };
        const S = k(u), T = D(S) || A(S);
        if (T)
          return { errors: T };
        return { targetRange: { range: vUe(S), facts: m, thisNode: h } };
        function k(O) {
          if (Sf(O)) {
            if (O.expression)
              return O.expression;
          } else if (Pc(O) || Bl(O)) {
            const F = Pc(O) ? O.declarationList.declarations : O.declarations;
            let R = 0, B;
            for (const U of F)
              U.initializer && (R++, B = U.initializer);
            if (R === 1)
              return B;
          } else if (ei(O) && O.initializer)
            return O.initializer;
          return O;
        }
        function D(O) {
          if (Me(Dl(O) ? O.expression : O))
            return [sn(O, tu.cannotExtractIdentifier)];
        }
        function P(O, F) {
          let R = O;
          for (; R !== F; ) {
            if (R.kind === 173) {
              Bs(R) && (m |= 32);
              break;
            } else if (R.kind === 170) {
              Df(R).kind === 177 && (m |= 32);
              break;
            } else R.kind === 175 && Bs(R) && (m |= 32);
            R = R.parent;
          }
        }
        function A(O) {
          let F;
          if (((_e) => {
            _e[_e.None = 0] = "None", _e[_e.Break = 1] = "Break", _e[_e.Continue = 2] = "Continue", _e[_e.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(!Ed(O.pos), "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (2)"), !Ti(O) && !(qm(O) && fTe(O)) && !oce(O))
            return [sn(O, tu.statementOrExpressionExpected)];
          if (O.flags & 33554432)
            return [sn(O, tu.cannotExtractAmbientBlock)];
          const R = jl(O);
          R && P(O, R);
          let B, U = 4, $;
          if (W(O), m & 8) {
            const _e = zu(
              O,
              /*includeArrowFunctions*/
              false,
              /*includeClassComputedPropertyName*/
              false
            );
            (_e.kind === 263 || _e.kind === 175 && _e.parent.kind === 211 || _e.kind === 219) && (m |= 16);
          }
          return B;
          function W(_e) {
            if (B)
              return true;
            if (Cl(_e)) {
              const V = _e.kind === 261 ? _e.parent.parent : _e;
              if (Gn(
                V,
                32
                /* Export */
              ))
                return (B || (B = [])).push(sn(_e, tu.cannotExtractExportedEntity)), true;
            }
            switch (_e.kind) {
              case 273:
                return (B || (B = [])).push(sn(_e, tu.cannotExtractImport)), true;
              case 278:
                return (B || (B = [])).push(sn(_e, tu.cannotExtractExportedEntity)), true;
              case 108:
                if (_e.parent.kind === 214) {
                  const V = jl(_e);
                  if (V === void 0 || V.pos < t.start || V.end >= t.start + t.length)
                    return (B || (B = [])).push(sn(_e, tu.cannotExtractSuper)), true;
                } else
                  m |= 8, h = _e;
                break;
              case 220:
                Ts(_e, function V(ae) {
                  if (B6(ae))
                    m |= 8, h = _e;
                  else {
                    if ($n(ae) || Cs(ae) && !bo(ae))
                      return false;
                    Ts(ae, V);
                  }
                });
              // falls through
              case 264:
              case 263:
                Di(_e.parent) && _e.parent.externalModuleIndicator === void 0 && (B || (B = [])).push(sn(_e, tu.functionWillNotBeVisibleInTheNewScope));
              // falls through
              case 232:
              case 219:
              case 175:
              case 177:
              case 178:
              case 179:
                return false;
            }
            const K = U;
            switch (_e.kind) {
              case 246:
                U &= -5;
                break;
              case 259:
                U = 0;
                break;
              case 242:
                _e.parent && _e.parent.kind === 259 && _e.parent.finallyBlock === _e && (U = 4);
                break;
              case 298:
              case 297:
                U |= 1;
                break;
              default:
                xy(
                  _e,
                  /*lookInLabeledStatements*/
                  false
                ) && (U |= 3);
                break;
            }
            switch (_e.kind) {
              case 198:
              case 110:
                m |= 8, h = _e;
                break;
              case 257: {
                const V = _e.label;
                ($ || ($ = [])).push(V.escapedText), Ts(_e, W), $.pop();
                break;
              }
              case 253:
              case 252: {
                const V = _e.label;
                V ? ds($, V.escapedText) || (B || (B = [])).push(sn(_e, tu.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)) : U & (_e.kind === 253 ? 1 : 2) || (B || (B = [])).push(sn(_e, tu.cannotExtractRangeContainingConditionalBreakOrContinueStatements));
                break;
              }
              case 224:
                m |= 4;
                break;
              case 230:
                m |= 2;
                break;
              case 254:
                U & 4 ? m |= 1 : (B || (B = [])).push(sn(_e, tu.cannotExtractRangeContainingConditionalReturnStatement));
                break;
              default:
                Ts(_e, W);
                break;
            }
            U = K;
          }
        }
      }
      function yUe(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 vUe(e) {
        if (Ti(e))
          return [e];
        if (qm(e))
          return Dl(e.parent) ? [e.parent] : e;
        if (oce(e))
          return e;
      }
      function nce(e) {
        return bo(e) ? Gj(e.body) : to(e) || Di(e) || mm(e) || $n(e);
      }
      function bUe(e) {
        let t = w0(e.range) ? ka(e.range) : e.range;
        if (e.facts & 8 && !(e.facts & 16)) {
          const i = jl(t);
          if (i) {
            const s = dr(t, to);
            return s ? [s, i] : [i];
          }
        }
        const n = [];
        for (; ; )
          if (t = t.parent, t.kind === 170 && (t = dr(t, (i) => to(i)).parent), nce(t) && (n.push(t), t.kind === 308))
            return n;
      }
      function SUe(e, t, n) {
        const { scopes: i, readsAndWrites: { target: s, usagesPerScope: o, functionErrorsPerScope: c, exposedVariableDeclarations: _ } } = ice(e, t);
        return E.assert(!c[n].length, "The extraction went missing? How?"), t.cancellationToken.throwIfCancellationRequested(), PUe(s, i[n], o[n], _, e, t);
      }
      function TUe(e, t, n) {
        const { scopes: i, readsAndWrites: { target: s, usagesPerScope: o, constantErrorsPerScope: c, exposedVariableDeclarations: _ } } = ice(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 = ut(s) ? s : s.statements[0].expression;
        return NUe(u, i[n], o[n], e.facts, t);
      }
      function xUe(e, t) {
        const { scopes: n, affectedTextRange: i, readsAndWrites: { functionErrorsPerScope: s, constantErrorsPerScope: o } } = ice(e, t), c = n.map((_, u) => {
          const g = kUe(_), m = CUe(_), h = to(_) ? EUe(_) : $n(_) ? DUe(_) : wUe(_);
          let S, T;
          return h === 1 ? (S = Fg(bs(p.Extract_to_0_in_1_scope), [g, "global"]), T = Fg(bs(p.Extract_to_0_in_1_scope), [m, "global"])) : h === 0 ? (S = Fg(bs(p.Extract_to_0_in_1_scope), [g, "module"]), T = Fg(bs(p.Extract_to_0_in_1_scope), [m, "module"])) : (S = Fg(bs(p.Extract_to_0_in_1), [g, h]), T = Fg(bs(p.Extract_to_0_in_1), [m, h])), u === 0 && !$n(_) && (T = Fg(bs(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 ice(e, t) {
        const { file: n } = t, i = bUe(e), s = zUe(e, n), o = WUe(
          e,
          i,
          s,
          n,
          t.program.getTypeChecker(),
          t.cancellationToken
        );
        return { scopes: i, affectedTextRange: s, readsAndWrites: o };
      }
      function kUe(e) {
        return to(e) ? "inner function" : $n(e) ? "method" : "function";
      }
      function CUe(e) {
        return $n(e) ? "readonly field" : "constant";
      }
      function EUe(e) {
        switch (e.kind) {
          case 177:
            return "constructor";
          case 219:
          case 263:
            return e.name ? `function '${e.name.text}'` : iq;
          case 220:
            return "arrow function";
          case 175:
            return `method '${e.name.getText()}'`;
          case 178:
            return `'get ${e.name.getText()}'`;
          case 179:
            return `'set ${e.name.getText()}'`;
          default:
            E.assertNever(e, `Unexpected scope kind ${e.kind}`);
        }
      }
      function DUe(e) {
        return e.kind === 264 ? e.name ? `class '${e.name.text}'` : "anonymous class declaration" : e.name ? `class expression '${e.name.text}'` : "anonymous class expression";
      }
      function wUe(e) {
        return e.kind === 269 ? `namespace '${e.parent.name.getText()}'` : e.externalModuleIndicator ? 0 : 1;
      }
      function PUe(e, t, { usages: n, typeParameterUsages: i, substitutions: s }, o, c, _) {
        const u = _.program.getTypeChecker(), g = pa(_.program.getCompilerOptions()), m = Nu.createImportAdder(_.file, _.program, _.preferences, _.host), h = t.getSourceFile(), S = jS($n(t) ? "newMethod" : "newFunction", h), T = an(t), k = N.createIdentifier(S);
        let D;
        const P = [], A = [];
        let O;
        n.forEach((Z, pe) => {
          let Te;
          if (!T) {
            let Ye = u.getTypeOfSymbolAtLocation(Z.symbol, Z.node);
            Ye = u.getBaseTypeOfLiteralType(Ye), Te = Nu.typeToAutoImportableTypeNode(
              u,
              m,
              Ye,
              t,
              g,
              1,
              8
              /* AllowUnresolvedNames */
            );
          }
          const Fe = N.createParameterDeclaration(
            /*modifiers*/
            void 0,
            /*dotDotDotToken*/
            void 0,
            /*name*/
            pe,
            /*questionToken*/
            void 0,
            Te
          );
          P.push(Fe), Z.usage === 2 && (O || (O = [])).push(Z), A.push(N.createIdentifier(pe));
        });
        const F = ns(i.values(), (Z) => ({ type: Z, declaration: IUe(Z, _.startPosition) }));
        F.sort(FUe);
        const R = F.length === 0 ? void 0 : Fi(F, ({ declaration: Z }) => Z), B = R !== void 0 ? R.map((Z) => N.createTypeReferenceNode(
          Z.name,
          /*typeArguments*/
          void 0
        )) : void 0;
        if (ut(e) && !T) {
          const Z = u.getContextualType(e);
          D = u.typeToTypeNode(
            Z,
            t,
            1,
            8
            /* AllowUnresolvedNames */
          );
        }
        const { body: U, returnValueProperty: $ } = LUe(e, o, O, s, !!(c.facts & 1));
        tf(U);
        let W;
        const _e = !!(c.facts & 16);
        if ($n(t)) {
          const Z = T ? [] : [N.createModifier(
            123
            /* PrivateKeyword */
          )];
          c.facts & 32 && Z.push(N.createModifier(
            126
            /* StaticKeyword */
          )), c.facts & 4 && Z.push(N.createModifier(
            134
            /* AsyncKeyword */
          )), W = N.createMethodDeclaration(
            Z.length ? Z : void 0,
            c.facts & 2 ? N.createToken(
              42
              /* AsteriskToken */
            ) : void 0,
            k,
            /*questionToken*/
            void 0,
            R,
            P,
            D,
            U
          );
        } else
          _e && P.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,
            R,
            P,
            D,
            U
          );
        const K = cn.ChangeTracker.fromContext(_), V = (w0(c.range) ? fa(c.range) : c.range).end, ae = jUe(V, t);
        ae ? K.insertNodeBefore(
          _.file,
          ae,
          W,
          /*blankLineBetween*/
          true
        ) : K.insertNodeAtEndOfScope(_.file, t, W), m.writeFixes(K);
        const se = [], ce = OUe(t, c, S);
        _e && A.unshift(N.createIdentifier("this"));
        let fe = N.createCallExpression(
          _e ? N.createPropertyAccessExpression(
            ce,
            "call"
          ) : ce,
          B,
          // 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)), ace(e) && (fe = N.createJsxExpression(
          /*dotDotDotToken*/
          void 0,
          fe
        )), o.length && !O)
          if (E.assert(!$, "Expected no returnValueProperty"), E.assert(!(c.facts & 1), "Expected RangeFacts.HasReturn flag to be unset"), o.length === 1) {
            const Z = o[0];
            se.push(N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [N.createVariableDeclaration(
                  Wa(Z.name),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  Wa(Z.type),
                  /*initializer*/
                  fe
                )],
                Z.parent.flags
              )
            ));
          } else {
            const Z = [], pe = [];
            let Te = o[0].parent.flags, Fe = false;
            for (const ne of o) {
              Z.push(N.createBindingElement(
                /*dotDotDotToken*/
                void 0,
                /*propertyName*/
                void 0,
                /*name*/
                Wa(ne.name)
              ));
              const Se = u.typeToTypeNode(
                u.getBaseTypeOfLiteralType(u.getTypeAtLocation(ne)),
                t,
                1,
                8
                /* AllowUnresolvedNames */
              );
              pe.push(N.createPropertySignature(
                /*modifiers*/
                void 0,
                /*name*/
                ne.symbol.name,
                /*questionToken*/
                void 0,
                /*type*/
                Se
              )), Fe = Fe || ne.type !== void 0, Te = Te & ne.parent.flags;
            }
            const Ye = Fe ? N.createTypeLiteralNode(pe) : void 0;
            Ye && un(
              Ye,
              1
              /* SingleLine */
            ), se.push(N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [N.createVariableDeclaration(
                  N.createObjectBindingPattern(Z),
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  Ye,
                  /*initializer*/
                  fe
                )],
                Te
              )
            ));
          }
        else if (o.length || O) {
          if (o.length)
            for (const pe of o) {
              let Te = pe.parent.flags;
              Te & 2 && (Te = Te & -3 | 1), se.push(N.createVariableStatement(
                /*modifiers*/
                void 0,
                N.createVariableDeclarationList(
                  [N.createVariableDeclaration(
                    pe.symbol.name,
                    /*exclamationToken*/
                    void 0,
                    me(pe.type)
                  )],
                  Te
                )
              ));
            }
          $ && se.push(N.createVariableStatement(
            /*modifiers*/
            void 0,
            N.createVariableDeclarationList(
              [N.createVariableDeclaration(
                $,
                /*exclamationToken*/
                void 0,
                me(D)
              )],
              1
              /* Let */
            )
          ));
          const Z = sce(o, O);
          $ && Z.unshift(N.createShorthandPropertyAssignment($)), Z.length === 1 ? (E.assert(!$, "Shouldn't have returnValueProperty here"), se.push(N.createExpressionStatement(N.createAssignment(Z[0].name, fe))), c.facts & 1 && se.push(N.createReturnStatement())) : (se.push(N.createExpressionStatement(N.createAssignment(N.createObjectLiteralExpression(Z), fe))), $ && se.push(N.createReturnStatement(N.createIdentifier($))));
        } else
          c.facts & 1 ? se.push(N.createReturnStatement(fe)) : w0(c.range) ? se.push(N.createExpressionStatement(fe)) : se.push(fe);
        w0(c.range) ? K.replaceNodeRangeWithNodes(_.file, ka(c.range), fa(c.range), se) : K.replaceNodeWithNodes(_.file, c.range, se);
        const he = K.getChanges(), be = (w0(c.range) ? ka(c.range) : c.range).getSourceFile().fileName, je = $8(
          he,
          be,
          S,
          /*preferLastLocation*/
          false
        );
        return { renameFilename: be, renameLocation: je, edits: he };
        function me(Z) {
          if (Z === void 0)
            return;
          const pe = Wa(Z);
          let Te = pe;
          for (; hS(Te); )
            Te = Te.type;
          return b0(Te) && Nn(
            Te.types,
            (Fe) => Fe.kind === 157
            /* UndefinedKeyword */
          ) ? pe : N.createUnionTypeNode([pe, N.createKeywordTypeNode(
            157
            /* UndefinedKeyword */
          )]);
        }
      }
      function NUe(e, t, { substitutions: n }, i, s) {
        const o = s.program.getTypeChecker(), c = t.getSourceFile(), _ = Moe(e, t, o, c), u = an(t);
        let g = u || !o.isContextSensitive(e) ? void 0 : o.typeToTypeNode(
          o.getContextualType(e),
          t,
          1,
          8
          /* AllowUnresolvedNames */
        ), m = MUe(Ra(e), n);
        ({ variableType: g, initializer: m } = D(g, m)), tf(m);
        const h = cn.ChangeTracker.fromContext(s);
        if ($n(t)) {
          E.assert(!u, "Cannot extract to a JS class");
          const P = [];
          P.push(N.createModifier(
            123
            /* PrivateKeyword */
          )), i & 32 && P.push(N.createModifier(
            126
            /* StaticKeyword */
          )), P.push(N.createModifier(
            148
            /* ReadonlyKeyword */
          ));
          const A = N.createPropertyDeclaration(
            P,
            _,
            /*questionOrExclamationToken*/
            void 0,
            g,
            m
          );
          let O = N.createPropertyAccessExpression(
            i & 32 ? N.createIdentifier(t.name.getText()) : N.createThis(),
            N.createIdentifier(_)
          );
          ace(e) && (O = N.createJsxExpression(
            /*dotDotDotToken*/
            void 0,
            O
          ));
          const F = e.pos, R = BUe(F, t);
          h.insertNodeBefore(
            s.file,
            R,
            A,
            /*blankLineBetween*/
            true
          ), h.replaceNode(s.file, e, O);
        } else {
          const P = N.createVariableDeclaration(
            _,
            /*exclamationToken*/
            void 0,
            g,
            m
          ), A = AUe(e, t);
          if (A) {
            h.insertNodeBefore(s.file, A, P);
            const O = N.createIdentifier(_);
            h.replaceNode(s.file, e, O);
          } else if (e.parent.kind === 245 && t === dr(e, nce)) {
            const O = N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [P],
                2
                /* Const */
              )
            );
            h.replaceNode(s.file, e.parent, O);
          } else {
            const O = N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [P],
                2
                /* Const */
              )
            ), F = JUe(e, t);
            if (F.pos === 0 ? h.insertNodeAtTopOfFile(
              s.file,
              O,
              /*blankLineBetween*/
              false
            ) : h.insertNodeBefore(
              s.file,
              F,
              O,
              /*blankLineBetween*/
              false
            ), e.parent.kind === 245)
              h.delete(s.file, e.parent);
            else {
              let R = N.createIdentifier(_);
              ace(e) && (R = N.createJsxExpression(
                /*dotDotDotToken*/
                void 0,
                R
              )), h.replaceNode(s.file, e, R);
            }
          }
        }
        const S = h.getChanges(), T = e.getSourceFile().fileName, k = $8(
          S,
          T,
          _,
          /*preferLastLocation*/
          true
        );
        return { renameFilename: T, renameLocation: k, edits: S };
        function D(P, A) {
          if (P === void 0) return { variableType: P, initializer: A };
          if (!mo(A) && !bo(A) || A.typeParameters) return { variableType: P, initializer: A };
          const O = o.getTypeAtLocation(e), F = yg(o.getSignaturesOfType(
            O,
            0
            /* Call */
          ));
          if (!F) return { variableType: P, initializer: A };
          if (F.getTypeParameters()) return { variableType: P, initializer: A };
          const R = [];
          let B = false;
          for (const U of A.parameters)
            if (U.type)
              R.push(U);
            else {
              const $ = o.getTypeAtLocation(U);
              $ === o.getAnyType() && (B = true), R.push(N.updateParameterDeclaration(U, U.modifiers, U.dotDotDotToken, U.name, U.questionToken, U.type || o.typeToTypeNode(
                $,
                t,
                1,
                8
                /* AllowUnresolvedNames */
              ), U.initializer));
            }
          if (B) return { variableType: P, initializer: A };
          if (P = void 0, bo(A))
            A = N.updateArrowFunction(A, Jp(e) ? gb(e) : void 0, A.typeParameters, R, A.type || o.typeToTypeNode(
              F.getReturnType(),
              t,
              1,
              8
              /* AllowUnresolvedNames */
            ), A.equalsGreaterThanToken, A.body);
          else {
            if (F && F.thisParameter) {
              const U = $c(R);
              if (!U || Me(U.name) && U.name.escapedText !== "this") {
                const $ = o.getTypeOfSymbolAtLocation(F.thisParameter, e);
                R.splice(
                  0,
                  0,
                  N.createParameterDeclaration(
                    /*modifiers*/
                    void 0,
                    /*dotDotDotToken*/
                    void 0,
                    "this",
                    /*questionToken*/
                    void 0,
                    o.typeToTypeNode(
                      $,
                      t,
                      1,
                      8
                      /* AllowUnresolvedNames */
                    )
                  )
                );
              }
            }
            A = N.updateFunctionExpression(A, Jp(e) ? gb(e) : void 0, A.asteriskToken, A.name, A.typeParameters, R, A.type || o.typeToTypeNode(
              F.getReturnType(),
              t,
              1
              /* NoTruncation */
            ), A.body);
          }
          return { variableType: P, initializer: A };
        }
      }
      function AUe(e, t) {
        let n;
        for (; e !== void 0 && e !== t; ) {
          if (ei(e) && e.initializer === n && Bl(e.parent) && e.parent.declarations.length > 1)
            return e;
          n = e, e = e.parent;
        }
      }
      function IUe(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 FUe({ type: e, declaration: t }, { type: n, declaration: i }) {
        return uQ(t, i, "pos", po) || ou(
          e.symbol ? e.symbol.getName() : "",
          n.symbol ? n.symbol.getName() : ""
        ) || po(e.id, n.id);
      }
      function OUe(e, t, n) {
        const i = N.createIdentifier(n);
        if ($n(e)) {
          const s = t.facts & 32 ? N.createIdentifier(e.name.text) : N.createThis();
          return N.createPropertyAccessExpression(s, i);
        } else
          return i;
      }
      function LUe(e, t, n, i, s) {
        const o = n !== void 0 || t.length > 0;
        if (Ps(e) && !o && i.size === 0)
          return { body: N.createBlock(
            e.statements,
            /*multiLine*/
            true
          ), returnValueProperty: void 0 };
        let c, _ = false;
        const u = N.createNodeArray(Ps(e) ? e.statements.slice(0) : [Ti(e) ? e : N.createReturnStatement(Ra(e))]);
        if (o || i.size) {
          const m = Ar(u, g, Ti).slice();
          if (o && !s && Ti(e)) {
            const h = sce(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*/
            true
          ), returnValueProperty: c };
        } else
          return { body: N.createBlock(
            u,
            /*multiLine*/
            true
          ), returnValueProperty: void 0 };
        function g(m) {
          if (!_ && Sf(m) && o) {
            const h = sce(t, n);
            return m.expression && (c || (c = "__return"), h.unshift(N.createPropertyAssignment(c, Qe(m.expression, g, ut)))), h.length === 1 ? N.createReturnStatement(h[0].name) : N.createReturnStatement(N.createObjectLiteralExpression(h));
          } else {
            const h = _;
            _ = _ || to(m) || $n(m);
            const S = i.get(Oa(m).toString()), T = S ? Wa(S) : br(
              m,
              g,
              /*context*/
              void 0
            );
            return _ = h, T;
          }
        }
      }
      function MUe(e, t) {
        return t.size ? n(e) : e;
        function n(i) {
          const s = t.get(Oa(i).toString());
          return s ? Wa(s) : br(
            i,
            n,
            /*context*/
            void 0
          );
        }
      }
      function RUe(e) {
        if (to(e)) {
          const t = e.body;
          if (Ps(t))
            return t.statements;
        } else {
          if (mm(e) || Di(e))
            return e.statements;
          if ($n(e))
            return e.members;
        }
        return Ge;
      }
      function jUe(e, t) {
        return Nn(RUe(t), (n) => n.pos >= e && to(n) && !ec(n));
      }
      function BUe(e, t) {
        const n = t.members;
        E.assert(n.length > 0, "Found no members");
        let i, s = true;
        for (const o of n) {
          if (o.pos > e)
            return i || n[0];
          if (s && !as(o)) {
            if (i !== void 0)
              return o;
            s = false;
          }
          i = o;
        }
        return i === void 0 ? E.fail() : i;
      }
      function JUe(e, t) {
        E.assert(!$n(t));
        let n;
        for (let i = e; i !== t; i = i.parent)
          nce(i) && (n = i);
        for (let i = (n || e).parent; ; i = i.parent) {
          if (ok(i)) {
            let s;
            for (const o of i.statements) {
              if (o.pos > e.pos)
                break;
              s = o;
            }
            return !s && p6(i) ? (E.assert(ND(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 sce(e, t) {
        const n = hr(e, (s) => N.createShorthandPropertyAssignment(s.symbol.name)), i = hr(t, (s) => N.createShorthandPropertyAssignment(s.symbol.name));
        return n === void 0 ? i : i === void 0 ? n : n.concat(i);
      }
      function w0(e) {
        return ss(e);
      }
      function zUe(e, t) {
        return w0(e.range) ? { pos: ka(e.range).getStart(t), end: fa(e.range).getEnd() } : e.range;
      }
      function WUe(e, t, n, i, s, o) {
        const c = /* @__PURE__ */ new Map(), _ = [], u = [], g = [], m = [], h = [], S = /* @__PURE__ */ new Map(), T = [];
        let k;
        const D = w0(e.range) ? e.range.length === 1 && Dl(e.range[0]) ? e.range[0].expression : void 0 : e.range;
        let P;
        if (D === void 0) {
          const se = e.range, ce = ka(se).getStart(), fe = fa(se).end;
          P = al(i, ce, fe - ce, tu.expressionExpected);
        } else s.getTypeAtLocation(D).flags & 147456 && (P = sn(D, tu.uselessConstantType));
        for (const se of t) {
          _.push({ usages: /* @__PURE__ */ new Map(), typeParameterUsages: /* @__PURE__ */ new Map(), substitutions: /* @__PURE__ */ new Map() }), u.push(/* @__PURE__ */ new Map()), g.push([]);
          const ce = [];
          P && ce.push(P), $n(se) && an(se) && ce.push(sn(se, tu.cannotExtractToJSClass)), bo(se) && !Ps(se.body) && ce.push(sn(se, tu.cannotExtractToExpressionArrowFunction)), m.push(ce);
        }
        const A = /* @__PURE__ */ new Map(), O = w0(e.range) ? N.createBlock(e.range) : e.range, F = w0(e.range) ? ka(e.range) : e.range, R = B(F);
        if ($(O), R && !w0(e.range) && !ym(e.range)) {
          const se = s.getContextualType(e.range);
          U(se);
        }
        if (c.size > 0) {
          const se = /* @__PURE__ */ new Map();
          let ce = 0;
          for (let fe = F; fe !== void 0 && ce < t.length; fe = fe.parent)
            if (fe === t[ce] && (se.forEach((he, q) => {
              _[ce].typeParameterUsages.set(q, he);
            }), ce++), dB(fe))
              for (const he of yy(fe)) {
                const q = s.getTypeAtLocation(he);
                c.has(q.id.toString()) && se.set(q.id.toString(), q);
              }
          E.assert(ce === t.length, "Should have iterated all scopes");
        }
        if (h.length) {
          const se = pB(t[0], t[0].parent) ? t[0] : xd(t[0]);
          Ts(se, K);
        }
        for (let se = 0; se < t.length; se++) {
          const ce = _[se];
          if (se > 0 && (ce.usages.size > 0 || ce.typeParameterUsages.size > 0)) {
            const q = w0(e.range) ? e.range[0] : e.range;
            m[se].push(sn(q, tu.cannotAccessVariablesFromNestedScopes));
          }
          e.facts & 16 && $n(t[se]) && g[se].push(sn(e.thisNode, tu.cannotExtractFunctionsContainingThisToMethod));
          let fe = false, he;
          if (_[se].usages.forEach((q) => {
            q.usage === 2 && (fe = true, q.symbol.flags & 106500 && q.symbol.valueDeclaration && ef(
              q.symbol.valueDeclaration,
              8
              /* Readonly */
            ) && (he = q.symbol.valueDeclaration));
          }), E.assert(w0(e.range) || T.length === 0, "No variable declarations expected if something was extracted"), fe && !w0(e.range)) {
            const q = sn(e.range, tu.cannotWriteInExpression);
            g[se].push(q), m[se].push(q);
          } else if (he && se > 0) {
            const q = sn(he, tu.cannotExtractReadonlyPropertyInitializerOutsideConstructor);
            g[se].push(q), m[se].push(q);
          } else if (k) {
            const q = sn(k, tu.cannotExtractExportedEntity);
            g[se].push(q), m[se].push(q);
          }
        }
        return { target: O, usagesPerScope: _, functionErrorsPerScope: g, constantErrorsPerScope: m, exposedVariableDeclarations: T };
        function B(se) {
          return !!dr(se, (ce) => dB(ce) && yy(ce).length !== 0);
        }
        function U(se) {
          const ce = s.getSymbolWalker(() => (o.throwIfCancellationRequested(), true)), { visitedTypes: fe } = ce.walkType(se);
          for (const he of fe)
            he.isTypeParameter() && c.set(he.id.toString(), he);
        }
        function $(se, ce = 1) {
          if (R) {
            const fe = s.getTypeAtLocation(se);
            U(fe);
          }
          if (Cl(se) && se.symbol && h.push(se), El(se))
            $(
              se.left,
              2
              /* Write */
            ), $(se.right);
          else if (CZ(se))
            $(
              se.operand,
              2
              /* Write */
            );
          else if (wn(se) || oo(se))
            Ts(se, $);
          else if (Me(se)) {
            if (!se.parent || t_(se.parent) && se !== se.parent.left || wn(se.parent) && se !== se.parent.expression)
              return;
            W(
              se,
              ce,
              /*isTypeNode*/
              sm(se)
            );
          } else
            Ts(se, $);
        }
        function W(se, ce, fe) {
          const he = _e(se, ce, fe);
          if (he)
            for (let q = 0; q < t.length; q++) {
              const be = u[q].get(he);
              be && _[q].substitutions.set(Oa(se).toString(), be);
            }
        }
        function _e(se, ce, fe) {
          const he = V(se);
          if (!he)
            return;
          const q = $s(he).toString(), be = A.get(q);
          if (be && be >= ce)
            return q;
          if (A.set(q, ce), be) {
            for (const Z of _)
              Z.usages.get(se.text) && Z.usages.set(se.text, { usage: ce, symbol: he, node: se });
            return q;
          }
          const je = he.getDeclarations(), me = je && Nn(je, (Z) => Z.getSourceFile() === i);
          if (me && !B8(n, me.getStart(), me.end)) {
            if (e.facts & 2 && ce === 2) {
              const Z = sn(se, tu.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators);
              for (const pe of g)
                pe.push(Z);
              for (const pe of m)
                pe.push(Z);
            }
            for (let Z = 0; Z < t.length; Z++) {
              const pe = t[Z];
              if (s.resolveName(
                he.name,
                pe,
                he.flags,
                /*excludeGlobals*/
                false
              ) !== he && !u[Z].has(q)) {
                const Fe = ae(he.exportSymbol || he, pe, fe);
                if (Fe)
                  u[Z].set(q, Fe);
                else if (fe) {
                  if (!(he.flags & 262144)) {
                    const Ye = sn(se, tu.typeWillNotBeVisibleInTheNewScope);
                    g[Z].push(Ye), m[Z].push(Ye);
                  }
                } else
                  _[Z].usages.set(se.text, { usage: ce, symbol: he, node: se });
              }
            }
            return q;
          }
        }
        function K(se) {
          if (se === e.range || w0(e.range) && e.range.includes(se))
            return;
          const ce = Me(se) ? V(se) : s.getSymbolAtLocation(se);
          if (ce) {
            const fe = Nn(h, (he) => he.symbol === ce);
            if (fe)
              if (ei(fe)) {
                const he = fe.symbol.id.toString();
                S.has(he) || (T.push(fe), S.set(he, true));
              } else
                k = k || fe;
          }
          Ts(se, K);
        }
        function V(se) {
          return se.parent && fu(se.parent) && se.parent.name === se ? s.getShorthandAssignmentValueSymbol(se.parent) : s.getSymbolAtLocation(se);
        }
        function ae(se, ce, fe) {
          if (!se)
            return;
          const he = se.getDeclarations();
          if (he && he.some((be) => be.parent === ce))
            return N.createIdentifier(se.name);
          const q = ae(se.parent, ce, fe);
          if (q !== void 0)
            return fe ? N.createQualifiedName(q, N.createIdentifier(se.name)) : N.createPropertyAccessExpression(q, se.name);
        }
      }
      function UUe(e) {
        return dr(e, (t) => t.parent && fTe(t) && !_n(t.parent));
      }
      function fTe(e) {
        const { parent: t } = e;
        switch (t.kind) {
          case 307:
            return false;
        }
        switch (e.kind) {
          case 11:
            return t.kind !== 273 && t.kind !== 277;
          case 231:
          case 207:
          case 209:
            return false;
          case 80:
            return t.kind !== 209 && t.kind !== 277 && t.kind !== 282;
        }
        return true;
      }
      function ace(e) {
        return oce(e) || (hm(e) || xS(e) || nv(e)) && (hm(e.parent) || nv(e.parent));
      }
      function oce(e) {
        return oa(e) && e.parent && ym(e.parent);
      }
      var VUe = {}, Xq = "Generate 'get' and 'set' accessors", cce = bs(p.Generate_get_and_set_accessors), lce = {
        name: Xq,
        description: cce,
        kind: "refactor.rewrite.property.generateAccessors"
      };
      zg(Xq, {
        kinds: [lce.kind],
        getEditsForAction: function(t, n) {
          if (!t.endPosition) return;
          const i = Nu.getAccessorConvertiblePropertyAtPosition(t.file, t.program, t.startPosition, t.endPosition);
          E.assert(i && !Ph(i), "Expected applicable refactor info");
          const s = Nu.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 = (Me(c) ? 0 : -1) + $8(
            s,
            o,
            c.text,
            /*preferLastLocation*/
            Ii(i.declaration)
          );
          return { renameFilename: o, renameLocation: u, edits: s };
        },
        getAvailableActions(e) {
          if (!e.endPosition) return Ge;
          const t = Nu.getAccessorConvertiblePropertyAtPosition(e.file, e.program, e.startPosition, e.endPosition, e.triggerReason === "invoked");
          return t ? Ph(t) ? e.preferences.provideRefactorNotApplicableReason ? [{
            name: Xq,
            description: cce,
            actions: [{ ...lce, notApplicableReason: t.error }]
          }] : Ge : [{
            name: Xq,
            description: cce,
            actions: [lce]
          }] : Ge;
        }
      });
      var qUe = {}, Qq = "Infer function return type", uce = bs(p.Infer_function_return_type), Yq = {
        name: Qq,
        description: uce,
        kind: "refactor.rewrite.function.returnType"
      };
      zg(Qq, {
        kinds: [Yq.kind],
        getEditsForAction: HUe,
        getAvailableActions: GUe
      });
      function HUe(e) {
        const t = pTe(e);
        if (t && !Ph(t))
          return { renameFilename: void 0, renameLocation: void 0, edits: cn.ChangeTracker.with(e, (i) => $Ue(e.file, i, t.declaration, t.returnTypeNode)) };
      }
      function GUe(e) {
        const t = pTe(e);
        return t ? Ph(t) ? e.preferences.provideRefactorNotApplicableReason ? [{
          name: Qq,
          description: uce,
          actions: [{ ...Yq, notApplicableReason: t.error }]
        }] : Ge : [{
          name: Qq,
          description: uce,
          actions: [Yq]
        }] : Ge;
      }
      function $Ue(e, t, n, i) {
        const s = $a(n, 22, e), o = bo(n) && s === void 0, c = o ? ka(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 pTe(e) {
        if (an(e.file) || !yv(Yq.kind, e.kind)) return;
        const t = k_(e.file, e.startPosition), n = dr(t, (c) => Ps(c) || c.parent && bo(c.parent) && (c.kind === 39 || c.parent.body === c) ? "quit" : XUe(c));
        if (!n || !n.body || n.type)
          return { error: bs(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(Fi(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: bs(p.Could_not_determine_function_return_type) };
        const o = i.typeToTypeNode(
          s,
          n,
          1,
          8
          /* AllowUnresolvedNames */
        );
        if (o)
          return { declaration: n, returnTypeNode: o };
      }
      function XUe(e) {
        switch (e.kind) {
          case 263:
          case 219:
          case 220:
          case 175:
            return true;
          default:
            return false;
        }
      }
      var dTe = /* @__PURE__ */ ((e) => (e[e.typeOffset = 8] = "typeOffset", e[e.modifierMask = 255] = "modifierMask", e))(dTe || {}), mTe = /* @__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))(mTe || {}), gTe = /* @__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))(gTe || {});
      function hTe(e, t, n, i) {
        const s = _ce(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: Xl(o[_], o[_ + 1]),
            classificationType: o[_ + 2]
          });
        return c;
      }
      function _ce(e, t, n, i) {
        return {
          spans: QUe(e, n, i, t),
          endOfLineState: 0
          /* None */
        };
      }
      function QUe(e, t, n, i) {
        const s = [];
        return e && t && YUe(e, t, n, (c, _, u) => {
          s.push(c.getStart(t), c.getWidth(t), (_ + 1 << 8) + u);
        }, i), s;
      }
      function YUe(e, t, n, i, s) {
        const o = e.getTypeChecker();
        let c = false;
        function _(u) {
          switch (u.kind) {
            case 268:
            case 264:
            case 265:
            case 263:
            case 232:
            case 219:
            case 220:
              s.throwIfCancellationRequested();
          }
          if (!u || !YP(n, u.pos, u.getFullWidth()) || u.getFullWidth() === 0)
            return;
          const g = c;
          if ((hm(u) || xS(u)) && (c = true), f6(u) && (c = false), Me(u) && !c && !tVe(u) && !gD(u.escapedText)) {
            let m = o.getSymbolAtLocation(u);
            if (m) {
              m.flags & 2097152 && (m = o.getAliasedSymbol(m));
              let h = ZUe(m, LS(u));
              if (h !== void 0) {
                let S = 0;
                u.parent && (ha(u.parent) || bTe.get(u.parent.kind) === h) && u.parent.name === u && (S = 1), h === 6 && vTe(u) && (h = 9), h = KUe(o, u, h);
                const T = m.valueDeclaration;
                if (T) {
                  const k = L1(T), D = ph(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) && eVe(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);
              }
            }
          }
          Ts(u, _), c = g;
        }
        _(t);
      }
      function ZUe(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 && ha(i) && (i = yTe(i)), i && bTe.get(i.kind);
      }
      function KUe(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) || rVe(t))
              return n === 9 ? 11 : 10;
          }
        }
        return n;
      }
      function eVe(e, t) {
        return ha(e) && (e = yTe(e)), ei(e) ? (!Di(e.parent.parent.parent) || Hb(e.parent)) && e.getSourceFile() === t : Tc(e) ? !Di(e.parent) && e.getSourceFile() === t : false;
      }
      function yTe(e) {
        for (; ; )
          if (ha(e.parent.parent))
            e = e.parent.parent;
          else
            return e.parent.parent;
      }
      function tVe(e) {
        const t = e.parent;
        return t && (sd(t) || qu(t) || jg(t));
      }
      function rVe(e) {
        for (; vTe(e); )
          e = e.parent;
        return ws(e.parent) && e.parent.expression === e;
      }
      function vTe(e) {
        return t_(e.parent) && e.parent.right === e || wn(e.parent) && e.parent.name === e;
      }
      var bTe = /* @__PURE__ */ new Map([
        [
          261,
          7
          /* variable */
        ],
        [
          170,
          6
          /* parameter */
        ],
        [
          173,
          9
          /* property */
        ],
        [
          268,
          3
          /* namespace */
        ],
        [
          267,
          1
          /* enum */
        ],
        [
          307,
          8
          /* enumMember */
        ],
        [
          264,
          0
          /* class */
        ],
        [
          175,
          11
          /* member */
        ],
        [
          263,
          10
          /* function */
        ],
        [
          219,
          10
          /* function */
        ],
        [
          174,
          11
          /* member */
        ],
        [
          178,
          9
          /* property */
        ],
        [
          179,
          9
          /* property */
        ],
        [
          172,
          9
          /* property */
        ],
        [
          265,
          2
          /* interface */
        ],
        [
          266,
          5
          /* type */
        ],
        [
          169,
          4
          /* typeParameter */
        ],
        [
          304,
          9
          /* property */
        ],
        [
          305,
          9
          /* property */
        ]
      ]), STe = "0.8";
      function TTe(e, t, n, i) {
        const s = k7(e) ? new fce(e, t, n) : e === 80 ? new kTe(80, t, n) : e === 81 ? new CTe(81, t, n) : new xTe(e, t, n);
        return s.parent = i, s.flags = i.flags & 101441536, s;
      }
      var fce = 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(!Ed(this.pos) && !Ed(this.end), e || "Node must have a real position for this operation");
        }
        getSourceFile() {
          return xr(this);
        }
        getStart(e, t) {
          return this.assertHasRealPosition(), Ey(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 = xr(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"), Ez(this, e) ?? Qte(this, e, nVe(this, e));
        }
        getFirstToken(e) {
          this.assertHasRealPosition();
          const t = this.getChildren(e);
          if (!t.length)
            return;
          const n = Nn(
            t,
            (i) => i.kind < 310 || i.kind > 352
            /* LastJSDocNode */
          );
          return n.kind < 167 ? n : n.getFirstToken(e);
        }
        getLastToken(e) {
          this.assertHasRealPosition();
          const t = this.getChildren(e), n = ko(t);
          if (n)
            return n.kind < 167 ? n : n.getLastToken(e);
        }
        forEachChild(e, t) {
          return Ts(this, e, t);
        }
      };
      function nVe(e, t) {
        const n = [];
        if (I7(e))
          return e.forEachChild((c) => {
            n.push(c);
          }), n;
        zl.setText((t || e.getSourceFile()).text);
        let i = e.pos;
        const s = (c) => {
          uL(n, i, c.pos, e), n.push(c), i = c.end;
        }, o = (c) => {
          uL(n, i, c.pos, e), n.push(iVe(c, e)), i = c.end;
        };
        return lr(e.jsDoc, s), i = e.pos, e.forEachChild(s, o), uL(n, i, e.end, e), zl.setText(void 0), n;
      }
      function uL(e, t, n, i) {
        for (zl.resetTokenState(t); t < n; ) {
          const s = zl.scan(), o = zl.getTokenEnd();
          if (o <= n) {
            if (s === 80) {
              if ($ee(i))
                continue;
              E.fail(`Did not expect ${E.formatSyntaxKind(i.kind)} to have an Identifier in its trivia`);
            }
            e.push(TTe(s, t, o, i));
          }
          if (t = o, s === 1)
            break;
        }
      }
      function iVe(e, t) {
        const n = TTe(353, e.pos, e.end, t), i = [];
        let s = e.pos;
        for (const o of e)
          uL(i, s, o.pos, t), i.push(o), s = o.end;
        return uL(i, s, e.end, t), n._children = i, n;
      }
      var pce = 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 xr(this);
        }
        getStart(e, t) {
          return Ey(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 || Ge;
        }
        getFirstToken() {
        }
        getLastToken() {
        }
        forEachChild() {
        }
      }, sVe = 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 sc(this);
        }
        getEscapedName() {
          return this.escapedName;
        }
        getName() {
          return this.name;
        }
        getDeclarations() {
          return this.declarations;
        }
        getDocumentationComment(e) {
          if (!this.documentationComment)
            if (this.documentationComment = Ge, !this.declarations && Cg(this) && this.links.target && Cg(this.links.target) && this.links.target.links.tupleLabelDeclaration) {
              const t = this.links.target.links.tupleLabelDeclaration;
              this.documentationComment = _L([t], e);
            } else
              this.documentationComment = _L(this.declarations, e);
          return this.documentationComment;
        }
        getContextualDocumentationComment(e, t) {
          if (e) {
            if (kg(e) && (this.contextualGetAccessorDocumentationComment || (this.contextualGetAccessorDocumentationComment = Ge, this.contextualGetAccessorDocumentationComment = _L(kn(this.declarations, kg), t)), wr(this.contextualGetAccessorDocumentationComment)))
              return this.contextualGetAccessorDocumentationComment;
            if (rm(e) && (this.contextualSetAccessorDocumentationComment || (this.contextualSetAccessorDocumentationComment = Ge, this.contextualSetAccessorDocumentationComment = _L(kn(this.declarations, rm), t)), wr(this.contextualSetAccessorDocumentationComment)))
              return this.contextualSetAccessorDocumentationComment;
          }
          return this.getDocumentationComment(t);
        }
        getJsDocTags(e) {
          return this.tags === void 0 && (this.tags = Ge, this.tags = Zq(this.declarations, e)), this.tags;
        }
        getContextualJsDocTags(e, t) {
          if (e) {
            if (kg(e) && (this.contextualGetAccessorTags || (this.contextualGetAccessorTags = Ge, this.contextualGetAccessorTags = Zq(kn(this.declarations, kg), t)), wr(this.contextualGetAccessorTags)))
              return this.contextualGetAccessorTags;
            if (rm(e) && (this.contextualSetAccessorTags || (this.contextualSetAccessorTags = Ge, this.contextualSetAccessorTags = Zq(kn(this.declarations, rm), t)), wr(this.contextualSetAccessorTags)))
              return this.contextualSetAccessorTags;
          }
          return this.getJsDocTags(t);
        }
      }, xTe = class extends pce {
        constructor(e, t, n) {
          super(e, t, n);
        }
      }, kTe = class extends pce {
        constructor(e, t, n) {
          super(e, t, n);
        }
        get text() {
          return An(this);
        }
      }, CTe = class extends pce {
        constructor(e, t, n) {
          super(e, t, n);
        }
        get text() {
          return An(this);
        }
      }, aVe = 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 !!(Dn(this) & 3);
        }
        isClass() {
          return !!(Dn(this) & 1);
        }
        isIndexType() {
          return !!(this.flags & 4194304);
        }
        /**
         * This polyfills `referenceType.typeArguments` for API consumers
         */
        get typeArguments() {
          if (Dn(this) & 4)
            return this.checker.getTypeArguments(this);
        }
      }, oVe = 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() && hD(t.type)) {
            const n = t.type.getConstraint();
            if (n)
              return this.checker.getIndexType(n);
          }
          return t;
        }
        getDocumentationComment() {
          return this.documentationComment || (this.documentationComment = _L(qT(this.declaration), this.checker));
        }
        getJsDocTags() {
          return this.jsDocTags || (this.jsDocTags = Zq(qT(this.declaration), this.checker));
        }
      };
      function ETe(e) {
        return R1(e).some((t) => t.tagName.text === "inheritDoc" || t.tagName.text === "inheritdoc");
      }
      function Zq(e, t) {
        if (!e) return Ge;
        let n = Sv.getJsDocTagsFromDeclarations(e, t);
        if (t && (n.length === 0 || e.some(ETe))) {
          const i = /* @__PURE__ */ new Set();
          for (const s of e) {
            const o = DTe(t, s, (c) => {
              var _;
              if (!i.has(c))
                return i.add(c), s.kind === 178 || s.kind === 179 ? c.getContextualJsDocTags(s, t) : ((_ = c.declarations) == null ? void 0 : _.length) === 1 ? c.getJsDocTags(t) : void 0;
            });
            o && (n = [...o, ...n]);
          }
        }
        return n;
      }
      function _L(e, t) {
        if (!e) return Ge;
        let n = Sv.getJsDocCommentsFromDeclarations(e, t);
        if (t && (n.length === 0 || e.some(ETe))) {
          const i = /* @__PURE__ */ new Set();
          for (const s of e) {
            const o = DTe(t, s, (c) => {
              if (!i.has(c))
                return i.add(c), s.kind === 178 || s.kind === 179 ? c.getContextualDocumentationComment(s, t) : c.getDocumentationComment(t);
            });
            o && (n = n.length === 0 ? o.slice() : o.concat(q6(), n));
          }
        }
        return n;
      }
      function DTe(e, t, n) {
        var i;
        const s = ((i = t.parent) == null ? void 0 : i.kind) === 177 ? t.parent.parent : t.parent;
        if (!s) return;
        const o = sl(t);
        return Ic(U4(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 cVe = class extends fce {
        constructor(e, t, n) {
          super(e, t, n);
        }
        update(e, t) {
          return zz(this, e, t);
        }
        getLineAndCharacterOfPosition(e) {
          return Rs(this, e);
        }
        getLineStarts() {
          return vg(this);
        }
        getPositionOfLineAndCharacter(e, t, n) {
          return p7(vg(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 = Pp();
          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 = g7(o);
            return c && (Hs(c) && wn(c.expression) ? c.expression.name.text : Wc(c) ? V8(c) : void 0);
          }
          function s(o) {
            switch (o.kind) {
              case 263:
              case 219:
              case 175:
              case 174:
                const c = o, _ = i(c);
                if (_) {
                  const m = n(_), h = ko(m);
                  h && c.parent === h.parent && c.symbol === h.symbol ? c.body && !h.body && (m[m.length - 1] = c) : m.push(c);
                }
                Ts(o, s);
                break;
              case 264:
              case 232:
              case 265:
              case 266:
              case 267:
              case 268:
              case 272:
              case 282:
              case 277:
              case 274:
              case 275:
              case 178:
              case 179:
              case 188:
                t(o), Ts(o, s);
                break;
              case 170:
                if (!Gn(
                  o,
                  31
                  /* ParameterPropertyModifier */
                ))
                  break;
              // falls through
              case 261:
              case 209: {
                const m = o;
                if (Ds(m.name)) {
                  Ts(m.name, s);
                  break;
                }
                m.initializer && s(m.initializer);
              }
              // falls through
              case 307:
              case 173:
              case 172:
                t(o);
                break;
              case 279:
                const u = o;
                u.exportClause && (_p(u.exportClause) ? lr(u.exportClause.elements, s) : s(u.exportClause.name));
                break;
              case 273:
                const g = o.importClause;
                g && (g.name && t(g.name), g.namedBindings && (g.namedBindings.kind === 275 ? t(g.namedBindings) : lr(g.namedBindings.elements, s)));
                break;
              case 227:
                wc(o) !== 0 && t(o);
              // falls through
              default:
                Ts(o, s);
            }
          }
        }
      }, lVe = class {
        constructor(e, t, n) {
          this.fileName = e, this.text = t, this.skipTrivia = n || ((i) => i);
        }
        getLineAndCharacterOfPosition(e) {
          return Rs(this, e);
        }
      };
      function uVe() {
        return {
          getNodeConstructor: () => fce,
          getTokenConstructor: () => xTe,
          getIdentifierConstructor: () => kTe,
          getPrivateIdentifierConstructor: () => CTe,
          getSourceFileConstructor: () => cVe,
          getSymbolConstructor: () => sVe,
          getTypeConstructor: () => aVe,
          getSignatureConstructor: () => oVe,
          getSourceMapSourceConstructor: () => lVe
        };
      }
      function oA(e) {
        let t = true;
        for (const i in e)
          if (Ya(e, i) && !wTe(i)) {
            t = false;
            break;
          }
        if (t)
          return e;
        const n = {};
        for (const i in e)
          if (Ya(e, i)) {
            const s = wTe(i) ? i : i.charAt(0).toLowerCase() + i.substr(1);
            n[s] = e[i];
          }
        return n;
      }
      function wTe(e) {
        return !e.length || e.charAt(0) === e.charAt(0).toLowerCase();
      }
      function cA(e) {
        return e ? hr(e, (t) => t.text).join("") : "";
      }
      function fL() {
        return {
          target: 1,
          jsx: 1
          /* Preserve */
        };
      }
      function Kq() {
        return Nu.getSupportedErrorCodes();
      }
      var _Ve = 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 = eq(e, this.host), h = this.host.getScriptVersion(e);
          let S;
          if (this.currentFileName !== e) {
            const T = {
              languageVersion: 99,
              impliedNodeFormat: k8(
                io(e, this.host.getCurrentDirectory(), ((i = (n = (t = this.host).getCompilerHost) == null ? void 0 : n.call(t)) == null ? void 0 : i.getCanonicalFileName) || yh(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: uN(this.host.getCompilationSettings()),
              // These files are used to produce syntax-based highlighting, which reads JSDoc, so we must use ParseAll.
              jsDocParsingMode: 0
              /* ParseAll */
            };
            S = pL(
              e,
              g,
              T,
              h,
              /*setNodeParents*/
              true,
              m
            );
          } else if (this.currentFileVersion !== h) {
            const T = g.getChangeRange(this.currentFileScriptSnapshot);
            S = eH(this.currentSourceFile, g, h, T);
          }
          return S && (this.currentFileVersion = h, this.currentFileName = e, this.currentFileScriptSnapshot = g, this.currentSourceFile = S), this.currentSourceFile;
        }
      };
      function PTe(e, t, n) {
        e.version = n, e.scriptSnapshot = t;
      }
      function pL(e, t, n, i, s, o) {
        const c = Gx(e, sk(t), n, s, o);
        return PTe(c, t, i), c;
      }
      function eH(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 = Yo(i.span) !== e.text.length ? e.text.substr(Yo(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 = zz(e, c, i, s);
          return PTe(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 pL(
          e.fileName,
          t,
          o,
          n,
          /*setNodeParents*/
          true,
          e.scriptKind
        );
      }
      var fVe = {
        isCancellationRequested: uh,
        throwIfCancellationRequested: Ua
      }, pVe = class {
        constructor(e) {
          this.cancellationToken = e;
        }
        isCancellationRequested() {
          return this.cancellationToken.isCancellationRequested();
        }
        throwIfCancellationRequested() {
          var e;
          if (this.isCancellationRequested())
            throw (e = on) == null || e.instant(on.Phase.Session, "cancellationThrown", { kind: "CancellationTokenObject" }), new a4();
        }
      }, dce = class {
        constructor(e, t = 20) {
          this.hostCancellationToken = e, this.throttleWaitMilliseconds = t, this.lastCancellationCheckTime = 0;
        }
        isCancellationRequested() {
          const e = no();
          return Math.abs(e - this.lastCancellationCheckTime) >= this.throttleWaitMilliseconds ? (this.lastCancellationCheckTime = e, this.hostCancellationToken.isCancellationRequested()) : false;
        }
        throwIfCancellationRequested() {
          var e;
          if (this.isCancellationRequested())
            throw (e = on) == null || e.instant(on.Phase.Session, "cancellationThrown", { kind: "ThrottledCancellationToken" }), new a4();
        }
      }, NTe = [
        "getSemanticDiagnostics",
        "getSuggestionDiagnostics",
        "getCompilerOptionsDiagnostics",
        "getSemanticClassifications",
        "getEncodedSemanticClassifications",
        "getCodeFixesAtPosition",
        "getCombinedCodeFix",
        "applyCodeActionCommand",
        "organizeImports",
        "getEditsForFileRename",
        "getEmitOutput",
        "getApplicableRefactors",
        "getEditsForRefactor",
        "prepareCallHierarchy",
        "provideCallHierarchyIncomingCalls",
        "provideCallHierarchyOutgoingCalls",
        "provideInlayHints",
        "getSupportedCodeFixes",
        "getPasteEdits"
      ], dVe = [
        ...NTe,
        "getCompletionsAtPosition",
        "getCompletionEntryDetails",
        "getCompletionEntrySymbol",
        "getSignatureHelpItems",
        "getQuickInfoAtPosition",
        "getDefinitionAtPosition",
        "getDefinitionAndBoundSpan",
        "getImplementationAtPosition",
        "getTypeDefinitionAtPosition",
        "getReferencesAtPosition",
        "findReferences",
        "getDocumentHighlights",
        "getNavigateToItems",
        "getRenameInfo",
        "findRenameLocations",
        "getApplicableRefactors",
        "preparePasteEditsForFile"
      ];
      function mce(e, t = Bae(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 _Ve(e);
        let c, _, u = 0;
        const g = e.getCancellationToken ? new pVe(e.getCancellationToken()) : fVe, m = e.getCurrentDirectory();
        vee((i = e.getLocalizedDiagnosticMessages) == null ? void 0 : i.bind(e));
        function h(rt) {
          e.log && e.log(rt);
        }
        const S = cS(e), T = $l(S), k = Kae({
          useCaseSensitiveFileNames: () => S,
          getCurrentDirectory: () => m,
          getProgram: O,
          fileExists: Fs(e, e.fileExists),
          readFile: Fs(e, e.readFile),
          getDocumentPositionMapper: Fs(e, e.getDocumentPositionMapper),
          getSourceFileLike: Fs(e, e.getSourceFileLike),
          log: h
        });
        function D(rt) {
          const vt = c.getSourceFile(rt);
          if (!vt) {
            const Nt = new Error(`Could not find source file: '${rt}'.`);
            throw Nt.ProgramFiles = c.getSourceFiles().map((Jt) => Jt.fileName), Nt;
          }
          return vt;
        }
        function P() {
          e.updateFromProject && !e.updateFromProjectInProgress ? e.updateFromProject() : A();
        }
        function A() {
          var rt, vt, Nt;
          if (E.assert(
            s !== 2
            /* Syntactic */
          ), e.getProjectVersion) {
            const os = e.getProjectVersion();
            if (os) {
              if (_ === os && !((rt = e.hasChangedAutomaticTypeDirectiveNames) != null && rt.call(e)))
                return;
              _ = os;
            }
          }
          const Jt = e.getTypeRootsVersion ? e.getTypeRootsVersion() : 0;
          u !== Jt && (h("TypeRoots version has changed; provide new program"), c = void 0, u = Jt);
          const _r = e.getScriptFileNames().slice(), nr = e.getCompilationSettings() || fL(), kt = e.hasInvalidatedResolutions || uh, cr = Fs(e, e.hasInvalidatedLibResolutions) || uh, fr = Fs(e, e.hasChangedAutomaticTypeDirectiveNames), vr = (vt = e.getProjectReferences) == null ? void 0 : vt.call(e);
          let Xt, oi = {
            getSourceFile: xc,
            getSourceFileByPath: Rf,
            getCancellationToken: () => g,
            getCanonicalFileName: T,
            useCaseSensitiveFileNames: () => S,
            getNewLine: () => d0(nr),
            getDefaultLibFileName: (os) => e.getDefaultLibFileName(os),
            writeFile: Ua,
            getCurrentDirectory: () => m,
            fileExists: (os) => e.fileExists(os),
            readFile: (os) => e.readFile && e.readFile(os),
            getSymlinkCache: Fs(e, e.getSymlinkCache),
            realpath: Fs(e, e.realpath),
            directoryExists: (os) => Cd(os, e),
            getDirectories: (os) => e.getDirectories ? e.getDirectories(os) : [],
            readDirectory: (os, zs, Aa, ya, zt) => (E.checkDefined(e.readDirectory, "'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"), e.readDirectory(os, zs, Aa, ya, zt)),
            onReleaseOldSourceFile: ea,
            onReleaseParsedCommandLine: Vc,
            hasInvalidatedResolutions: kt,
            hasInvalidatedLibResolutions: cr,
            hasChangedAutomaticTypeDirectiveNames: fr,
            trace: Fs(e, e.trace),
            resolveModuleNames: Fs(e, e.resolveModuleNames),
            getModuleResolutionCache: Fs(e, e.getModuleResolutionCache),
            createHash: Fs(e, e.createHash),
            resolveTypeReferenceDirectives: Fs(e, e.resolveTypeReferenceDirectives),
            resolveModuleNameLiterals: Fs(e, e.resolveModuleNameLiterals),
            resolveTypeReferenceDirectiveReferences: Fs(e, e.resolveTypeReferenceDirectiveReferences),
            resolveLibrary: Fs(e, e.resolveLibrary),
            useSourceOfProjectReferenceRedirect: Fs(e, e.useSourceOfProjectReferenceRedirect),
            getParsedCommandLine: zi,
            jsDocParsingMode: e.jsDocParsingMode,
            getGlobalTypingsCacheLocation: Fs(e, e.getGlobalTypingsCacheLocation)
          };
          const Is = oi.getSourceFile, { getSourceFileWithCache: Ms } = iw(
            oi,
            (os) => io(os, m, T),
            (...os) => Is.call(oi, ...os)
          );
          oi.getSourceFile = Ms, (Nt = e.setCompilerHost) == null || Nt.call(e, oi);
          const ps = {
            useCaseSensitiveFileNames: S,
            fileExists: (os) => oi.fileExists(os),
            readFile: (os) => oi.readFile(os),
            directoryExists: (os) => oi.directoryExists(os),
            getDirectories: (os) => oi.getDirectories(os),
            realpath: oi.realpath,
            readDirectory: (...os) => oi.readDirectory(...os),
            trace: oi.trace,
            getCurrentDirectory: oi.getCurrentDirectory,
            onUnRecoverableConfigFileDiagnostic: Ua
          }, uc = t.getKeyForCompilationSettings(nr);
          let Xo = /* @__PURE__ */ new Set();
          if (hU(c, _r, nr, (os, zs) => e.getScriptVersion(zs), (os) => oi.fileExists(os), kt, cr, fr, zi, vr)) {
            oi = void 0, Xt = void 0, Xo = void 0;
            return;
          }
          c = C8({
            rootNames: _r,
            options: nr,
            host: oi,
            oldProgram: c,
            projectReferences: vr
          }), oi = void 0, Xt = void 0, Xo = void 0, k.clearCache(), c.getTypeChecker();
          return;
          function zi(os) {
            const zs = io(os, m, T), Aa = Xt?.get(zs);
            if (Aa !== void 0) return Aa || void 0;
            const ya = e.getParsedCommandLine ? e.getParsedCommandLine(os) : gs(os);
            return (Xt || (Xt = /* @__PURE__ */ new Map())).set(zs, ya || false), ya;
          }
          function gs(os) {
            const zs = xc(
              os,
              100
              /* JSON */
            );
            if (zs)
              return zs.path = io(os, m, T), zs.resolvedPath = zs.path, zs.originalFileName = zs.fileName, r8(
                zs,
                ps,
                Qi(Hn(os), m),
                /*existingOptions*/
                void 0,
                Qi(os, m)
              );
          }
          function Vc(os, zs, Aa) {
            var ya;
            e.getParsedCommandLine ? (ya = e.onReleaseParsedCommandLine) == null || ya.call(e, os, zs, Aa) : zs && To(zs.sourceFile, Aa);
          }
          function To(os, zs) {
            const Aa = t.getKeyForCompilationSettings(zs);
            t.releaseDocumentWithKey(os.resolvedPath, Aa, os.scriptKind, os.impliedNodeFormat);
          }
          function ea(os, zs, Aa, ya) {
            var zt;
            To(os, zs), (zt = e.onReleaseOldSourceFile) == null || zt.call(e, os, zs, Aa, ya);
          }
          function xc(os, zs, Aa, ya) {
            return Rf(os, io(os, m, T), zs, Aa, ya);
          }
          function Rf(os, zs, Aa, ya, zt) {
            E.assert(oi, "getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");
            const Xa = e.getScriptSnapshot(os);
            if (!Xa)
              return;
            const mc = eq(os, e), Nc = e.getScriptVersion(os);
            if (!zt) {
              const Wl = c && c.getSourceFileByPath(zs);
              if (Wl) {
                if (mc === Wl.scriptKind || Xo.has(Wl.resolvedPath))
                  return t.updateDocumentWithKey(os, zs, e, uc, Xa, Nc, mc, Aa);
                t.releaseDocumentWithKey(Wl.resolvedPath, t.getKeyForCompilationSettings(c.getCompilerOptions()), Wl.scriptKind, Wl.impliedNodeFormat), Xo.add(Wl.resolvedPath);
              }
            }
            return t.acquireDocumentWithKey(os, zs, e, uc, Xa, Nc, mc, Aa);
          }
        }
        function O() {
          if (s === 2) {
            E.assert(c === void 0);
            return;
          }
          return P(), c;
        }
        function F() {
          var rt;
          return (rt = e.getPackageJsonAutoImportProvider) == null ? void 0 : rt.call(e);
        }
        function R(rt, vt) {
          const Nt = c.getTypeChecker(), Jt = _r();
          if (!Jt) return false;
          for (const kt of rt)
            for (const cr of kt.references) {
              const fr = nr(cr);
              if (E.assertIsDefined(fr), vt.has(cr) || So.isDeclarationOfSymbol(fr, Jt)) {
                vt.add(cr), cr.isDefinition = true;
                const vr = F9(cr, k, Fs(e, e.fileExists));
                vr && vt.add(vr);
              } else
                cr.isDefinition = false;
            }
          return true;
          function _r() {
            for (const kt of rt)
              for (const cr of kt.references) {
                if (vt.has(cr)) {
                  const vr = nr(cr);
                  return E.assertIsDefined(vr), Nt.getSymbolAtLocation(vr);
                }
                const fr = F9(cr, k, Fs(e, e.fileExists));
                if (fr && vt.has(fr)) {
                  const vr = nr(fr);
                  if (vr)
                    return Nt.getSymbolAtLocation(vr);
                }
              }
          }
          function nr(kt) {
            const cr = c.getSourceFile(kt.fileName);
            if (!cr) return;
            const fr = k_(cr, kt.textSpan.start);
            return So.Core.getAdjustedNode(fr, { use: So.FindReferencesUse.References });
          }
        }
        function B() {
          if (c) {
            const rt = t.getKeyForCompilationSettings(c.getCompilerOptions());
            lr(c.getSourceFiles(), (vt) => t.releaseDocumentWithKey(vt.resolvedPath, rt, vt.scriptKind, vt.impliedNodeFormat)), c = void 0;
          }
        }
        function U() {
          B(), e = void 0;
        }
        function $(rt) {
          return P(), c.getSyntacticDiagnostics(D(rt), g).slice();
        }
        function W(rt) {
          P();
          const vt = D(rt), Nt = c.getSemanticDiagnostics(vt, g);
          if (!M_(c.getCompilerOptions()))
            return Nt.slice();
          const Jt = c.getDeclarationDiagnostics(vt, g);
          return [...Nt, ...Jt];
        }
        function _e(rt, vt) {
          P();
          const Nt = D(rt), Jt = c.getCompilerOptions();
          if (t6(Nt, Jt, c) || !fD(Nt, Jt) || c.getCachedSemanticDiagnostics(Nt))
            return;
          const _r = K(Nt, vt);
          if (!_r)
            return;
          const nr = Dj(_r.map((cr) => Dc(cr.getFullStart(), cr.getEnd())));
          return {
            diagnostics: c.getSemanticDiagnostics(Nt, g, _r).slice(),
            spans: nr
          };
        }
        function K(rt, vt) {
          const Nt = [], Jt = Dj(vt.map((_r) => E0(_r)));
          for (const _r of Jt) {
            const nr = V(rt, _r);
            if (!nr)
              return;
            Nt.push(...nr);
          }
          if (Nt.length)
            return Nt;
        }
        function V(rt, vt) {
          if (Ej(vt, rt))
            return;
          const Nt = pw(rt, Yo(vt)) || rt, Jt = dr(Nt, (nr) => qY(nr, vt)), _r = [];
          if (ae(vt, Jt, _r), rt.end === vt.start + vt.length && _r.push(rt.endOfFileToken), !ot(_r, Di))
            return _r;
        }
        function ae(rt, vt, Nt) {
          return se(vt, rt) ? Ej(rt, vt) ? (ce(vt, Nt), true) : ok(vt) ? fe(rt, vt, Nt) : $n(vt) ? he(rt, vt, Nt) : (ce(vt, Nt), true) : false;
        }
        function se(rt, vt) {
          const Nt = vt.start + vt.length;
          return rt.pos < Nt && rt.end > vt.start;
        }
        function ce(rt, vt) {
          for (; rt.parent && !Zee(rt); )
            rt = rt.parent;
          vt.push(rt);
        }
        function fe(rt, vt, Nt) {
          const Jt = [];
          return vt.statements.filter((nr) => ae(rt, nr, Jt)).length === vt.statements.length ? (ce(vt, Nt), true) : (Nt.push(...Jt), false);
        }
        function he(rt, vt, Nt) {
          var Jt, _r, nr;
          const kt = (vr) => XY(vr, rt);
          if ((Jt = vt.modifiers) != null && Jt.some(kt) || vt.name && kt(vt.name) || (_r = vt.typeParameters) != null && _r.some(kt) || (nr = vt.heritageClauses) != null && nr.some(kt))
            return ce(vt, Nt), true;
          const cr = [];
          return vt.members.filter((vr) => ae(rt, vr, cr)).length === vt.members.length ? (ce(vt, Nt), true) : (Nt.push(...cr), false);
        }
        function q(rt) {
          return P(), Eq(D(rt), c, g);
        }
        function be() {
          return P(), [...c.getOptionsDiagnostics(g), ...c.getGlobalDiagnostics(g)];
        }
        function je(rt, vt, Nt = zp, Jt) {
          const _r = {
            ...Nt,
            // avoid excess property check
            includeCompletionsForModuleExports: Nt.includeCompletionsForModuleExports || Nt.includeExternalModuleExports,
            includeCompletionsWithInsertText: Nt.includeCompletionsWithInsertText || Nt.includeInsertTextCompletions
          };
          return P(), mk.getCompletionsAtPosition(
            e,
            c,
            h,
            D(rt),
            vt,
            _r,
            Nt.triggerCharacter,
            Nt.triggerKind,
            g,
            Jt && el.getFormatContext(Jt, e),
            Nt.includeSymbol
          );
        }
        function me(rt, vt, Nt, Jt, _r, nr = zp, kt) {
          return P(), mk.getCompletionEntryDetails(
            c,
            h,
            D(rt),
            vt,
            { name: Nt, source: _r, data: kt },
            e,
            Jt && el.getFormatContext(Jt, e),
            // TODO: GH#18217
            nr,
            g
          );
        }
        function Z(rt, vt, Nt, Jt, _r = zp) {
          return P(), mk.getCompletionEntrySymbol(c, h, D(rt), vt, { name: Nt, source: Jt }, e, _r);
        }
        function pe(rt, vt, Nt, Jt) {
          P();
          const _r = D(rt), nr = k_(_r, vt);
          if (nr === _r)
            return;
          const kt = c.getTypeChecker(), cr = Ye(nr), fr = yVe(cr, kt);
          if (!fr || kt.isUnknownSymbol(fr)) {
            const ps = ne(_r, cr, vt) ? kt.getTypeAtLocation(cr) : void 0;
            return ps && {
              kind: "",
              kindModifiers: "",
              textSpan: a_(cr, _r),
              displayParts: kt.runWithCancellationToken(g, (uc) => G8(
                uc,
                ps,
                MS(cr),
                /*flags*/
                void 0,
                Jt
              )),
              documentation: ps.symbol ? ps.symbol.getDocumentationComment(kt) : void 0,
              tags: ps.symbol ? ps.symbol.getJsDocTags(kt) : void 0
            };
          }
          const { symbolKind: vr, displayParts: Xt, documentation: oi, tags: Is, canIncreaseVerbosityLevel: Ms } = kt.runWithCancellationToken(
            g,
            (ps) => P0.getSymbolDisplayPartsDocumentationAndSymbolKind(
              ps,
              fr,
              _r,
              MS(cr),
              cr,
              /*semanticMeaning*/
              void 0,
              /*alias*/
              void 0,
              Nt ?? jZ,
              Jt
            )
          );
          return {
            kind: vr,
            kindModifiers: P0.getSymbolModifiers(kt, fr),
            textSpan: a_(cr, _r),
            displayParts: Xt,
            documentation: oi,
            tags: Is,
            canIncreaseVerbosityLevel: Ms
          };
        }
        function Te(rt, vt) {
          return P(), _G.preparePasteEdits(
            D(rt),
            vt,
            c.getTypeChecker()
          );
        }
        function Fe(rt, vt) {
          return P(), fG.pasteEditsProvider(
            D(rt.targetFile),
            rt.pastedText,
            rt.pasteLocations,
            rt.copiedFrom ? { file: D(rt.copiedFrom.file), range: rt.copiedFrom.range } : void 0,
            e,
            rt.preferences,
            el.getFormatContext(vt, e),
            g
          );
        }
        function Ye(rt) {
          return Ub(rt.parent) && rt.pos === rt.parent.pos ? rt.parent.expression : o6(rt.parent) && rt.pos === rt.parent.pos || LC(rt.parent) && rt.parent.name === rt || Pd(rt.parent) ? rt.parent : rt;
        }
        function ne(rt, vt, Nt) {
          switch (vt.kind) {
            case 80:
              return vt.flags & 16777216 && !an(vt) && (vt.parent.kind === 172 && vt.parent.name === vt || dr(
                vt,
                (Jt) => Jt.kind === 170
                /* Parameter */
              )) ? false : !bV(vt) && !SV(vt) && !Kp(vt.parent);
            case 212:
            case 167:
              return !k0(rt, Nt);
            case 110:
            case 198:
            case 108:
            case 203:
              return true;
            case 237:
              return LC(vt);
            default:
              return false;
          }
        }
        function Se(rt, vt, Nt, Jt) {
          return P(), eE.getDefinitionAtPosition(c, D(rt), vt, Nt, Jt);
        }
        function ie(rt, vt) {
          return P(), eE.getDefinitionAndBoundSpan(c, D(rt), vt);
        }
        function Ne(rt, vt) {
          return P(), eE.getTypeDefinitionAtPosition(c.getTypeChecker(), D(rt), vt);
        }
        function Ee(rt, vt) {
          return P(), So.getImplementationsAtPosition(c, g, c.getSourceFiles(), D(rt), vt);
        }
        function Ce(rt, vt, Nt) {
          const Jt = qs(rt);
          E.assert(Nt.some((kt) => qs(kt) === Jt)), P();
          const _r = Fi(Nt, (kt) => c.getSourceFile(kt)), nr = D(rt);
          return Y9.getDocumentHighlights(c, g, nr, vt, _r);
        }
        function Ve(rt, vt, Nt, Jt, _r) {
          P();
          const nr = D(rt), kt = S9(k_(nr, vt));
          if (OL.nodeIsEligibleForRename(kt))
            if (Me(kt) && (wd(kt.parent) || Vb(kt.parent)) && HC(kt.escapedText)) {
              const { openingElement: cr, closingElement: fr } = kt.parent.parent;
              return [cr, fr].map((vr) => {
                const Xt = a_(vr.tagName, nr);
                return {
                  fileName: nr.fileName,
                  textSpan: Xt,
                  ...So.toContextSpan(Xt, nr, vr.parent)
                };
              });
            } else {
              const cr = of(nr, _r ?? zp), fr = typeof _r == "boolean" ? _r : _r?.providePrefixAndSuffixTextForRename;
              return Bt(kt, vt, { findInStrings: Nt, findInComments: Jt, providePrefixAndSuffixTextForRename: fr, use: So.FindReferencesUse.Rename }, (vr, Xt, oi) => So.toRenameLocation(vr, Xt, oi, fr || false, cr));
            }
        }
        function St(rt, vt) {
          return P(), Bt(k_(D(rt), vt), vt, { use: So.FindReferencesUse.References }, So.toReferenceEntry);
        }
        function Bt(rt, vt, Nt, Jt) {
          P();
          const _r = Nt && Nt.use === So.FindReferencesUse.Rename ? c.getSourceFiles().filter((nr) => !c.isSourceFileDefaultLibrary(nr)) : c.getSourceFiles();
          return So.findReferenceOrRenameEntries(c, g, _r, rt, vt, Nt, Jt);
        }
        function tr(rt, vt) {
          return P(), So.findReferencedSymbols(c, g, c.getSourceFiles(), D(rt), vt);
        }
        function Nr(rt) {
          return P(), So.Core.getReferencesForFileName(rt, c, c.getSourceFiles()).map(So.toReferenceEntry);
        }
        function st(rt, vt, Nt, Jt = false, _r = false) {
          P();
          const nr = Nt ? [D(Nt)] : c.getSourceFiles();
          return W2e(nr, c.getTypeChecker(), g, rt, vt, Jt, _r);
        }
        function Wt(rt, vt, Nt) {
          P();
          const Jt = D(rt), _r = e.getCustomTransformers && e.getCustomTransformers();
          return Iie(c, Jt, !!vt, g, _r, Nt);
        }
        function Jr(rt, vt, { triggerReason: Nt } = zp) {
          P();
          const Jt = D(rt);
          return kA.getSignatureHelpItems(c, Jt, vt, Nt, g);
        }
        function ui(rt) {
          return o.getCurrentSourceFile(rt);
        }
        function Ji(rt, vt, Nt) {
          const Jt = o.getCurrentSourceFile(rt), _r = k_(Jt, vt);
          if (_r === Jt)
            return;
          switch (_r.kind) {
            case 212:
            case 167:
            case 11:
            case 97:
            case 112:
            case 106:
            case 108:
            case 110:
            case 198:
            case 80:
              break;
            // Cant create the text span
            default:
              return;
          }
          let nr = _r;
          for (; ; )
            if (j6(nr) || Xse(nr))
              nr = nr.parent;
            else if (xV(nr))
              if (nr.parent.parent.kind === 268 && nr.parent.parent.body === nr.parent)
                nr = nr.parent.parent.name;
              else
                break;
            else
              break;
          return Dc(nr.getStart(), _r.getEnd());
        }
        function Dt(rt, vt) {
          const Nt = o.getCurrentSourceFile(rt);
          return rH.spanInSourceFileAtLocation(Nt, vt);
        }
        function Mn(rt) {
          return H2e(o.getCurrentSourceFile(rt), g);
        }
        function ai(rt) {
          return G2e(o.getCurrentSourceFile(rt), g);
        }
        function fi(rt, vt, Nt) {
          return P(), (Nt || "original") === "2020" ? hTe(c, g, D(rt), vt) : Rae(c.getTypeChecker(), g, D(rt), c.getClassifiableNames(), vt);
        }
        function pn(rt, vt, Nt) {
          return P(), (Nt || "original") === "original" ? yq(c.getTypeChecker(), g, D(rt), c.getClassifiableNames(), vt) : _ce(c, g, D(rt), vt);
        }
        function _i(rt, vt) {
          return jae(g, o.getCurrentSourceFile(rt), vt);
        }
        function Je(rt, vt) {
          return vq(g, o.getCurrentSourceFile(rt), vt);
        }
        function ft(rt) {
          const vt = o.getCurrentSourceFile(rt);
          return QH.collectElements(vt, g);
        }
        const er = new Map(Object.entries({
          19: 20,
          21: 22,
          23: 24,
          32: 30
          /* LessThanToken */
        }));
        er.forEach((rt, vt) => er.set(rt.toString(), Number(vt)));
        function qr(rt, vt) {
          const Nt = o.getCurrentSourceFile(rt), Jt = z6(Nt, vt), _r = Jt.getStart(Nt) === vt ? er.get(Jt.kind.toString()) : void 0, nr = _r && $a(Jt.parent, _r, Nt);
          return nr ? [a_(Jt, Nt), a_(nr, Nt)].sort((kt, cr) => kt.start - cr.start) : Ge;
        }
        function Jn(rt, vt, Nt) {
          let Jt = no();
          const _r = oA(Nt), nr = o.getCurrentSourceFile(rt);
          h("getIndentationAtPosition: getCurrentSourceFile: " + (no() - Jt)), Jt = no();
          const kt = el.SmartIndenter.getIndentation(vt, nr, _r);
          return h("getIndentationAtPosition: computeIndentation  : " + (no() - Jt)), kt;
        }
        function Un(rt, vt, Nt, Jt) {
          const _r = o.getCurrentSourceFile(rt);
          return el.formatSelection(vt, Nt, _r, el.getFormatContext(oA(Jt), e));
        }
        function ki(rt, vt) {
          return el.formatDocument(o.getCurrentSourceFile(rt), el.getFormatContext(oA(vt), e));
        }
        function Es(rt, vt, Nt, Jt) {
          const _r = o.getCurrentSourceFile(rt), nr = el.getFormatContext(oA(Jt), e);
          if (!k0(_r, vt))
            switch (Nt) {
              case "{":
                return el.formatOnOpeningCurly(vt, _r, nr);
              case "}":
                return el.formatOnClosingCurly(vt, _r, nr);
              case ";":
                return el.formatOnSemicolon(vt, _r, nr);
              case `
`:
                return el.formatOnEnter(vt, _r, nr);
            }
          return [];
        }
        function Zs(rt, vt, Nt, Jt, _r, nr = zp) {
          P();
          const kt = D(rt), cr = Dc(vt, Nt), fr = el.getFormatContext(_r, e);
          return xa(_b(Jt, _y, po), (vr) => (g.throwIfCancellationRequested(), Nu.getFixes({ errorCode: vr, sourceFile: kt, span: cr, program: c, host: e, cancellationToken: g, formatContext: fr, preferences: nr })));
        }
        function yr(rt, vt, Nt, Jt = zp) {
          P(), E.assert(rt.type === "file");
          const _r = D(rt.fileName), nr = el.getFormatContext(Nt, e);
          return Nu.getAllFixes({ fixId: vt, sourceFile: _r, program: c, host: e, cancellationToken: g, formatContext: nr, preferences: Jt });
        }
        function vs(rt, vt, Nt = zp) {
          P(), E.assert(rt.type === "file");
          const Jt = D(rt.fileName);
          if (sx(Jt)) return Ge;
          const _r = el.getFormatContext(vt, e), nr = rt.mode ?? (rt.skipDestructiveCodeActions ? "SortAndCombine" : "All");
          return Tv.organizeImports(Jt, _r, e, c, Nt, nr);
        }
        function Xe(rt, vt, Nt, Jt = zp) {
          return zae(O(), rt, vt, e, el.getFormatContext(Nt, e), Jt, k);
        }
        function Et(rt, vt) {
          const Nt = typeof rt == "string" ? vt : rt;
          return ss(Nt) ? Promise.all(Nt.map((Jt) => re(Jt))) : re(Nt);
        }
        function re(rt) {
          const vt = (Nt) => io(Nt, m, T);
          return E.assertEqual(rt.type, "install package"), e.installPackage ? e.installPackage({ fileName: vt(rt.file), packageName: rt.packageName }) : Promise.reject("Host does not implement `installPackage`");
        }
        function it(rt, vt, Nt, Jt) {
          const _r = Jt ? el.getFormatContext(Jt, e).options : void 0;
          return Sv.getDocCommentTemplateAtPosition(wh(e, _r), o.getCurrentSourceFile(rt), vt, Nt);
        }
        function Y(rt, vt, Nt) {
          if (Nt === 60)
            return false;
          const Jt = o.getCurrentSourceFile(rt);
          if (ik(Jt, vt))
            return false;
          if (rae(Jt, vt))
            return Nt === 123;
          if (PV(Jt, vt))
            return false;
          switch (Nt) {
            case 39:
            case 34:
            case 96:
              return !k0(Jt, vt);
          }
          return true;
        }
        function Ae(rt, vt) {
          const Nt = o.getCurrentSourceFile(rt), Jt = ul(vt, Nt);
          if (!Jt) return;
          const _r = Jt.kind === 32 && wd(Jt.parent) ? Jt.parent.parent : Ix(Jt) && hm(Jt.parent) ? Jt.parent : void 0;
          if (_r && Ct(_r))
            return { newText: `</${_r.openingElement.tagName.getText(Nt)}>` };
          const nr = Jt.kind === 32 && ad(Jt.parent) ? Jt.parent.parent : Ix(Jt) && nv(Jt.parent) ? Jt.parent : void 0;
          if (nr && qe(nr))
            return { newText: "</>" };
        }
        function $e(rt, vt) {
          const Nt = o.getCurrentSourceFile(rt), Jt = ul(vt, Nt);
          if (!Jt || Jt.parent.kind === 308) return;
          const _r = "[a-zA-Z0-9:\\-\\._$]*";
          if (nv(Jt.parent.parent)) {
            const nr = Jt.parent.parent.openingFragment, kt = Jt.parent.parent.closingFragment;
            if (sx(nr) || sx(kt)) return;
            const cr = nr.getStart(Nt) + 1, fr = kt.getStart(Nt) + 2;
            return vt !== cr && vt !== fr ? void 0 : {
              ranges: [{ start: cr, length: 0 }, { start: fr, length: 0 }],
              wordPattern: _r
            };
          } else {
            const nr = dr(Jt.parent, (Ms) => !!(wd(Ms) || Vb(Ms)));
            if (!nr) return;
            E.assert(wd(nr) || Vb(nr), "tag should be opening or closing element");
            const kt = nr.parent.openingElement, cr = nr.parent.closingElement, fr = kt.tagName.getStart(Nt), vr = kt.tagName.end, Xt = cr.tagName.getStart(Nt), oi = cr.tagName.end;
            return fr === kt.getStart(Nt) || Xt === cr.getStart(Nt) || vr === kt.getEnd() || oi === cr.getEnd() || !(fr <= vt && vt <= vr || Xt <= vt && vt <= oi) || kt.tagName.getText(Nt) !== cr.tagName.getText(Nt) ? void 0 : {
              ranges: [{ start: fr, length: vr - fr }, { start: Xt, length: oi - Xt }],
              wordPattern: _r
            };
          }
        }
        function Ke(rt, vt) {
          return {
            lineStarts: rt.getLineStarts(),
            firstLine: rt.getLineAndCharacterOfPosition(vt.pos).line,
            lastLine: rt.getLineAndCharacterOfPosition(vt.end).line
          };
        }
        function Tt(rt, vt, Nt) {
          const Jt = o.getCurrentSourceFile(rt), _r = [], { lineStarts: nr, firstLine: kt, lastLine: cr } = Ke(Jt, vt);
          let fr = Nt || false, vr = Number.MAX_VALUE;
          const Xt = /* @__PURE__ */ new Map(), oi = new RegExp(/\S/), Is = x9(Jt, nr[kt]), Ms = Is ? "{/*" : "//";
          for (let ps = kt; ps <= cr; ps++) {
            const uc = Jt.text.substring(nr[ps], Jt.getLineEndOfPosition(nr[ps])), Xo = oi.exec(uc);
            Xo && (vr = Math.min(vr, Xo.index), Xt.set(ps.toString(), Xo.index), uc.substr(Xo.index, Ms.length) !== Ms && (fr = Nt === void 0 || Nt));
          }
          for (let ps = kt; ps <= cr; ps++) {
            if (kt !== cr && nr[ps] === vt.end)
              continue;
            const uc = Xt.get(ps.toString());
            uc !== void 0 && (Is ? _r.push(...Le(rt, { pos: nr[ps] + vr, end: Jt.getLineEndOfPosition(nr[ps]) }, fr, Is)) : fr ? _r.push({
              newText: Ms,
              span: {
                length: 0,
                start: nr[ps] + vr
              }
            }) : Jt.text.substr(nr[ps] + uc, Ms.length) === Ms && _r.push({
              newText: "",
              span: {
                length: Ms.length,
                start: nr[ps] + uc
              }
            }));
          }
          return _r;
        }
        function Le(rt, vt, Nt, Jt) {
          var _r;
          const nr = o.getCurrentSourceFile(rt), kt = [], { text: cr } = nr;
          let fr = false, vr = Nt || false;
          const Xt = [];
          let { pos: oi } = vt;
          const Is = Jt !== void 0 ? Jt : x9(nr, oi), Ms = Is ? "{/*" : "/*", ps = Is ? "*/}" : "*/", uc = Is ? "\\{\\/\\*" : "\\/\\*", Xo = Is ? "\\*\\/\\}" : "\\*\\/";
          for (; oi <= vt.end; ) {
            const ro = cr.substr(oi, Ms.length) === Ms ? Ms.length : 0, zi = k0(nr, oi + ro);
            if (zi)
              Is && (zi.pos--, zi.end++), Xt.push(zi.pos), zi.kind === 3 && Xt.push(zi.end), fr = true, oi = zi.end + 1;
            else {
              const gs = cr.substring(oi, vt.end).search(`(${uc})|(${Xo})`);
              vr = Nt !== void 0 ? Nt : vr || !pae(cr, oi, gs === -1 ? vt.end : oi + gs), oi = gs === -1 ? vt.end + 1 : oi + gs + ps.length;
            }
          }
          if (vr || !fr) {
            ((_r = k0(nr, vt.pos)) == null ? void 0 : _r.kind) !== 2 && ay(Xt, vt.pos, po), ay(Xt, vt.end, po);
            const ro = Xt[0];
            cr.substr(ro, Ms.length) !== Ms && kt.push({
              newText: Ms,
              span: {
                length: 0,
                start: ro
              }
            });
            for (let zi = 1; zi < Xt.length - 1; zi++)
              cr.substr(Xt[zi] - ps.length, ps.length) !== ps && kt.push({
                newText: ps,
                span: {
                  length: 0,
                  start: Xt[zi]
                }
              }), cr.substr(Xt[zi], Ms.length) !== Ms && kt.push({
                newText: Ms,
                span: {
                  length: 0,
                  start: Xt[zi]
                }
              });
            kt.length % 2 !== 0 && kt.push({
              newText: ps,
              span: {
                length: 0,
                start: Xt[Xt.length - 1]
              }
            });
          } else
            for (const ro of Xt) {
              const zi = ro - ps.length > 0 ? ro - ps.length : 0, gs = cr.substr(zi, ps.length) === ps ? ps.length : 0;
              kt.push({
                newText: "",
                span: {
                  length: Ms.length,
                  start: ro - gs
                }
              });
            }
          return kt;
        }
        function mt(rt, vt) {
          const Nt = o.getCurrentSourceFile(rt), { firstLine: Jt, lastLine: _r } = Ke(Nt, vt);
          return Jt === _r && vt.pos !== vt.end ? Le(
            rt,
            vt,
            /*insertComment*/
            true
          ) : Tt(
            rt,
            vt,
            /*insertComment*/
            true
          );
        }
        function pt(rt, vt) {
          const Nt = o.getCurrentSourceFile(rt), Jt = [], { pos: _r } = vt;
          let { end: nr } = vt;
          _r === nr && (nr += x9(Nt, _r) ? 2 : 1);
          for (let kt = _r; kt <= nr; kt++) {
            const cr = k0(Nt, kt);
            if (cr) {
              switch (cr.kind) {
                case 2:
                  Jt.push(...Tt(
                    rt,
                    { end: cr.end, pos: cr.pos + 1 },
                    /*insertComment*/
                    false
                  ));
                  break;
                case 3:
                  Jt.push(...Le(
                    rt,
                    { end: cr.end, pos: cr.pos + 1 },
                    /*insertComment*/
                    false
                  ));
              }
              kt = cr.end + 1;
            }
          }
          return Jt;
        }
        function Ct({ openingElement: rt, closingElement: vt, parent: Nt }) {
          return !lv(rt.tagName, vt.tagName) || hm(Nt) && lv(rt.tagName, Nt.openingElement.tagName) && Ct(Nt);
        }
        function qe({ closingFragment: rt, parent: vt }) {
          return !!(rt.flags & 262144) || nv(vt) && qe(vt);
        }
        function Lt(rt, vt, Nt) {
          const Jt = o.getCurrentSourceFile(rt), _r = el.getRangeOfEnclosingComment(Jt, vt);
          return _r && (!Nt || _r.kind === 3) ? E0(_r) : void 0;
        }
        function rn(rt, vt) {
          P();
          const Nt = D(rt);
          g.throwIfCancellationRequested();
          const Jt = Nt.text, _r = [];
          if (vt.length > 0 && !fr(Nt.fileName)) {
            const vr = kt();
            let Xt;
            for (; Xt = vr.exec(Jt); ) {
              g.throwIfCancellationRequested();
              const oi = 3;
              E.assert(Xt.length === vt.length + oi);
              const Is = Xt[1], Ms = Xt.index + Is.length;
              if (!k0(Nt, Ms))
                continue;
              let ps;
              for (let Xo = 0; Xo < vt.length; Xo++)
                Xt[Xo + oi] && (ps = vt[Xo]);
              if (ps === void 0) return E.fail();
              if (cr(Jt.charCodeAt(Ms + ps.text.length)))
                continue;
              const uc = Xt[2];
              _r.push({ descriptor: ps, message: uc, position: Ms });
            }
          }
          return _r;
          function nr(vr) {
            return vr.replace(/[-[\]/{}()*+?.\\^$|]/g, "\\$&");
          }
          function kt() {
            const vr = /(?:\/{2,}\s*)/.source, Xt = /(?:\/\*+\s*)/.source, Is = "(" + /(?:^(?:\s|\*)*)/.source + "|" + vr + "|" + Xt + ")", Ms = "(?:" + hr(vt, (zi) => "(" + nr(zi.text) + ")").join("|") + ")", ps = /(?:$|\*\/)/.source, uc = /(?:.*?)/.source, Xo = "(" + Ms + uc + ")", ro = Is + Xo + ps;
            return new RegExp(ro, "gim");
          }
          function cr(vr) {
            return vr >= 97 && vr <= 122 || vr >= 65 && vr <= 90 || vr >= 48 && vr <= 57;
          }
          function fr(vr) {
            return vr.includes("/node_modules/");
          }
        }
        function Pe(rt, vt, Nt) {
          return P(), OL.getRenameInfo(c, D(rt), vt, Nt || {});
        }
        function yt(rt, vt, Nt, Jt, _r, nr) {
          const [kt, cr] = typeof vt == "number" ? [vt, void 0] : [vt.pos, vt.end];
          return {
            file: rt,
            startPosition: kt,
            endPosition: cr,
            program: O(),
            host: e,
            formatContext: el.getFormatContext(Jt, e),
            // TODO: GH#18217
            cancellationToken: g,
            preferences: Nt,
            triggerReason: _r,
            kind: nr
          };
        }
        function ue(rt, vt, Nt) {
          return {
            file: rt,
            program: O(),
            host: e,
            span: vt,
            preferences: Nt,
            cancellationToken: g
          };
        }
        function M(rt, vt) {
          return KH.getSmartSelectionRange(vt, o.getCurrentSourceFile(rt));
        }
        function ye(rt, vt, Nt = zp, Jt, _r, nr) {
          P();
          const kt = D(rt);
          return lk.getApplicableRefactors(yt(kt, vt, Nt, zp, Jt, _r), nr);
        }
        function Q(rt, vt, Nt = zp) {
          P();
          const Jt = D(rt), _r = E.checkDefined(c.getSourceFiles()), nr = uD(rt), kt = sA(yt(Jt, vt, Nt, zp)), cr = Aoe(kt?.all), fr = Fi(_r, (vr) => {
            const Xt = uD(vr.fileName);
            return !c?.isSourceFileFromExternalLibrary(Jt) && !(Jt === D(vr.fileName) || nr === ".ts" && Xt === ".d.ts" || nr === ".d.ts" && Ui(Xc(vr.fileName), "lib.") && Xt === ".d.ts") && (nr === Xt || (nr === ".tsx" && Xt === ".ts" || nr === ".jsx" && Xt === ".js") && !cr) ? vr.fileName : void 0;
          });
          return { newFileName: Noe(Jt, c, e, kt), files: fr };
        }
        function dt(rt, vt, Nt, Jt, _r, nr = zp, kt) {
          P();
          const cr = D(rt);
          return lk.getEditsForRefactor(yt(cr, Nt, nr, vt), Jt, _r, kt);
        }
        function Mt(rt, vt) {
          return vt === 0 ? { line: 0, character: 0 } : k.toLineColumnOffset(rt, vt);
        }
        function ke(rt, vt) {
          P();
          const Nt = uk.resolveCallHierarchyDeclaration(c, k_(D(rt), vt));
          return Nt && lq(Nt, (Jt) => uk.createCallHierarchyItem(c, Jt));
        }
        function at(rt, vt) {
          P();
          const Nt = D(rt), Jt = uq(uk.resolveCallHierarchyDeclaration(c, vt === 0 ? Nt : k_(Nt, vt)));
          return Jt ? uk.getIncomingCalls(c, Jt, g) : [];
        }
        function wt(rt, vt) {
          P();
          const Nt = D(rt), Jt = uq(uk.resolveCallHierarchyDeclaration(c, vt === 0 ? Nt : k_(Nt, vt)));
          return Jt ? uk.getOutgoingCalls(c, Jt) : [];
        }
        function Zr(rt, vt, Nt = zp) {
          P();
          const Jt = D(rt);
          return GH.provideInlayHints(ue(Jt, vt, Nt));
        }
        function Rr(rt, vt, Nt, Jt, _r) {
          return $H.mapCode(
            o.getCurrentSourceFile(rt),
            vt,
            Nt,
            e,
            el.getFormatContext(Jt, e),
            _r
          );
        }
        const Pr = {
          dispose: U,
          cleanupSemanticCache: B,
          getSyntacticDiagnostics: $,
          getSemanticDiagnostics: W,
          getRegionSemanticDiagnostics: _e,
          getSuggestionDiagnostics: q,
          getCompilerOptionsDiagnostics: be,
          getSyntacticClassifications: _i,
          getSemanticClassifications: fi,
          getEncodedSyntacticClassifications: Je,
          getEncodedSemanticClassifications: pn,
          getCompletionsAtPosition: je,
          getCompletionEntryDetails: me,
          getCompletionEntrySymbol: Z,
          getSignatureHelpItems: Jr,
          getQuickInfoAtPosition: pe,
          getDefinitionAtPosition: Se,
          getDefinitionAndBoundSpan: ie,
          getImplementationAtPosition: Ee,
          getTypeDefinitionAtPosition: Ne,
          getReferencesAtPosition: St,
          findReferences: tr,
          getFileReferences: Nr,
          getDocumentHighlights: Ce,
          getNameOrDottedNameSpan: Ji,
          getBreakpointStatementAtPosition: Dt,
          getNavigateToItems: st,
          getRenameInfo: Pe,
          getSmartSelectionRange: M,
          findRenameLocations: Ve,
          getNavigationBarItems: Mn,
          getNavigationTree: ai,
          getOutliningSpans: ft,
          getTodoComments: rn,
          getBraceMatchingAtPosition: qr,
          getIndentationAtPosition: Jn,
          getFormattingEditsForRange: Un,
          getFormattingEditsForDocument: ki,
          getFormattingEditsAfterKeystroke: Es,
          getDocCommentTemplateAtPosition: it,
          isValidBraceCompletionAtPosition: Y,
          getJsxClosingTagAtPosition: Ae,
          getLinkedEditingRangeAtPosition: $e,
          getSpanOfEnclosingComment: Lt,
          getCodeFixesAtPosition: Zs,
          getCombinedCodeFix: yr,
          applyCodeActionCommand: Et,
          organizeImports: vs,
          getEditsForFileRename: Xe,
          getEmitOutput: Wt,
          getNonBoundSourceFile: ui,
          getProgram: O,
          getCurrentProgram: () => c,
          getAutoImportProvider: F,
          updateIsDefinitionOfReferencedSymbols: R,
          getApplicableRefactors: ye,
          getEditsForRefactor: dt,
          getMoveToRefactoringFileSuggestions: Q,
          toLineColumnOffset: Mt,
          getSourceMapper: () => k,
          clearSourceMapperCache: () => k.clearCache(),
          prepareCallHierarchy: ke,
          provideCallHierarchyIncomingCalls: at,
          provideCallHierarchyOutgoingCalls: wt,
          toggleLineComment: Tt,
          toggleMultilineComment: Le,
          commentSelection: mt,
          uncommentSelection: pt,
          provideInlayHints: Zr,
          getSupportedCodeFixes: Kq,
          preparePasteEditsForFile: Te,
          getPasteEdits: Fe,
          mapCode: Rr
        };
        switch (s) {
          case 0:
            break;
          case 1:
            NTe.forEach(
              (rt) => Pr[rt] = () => {
                throw new Error(`LanguageService Operation: ${rt} not allowed in LanguageServiceMode.PartialSemantic`);
              }
            );
            break;
          case 2:
            dVe.forEach(
              (rt) => Pr[rt] = () => {
                throw new Error(`LanguageService Operation: ${rt} not allowed in LanguageServiceMode.Syntactic`);
              }
            );
            break;
          default:
            E.assertNever(s);
        }
        return Pr;
      }
      function tH(e) {
        return e.nameTable || mVe(e), e.nameTable;
      }
      function mVe(e) {
        const t = e.nameTable = /* @__PURE__ */ new Map();
        e.forEachChild(function n(i) {
          if (Me(i) && !SV(i) && i.escapedText || wf(i) && gVe(i)) {
            const s = H4(i);
            t.set(s, t.get(s) === void 0 ? i.pos : -1);
          } else if (Ai(i)) {
            const s = i.escapedText;
            t.set(s, t.get(s) === void 0 ? i.pos : -1);
          }
          if (Ts(i, n), bf(i))
            for (const s of i.jsDoc)
              Ts(s, n);
        });
      }
      function gVe(e) {
        return Hm(e) || e.parent.kind === 284 || vVe(e) || H3(e);
      }
      function lA(e) {
        const t = hVe(e);
        return t && (ua(t.parent) || qb(t.parent)) ? t : void 0;
      }
      function hVe(e) {
        switch (e.kind) {
          case 11:
          case 15:
          case 9:
            if (e.parent.kind === 168)
              return Xj(e.parent.parent) ? e.parent.parent : void 0;
          // falls through
          case 80:
          case 296:
            return Xj(e.parent) && (e.parent.parent.kind === 211 || e.parent.parent.kind === 293) && e.parent.name === e ? e.parent : void 0;
        }
      }
      function yVe(e, t) {
        const n = lA(e);
        if (n) {
          const i = t.getContextualType(n.parent), s = i && dL(
            n,
            t,
            i,
            /*unionSymbolOk*/
            false
          );
          if (s && s.length === 1)
            return ka(s);
        }
        return t.getSymbolAtLocation(e);
      }
      function dL(e, t, n, i) {
        const s = V8(e.name);
        if (!s) return Ge;
        if (!n.isUnion()) {
          const _ = n.getProperty(s);
          return _ ? [_] : Ge;
        }
        const o = ua(e.parent) || qb(e.parent) ? kn(n.types, (_) => !t.isTypeInvalidDueToUnionDiscriminant(_, e.parent)) : n.types, c = Fi(o, (_) => _.getProperty(s));
        if (i && (c.length === 0 || c.length === n.types.length)) {
          const _ = n.getProperty(s);
          if (_) return [_];
        }
        return !o.length && !c.length ? Fi(n.types, (_) => _.getProperty(s)) : _b(c, _y);
      }
      function vVe(e) {
        return e && e.parent && e.parent.kind === 213 && e.parent.argumentExpression === e;
      }
      function gce(e) {
        if (fl)
          return On(Hn(qs(fl.getExecutingFilePath())), XP(e));
        throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ");
      }
      hee(uVe());
      function ATe(e, t, n) {
        const i = [];
        n = Nq(n, i);
        const s = ss(e) ? e : [e], o = h8(
          /*resolver*/
          void 0,
          /*host*/
          void 0,
          N,
          n,
          s,
          t,
          /*allowDtsFiles*/
          true
        );
        return o.diagnostics = Bi(o.diagnostics, i), o;
      }
      var rH = {};
      Ec(rH, {
        spanInSourceFileAtLocation: () => bVe
      });
      function bVe(e, t) {
        if (e.isDeclarationFile)
          return;
        let n = vi(e, t);
        const i = e.getLineAndCharacterOfPosition(t).line;
        if (e.getLineAndCharacterOfPosition(n.getStart(e)).line > i) {
          const h = ul(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 = $b(h) ? ub(h.modifiers, ol) : void 0, k = T ? aa(e.text, T.end) : h.getStart(e);
          return Dc(k, (S || h).getEnd());
        }
        function o(h, S) {
          return s(h, r2(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, P = k + 1;
              for (; D > 0 && T(h[D - 1]); ) D--;
              for (; P < h.length && T(h[P]); ) P++;
              return Dc(aa(e.text, h[D].pos), h[P - 1].end);
            }
          }
          return s(S);
        }
        function u(h) {
          return m(ul(h.pos, e));
        }
        function g(h) {
          return m(r2(h, h.parent, e));
        }
        function m(h) {
          if (h) {
            const { parent: q } = h;
            switch (h.kind) {
              case 244:
                return T(h.declarationList.declarations[0]);
              case 261:
              case 173:
              case 172:
                return T(h);
              case 170:
                return D(h);
              case 263:
              case 175:
              case 174:
              case 178:
              case 179:
              case 177:
              case 219:
              case 220:
                return A(h);
              case 242:
                if (kb(h))
                  return O(h);
              // falls through
              case 269:
                return F(h);
              case 300:
                return F(h.block);
              case 245:
                return s(h.expression);
              case 254:
                return s(h.getChildAt(0), h.expression);
              case 248:
                return o(h, h.expression);
              case 247:
                return m(h.statement);
              case 260:
                return s(h.getChildAt(0));
              case 246:
                return o(h, h.expression);
              case 257:
                return m(h.statement);
              case 253:
              case 252:
                return s(h.getChildAt(0), h.label);
              case 249:
                return B(h);
              case 250:
                return o(h, h.expression);
              case 251:
                return R(h);
              case 256:
                return o(h, h.expression);
              case 297:
              case 298:
                return m(h.statements[0]);
              case 259:
                return F(h.tryBlock);
              case 258:
                return s(h, h.expression);
              case 278:
                return s(h, h.expression);
              case 272:
                return s(h, h.moduleReference);
              case 273:
                return s(h, h.moduleSpecifier);
              case 279:
                return s(h, h.moduleSpecifier);
              case 268:
                if (Eh(h) !== 1)
                  return;
              // falls through
              case 264:
              case 267:
              case 307:
              case 209:
                return s(h);
              case 255:
                return m(h.statement);
              case 171:
                return _(q.modifiers, h, ol);
              case 207:
              case 208:
                return U(h);
              // No breakpoint in interface, type alias
              case 265:
              case 266:
                return;
              // Tokens:
              case 27:
              case 1:
                return c(ul(h.pos, e));
              case 28:
                return u(h);
              case 19:
                return W(h);
              case 20:
                return _e(h);
              case 24:
                return K(h);
              case 21:
                return V(h);
              case 22:
                return ae(h);
              case 59:
                return se(h);
              case 32:
              case 30:
                return ce(h);
              // Keywords:
              case 117:
                return fe(h);
              case 93:
              case 85:
              case 98:
                return g(h);
              case 165:
                return he(h);
              default:
                if (C0(h))
                  return $(h);
                if ((h.kind === 80 || h.kind === 231 || h.kind === 304 || h.kind === 305) && C0(q))
                  return s(h);
                if (h.kind === 227) {
                  const { left: be, operatorToken: je } = h;
                  if (C0(be))
                    return $(
                      be
                    );
                  if (je.kind === 64 && C0(h.parent))
                    return s(h);
                  if (je.kind === 28)
                    return m(be);
                }
                if (qm(h))
                  switch (q.kind) {
                    case 247:
                      return u(h);
                    case 171:
                      return m(h.parent);
                    case 249:
                    case 251:
                      return s(h);
                    case 227:
                      if (h.parent.operatorToken.kind === 28)
                        return s(h);
                      break;
                    case 220:
                      if (h.parent.body === h)
                        return s(h);
                      break;
                  }
                switch (h.parent.kind) {
                  case 304:
                    if (h.parent.name === h && !C0(h.parent.parent))
                      return m(h.parent.initializer);
                    break;
                  case 217:
                    if (h.parent.type === h)
                      return g(h.parent.type);
                    break;
                  case 261:
                  case 170: {
                    const { initializer: be, type: je } = h.parent;
                    if (be === h || je === h || vh(h.kind))
                      return u(h);
                    break;
                  }
                  case 227: {
                    const { left: be } = h.parent;
                    if (C0(be) && h !== be)
                      return u(h);
                    break;
                  }
                  default:
                    if (Cs(h.parent) && h.parent.type === h)
                      return u(h);
                }
                return m(h.parent);
            }
          }
          function S(q) {
            return Bl(q.parent) && q.parent.declarations[0] === q ? s(ul(q.pos, e, q.parent), q) : s(q);
          }
          function T(q) {
            if (q.parent.parent.kind === 250)
              return m(q.parent.parent);
            const be = q.parent;
            if (Ds(q.name))
              return U(q.name);
            if (Y2(q) && q.initializer || Gn(
              q,
              32
              /* Export */
            ) || be.parent.kind === 251)
              return S(q);
            if (Bl(q.parent) && q.parent.declarations[0] !== q)
              return m(ul(q.pos, e, q.parent));
          }
          function k(q) {
            return !!q.initializer || q.dotDotDotToken !== void 0 || Gn(
              q,
              3
              /* Private */
            );
          }
          function D(q) {
            if (Ds(q.name))
              return U(q.name);
            if (k(q))
              return s(q);
            {
              const be = q.parent, je = be.parameters.indexOf(q);
              return E.assert(je !== -1), je !== 0 ? D(be.parameters[je - 1]) : m(be.body);
            }
          }
          function P(q) {
            return Gn(
              q,
              32
              /* Export */
            ) || q.parent.kind === 264 && q.kind !== 177;
          }
          function A(q) {
            if (q.body)
              return P(q) ? s(q) : m(q.body);
          }
          function O(q) {
            const be = q.statements.length ? q.statements[0] : q.getLastToken();
            return P(q.parent) ? c(q.parent, be) : m(be);
          }
          function F(q) {
            switch (q.parent.kind) {
              case 268:
                if (Eh(q.parent) !== 1)
                  return;
              // Set on parent if on same line otherwise on first statement
              // falls through
              case 248:
              case 246:
              case 250:
                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 249:
              case 251:
                return c(ul(q.pos, e, q.parent), q.statements[0]);
            }
            return m(q.statements[0]);
          }
          function R(q) {
            if (q.initializer.kind === 262) {
              const be = q.initializer;
              if (be.declarations.length > 0)
                return m(be.declarations[0]);
            } else
              return m(q.initializer);
          }
          function B(q) {
            if (q.initializer)
              return R(q);
            if (q.condition)
              return s(q.condition);
            if (q.incrementor)
              return s(q.incrementor);
          }
          function U(q) {
            const be = lr(q.elements, (je) => je.kind !== 233 ? je : void 0);
            return be ? m(be) : q.parent.kind === 209 ? s(q.parent) : S(q.parent);
          }
          function $(q) {
            E.assert(
              q.kind !== 208 && q.kind !== 207
              /* ObjectBindingPattern */
            );
            const be = q.kind === 210 ? q.elements : q.properties, je = lr(be, (me) => me.kind !== 233 ? me : void 0);
            return je ? m(je) : s(q.parent.kind === 227 ? q.parent : q);
          }
          function W(q) {
            switch (q.parent.kind) {
              case 267:
                const be = q.parent;
                return c(ul(q.pos, e, q.parent), be.members.length ? be.members[0] : be.getLastToken(e));
              case 264:
                const je = q.parent;
                return c(ul(q.pos, e, q.parent), je.members.length ? je.members[0] : je.getLastToken(e));
              case 270:
                return c(q.parent.parent, q.parent.clauses[0]);
            }
            return m(q.parent);
          }
          function _e(q) {
            switch (q.parent.kind) {
              case 269:
                if (Eh(q.parent.parent) !== 1)
                  return;
              // falls through
              case 267:
              case 264:
                return s(q);
              case 242:
                if (kb(q.parent))
                  return s(q);
              // falls through
              case 300:
                return m(ko(q.parent.statements));
              case 270:
                const be = q.parent, je = ko(be.clauses);
                return je ? m(ko(je.statements)) : void 0;
              case 207:
                const me = q.parent;
                return m(ko(me.elements) || me);
              // Default to parent node
              default:
                if (C0(q.parent)) {
                  const Z = q.parent;
                  return s(ko(Z.properties) || Z);
                }
                return m(q.parent);
            }
          }
          function K(q) {
            switch (q.parent.kind) {
              case 208:
                const be = q.parent;
                return s(ko(be.elements) || be);
              default:
                if (C0(q.parent)) {
                  const je = q.parent;
                  return s(ko(je.elements) || je);
                }
                return m(q.parent);
            }
          }
          function V(q) {
            return q.parent.kind === 247 || // Go to while keyword and do action instead
            q.parent.kind === 214 || q.parent.kind === 215 ? u(q) : q.parent.kind === 218 ? g(q) : m(q.parent);
          }
          function ae(q) {
            switch (q.parent.kind) {
              case 219:
              case 263:
              case 220:
              case 175:
              case 174:
              case 178:
              case 179:
              case 177:
              case 248:
              case 247:
              case 249:
              case 251:
              case 214:
              case 215:
              case 218:
                return u(q);
              // Default to parent node
              default:
                return m(q.parent);
            }
          }
          function se(q) {
            return Cs(q.parent) || q.parent.kind === 304 || q.parent.kind === 170 ? u(q) : m(q.parent);
          }
          function ce(q) {
            return q.parent.kind === 217 ? g(q) : m(q.parent);
          }
          function fe(q) {
            return q.parent.kind === 247 ? o(q, q.parent.expression) : m(q.parent);
          }
          function he(q) {
            return q.parent.kind === 251 ? g(q) : m(q.parent);
          }
        }
      }
      var uk = {};
      Ec(uk, {
        createCallHierarchyItem: () => hce,
        getIncomingCalls: () => wVe,
        getOutgoingCalls: () => jVe,
        resolveCallHierarchyDeclaration: () => BTe
      });
      function SVe(e) {
        return (mo(e) || Oc(e)) && kl(e);
      }
      function ITe(e) {
        return as(e) || ei(e);
      }
      function uA(e) {
        return (mo(e) || bo(e) || Oc(e)) && ITe(e.parent) && e === e.parent.initializer && Me(e.parent.name) && (!!(ph(e.parent) & 2) || as(e.parent));
      }
      function FTe(e) {
        return Di(e) || Lc(e) || Tc(e) || mo(e) || Zc(e) || Oc(e) || Sc(e) || Ko(e) || id(e) || lp(e) || R_(e);
      }
      function Y6(e) {
        return Di(e) || Lc(e) && Me(e.name) || Tc(e) || Zc(e) || Sc(e) || Ko(e) || id(e) || lp(e) || R_(e) || SVe(e) || uA(e);
      }
      function OTe(e) {
        return Di(e) ? e : kl(e) ? e.name : uA(e) ? e.parent.name : E.checkDefined(e.modifiers && Nn(e.modifiers, LTe));
      }
      function LTe(e) {
        return e.kind === 90;
      }
      function MTe(e, t) {
        const n = OTe(t);
        return n && e.getSymbolAtLocation(n);
      }
      function TVe(e, t) {
        if (Di(t))
          return { text: t.fileName, pos: 0, end: 0 };
        if ((Tc(t) || Zc(t)) && !kl(t)) {
          const s = t.modifiers && Nn(t.modifiers, LTe);
          if (s)
            return { text: "default", pos: s.getStart(), end: s.getEnd() };
        }
        if (Sc(t)) {
          const s = t.getSourceFile(), o = aa(s.text, um(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 = uA(t) ? t.parent.name : E.checkDefined(us(t), "Expected call hierarchy item to have a name");
        let i = Me(n) ? An(n) : wf(n) ? n.text : Hs(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 = nU();
          i = NC((o) => s.writeNode(4, t, t.getSourceFile(), o));
        }
        return { text: i, pos: n.getStart(), end: n.getEnd() };
      }
      function xVe(e) {
        var t, n, i, s;
        if (uA(e))
          return as(e.parent) && $n(e.parent.parent) ? Oc(e.parent.parent) ? (t = h7(e.parent.parent)) == null ? void 0 : t.getText() : (n = e.parent.parent.name) == null ? void 0 : n.getText() : mm(e.parent.parent.parent.parent) && Me(e.parent.parent.parent.parent.parent.name) ? e.parent.parent.parent.parent.parent.name.getText() : void 0;
        switch (e.kind) {
          case 178:
          case 179:
          case 175:
            return e.parent.kind === 211 ? (i = h7(e.parent)) == null ? void 0 : i.getText() : (s = us(e.parent)) == null ? void 0 : s.getText();
          case 263:
          case 264:
          case 268:
            if (mm(e.parent) && Me(e.parent.parent.name))
              return e.parent.parent.name.getText();
        }
      }
      function RTe(e, t) {
        if (t.body)
          return t;
        if (ec(t))
          return Ag(t.parent);
        if (Tc(t) || Ko(t)) {
          const n = MTe(e, t);
          return n && n.valueDeclaration && to(n.valueDeclaration) && n.valueDeclaration.body ? n.valueDeclaration : void 0;
        }
        return t;
      }
      function jTe(e, t) {
        const n = MTe(e, t);
        let i;
        if (n && n.declarations) {
          const s = GI(n.declarations), o = hr(n.declarations, (u) => ({ file: u.getSourceFile().fileName, pos: u.pos }));
          s.sort((u, g) => ou(o[u].file, o[g].file) || o[u].pos - o[g].pos);
          const c = hr(s, (u) => n.declarations[u]);
          let _;
          for (const u of c)
            Y6(u) && ((!_ || _.parent !== u.parent || _.end !== u.pos) && (i = Er(i, u)), _ = u);
        }
        return i;
      }
      function nH(e, t) {
        return Sc(t) ? t : to(t) ? RTe(e, t) ?? jTe(e, t) ?? t : jTe(e, t) ?? t;
      }
      function BTe(e, t) {
        const n = e.getTypeChecker();
        let i = false;
        for (; ; ) {
          if (Y6(t))
            return nH(n, t);
          if (FTe(t)) {
            const s = dr(t, Y6);
            return s && nH(n, s);
          }
          if (Hm(t)) {
            if (Y6(t.parent))
              return nH(n, t.parent);
            if (FTe(t.parent)) {
              const s = dr(t.parent, Y6);
              return s && nH(n, s);
            }
            return ITe(t.parent) && t.parent.initializer && uA(t.parent.initializer) ? t.parent.initializer : void 0;
          }
          if (ec(t))
            return Y6(t.parent) ? t.parent : void 0;
          if (t.kind === 126 && Sc(t.parent)) {
            t = t.parent;
            continue;
          }
          if (ei(t) && t.initializer && uA(t.initializer))
            return t.initializer;
          if (!i) {
            let s = n.getSymbolAtLocation(t);
            if (s && (s.flags & 2097152 && (s = n.getAliasedSymbol(s)), s.valueDeclaration)) {
              i = true, t = s.valueDeclaration;
              continue;
            }
          }
          return;
        }
      }
      function hce(e, t) {
        const n = t.getSourceFile(), i = TVe(e, t), s = xVe(t), o = t2(t), c = dw(t), _ = Dc(aa(
          n.text,
          t.getFullStart(),
          /*stopAfterLineBreak*/
          false,
          /*stopAtComments*/
          true
        ), t.getEnd()), u = Dc(i.pos, i.end);
        return { file: n.fileName, kind: o, kindModifiers: c, name: i.text, containerName: s, span: _, selectionSpan: u };
      }
      function kVe(e) {
        return e !== void 0;
      }
      function CVe(e) {
        if (e.kind === So.EntryKind.Node) {
          const { node: t } = e;
          if (hV(
            t,
            /*includeElementAccess*/
            true,
            /*skipPastOuterExpressions*/
            true
          ) || Hse(
            t,
            /*includeElementAccess*/
            true,
            /*skipPastOuterExpressions*/
            true
          ) || Gse(
            t,
            /*includeElementAccess*/
            true,
            /*skipPastOuterExpressions*/
            true
          ) || $se(
            t,
            /*includeElementAccess*/
            true,
            /*skipPastOuterExpressions*/
            true
          ) || j6(t) || TV(t)) {
            const n = t.getSourceFile();
            return { declaration: dr(t, Y6) || n, range: RV(t, n) };
          }
        }
      }
      function JTe(e) {
        return Oa(e.declaration);
      }
      function EVe(e, t) {
        return { from: e, fromSpans: t };
      }
      function DVe(e, t) {
        return EVe(hce(e, t[0].declaration), hr(t, (n) => E0(n.range)));
      }
      function wVe(e, t, n) {
        if (Di(t) || Lc(t) || Sc(t))
          return [];
        const i = OTe(t), s = kn(So.findReferenceOrRenameEntries(
          e,
          n,
          e.getSourceFiles(),
          i,
          /*position*/
          0,
          { use: So.FindReferencesUse.References },
          CVe
        ), kVe);
        return s ? pC(s, JTe, (o) => DVe(e, o)) : [];
      }
      function PVe(e, t) {
        function n(s) {
          const o = Z1(s) ? s.tag : ku(s) ? s.tagName : vo(s) || Sc(s) ? s : s.expression, c = BTe(e, o);
          if (c) {
            const _ = RV(o, s.getSourceFile());
            if (ss(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 (Y6(s)) {
              if ($n(s))
                for (const o of s.members)
                  o.name && Hs(o.name) && i(o.name.expression);
              return;
            }
            switch (s.kind) {
              case 80:
              case 272:
              case 273:
              case 279:
              case 265:
              case 266:
                return;
              case 176:
                n(s);
                return;
              case 217:
              case 235:
                i(s.expression);
                return;
              case 261:
              case 170:
                i(s.name), i(s.initializer);
                return;
              case 214:
                n(s), i(s.expression), lr(s.arguments, i);
                return;
              case 215:
                n(s), i(s.expression), lr(s.arguments, i);
                return;
              case 216:
                n(s), i(s.tag), i(s.template);
                return;
              case 287:
              case 286:
                n(s), i(s.tagName), i(s.attributes);
                return;
              case 171:
                n(s), i(s.expression);
                return;
              case 212:
              case 213:
                n(s), Ts(s, i);
                break;
              case 239:
                i(s.expression);
                return;
            }
            sm(s) || Ts(s, i);
          }
        }
        return i;
      }
      function NVe(e, t) {
        lr(e.statements, t);
      }
      function AVe(e, t) {
        !Gn(
          e,
          128
          /* Ambient */
        ) && e.body && mm(e.body) && lr(e.body.statements, t);
      }
      function IVe(e, t, n) {
        const i = RTe(e, t);
        i && (lr(i.parameters, n), n(i.body));
      }
      function FVe(e, t) {
        t(e.body);
      }
      function OVe(e, t) {
        lr(e.modifiers, t);
        const n = Pb(e);
        n && t(n.expression);
        for (const i of e.members)
          Jp(i) && lr(i.modifiers, t), as(i) ? t(i.initializer) : ec(i) && i.body ? (lr(i.parameters, t), t(i.body)) : Sc(i) && t(i);
      }
      function LVe(e, t) {
        const n = [], i = PVe(e, n);
        switch (t.kind) {
          case 308:
            NVe(t, i);
            break;
          case 268:
            AVe(t, i);
            break;
          case 263:
          case 219:
          case 220:
          case 175:
          case 178:
          case 179:
            IVe(e.getTypeChecker(), t, i);
            break;
          case 264:
          case 232:
            OVe(t, i);
            break;
          case 176:
            FVe(t, i);
            break;
          default:
            E.assertNever(t);
        }
        return n;
      }
      function MVe(e, t) {
        return { to: e, fromSpans: t };
      }
      function RVe(e, t) {
        return MVe(hce(e, t[0].declaration), hr(t, (n) => E0(n.range)));
      }
      function jVe(e, t) {
        return t.flags & 33554432 || id(t) ? [] : pC(LVe(e, t), JTe, (n) => RVe(e, n));
      }
      var yce = {};
      Ec(yce, {
        v2020: () => zTe
      });
      var zTe = {};
      Ec(zTe, {
        TokenEncodingConsts: () => dTe,
        TokenModifier: () => gTe,
        TokenType: () => mTe,
        getEncodedSemanticClassifications: () => _ce,
        getSemanticClassifications: () => hTe
      });
      var Nu = {};
      Ec(Nu, {
        PreserveOptionalFlags: () => tEe,
        addNewNodeForMemberSymbol: () => rEe,
        codeFixAll: () => Ga,
        createCodeFixAction: () => Os,
        createCodeFixActionMaybeFixAll: () => Sce,
        createCodeFixActionWithoutFixAll: () => Od,
        createCombinedCodeActions: () => _k,
        createFileTextChanges: () => WTe,
        createImportAdder: () => c2,
        createImportSpecifierResolver: () => Gqe,
        createMissingMemberNodes: () => Wle,
        createSignatureDeclarationFromCallExpression: () => Ule,
        createSignatureDeclarationFromSignature: () => PH,
        createStubbedBody: () => SL,
        eachDiagnostic: () => fk,
        findAncestorMatchingSpan: () => Qle,
        generateAccessorFromProperty: () => uEe,
        getAccessorConvertiblePropertyAtPosition: () => pEe,
        getAllFixes: () => WVe,
        getFixes: () => zVe,
        getImportCompletionAction: () => $qe,
        getImportKind: () => dH,
        getJSDocTypedefNodes: () => qqe,
        getNoopSymbolTrackerWithResolver: () => K6,
        getPromoteTypeOnlyCompletionAction: () => Xqe,
        getSupportedErrorCodes: () => BVe,
        importFixName: () => uke,
        importSymbols: () => BS,
        parameterShouldGetTypeFromJSDoc: () => vxe,
        registerCodeFix: () => Xs,
        setJsonCompilerOptionValue: () => $le,
        setJsonCompilerOptionValues: () => Gle,
        tryGetAutoImportableReferenceFromTypeNode: () => l2,
        typeNodeToAutoImportableTypeNode: () => Vle,
        typePredicateToAutoImportableTypeNode: () => sEe,
        typeToAutoImportableTypeNode: () => NH,
        typeToMinimizedReferenceType: () => iEe
      });
      var vce = Pp(), bce = /* @__PURE__ */ new Map();
      function Od(e, t, n) {
        return Tce(
          e,
          n2(n),
          t,
          /*fixId*/
          void 0,
          /*fixAllDescription*/
          void 0
        );
      }
      function Os(e, t, n, i, s, o) {
        return Tce(e, n2(n), t, i, n2(s), o);
      }
      function Sce(e, t, n, i, s, o) {
        return Tce(e, n2(n), t, i, s && n2(s), o);
      }
      function Tce(e, t, n, i, s, o) {
        return { fixName: e, description: t, changes: n, fixId: i, fixAllDescription: s, commands: o ? [o] : void 0 };
      }
      function Xs(e) {
        for (const t of e.errorCodes)
          xce = void 0, vce.add(String(t), e);
        if (e.fixIds)
          for (const t of e.fixIds)
            E.assert(!bce.has(t)), bce.set(t, e);
      }
      var xce;
      function BVe() {
        return xce ?? (xce = ns(vce.keys()));
      }
      function JVe(e, t) {
        const { errorCodes: n } = e;
        let i = 0;
        for (const o of t)
          if (ds(n, o.code) && i++, i > 1) break;
        const s = i < 2;
        return ({ fixId: o, fixAllDescription: c, ..._ }) => s ? _ : { ..._, fixId: o, fixAllDescription: c };
      }
      function zVe(e) {
        const t = UTe(e), n = vce.get(String(e.errorCode));
        return xa(n, (i) => hr(i.getCodeActions(e), JVe(i, t)));
      }
      function WVe(e) {
        return bce.get(Ws(e.fixId, ms)).getAllCodeActions(e);
      }
      function _k(e, t) {
        return { changes: e, commands: t };
      }
      function WTe(e, t) {
        return { fileName: e, textChanges: t };
      }
      function Ga(e, t, n) {
        const i = [], s = cn.ChangeTracker.with(e, (o) => fk(e, t, (c) => n(o, c, i)));
        return _k(s, i.length === 0 ? void 0 : i);
      }
      function fk(e, t, n) {
        for (const i of UTe(e))
          ds(t, i.code) && n(i);
      }
      function UTe({ program: e, sourceFile: t, cancellationToken: n }) {
        const i = [
          ...e.getSemanticDiagnostics(t, n),
          ...e.getSyntacticDiagnostics(t, n),
          ...Eq(t, e, n)
        ];
        return M_(e.getCompilerOptions()) && i.push(
          ...e.getDeclarationDiagnostics(t, n)
        ), i;
      }
      var kce = "addConvertToUnknownForNonOverlappingTypes", VTe = [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];
      Xs({
        errorCodes: VTe,
        getCodeActions: function(t) {
          const n = HTe(t.sourceFile, t.span.start);
          if (n === void 0) return;
          const i = cn.ChangeTracker.with(t, (s) => qTe(s, t.sourceFile, n));
          return [Os(kce, i, p.Add_unknown_conversion_for_non_overlapping_types, kce, p.Add_unknown_to_all_conversions_of_non_overlapping_types)];
        },
        fixIds: [kce],
        getAllCodeActions: (e) => Ga(e, VTe, (t, n) => {
          const i = HTe(n.file, n.start);
          i && qTe(t, n.file, i);
        })
      });
      function qTe(e, t, n) {
        const i = l6(n) ? N.createAsExpression(n.expression, N.createKeywordTypeNode(
          159
          /* UnknownKeyword */
        )) : N.createTypeAssertion(N.createKeywordTypeNode(
          159
          /* UnknownKeyword */
        ), n.expression);
        e.replaceNode(t, n.expression, i);
      }
      function HTe(e, t) {
        if (!an(e))
          return dr(vi(e, t), (n) => l6(n) || EF(n));
      }
      Xs({
        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 = cn.ChangeTracker.with(t, (s) => {
            const o = N.createExportDeclaration(
              /*modifiers*/
              void 0,
              /*isTypeOnly*/
              false,
              N.createNamedExports([]),
              /*moduleSpecifier*/
              void 0
            );
            s.insertNodeAtEndOfScope(n, n, o);
          });
          return [Od("addEmptyExportDeclaration", i, p.Add_export_to_make_this_file_into_a_module)];
        }
      });
      var Cce = "addMissingAsync", GTe = [
        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
      ];
      Xs({
        fixIds: [Cce],
        errorCodes: GTe,
        getCodeActions: function(t) {
          const { sourceFile: n, errorCode: i, cancellationToken: s, program: o, span: c } = t, _ = Nn(o.getTypeChecker().getDiagnostics(n, s), VVe(c, i)), u = _ && _.relatedInformation && Nn(_.relatedInformation, (h) => h.code === p.Did_you_mean_to_mark_this_function_as_async.code), g = XTe(n, u);
          return g ? [$Te(t, g, (h) => cn.ChangeTracker.with(t, h))] : void 0;
        },
        getAllCodeActions: (e) => {
          const { sourceFile: t } = e, n = /* @__PURE__ */ new Set();
          return Ga(e, GTe, (i, s) => {
            const o = s.relatedInformation && Nn(s.relatedInformation, (u) => u.code === p.Did_you_mean_to_mark_this_function_as_async.code), c = XTe(t, o);
            return c ? $Te(e, c, (u) => (u(i), []), n) : void 0;
          });
        }
      });
      function $Te(e, t, n, i) {
        const s = n((o) => UVe(o, e.sourceFile, t, i));
        return Os(Cce, s, p.Add_async_modifier_to_containing_function, Cce, p.Add_all_missing_async_modifiers);
      }
      function UVe(e, t, n, i) {
        if (i && i.has(Oa(n)))
          return;
        i?.add(Oa(n));
        const s = N.replaceModifiers(
          Wa(
            n,
            /*includeTrivia*/
            true
          ),
          N.createNodeArray(N.createModifiersFromModifierFlags(
            f0(n) | 1024
            /* Async */
          ))
        );
        e.replaceNode(
          t,
          n,
          s
        );
      }
      function XTe(e, t) {
        if (!t) return;
        const n = vi(e, t.start);
        return dr(n, (s) => s.getStart(e) < t.start || s.getEnd() > Yo(t) ? "quit" : (bo(s) || Ko(s) || mo(s) || Tc(s)) && V6(t, a_(s, e)));
      }
      function VVe(e, t) {
        return ({ start: n, length: i, relatedInformation: s, code: o }) => ly(n) && ly(i) && V6({ start: n, length: i }, e) && o === t && !!s && ot(s, (c) => c.code === p.Did_you_mean_to_mark_this_function_as_async.code);
      }
      var Ece = "addMissingAwait", QTe = p.Property_0_does_not_exist_on_type_1.code, YTe = [
        p.This_expression_is_not_callable.code,
        p.This_expression_is_not_constructable.code
      ], Dce = [
        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,
        QTe,
        ...YTe
      ];
      Xs({
        fixIds: [Ece],
        errorCodes: Dce,
        getCodeActions: function(t) {
          const { sourceFile: n, errorCode: i, span: s, cancellationToken: o, program: c } = t, _ = ZTe(n, i, s, o, c);
          if (!_)
            return;
          const u = t.program.getTypeChecker(), g = (m) => cn.ChangeTracker.with(t, m);
          return OP([
            KTe(t, _, i, u, g),
            exe(t, _, i, u, g)
          ]);
        },
        getAllCodeActions: (e) => {
          const { sourceFile: t, program: n, cancellationToken: i } = e, s = e.program.getTypeChecker(), o = /* @__PURE__ */ new Set();
          return Ga(e, Dce, (c, _) => {
            const u = ZTe(t, _.code, _, i, n);
            if (!u)
              return;
            const g = (m) => (m(c), []);
            return KTe(e, u, _.code, s, g, o) || exe(e, u, _.code, s, g, o);
          });
        }
      });
      function ZTe(e, t, n, i, s) {
        const o = cq(e, n);
        return o && qVe(e, t, n, i, s) && txe(o) ? o : void 0;
      }
      function KTe(e, t, n, i, s, o) {
        const { sourceFile: c, program: _, cancellationToken: u } = e, g = HVe(t, c, u, _, i);
        if (g) {
          const m = s((h) => {
            lr(g.initializers, ({ expression: S }) => wce(h, n, c, i, S, o)), o && g.needsSecondPassForFixAll && wce(h, n, c, i, t, o);
          });
          return Od(
            "addMissingAwaitToInitializer",
            m,
            g.initializers.length === 1 ? [p.Add_await_to_initializer_for_0, g.initializers[0].declarationSymbol.name] : p.Add_await_to_initializers
          );
        }
      }
      function exe(e, t, n, i, s, o) {
        const c = s((_) => wce(_, n, e.sourceFile, i, t, o));
        return Os(Ece, c, p.Add_await, Ece, p.Fix_all_expressions_possibly_missing_await);
      }
      function qVe(e, t, n, i, s) {
        const c = s.getTypeChecker().getDiagnostics(e, i);
        return ot(c, ({ start: _, length: u, relatedInformation: g, code: m }) => ly(_) && ly(u) && V6({ start: _, length: u }, n) && m === t && !!g && ot(g, (h) => h.code === p.Did_you_forget_to_use_await.code));
      }
      function HVe(e, t, n, i, s) {
        const o = GVe(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 = Bn(g.valueDeclaration, ei), h = m && Bn(m.name, Me), S = q1(
            m,
            244
            /* VariableStatement */
          );
          if (!m || !S || m.type || !m.initializer || S.getSourceFile() !== t || Gn(
            S,
            32
            /* Export */
          ) || !h || !txe(m.initializer)) {
            c = false;
            continue;
          }
          const T = i.getSemanticDiagnostics(t, n);
          if (So.Core.eachSymbolReferenceInFile(h, s, t, (D) => u !== D && !$Ve(D, T, t, s))) {
            c = false;
            continue;
          }
          (_ || (_ = [])).push({
            expression: m.initializer,
            declarationSymbol: g
          });
        }
        return _ && {
          initializers: _,
          needsSecondPassForFixAll: !c
        };
      }
      function GVe(e, t) {
        if (wn(e.parent) && Me(e.parent.expression))
          return { identifiers: [e.parent.expression], isCompleteFix: true };
        if (Me(e))
          return { identifiers: [e], isCompleteFix: true };
        if (_n(e)) {
          let n, i = true;
          for (const s of [e.left, e.right]) {
            const o = t.getTypeAtLocation(s);
            if (t.getPromisedTypeOfPromise(o)) {
              if (!Me(s)) {
                i = false;
                continue;
              }
              (n || (n = [])).push(s);
            }
          }
          return n && { identifiers: n, isCompleteFix: i };
        }
      }
      function $Ve(e, t, n, i) {
        const s = wn(e.parent) ? e.parent.name : _n(e.parent) ? e.parent : e, o = Nn(t, (c) => c.start === s.getStart(n) && c.start + c.length === s.getEnd());
        return o && ds(Dce, 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 txe(e) {
        return e.flags & 65536 || !!dr(e, (t) => t.parent && bo(t.parent) && t.parent.body === t || Ps(t) && (t.parent.kind === 263 || t.parent.kind === 219 || t.parent.kind === 220 || t.parent.kind === 175));
      }
      function wce(e, t, n, i, s, o) {
        if (RN(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 && Me(c)) {
              const g = i.getSymbolAtLocation(c);
              if (g && o.has($s(g)))
                continue;
            }
            const _ = i.getTypeAtLocation(c), u = i.getPromisedTypeOfPromise(_) ? N.createAwaitExpression(c) : c;
            e.replaceNode(n, c, u);
          }
        else if (t === QTe && wn(s.parent)) {
          if (o && Me(s.parent.expression)) {
            const c = i.getSymbolAtLocation(s.parent.expression);
            if (c && o.has($s(c)))
              return;
          }
          e.replaceNode(
            n,
            s.parent.expression,
            N.createParenthesizedExpression(N.createAwaitExpression(s.parent.expression))
          ), rxe(e, s.parent.expression, n);
        } else if (ds(YTe, t) && tm(s.parent)) {
          if (o && Me(s)) {
            const c = i.getSymbolAtLocation(s);
            if (c && o.has($s(c)))
              return;
          }
          e.replaceNode(n, s, N.createParenthesizedExpression(N.createAwaitExpression(s))), rxe(e, s, n);
        } else {
          if (o && ei(s.parent) && Me(s.parent.name)) {
            const c = i.getSymbolAtLocation(s.parent.name);
            if (c && !s0(o, $s(c)))
              return;
          }
          e.replaceNode(n, s, N.createAwaitExpression(s));
        }
      }
      function rxe(e, t, n) {
        const i = ul(t.pos, n);
        i && j9(i.end, i.parent, n) && e.insertText(n, t.getStart(n), ";");
      }
      var Pce = "addMissingConst", nxe = [
        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
      ];
      Xs({
        errorCodes: nxe,
        getCodeActions: function(t) {
          const n = cn.ChangeTracker.with(t, (i) => ixe(i, t.sourceFile, t.span.start, t.program));
          if (n.length > 0)
            return [Os(Pce, n, p.Add_const_to_unresolved_variable, Pce, p.Add_const_to_all_unresolved_variables)];
        },
        fixIds: [Pce],
        getAllCodeActions: (e) => {
          const t = /* @__PURE__ */ new Set();
          return Ga(e, nxe, (n, i) => ixe(n, i.file, i.start, e.program, t));
        }
      });
      function ixe(e, t, n, i, s) {
        const o = vi(t, n), c = dr(o, (g) => Q2(g.parent) ? g.parent.initializer === g : XVe(g) ? false : "quit");
        if (c) return iH(e, c, t, s);
        const _ = o.parent;
        if (_n(_) && _.operatorToken.kind === 64 && Dl(_.parent))
          return iH(e, o, t, s);
        if (Kl(_)) {
          const g = i.getTypeChecker();
          return Ni(_.elements, (m) => QVe(m, g)) ? iH(e, _, t, s) : void 0;
        }
        const u = dr(o, (g) => Dl(g.parent) ? true : YVe(g) ? false : "quit");
        if (u) {
          const g = i.getTypeChecker();
          return sxe(u, g) ? iH(e, u, t, s) : void 0;
        }
      }
      function iH(e, t, n, i) {
        (!i || s0(i, t)) && e.insertModifierBefore(n, 87, t);
      }
      function XVe(e) {
        switch (e.kind) {
          case 80:
          case 210:
          case 211:
          case 304:
          case 305:
            return true;
          default:
            return false;
        }
      }
      function QVe(e, t) {
        const n = Me(e) ? e : El(
          e,
          /*excludeCompoundAssignment*/
          true
        ) && Me(e.left) ? e.left : void 0;
        return !!n && !t.getSymbolAtLocation(n);
      }
      function YVe(e) {
        switch (e.kind) {
          case 80:
          case 227:
          case 28:
            return true;
          default:
            return false;
        }
      }
      function sxe(e, t) {
        return _n(e) ? e.operatorToken.kind === 28 ? Ni([e.left, e.right], (n) => sxe(n, t)) : e.operatorToken.kind === 64 && Me(e.left) && !t.getSymbolAtLocation(e.left) : false;
      }
      var Nce = "addMissingDeclareProperty", axe = [
        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
      ];
      Xs({
        errorCodes: axe,
        getCodeActions: function(t) {
          const n = cn.ChangeTracker.with(t, (i) => oxe(i, t.sourceFile, t.span.start));
          if (n.length > 0)
            return [Os(Nce, n, p.Prefix_with_declare, Nce, p.Prefix_all_incorrect_property_declarations_with_declare)];
        },
        fixIds: [Nce],
        getAllCodeActions: (e) => {
          const t = /* @__PURE__ */ new Set();
          return Ga(e, axe, (n, i) => oxe(n, i.file, i.start, t));
        }
      });
      function oxe(e, t, n, i) {
        const s = vi(t, n);
        if (!Me(s))
          return;
        const o = s.parent;
        o.kind === 173 && (!i || s0(i, o)) && e.insertModifierBefore(t, 138, o);
      }
      var Ace = "addMissingInvocationForDecorator", cxe = [p._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code];
      Xs({
        errorCodes: cxe,
        getCodeActions: function(t) {
          const n = cn.ChangeTracker.with(t, (i) => lxe(i, t.sourceFile, t.span.start));
          return [Os(Ace, n, p.Call_decorator_expression, Ace, p.Add_to_all_uncalled_decorators)];
        },
        fixIds: [Ace],
        getAllCodeActions: (e) => Ga(e, cxe, (t, n) => lxe(t, n.file, n.start))
      });
      function lxe(e, t, n) {
        const i = vi(t, n), s = dr(i, ol);
        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 Ice = "addMissingResolutionModeImportAttribute", uxe = [
        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
      ];
      Xs({
        errorCodes: uxe,
        getCodeActions: function(t) {
          const n = cn.ChangeTracker.with(t, (i) => _xe(i, t.sourceFile, t.span.start, t.program, t.host, t.preferences));
          return [Os(Ice, n, p.Add_resolution_mode_import_attribute, Ice, p.Add_resolution_mode_import_attribute_to_all_type_only_imports_that_need_it)];
        },
        fixIds: [Ice],
        getAllCodeActions: (e) => Ga(e, uxe, (t, n) => _xe(t, n.file, n.start, e.program, e.host, e.preferences))
      });
      function _xe(e, t, n, i, s, o) {
        var c, _, u;
        const g = vi(t, n), m = dr(g, H_(Wo, dm));
        E.assert(!!m, "Expected position to be owned by an ImportDeclaration or ImportType.");
        const h = of(t, o) === 0, S = lx(m), T = !S || ((c = PS(
          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 === 273 ? 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 Fce = "addNameToNamelessParameter", fxe = [p.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code];
      Xs({
        errorCodes: fxe,
        getCodeActions: function(t) {
          const n = cn.ChangeTracker.with(t, (i) => pxe(i, t.sourceFile, t.span.start));
          return [Os(Fce, n, p.Add_parameter_name, Fce, p.Add_names_to_all_parameters_without_names)];
        },
        fixIds: [Fce],
        getAllCodeActions: (e) => Ga(e, fxe, (t, n) => pxe(t, n.file, n.start))
      });
      function pxe(e, t, n) {
        const i = vi(t, n), s = i.parent;
        if (!Ii(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 = dxe(t, s);
        for (; u; )
          _ = N.createArrayTypeNode(_), c = u.getEnd(), u = dxe(t, u);
        const g = N.createParameterDeclaration(
          s.modifiers,
          s.dotDotDotToken,
          "arg" + o,
          s.questionToken,
          s.dotDotDotToken && !LN(_) ? N.createArrayTypeNode(_) : _,
          s.initializer
        );
        e.replaceRange(t, ip(s.getStart(t), c), g);
      }
      function dxe(e, t) {
        const n = r2(t.name, t.parent, e);
        if (n && n.kind === 23 && T0(n.parent) && Ii(n.parent.parent))
          return n.parent.parent;
      }
      var mxe = "addOptionalPropertyUndefined", ZVe = [
        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
      ];
      Xs({
        errorCodes: ZVe,
        getCodeActions(e) {
          const t = e.program.getTypeChecker(), n = KVe(e.sourceFile, e.span, t);
          if (!n.length)
            return;
          const i = cn.ChangeTracker.with(e, (s) => tqe(s, n));
          return [Od(mxe, i, p.Add_undefined_to_optional_property_type)];
        },
        fixIds: [mxe]
      });
      function KVe(e, t, n) {
        var i, s;
        const o = gxe(cq(e, t), n);
        if (!o)
          return Ge;
        const { source: c, target: _ } = o, u = eqe(c, _, n) ? n.getTypeAtLocation(_.expression) : n.getTypeAtLocation(_);
        return (s = (i = u.symbol) == null ? void 0 : i.declarations) != null && s.some((g) => xr(g).fileName.match(/\.d\.ts$/)) ? Ge : n.getExactOptionalProperties(u);
      }
      function eqe(e, t, n) {
        return wn(t) && !!n.getExactOptionalProperties(n.getTypeAtLocation(t.expression)).length && n.getTypeAtLocation(e) === n.getUndefinedType();
      }
      function gxe(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 (ei(e.parent) && e.parent.initializer)
            return { source: e.parent.initializer, target: e.parent.name };
          if (ws(e.parent)) {
            const i = t.getSymbolAtLocation(e.parent.expression);
            if (!i?.valueDeclaration || !ZT(i.valueDeclaration.kind) || !ut(e)) return;
            const s = e.parent.arguments.indexOf(e);
            if (s === -1) return;
            const o = i.valueDeclaration.parameters[s].name;
            if (Me(o)) return { source: e, target: o };
          } else if (Kc(e.parent) && Me(e.parent.name) || fu(e.parent)) {
            const i = gxe(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: Kc(e.parent) ? e.parent.initializer : e.parent.name,
              target: o
            } : void 0;
          }
        } else return;
      }
      function tqe(e, t) {
        for (const n of t) {
          const i = n.valueDeclaration;
          if (i && (Vu(i) || as(i)) && i.type) {
            const s = N.createUnionTypeNode([
              ...i.type.kind === 193 ? i.type.types : [i.type],
              N.createTypeReferenceNode("undefined")
            ]);
            e.replaceNode(i.getSourceFile(), i.type, s);
          }
        }
      }
      var Oce = "annotateWithTypeFromJSDoc", hxe = [p.JSDoc_types_may_be_moved_to_TypeScript_types.code];
      Xs({
        errorCodes: hxe,
        getCodeActions(e) {
          const t = yxe(e.sourceFile, e.span.start);
          if (!t) return;
          const n = cn.ChangeTracker.with(e, (i) => Sxe(i, e.sourceFile, t));
          return [Os(Oce, n, p.Annotate_with_type_from_JSDoc, Oce, p.Annotate_everything_with_types_from_JSDoc)];
        },
        fixIds: [Oce],
        getAllCodeActions: (e) => Ga(e, hxe, (t, n) => {
          const i = yxe(n.file, n.start);
          i && Sxe(t, n.file, i);
        })
      });
      function yxe(e, t) {
        const n = vi(e, t);
        return Bn(Ii(n.parent) ? n.parent.parent : n.parent, vxe);
      }
      function vxe(e) {
        return rqe(e) && bxe(e);
      }
      function bxe(e) {
        return to(e) ? e.parameters.some(bxe) || !e.type && !!t3(e) : !e.type && !!o0(e);
      }
      function Sxe(e, t, n) {
        if (to(n) && (t3(n) || n.parameters.some((i) => !!o0(i)))) {
          if (!n.typeParameters) {
            const s = w5(n);
            s.length && e.insertTypeParameters(t, n, s);
          }
          const i = bo(n) && !$a(n, 21, t);
          i && e.insertNodeBefore(t, ka(n.parameters), N.createToken(
            21
            /* OpenParenToken */
          ));
          for (const s of n.parameters)
            if (!s.type) {
              const o = o0(s);
              o && e.tryInsertTypeAnnotation(t, s, Qe(o, o2, li));
            }
          if (i && e.insertNodeAfter(t, fa(n.parameters), N.createToken(
            22
            /* CloseParenToken */
          )), !n.type) {
            const s = t3(n);
            s && e.tryInsertTypeAnnotation(t, n, Qe(s, o2, li));
          }
        } else {
          const i = E.checkDefined(o0(n), "A JSDocType for this declaration should exist");
          E.assert(!n.type, "The JSDocType decl should have a type"), e.tryInsertTypeAnnotation(t, n, Qe(i, o2, li));
        }
      }
      function rqe(e) {
        return to(e) || e.kind === 261 || e.kind === 172 || e.kind === 173;
      }
      function o2(e) {
        switch (e.kind) {
          case 313:
          case 314:
            return N.createTypeReferenceNode("any", Ge);
          case 317:
            return iqe(e);
          case 316:
            return o2(e.type);
          case 315:
            return sqe(e);
          case 319:
            return aqe(e);
          case 318:
            return oqe(e);
          case 184:
            return lqe(e);
          case 323:
            return nqe(e);
          default:
            const t = br(
              e,
              o2,
              /*context*/
              void 0
            );
            return un(
              t,
              1
              /* SingleLine */
            ), t;
        }
      }
      function nqe(e) {
        const t = N.createTypeLiteralNode(hr(e.jsDocPropertyTags, (n) => N.createPropertySignature(
          /*modifiers*/
          void 0,
          Me(n.name) ? n.name : n.name.right,
          xN(n) ? N.createToken(
            58
            /* QuestionToken */
          ) : void 0,
          n.typeExpression && Qe(n.typeExpression.type, o2, li) || N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          )
        )));
        return un(
          t,
          1
          /* SingleLine */
        ), t;
      }
      function iqe(e) {
        return N.createUnionTypeNode([Qe(e.type, o2, li), N.createTypeReferenceNode("undefined", Ge)]);
      }
      function sqe(e) {
        return N.createUnionTypeNode([Qe(e.type, o2, li), N.createTypeReferenceNode("null", Ge)]);
      }
      function aqe(e) {
        return N.createArrayTypeNode(Qe(e.type, o2, li));
      }
      function oqe(e) {
        return N.createFunctionTypeNode(Ge, e.parameters.map(cqe), e.type ?? N.createKeywordTypeNode(
          133
          /* AnyKeyword */
        ));
      }
      function cqe(e) {
        const t = e.parent.parameters.indexOf(e), n = e.type.kind === 319 && 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, Qe(e.type, o2, li), e.initializer);
      }
      function lqe(e) {
        let t = e.typeName, n = e.typeArguments;
        if (Me(e.typeName)) {
          if (l5(e))
            return uqe(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", Ge)]) : n = Ar(e.typeArguments, o2, li);
        }
        return N.createTypeReferenceNode(t, n);
      }
      function uqe(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 un(
          n,
          1
          /* SingleLine */
        ), n;
      }
      var Lce = "convertFunctionToEs6Class", Txe = [p.This_constructor_function_may_be_converted_to_a_class_declaration.code];
      Xs({
        errorCodes: Txe,
        getCodeActions(e) {
          const t = cn.ChangeTracker.with(e, (n) => xxe(n, e.sourceFile, e.span.start, e.program.getTypeChecker(), e.preferences, e.program.getCompilerOptions()));
          return [Os(Lce, t, p.Convert_function_to_an_ES2015_class, Lce, p.Convert_all_constructor_functions_to_classes)];
        },
        fixIds: [Lce],
        getAllCodeActions: (e) => Ga(e, Txe, (t, n) => xxe(t, n.file, n.start, e.program.getTypeChecker(), e.preferences, e.program.getCompilerOptions()))
      });
      function xxe(e, t, n, i, s, o) {
        const c = i.getSymbolAtLocation(vi(t, n));
        if (!c || !c.valueDeclaration || !(c.flags & 19))
          return;
        const _ = c.valueDeclaration;
        if (Tc(_) || mo(_))
          e.replaceNode(t, _, m(_));
        else if (ei(_)) {
          const h = g(_);
          if (!h)
            return;
          const S = _.parent.parent;
          Bl(_.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 P = D.declarations[0];
              if (D.declarations.length === 1 && wn(P) && _n(P.parent) && P.parent.operatorToken.kind === 64 && ua(P.parent.right)) {
                const A = P.parent.right;
                k(
                  A.symbol,
                  /*modifiers*/
                  void 0,
                  S
                );
              }
            } else
              k(D, [N.createToken(
                126
                /* StaticKeyword */
              )], S);
          }), h.members && h.members.forEach((D, P) => {
            var A, O, F, R;
            if (P === "constructor" && D.valueDeclaration) {
              const B = (R = (F = (O = (A = h.exports) == null ? void 0 : A.get("prototype")) == null ? void 0 : O.declarations) == null ? void 0 : F[0]) == null ? void 0 : R.parent;
              B && _n(B) && ua(B.right) && ot(B.right.properties, aH) || e.delete(t, D.valueDeclaration.parent);
              return;
            }
            k(
              D,
              /*modifiers*/
              void 0,
              S
            );
          }), S;
          function T(D, P) {
            return vo(D) ? wn(D) && aH(D) ? true : Cs(P) : Ni(D.properties, (A) => !!(Ko(A) || n3(A) || Kc(A) && mo(A.initializer) && A.name || aH(A)));
          }
          function k(D, P, A) {
            if (!(D.flags & 8192) && !(D.flags & 4096))
              return;
            const O = D.valueDeclaration, F = O.parent, R = F.right;
            if (!T(O, R) || ot(A, (_e) => {
              const K = us(_e);
              return !!(K && Me(K) && An(K) === sc(D));
            }))
              return;
            const B = F.parent && F.parent.kind === 245 ? F.parent : F;
            if (e.delete(t, B), !R) {
              A.push(N.createPropertyDeclaration(
                P,
                D.name,
                /*questionOrExclamationToken*/
                void 0,
                /*type*/
                void 0,
                /*initializer*/
                void 0
              ));
              return;
            }
            if (vo(O) && (mo(R) || bo(R))) {
              const _e = of(t, s), K = _qe(O, o, _e);
              K && U(A, R, K);
              return;
            } else if (ua(R)) {
              lr(
                R.properties,
                (_e) => {
                  (Ko(_e) || n3(_e)) && A.push(_e), Kc(_e) && mo(_e.initializer) && U(A, _e.initializer, _e.name), aH(_e);
                }
              );
              return;
            } else {
              if (Ku(t) || !wn(O)) return;
              const _e = N.createPropertyDeclaration(
                P,
                O.name,
                /*questionOrExclamationToken*/
                void 0,
                /*type*/
                void 0,
                R
              );
              H6(F.parent, _e, t), A.push(_e);
              return;
            }
            function U(_e, K, V) {
              return mo(K) ? $(_e, K, V) : W(_e, K, V);
            }
            function $(_e, K, V) {
              const ae = Bi(P, sH(
                K,
                134
                /* AsyncKeyword */
              )), se = N.createMethodDeclaration(
                ae,
                /*asteriskToken*/
                void 0,
                V,
                /*questionToken*/
                void 0,
                /*typeParameters*/
                void 0,
                K.parameters,
                /*type*/
                void 0,
                K.body
              );
              H6(F, se, t), _e.push(se);
            }
            function W(_e, K, V) {
              const ae = K.body;
              let se;
              ae.kind === 242 ? se = ae : se = N.createBlock([N.createReturnStatement(ae)]);
              const ce = Bi(P, sH(
                K,
                134
                /* AsyncKeyword */
              )), fe = N.createMethodDeclaration(
                ce,
                /*asteriskToken*/
                void 0,
                V,
                /*questionToken*/
                void 0,
                /*typeParameters*/
                void 0,
                K.parameters,
                /*type*/
                void 0,
                se
              );
              H6(F, fe, t), _e.push(fe);
            }
          }
        }
        function g(h) {
          const S = h.initializer;
          if (!S || !mo(S) || !Me(h.name))
            return;
          const T = u(h.symbol);
          S.body && T.unshift(N.createConstructorDeclaration(
            /*modifiers*/
            void 0,
            S.parameters,
            S.body
          ));
          const k = sH(
            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 = sH(
            h,
            95
            /* ExportKeyword */
          );
          return N.createClassDeclaration(
            T,
            h.name,
            /*typeParameters*/
            void 0,
            /*heritageClauses*/
            void 0,
            S
          );
        }
      }
      function sH(e, t) {
        return Jp(e) ? kn(e.modifiers, (n) => n.kind === t) : void 0;
      }
      function aH(e) {
        return e.name ? !!(Me(e.name) && e.name.text === "constructor") : false;
      }
      function _qe(e, t, n) {
        if (wn(e))
          return e.name;
        const i = e.argumentExpression;
        if (T_(i))
          return i;
        if (Ma(i))
          return F_(i.text, pa(t)) ? N.createIdentifier(i.text) : mS(i) ? N.createStringLiteral(
            i.text,
            n === 0
            /* Single */
          ) : i;
      }
      var Mce = "convertToAsyncFunction", kxe = [p.This_may_be_converted_to_an_async_function.code], oH = true;
      Xs({
        errorCodes: kxe,
        getCodeActions(e) {
          oH = true;
          const t = cn.ChangeTracker.with(e, (n) => Cxe(n, e.sourceFile, e.span.start, e.program.getTypeChecker()));
          return oH ? [Os(Mce, t, p.Convert_to_async_function, Mce, p.Convert_all_to_async_functions)] : [];
        },
        fixIds: [Mce],
        getAllCodeActions: (e) => Ga(e, kxe, (t, n) => Cxe(t, n.file, n.start, e.program.getTypeChecker()))
      });
      function Cxe(e, t, n, i) {
        const s = vi(t, n);
        let o;
        if (Me(s) && ei(s.parent) && s.parent.initializer && to(s.parent.initializer) ? o = s.parent.initializer : o = Bn(Df(vi(t, n)), Pq), !o)
          return;
        const c = /* @__PURE__ */ new Map(), _ = an(o), u = pqe(o, i), g = dqe(o, i, c);
        if (!Dq(g, i))
          return;
        const m = g.body && Ps(g.body) ? fqe(g.body, i) : Ge, h = { checker: i, synthNamesMap: c, setOfExpressionsToReturn: u, isInJSFile: _ };
        if (!m.length)
          return;
        const S = aa(t.text, um(o).pos);
        e.insertModifierAt(t, S, 134, { suffix: " " });
        for (const T of m)
          if (Ts(T, function k(D) {
            if (ws(D)) {
              const P = Z6(
                D,
                D,
                h,
                /*hasContinuation*/
                false
              );
              if (pk())
                return true;
              e.replaceNodeWithNodes(t, T, P);
            } else if (!Cs(D) && (Ts(D, k), pk()))
              return true;
          }), pk())
            return;
      }
      function fqe(e, t) {
        const n = [];
        return wy(e, (i) => {
          Z9(i, t) && n.push(i);
        }), n;
      }
      function pqe(e, t) {
        if (!e.body)
          return /* @__PURE__ */ new Set();
        const n = /* @__PURE__ */ new Set();
        return Ts(e.body, function i(s) {
          _A(s, t, "then") ? (n.add(Oa(s)), lr(s.arguments, i)) : _A(s, t, "catch") || _A(s, t, "finally") ? (n.add(Oa(s)), Ts(s, i)) : Dxe(s, t) ? n.add(Oa(s)) : Ts(s, i);
        }), n;
      }
      function _A(e, t, n) {
        if (!ws(e)) return false;
        const s = M8(e, n) && t.getTypeAtLocation(e);
        return !!(s && t.getPromisedTypeOfPromise(s));
      }
      function Exe(e, t) {
        return (Dn(e) & 4) !== 0 && e.target === t;
      }
      function cH(e, t, n) {
        if (e.expression.name.escapedText === "finally")
          return;
        const i = n.getTypeAtLocation(e.expression.expression);
        if (Exe(i, n.getPromiseType()) || Exe(i, n.getPromiseLikeType()))
          if (e.expression.name.escapedText === "then") {
            if (t === oy(e.arguments, 0))
              return oy(e.typeArguments, 0);
            if (t === oy(e.arguments, 1))
              return oy(e.typeArguments, 1);
          } else
            return oy(e.typeArguments, 0);
      }
      function Dxe(e, t) {
        return ut(e) ? !!t.getPromisedTypeOfPromise(t.getTypeAtLocation(e)) : false;
      }
      function dqe(e, t, n) {
        const i = /* @__PURE__ */ new Map(), s = Pp();
        return Ts(e, function o(c) {
          if (!Me(c)) {
            Ts(c, o);
            return;
          }
          const _ = t.getSymbolAtLocation(c);
          if (_) {
            const u = t.getTypeAtLocation(c), g = Fxe(u, t), m = $s(_).toString();
            if (g && !Ii(c.parent) && !to(c.parent) && !n.has(m)) {
              const h = $c(g.parameters), S = h?.valueDeclaration && Ii(h.valueDeclaration) && Bn(h.valueDeclaration.name, Me) || N.createUniqueName(
                "result",
                16
                /* Optimistic */
              ), T = wxe(S, s);
              n.set(m, T), s.add(S.text, _);
            } else if (c.parent && (Ii(c.parent) || ei(c.parent) || ha(c.parent))) {
              const h = c.text, S = s.get(h);
              if (S && S.some((T) => T !== _)) {
                const T = wxe(c, s);
                i.set(m, T.identifier), n.set(m, T), s.add(h, _);
              } else {
                const T = Wa(c);
                n.set(m, Pw(T)), s.add(h, _);
              }
            }
          }
        }), EN(
          e,
          /*includeTrivia*/
          true,
          (o) => {
            if (ha(o) && Me(o.name) && Nf(o.parent)) {
              const c = t.getSymbolAtLocation(o.name), _ = c && i.get(String($s(c)));
              if (_ && _.text !== (o.name || o.propertyName).getText())
                return N.createBindingElement(
                  o.dotDotDotToken,
                  o.propertyName || o.name,
                  _,
                  o.initializer
                );
            } else if (Me(o)) {
              const c = t.getSymbolAtLocation(o), _ = c && i.get(String($s(c)));
              if (_)
                return N.createIdentifier(_.text);
            }
          }
        );
      }
      function wxe(e, t) {
        const n = (t.get(e.text) || Ge).length, i = n === 0 ? e : N.createIdentifier(e.text + "_" + n);
        return Pw(i);
      }
      function pk() {
        return !oH;
      }
      function vv() {
        return oH = false, Ge;
      }
      function Z6(e, t, n, i, s) {
        if (_A(t, n.checker, "then"))
          return hqe(t, oy(t.arguments, 0), oy(t.arguments, 1), n, i, s);
        if (_A(t, n.checker, "catch"))
          return Axe(t, oy(t.arguments, 0), n, i, s);
        if (_A(t, n.checker, "finally"))
          return gqe(t, oy(t.arguments, 0), n, i, s);
        if (wn(t))
          return Z6(e, t.expression, n, i, s);
        const o = n.checker.getTypeAtLocation(t);
        return o && n.checker.getPromisedTypeOfPromise(o) ? (E.assertNode(zo(t).parent, wn), yqe(e, t, n, i, s)) : vv();
      }
      function lH({ checker: e }, t) {
        if (t.kind === 106) return true;
        if (Me(t) && !Mo(t) && An(t) === "undefined") {
          const n = e.getSymbolAtLocation(t);
          return !n || e.isUndefinedSymbol(n);
        }
        return false;
      }
      function mqe(e) {
        const t = N.createUniqueName(
          e.identifier.text,
          16
          /* Optimistic */
        );
        return Pw(t);
      }
      function Pxe(e, t, n) {
        let i;
        return n && !pA(e, t) && (fA(n) ? (i = n, t.synthNamesMap.forEach((s, o) => {
          if (s.identifier.text === n.identifier.text) {
            const c = mqe(n);
            t.synthNamesMap.set(o, c);
          }
        })) : i = Pw(N.createUniqueName(
          "result",
          16
          /* Optimistic */
        ), n.types), Jce(i)), i;
      }
      function Nxe(e, t, n, i, s) {
        const o = [];
        let c;
        if (i && !pA(e, t)) {
          c = Wa(Jce(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 && Sqe(s) && o.push(N.createVariableStatement(
          /*modifiers*/
          void 0,
          N.createVariableDeclarationList(
            [
              N.createVariableDeclaration(
                Wa(Rxe(s)),
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                c
              )
            ],
            2
            /* Const */
          )
        )), o;
      }
      function gqe(e, t, n, i, s) {
        if (!t || lH(n, t))
          return Z6(
            /* returnContextNode */
            e,
            e.expression.expression,
            n,
            i,
            s
          );
        const o = Pxe(e, n, s), c = Z6(
          /*returnContextNode*/
          e,
          e.expression.expression,
          n,
          /*hasContinuation*/
          true,
          o
        );
        if (pk()) return vv();
        const _ = jce(
          t,
          i,
          /*continuationArgName*/
          void 0,
          /*inputArgName*/
          void 0,
          e,
          n
        );
        if (pk()) return vv();
        const u = N.createBlock(c), g = N.createBlock(_), m = N.createTryStatement(
          u,
          /*catchClause*/
          void 0,
          g
        );
        return Nxe(e, n, m, o, s);
      }
      function Axe(e, t, n, i, s) {
        if (!t || lH(n, t))
          return Z6(
            /* returnContextNode */
            e,
            e.expression.expression,
            n,
            i,
            s
          );
        const o = Lxe(t, n), c = Pxe(e, n, s), _ = Z6(
          /*returnContextNode*/
          e,
          e.expression.expression,
          n,
          /*hasContinuation*/
          true,
          c
        );
        if (pk()) return vv();
        const u = jce(t, i, c, o, e, n);
        if (pk()) return vv();
        const g = N.createBlock(_), m = N.createCatchClause(o && Wa(mL(o)), N.createBlock(u)), h = N.createTryStatement(
          g,
          m,
          /*finallyBlock*/
          void 0
        );
        return Nxe(e, n, h, c, s);
      }
      function hqe(e, t, n, i, s, o) {
        if (!t || lH(i, t))
          return Axe(e, n, i, s, o);
        if (n && !lH(i, n))
          return vv();
        const c = Lxe(t, i), _ = Z6(
          e.expression.expression,
          e.expression.expression,
          i,
          /*hasContinuation*/
          true,
          c
        );
        if (pk()) return vv();
        const u = jce(t, s, o, c, e, i);
        return pk() ? vv() : Bi(_, u);
      }
      function yqe(e, t, n, i, s) {
        if (pA(e, n)) {
          let o = Wa(t);
          return i && (o = N.createAwaitExpression(o)), [N.createReturnStatement(o)];
        }
        return uH(
          s,
          N.createAwaitExpression(t),
          /*typeAnnotation*/
          void 0
        );
      }
      function uH(e, t, n) {
        return !e || Mxe(e) ? [N.createExpressionStatement(t)] : fA(e) && e.hasBeenDeclared ? [N.createExpressionStatement(N.createAssignment(Wa(Bce(e)), t))] : [
          N.createVariableStatement(
            /*modifiers*/
            void 0,
            N.createVariableDeclarationList(
              [
                N.createVariableDeclaration(
                  Wa(mL(e)),
                  /*exclamationToken*/
                  void 0,
                  n,
                  t
                )
              ],
              2
              /* Const */
            )
          )
        ];
      }
      function Rce(e, t) {
        if (t && e) {
          const n = N.createUniqueName(
            "result",
            16
            /* Optimistic */
          );
          return [
            ...uH(Pw(n), e, t),
            N.createReturnStatement(n)
          ];
        }
        return [N.createReturnStatement(e)];
      }
      function jce(e, t, n, i, s, o) {
        var c;
        switch (e.kind) {
          case 106:
            break;
          case 212:
          case 80:
            if (!i)
              break;
            const _ = N.createCallExpression(
              Wa(e),
              /*typeArguments*/
              void 0,
              fA(i) ? [Bce(i)] : []
            );
            if (pA(s, o))
              return Rce(_, cH(s, e, o.checker));
            const u = o.checker.getTypeAtLocation(e), g = o.checker.getSignaturesOfType(
              u,
              0
              /* Call */
            );
            if (!g.length)
              return vv();
            const m = g[0].getReturnType(), h = uH(n, N.createAwaitExpression(_), cH(s, e, o.checker));
            return n && n.types.push(o.checker.getAwaitedType(m) || m), h;
          case 219:
          case 220: {
            const S = e.body, T = (c = Fxe(o.checker.getTypeAtLocation(e), o.checker)) == null ? void 0 : c.getReturnType();
            if (Ps(S)) {
              let k = [], D = false;
              for (const P of S.statements)
                if (Sf(P))
                  if (D = true, Z9(P, o.checker))
                    k = k.concat(Oxe(o, P, t, n));
                  else {
                    const A = T && P.expression ? Ixe(o.checker, T, P.expression) : P.expression;
                    k.push(...Rce(A, cH(s, e, o.checker)));
                  }
                else {
                  if (t && wy(P, fb))
                    return vv();
                  k.push(P);
                }
              return pA(s, o) ? k.map((P) => Wa(P)) : vqe(
                k,
                n,
                o,
                D
              );
            } else {
              const k = wq(S, o.checker) ? Oxe(o, N.createReturnStatement(S), t, n) : Ge;
              if (k.length > 0)
                return k;
              if (T) {
                const D = Ixe(o.checker, T, S);
                if (pA(s, o))
                  return Rce(D, cH(s, e, o.checker));
                {
                  const P = uH(
                    n,
                    D,
                    /*typeAnnotation*/
                    void 0
                  );
                  return n && n.types.push(o.checker.getAwaitedType(T) || T), P;
                }
              } else
                return vv();
            }
          }
          default:
            return vv();
        }
        return Ge;
      }
      function Ixe(e, t, n) {
        const i = Wa(n);
        return e.getPromisedTypeOfPromise(t) ? N.createAwaitExpression(i) : i;
      }
      function Fxe(e, t) {
        const n = t.getSignaturesOfType(
          e,
          0
          /* Call */
        );
        return ko(n);
      }
      function vqe(e, t, n, i) {
        const s = [];
        for (const o of e)
          if (Sf(o)) {
            if (o.expression) {
              const c = Dxe(o.expression, n.checker) ? N.createAwaitExpression(o.expression) : o.expression;
              t === void 0 ? s.push(N.createExpressionStatement(c)) : fA(t) && t.hasBeenDeclared ? s.push(N.createExpressionStatement(N.createAssignment(Bce(t), c))) : s.push(N.createVariableStatement(
                /*modifiers*/
                void 0,
                N.createVariableDeclarationList(
                  [N.createVariableDeclaration(
                    mL(t),
                    /*exclamationToken*/
                    void 0,
                    /*type*/
                    void 0,
                    c
                  )],
                  2
                  /* Const */
                )
              ));
            }
          } else
            s.push(Wa(o));
        return !i && t !== void 0 && s.push(N.createVariableStatement(
          /*modifiers*/
          void 0,
          N.createVariableDeclarationList(
            [N.createVariableDeclaration(
              mL(t),
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              N.createIdentifier("undefined")
            )],
            2
            /* Const */
          )
        )), s;
      }
      function Oxe(e, t, n, i) {
        let s = [];
        return Ts(t, function o(c) {
          if (ws(c)) {
            const _ = Z6(c, c, e, n, i);
            if (s = s.concat(_), s.length > 0)
              return;
          } else Cs(c) || Ts(c, o);
        }), s;
      }
      function Lxe(e, t) {
        const n = [];
        let i;
        if (to(e)) {
          if (e.parameters.length > 0) {
            const u = e.parameters[0].name;
            i = s(u);
          }
        } else Me(e) ? i = o(e) : wn(e) && Me(e.name) && (i = o(e.name));
        if (!i || "identifier" in i && i.identifier.text === "undefined")
          return;
        return i;
        function s(u) {
          if (Me(u)) return o(u);
          const g = xa(u.elements, (m) => gl(m) ? [] : [s(m.name)]);
          return bqe(u, g);
        }
        function o(u) {
          const g = _(u), m = c(g);
          return m && t.synthNamesMap.get($s(m).toString()) || Pw(u, n);
        }
        function c(u) {
          var g;
          return ((g = Bn(u, Td)) == null ? void 0 : g.symbol) ?? t.checker.getSymbolAtLocation(u);
        }
        function _(u) {
          return u.original ? u.original : u;
        }
      }
      function Mxe(e) {
        return e ? fA(e) ? !e.identifier.text : Ni(e.elements, Mxe) : true;
      }
      function Pw(e, t = []) {
        return { kind: 0, identifier: e, types: t, hasBeenDeclared: false, hasBeenReferenced: false };
      }
      function bqe(e, t = Ge, n = []) {
        return { kind: 1, bindingPattern: e, elements: t, types: n };
      }
      function Bce(e) {
        return e.hasBeenReferenced = true, e.identifier;
      }
      function mL(e) {
        return fA(e) ? Jce(e) : Rxe(e);
      }
      function Rxe(e) {
        for (const t of e.elements)
          mL(t);
        return e.bindingPattern;
      }
      function Jce(e) {
        return e.hasBeenDeclared = true, e.identifier;
      }
      function fA(e) {
        return e.kind === 0;
      }
      function Sqe(e) {
        return e.kind === 1;
      }
      function pA(e, t) {
        return !!e.original && t.setOfExpressionsToReturn.has(Oa(e.original));
      }
      Xs({
        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 = cn.ChangeTracker.with(e, (o) => {
            if (xqe(t, n.getTypeChecker(), o, pa(n.getCompilerOptions()), of(t, i)))
              for (const _ of n.getSourceFiles())
                Tqe(_, t, n, o, of(_, i));
          });
          return [Od("convertToEsModule", s, p.Convert_to_ES_module)];
        }
      });
      function Tqe(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 = J4(c);
          switch (u.kind) {
            case 272:
              i.replaceNode(e, u, Yy(
                u.name,
                /*namedImports*/
                void 0,
                c,
                s
              ));
              break;
            case 214:
              v_(
                u,
                /*requireStringLiteralLikeArgument*/
                false
              ) && i.replaceNode(e, u, N.createPropertyAccessExpression(Wa(u), "default"));
              break;
          }
        }
      }
      function xqe(e, t, n, i, s) {
        const o = { original: Mqe(e), additional: /* @__PURE__ */ new Set() }, c = kqe(e, t, o);
        Cqe(e, c, n);
        let _ = false, u;
        for (const g of kn(e.statements, Pc)) {
          const m = Bxe(e, g, n, t, o, i, s);
          m && R7(m, u ?? (u = /* @__PURE__ */ new Map()));
        }
        for (const g of kn(e.statements, (m) => !Pc(m))) {
          const m = Eqe(e, g, t, n, o, i, c, u, s);
          _ = _ || m;
        }
        return u?.forEach((g, m) => {
          n.replaceNode(e, m, g);
        }), _;
      }
      function kqe(e, t, n) {
        const i = /* @__PURE__ */ new Map();
        return jxe(e, (s) => {
          const { text: o } = s.name;
          !i.has(o) && (RB(s.name) || t.resolveName(
            o,
            s,
            111551,
            /*excludeGlobals*/
            true
          )) && i.set(o, _H(`_${o}`, n));
        }), i;
      }
      function Cqe(e, t, n) {
        jxe(e, (i, s) => {
          if (s)
            return;
          const { text: o } = i.name;
          n.replaceNode(e, i, N.createIdentifier(t.get(o) || o));
        });
      }
      function jxe(e, t) {
        e.forEachChild(function n(i) {
          if (wn(i) && Xb(e, i.expression) && Me(i.name)) {
            const { parent: s } = i;
            t(
              i,
              _n(s) && s.left === i && s.operatorToken.kind === 64
              /* EqualsToken */
            );
          }
          i.forEachChild(n);
        });
      }
      function Eqe(e, t, n, i, s, o, c, _, u) {
        switch (t.kind) {
          case 244:
            return Bxe(e, t, i, n, s, o, u), false;
          case 245: {
            const { expression: g } = t;
            switch (g.kind) {
              case 214:
                return v_(
                  g,
                  /*requireStringLiteralLikeArgument*/
                  true
                ) && i.replaceNode(e, t, Yy(
                  /*defaultImport*/
                  void 0,
                  /*namedImports*/
                  void 0,
                  g.arguments[0],
                  u
                )), false;
              case 227: {
                const { operatorToken: m } = g;
                return m.kind === 64 && wqe(e, n, g, i, c, _);
              }
            }
          }
          // falls through
          default:
            return false;
        }
      }
      function Bxe(e, t, n, i, s, o, c) {
        const { declarationList: _ } = t;
        let u = false;
        const g = hr(_.declarations, (m) => {
          const { name: h, initializer: S } = m;
          if (S) {
            if (Xb(e, S))
              return u = true, Nw([]);
            if (v_(
              S,
              /*requireStringLiteralLikeArgument*/
              true
            ))
              return u = true, Oqe(h, S.arguments[0], i, s, o, c);
            if (wn(S) && v_(
              S.expression,
              /*requireStringLiteralLikeArgument*/
              true
            ))
              return u = true, Dqe(h, S.name.text, S.expression.arguments[0], s, c);
          }
          return Nw([N.createVariableStatement(
            /*modifiers*/
            void 0,
            N.createVariableDeclarationList([m], _.flags)
          )]);
        });
        if (u) {
          n.replaceNodeWithNodes(e, t, xa(g, (h) => h.newImports));
          let m;
          return lr(g, (h) => {
            h.useSitesToUnqualify && R7(h.useSitesToUnqualify, m ?? (m = /* @__PURE__ */ new Map()));
          }), m;
        }
      }
      function Dqe(e, t, n, i, s) {
        switch (e.kind) {
          case 207:
          case 208: {
            const o = _H(t, i);
            return Nw([
              Uxe(o, t, n, s),
              fH(
                /*modifiers*/
                void 0,
                e,
                N.createIdentifier(o)
              )
            ]);
          }
          case 80:
            return Nw([Uxe(e.text, t, n, s)]);
          default:
            return E.assertNever(e, `Convert to ES module got invalid syntax form ${e.kind}`);
        }
      }
      function wqe(e, t, n, i, s, o) {
        const { left: c, right: _ } = n;
        if (!wn(c))
          return false;
        if (Xb(e, c))
          if (Xb(e, _))
            i.delete(e, n.parent);
          else {
            const u = ua(_) ? Pqe(_, o) : v_(
              _,
              /*requireStringLiteralLikeArgument*/
              true
            ) ? Aqe(_.arguments[0], t) : void 0;
            return u ? (i.replaceNodeWithNodes(e, n.parent, u[0]), u[1]) : (i.replaceRangeWithText(e, ip(c.getStart(e), _.pos), "export default"), true);
          }
        else Xb(e, c.expression) && Nqe(e, n, i, s);
        return false;
      }
      function Pqe(e, t) {
        const n = kR(e.properties, (i) => {
          switch (i.kind) {
            case 178:
            case 179:
            // TODO: Maybe we should handle this? See fourslash test `refactorConvertToEs6Module_export_object_shorthand.ts`.
            // falls through
            case 305:
            case 306:
              return;
            case 304:
              return Me(i.name) ? Fqe(i.name.text, i.initializer, t) : void 0;
            case 175:
              return Me(i.name) ? Wxe(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, false];
      }
      function Nqe(e, t, n, i) {
        const { text: s } = t.left.name, o = i.get(s);
        if (o !== void 0) {
          const c = [
            fH(
              /*modifiers*/
              void 0,
              o,
              t.right
            ),
            Uce([N.createExportSpecifier(
              /*isTypeOnly*/
              false,
              o,
              s
            )])
          ];
          n.replaceNodeWithNodes(e, t.parent, c);
        } else
          Iqe(t, e, n);
      }
      function Aqe(e, t) {
        const n = e.text, i = t.getSymbolAtLocation(e), s = i ? i.exports : vR;
        return s.has(
          "export="
          /* ExportEquals */
        ) ? [[zce(n)], true] : s.has(
          "default"
          /* Default */
        ) ? (
          // If there's some non-default export, must include both `export *` and `export default`.
          s.size > 1 ? [[Jxe(n), zce(n)], true] : [[zce(n)], true]
        ) : [[Jxe(n)], false];
      }
      function Jxe(e) {
        return Uce(
          /*exportSpecifiers*/
          void 0,
          e
        );
      }
      function zce(e) {
        return Uce([N.createExportSpecifier(
          /*isTypeOnly*/
          false,
          /*propertyName*/
          void 0,
          "default"
        )], e);
      }
      function Iqe({ left: e, right: t, parent: n }, i, s) {
        const o = e.name.text;
        if ((mo(t) || bo(t) || Oc(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 = $a(n, 27, i);
          c && s.delete(i, c);
        } else
          s.replaceNodeRangeWithNodes(i, e.expression, $a(e, 25, i), [N.createToken(
            95
            /* ExportKeyword */
          ), N.createToken(
            87
            /* ConstKeyword */
          )], { joiner: " ", suffix: " " });
      }
      function Fqe(e, t, n) {
        const i = [N.createToken(
          95
          /* ExportKeyword */
        )];
        switch (t.kind) {
          case 219: {
            const { name: o } = t;
            if (o && o.text !== e)
              return s();
          }
          // falls through
          case 220:
            return Wxe(e, i, t, n);
          case 232:
            return jqe(e, i, t, n);
          default:
            return s();
        }
        function s() {
          return fH(i, N.createIdentifier(e), Wce(t, n));
        }
      }
      function Wce(e, t) {
        if (!t || !ot(ns(t.keys()), (i) => S_(e, i)))
          return e;
        return ss(e) ? ZJ(
          e,
          /*includeTrivia*/
          true,
          n
        ) : EN(
          e,
          /*includeTrivia*/
          true,
          n
        );
        function n(i) {
          if (i.kind === 212) {
            const s = t.get(i);
            return t.delete(i), s;
          }
        }
      }
      function Oqe(e, t, n, i, s, o) {
        switch (e.kind) {
          case 207: {
            const c = kR(e.elements, (_) => _.dotDotDotToken || _.initializer || _.propertyName && !Me(_.propertyName) || !Me(_.name) ? void 0 : Vxe(_.propertyName && _.propertyName.text, _.name.text));
            if (c)
              return Nw([Yy(
                /*defaultImport*/
                void 0,
                c,
                t,
                o
              )]);
          }
          // falls through -- object destructuring has an interesting pattern and must be a variable declaration
          case 208: {
            const c = _H(K8(t.text, s), i);
            return Nw([
              Yy(
                N.createIdentifier(c),
                /*namedImports*/
                void 0,
                t,
                o
              ),
              fH(
                /*modifiers*/
                void 0,
                Wa(e),
                N.createIdentifier(c)
              )
            ]);
          }
          case 80:
            return Lqe(e, t, n, i, o);
          default:
            return E.assertNever(e, `Convert to ES module got invalid name kind ${e.kind}`);
        }
      }
      function Lqe(e, t, n, i, s) {
        const o = n.getSymbolAtLocation(e), c = /* @__PURE__ */ new Map();
        let _ = false, u;
        for (const m of i.original.get(e.text)) {
          if (n.getSymbolAtLocation(m) !== o || m === e)
            continue;
          const { parent: h } = m;
          if (wn(h)) {
            const { name: { text: S } } = h;
            if (S === "default") {
              _ = true;
              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 = _H(S, i), c.set(S, T)), (u ?? (u = /* @__PURE__ */ new Map())).set(h, N.createIdentifier(T));
            }
          } else
            _ = true;
        }
        const g = c.size === 0 ? void 0 : ns(XE(c.entries(), ([m, h]) => N.createImportSpecifier(
          /*isTypeOnly*/
          false,
          m === h ? void 0 : N.createIdentifier(m),
          N.createIdentifier(h)
        )));
        return g || (_ = true), Nw(
          [Yy(_ ? Wa(e) : void 0, g, t, s)],
          u
        );
      }
      function _H(e, t) {
        for (; t.original.has(e) || t.additional.has(e); )
          e = `_${e}`;
        return t.additional.add(e), e;
      }
      function Mqe(e) {
        const t = Pp();
        return zxe(e, (n) => t.add(n.text, n)), t;
      }
      function zxe(e, t) {
        Me(e) && Rqe(e) && t(e), e.forEachChild((n) => zxe(n, t));
      }
      function Rqe(e) {
        const { parent: t } = e;
        switch (t.kind) {
          case 212:
            return t.name !== e;
          case 209:
            return t.propertyName !== e;
          case 277:
            return t.propertyName !== e;
          default:
            return true;
        }
      }
      function Wxe(e, t, n, i) {
        return N.createFunctionDeclaration(
          Bi(t, Bb(n.modifiers)),
          Wa(n.asteriskToken),
          e,
          Bb(n.typeParameters),
          Bb(n.parameters),
          Wa(n.type),
          N.converters.convertToFunctionBlock(Wce(n.body, i))
        );
      }
      function jqe(e, t, n, i) {
        return N.createClassDeclaration(
          Bi(t, Bb(n.modifiers)),
          e,
          Bb(n.typeParameters),
          Bb(n.heritageClauses),
          Wce(n.members, i)
        );
      }
      function Uxe(e, t, n, i) {
        return t === "default" ? Yy(
          N.createIdentifier(e),
          /*namedImports*/
          void 0,
          n,
          i
        ) : Yy(
          /*defaultImport*/
          void 0,
          [Vxe(t, e)],
          n,
          i
        );
      }
      function Vxe(e, t) {
        return N.createImportSpecifier(
          /*isTypeOnly*/
          false,
          e !== void 0 && e !== t ? N.createIdentifier(e) : void 0,
          N.createIdentifier(t)
        );
      }
      function fH(e, t, n) {
        return N.createVariableStatement(
          e,
          N.createVariableDeclarationList(
            [N.createVariableDeclaration(
              t,
              /*exclamationToken*/
              void 0,
              /*type*/
              void 0,
              n
            )],
            2
            /* Const */
          )
        );
      }
      function Uce(e, t) {
        return N.createExportDeclaration(
          /*modifiers*/
          void 0,
          /*isTypeOnly*/
          false,
          e && N.createNamedExports(e),
          t === void 0 ? void 0 : N.createStringLiteral(t)
        );
      }
      function Nw(e, t) {
        return {
          newImports: e,
          useSitesToUnqualify: t
        };
      }
      var Vce = "correctQualifiedNameToIndexedAccessType", qxe = [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];
      Xs({
        errorCodes: qxe,
        getCodeActions(e) {
          const t = Hxe(e.sourceFile, e.span.start);
          if (!t) return;
          const n = cn.ChangeTracker.with(e, (s) => Gxe(s, e.sourceFile, t)), i = `${t.left.text}["${t.right.text}"]`;
          return [Os(Vce, n, [p.Rewrite_as_the_indexed_access_type_0, i], Vce, p.Rewrite_all_as_indexed_access_types)];
        },
        fixIds: [Vce],
        getAllCodeActions: (e) => Ga(e, qxe, (t, n) => {
          const i = Hxe(n.file, n.start);
          i && Gxe(t, n.file, i);
        })
      });
      function Hxe(e, t) {
        const n = dr(vi(e, t), t_);
        return E.assert(!!n, "Expected position to be owned by a qualified name."), Me(n.left) ? n : void 0;
      }
      function Gxe(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 qce = [p.Re_exporting_a_type_when_0_is_enabled_requires_using_export_type.code], Hce = "convertToTypeOnlyExport";
      Xs({
        errorCodes: qce,
        getCodeActions: function(t) {
          const n = cn.ChangeTracker.with(t, (i) => Xxe(i, $xe(t.span, t.sourceFile), t));
          if (n.length)
            return [Os(Hce, n, p.Convert_to_type_only_export, Hce, p.Convert_all_re_exported_types_to_type_only_exports)];
        },
        fixIds: [Hce],
        getAllCodeActions: function(t) {
          const n = /* @__PURE__ */ new Set();
          return Ga(t, qce, (i, s) => {
            const o = $xe(s, t.sourceFile);
            o && Mp(n, Oa(o.parent.parent)) && Xxe(i, o, t);
          });
        }
      });
      function $xe(e, t) {
        return Bn(vi(t, e.start).parent, Eu);
      }
      function Xxe(e, t, n) {
        if (!t)
          return;
        const i = t.parent, s = i.parent, o = Bqe(t, n);
        if (o.length === i.elements.length)
          e.insertModifierBefore(n.sourceFile, 156, i);
        else {
          const c = N.updateExportDeclaration(
            s,
            s.modifiers,
            /*isTypeOnly*/
            false,
            N.updateNamedExports(i, kn(i.elements, (u) => !ds(o, u))),
            s.moduleSpecifier,
            /*attributes*/
            void 0
          ), _ = N.createExportDeclaration(
            /*modifiers*/
            void 0,
            /*isTypeOnly*/
            true,
            N.createNamedExports(o),
            s.moduleSpecifier,
            /*attributes*/
            void 0
          );
          e.replaceNode(n.sourceFile, s, c, {
            leadingTriviaOption: cn.LeadingTriviaOption.IncludeAll,
            trailingTriviaOption: cn.TrailingTriviaOption.Exclude
          }), e.insertNodeAfter(n.sourceFile, s, _);
        }
      }
      function Bqe(e, t) {
        const n = e.parent;
        if (n.elements.length === 1)
          return n.elements;
        const i = Aae(
          a_(n),
          t.program.getSemanticDiagnostics(t.sourceFile, t.cancellationToken)
        );
        return kn(n.elements, (s) => {
          var o;
          return s === e || ((o = Nae(s, i)) == null ? void 0 : o.code) === qce[0];
        });
      }
      var Qxe = [
        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
      ], pH = "convertToTypeOnlyImport";
      Xs({
        errorCodes: Qxe,
        getCodeActions: function(t) {
          var n;
          const i = Yxe(t.sourceFile, t.span.start);
          if (i) {
            const s = cn.ChangeTracker.with(t, (_) => gL(_, t.sourceFile, i)), o = i.kind === 277 && Wo(i.parent.parent.parent) && Zxe(i, t.sourceFile, t.program) ? cn.ChangeTracker.with(t, (_) => gL(_, t.sourceFile, i.parent.parent.parent)) : void 0, c = Os(
              pH,
              s,
              i.kind === 277 ? [p.Use_type_0, ((n = i.propertyName) == null ? void 0 : n.text) ?? i.name.text] : p.Use_import_type,
              pH,
              p.Fix_all_with_type_only_imports
            );
            return ot(o) ? [
              Od(pH, o, p.Use_import_type),
              c
            ] : [c];
          }
        },
        fixIds: [pH],
        getAllCodeActions: function(t) {
          const n = /* @__PURE__ */ new Set();
          return Ga(t, Qxe, (i, s) => {
            const o = Yxe(s.file, s.start);
            o?.kind === 273 && !n.has(o) ? (gL(i, s.file, o), n.add(o)) : o?.kind === 277 && Wo(o.parent.parent.parent) && !n.has(o.parent.parent.parent) && Zxe(o, s.file, t.program) ? (gL(i, s.file, o.parent.parent.parent), n.add(o.parent.parent.parent)) : o?.kind === 277 && gL(i, s.file, o);
          });
        }
      });
      function Yxe(e, t) {
        const { parent: n } = vi(e, t);
        return qu(n) || Wo(n) && n.importClause ? n : void 0;
      }
      function Zxe(e, t, n) {
        if (e.parent.parent.name)
          return false;
        const i = e.parent.elements.filter((o) => !o.isTypeOnly);
        if (i.length === 1)
          return true;
        const s = n.getTypeChecker();
        for (const o of i)
          if (So.Core.eachSymbolReferenceInFile(o.name, s, t, (_) => {
            const u = s.getSymbolAtLocation(_);
            return !!u && s.symbolIsValue(u) || !$1(_);
          }))
            return false;
        return true;
      }
      function gL(e, t, n) {
        var i;
        if (qu(n))
          e.replaceNode(t, n, N.updateImportSpecifier(
            n,
            /*isTypeOnly*/
            true,
            n.propertyName,
            n.name
          ));
        else {
          const s = n.importClause;
          if (s.name && s.namedBindings)
            e.replaceNodeWithNodes(t, n, [
              N.createImportDeclaration(
                Bb(
                  n.modifiers,
                  /*includeTrivia*/
                  true
                ),
                N.createImportClause(
                  156,
                  Wa(
                    s.name,
                    /*includeTrivia*/
                    true
                  ),
                  /*namedBindings*/
                  void 0
                ),
                Wa(
                  n.moduleSpecifier,
                  /*includeTrivia*/
                  true
                ),
                Wa(
                  n.attributes,
                  /*includeTrivia*/
                  true
                )
              ),
              N.createImportDeclaration(
                Bb(
                  n.modifiers,
                  /*includeTrivia*/
                  true
                ),
                N.createImportClause(
                  156,
                  /*name*/
                  void 0,
                  Wa(
                    s.namedBindings,
                    /*includeTrivia*/
                    true
                  )
                ),
                Wa(
                  n.moduleSpecifier,
                  /*includeTrivia*/
                  true
                ),
                Wa(
                  n.attributes,
                  /*includeTrivia*/
                  true
                )
              )
            ]);
          else {
            const o = ((i = s.namedBindings) == null ? void 0 : i.kind) === 276 ? N.updateNamedImports(
              s.namedBindings,
              Gc(s.namedBindings.elements, (_) => N.updateImportSpecifier(
                _,
                /*isTypeOnly*/
                false,
                _.propertyName,
                _.name
              ))
            ) : s.namedBindings, c = N.updateImportDeclaration(n, n.modifiers, N.updateImportClause(s, 156, s.name, o), n.moduleSpecifier, n.attributes);
            e.replaceNode(t, n, c);
          }
        }
      }
      var Gce = "convertTypedefToType", Kxe = [p.JSDoc_typedef_may_be_converted_to_TypeScript_type.code];
      Xs({
        fixIds: [Gce],
        errorCodes: Kxe,
        getCodeActions(e) {
          const t = wh(e.host, e.formatContext.options), n = vi(
            e.sourceFile,
            e.span.start
          );
          if (!n) return;
          const i = cn.ChangeTracker.with(e, (s) => eke(s, n, e.sourceFile, t));
          if (i.length > 0)
            return [
              Os(
                Gce,
                i,
                p.Convert_typedef_to_TypeScript_type,
                Gce,
                p.Convert_all_typedef_to_TypeScript_types
              )
            ];
        },
        getAllCodeActions: (e) => Ga(
          e,
          Kxe,
          (t, n) => {
            const i = wh(e.host, e.formatContext.options), s = vi(n.file, n.start);
            s && eke(t, s, n.file, i, true);
          }
        )
      });
      function eke(e, t, n, i, s = false) {
        if (!CS(t)) return;
        const o = zqe(t);
        if (!o) return;
        const c = t.parent, { leftSibling: _, rightSibling: u } = Jqe(t);
        let g = c.getStart(), m = "";
        !_ && c.comment && (g = tke(c, c.getStart(), t.getStart()), m = `${i} */${i}`), _ && (s && CS(_) ? (g = t.getStart(), m = "") : (g = tke(c, _.getStart(), t.getStart()), m = `${i} */${i}`));
        let h = c.getEnd(), S = "";
        u && (s && CS(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 Jqe(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 tke(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 zqe(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 === 323)
            return Wqe(i, n);
          if (n.kind === 310)
            return Uqe(i, n);
        }
      }
      function Wqe(e, t) {
        const n = rke(t);
        if (ot(n))
          return N.createInterfaceDeclaration(
            /*modifiers*/
            void 0,
            e,
            /*typeParameters*/
            void 0,
            /*heritageClauses*/
            void 0,
            n
          );
      }
      function Uqe(e, t) {
        const n = Wa(t.type);
        if (n)
          return N.createTypeAliasDeclaration(
            /*modifiers*/
            void 0,
            N.createIdentifier(e),
            /*typeParameters*/
            void 0,
            n
          );
      }
      function rke(e) {
        const t = e.jsDocPropertyTags;
        return ot(t) ? Fi(t, (i) => {
          var s;
          const o = Vqe(i), c = (s = i.typeExpression) == null ? void 0 : s.type, _ = i.isBracketed;
          let u;
          if (c && kS(c)) {
            const g = rke(c);
            u = N.createTypeLiteralNode(g);
          } else c && (u = Wa(c));
          if (u && o) {
            const g = _ ? N.createToken(
              58
              /* QuestionToken */
            ) : void 0;
            return N.createPropertySignature(
              /*modifiers*/
              void 0,
              o,
              g,
              u
            );
          }
        }) : void 0;
      }
      function Vqe(e) {
        return e.name.kind === 80 ? e.name.text : e.name.right.text;
      }
      function qqe(e) {
        return bf(e) ? xa(e.jsDoc, (t) => {
          var n;
          return (n = t.tags) == null ? void 0 : n.filter((i) => CS(i));
        }) : [];
      }
      var $ce = "convertLiteralTypeToMappedType", nke = [p._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0.code];
      Xs({
        errorCodes: nke,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = ike(n, i.start);
          if (!s)
            return;
          const { name: o, constraint: c } = s, _ = cn.ChangeTracker.with(t, (u) => ske(u, n, s));
          return [Os($ce, _, [p.Convert_0_to_1_in_0, c, o], $ce, p.Convert_all_type_literals_to_mapped_type)];
        },
        fixIds: [$ce],
        getAllCodeActions: (e) => Ga(e, nke, (t, n) => {
          const i = ike(n.file, n.start);
          i && ske(t, n.file, i);
        })
      });
      function ike(e, t) {
        const n = vi(e, t);
        if (Me(n)) {
          const i = Ws(n.parent.parent, Vu), s = n.getText(e);
          return {
            container: Ws(i.parent, r_),
            typeNode: i.type,
            constraint: s,
            name: s === "K" ? "P" : "K"
          };
        }
      }
      function ske(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 ake = [
        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
      ], Xce = "fixClassIncorrectlyImplementsInterface";
      Xs({
        errorCodes: ake,
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = oke(t, n.start);
          return Fi(UC(i), (s) => {
            const o = cn.ChangeTracker.with(e, (c) => lke(e, s, t, i, c, e.preferences));
            return o.length === 0 ? void 0 : Os(Xce, o, [p.Implement_interface_0, s.getText(t)], Xce, p.Implement_all_unimplemented_interfaces);
          });
        },
        fixIds: [Xce],
        getAllCodeActions(e) {
          const t = /* @__PURE__ */ new Set();
          return Ga(e, ake, (n, i) => {
            const s = oke(i.file, i.start);
            if (Mp(t, Oa(s)))
              for (const o of UC(s))
                lke(e, o, i.file, s, n, e.preferences);
          });
        }
      });
      function oke(e, t) {
        return E.checkDefined(jl(vi(e, t)), "There should be a containing class");
      }
      function cke(e) {
        return !e.valueDeclaration || !(lu(e.valueDeclaration) & 2);
      }
      function lke(e, t, n, i, s, o) {
        const c = e.program.getTypeChecker(), _ = Hqe(i, c), u = c.getTypeAtLocation(t), m = c.getPropertiesOfType(u).filter(YI(cke, (P) => !_.has(P.escapedName))), h = c.getTypeAtLocation(i), S = Nn(i.members, (P) => ec(P));
        h.getNumberIndexType() || k(
          u,
          1
          /* Number */
        ), h.getStringIndexType() || k(
          u,
          0
          /* String */
        );
        const T = c2(n, e.program, o, e.host);
        Wle(i, m, n, e, o, T, (P) => D(n, i, P)), T.writeFixes(s);
        function k(P, A) {
          const O = c.getIndexInfoOfType(P, A);
          O && D(n, i, c.indexInfoToIndexSignatureDeclaration(
            O,
            i,
            /*flags*/
            void 0,
            /*internalFlags*/
            void 0,
            K6(e)
          ));
        }
        function D(P, A, O) {
          S ? s.insertNodeAfter(P, S, O) : s.insertMemberAtStart(P, A, O);
        }
      }
      function Hqe(e, t) {
        const n = kd(e);
        if (!n) return js();
        const i = t.getTypeAtLocation(n), s = t.getPropertiesOfType(i);
        return js(s.filter(cke));
      }
      var uke = "import", _ke = "fixMissingImport", fke = [
        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
      ];
      Xs({
        errorCodes: fke,
        getCodeActions(e) {
          const { errorCode: t, preferences: n, sourceFile: i, span: s, program: o } = e, c = yke(
            e,
            t,
            s.start,
            /*useAutoImportProvider*/
            true
          );
          if (c)
            return c.map(
              ({ fix: _, symbolName: u, errorIdentifierText: g }) => Zce(
                e,
                i,
                u,
                _,
                /*includeSymbolNameInDescription*/
                u !== g,
                o,
                n
              )
            );
        },
        fixIds: [_ke],
        getAllCodeActions: (e) => {
          const { sourceFile: t, program: n, preferences: i, host: s, cancellationToken: o } = e, c = pke(
            t,
            n,
            /*useAutoImportProvider*/
            true,
            i,
            s,
            o
          );
          return fk(e, fke, (_) => c.addImportFromDiagnostic(_, e)), _k(cn.ChangeTracker.with(e, c.writeFixes));
        }
      });
      function c2(e, t, n, i, s) {
        return pke(
          e,
          t,
          /*useAutoImportProvider*/
          false,
          n,
          i,
          s
        );
      }
      function pke(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: P, addImportForModuleSymbol: A, writeFixes: B, hasFixes: $, addImportForUnresolvedIdentifier: k, addImportForNonExistentExport: O, removeExistingImport: F, addVerbatimImport: T };
        function T(W) {
          h.add(W);
        }
        function k(W, _e, K) {
          const V = nHe(W, _e, K);
          !V || !V.length || R(ka(V));
        }
        function D(W, _e) {
          const K = yke(_e, W.code, W.start, n);
          !K || !K.length || R(ka(K));
        }
        function P(W, _e, K) {
          var V, ae;
          const se = E.checkDefined(W.parent, "Expected exported symbol to have module symbol as parent"), ce = U9(W, pa(c)), fe = t.getTypeChecker(), he = fe.getMergedSymbol(Ql(W, fe)), q = mke(
            e,
            he,
            ce,
            se,
            /*preferCapitalized*/
            false,
            t,
            s,
            i,
            o
          );
          if (!q) {
            E.assert((V = i.autoImportFileExcludePatterns) == null ? void 0 : V.length);
            return;
          }
          const be = dA(e, t);
          let je = Qce(
            e,
            q,
            t,
            /*position*/
            void 0,
            !!_e,
            be,
            s,
            i
          );
          if (je) {
            const me = ((ae = Bn(K?.name, Me)) == null ? void 0 : ae.text) ?? ce;
            let Z, pe;
            K && CC(K) && (je.kind === 3 || je.kind === 2) && je.addAsTypeOnly === 1 && (Z = 2), W.name !== me && (pe = W.name), je = {
              ...je,
              ...Z === void 0 ? {} : { addAsTypeOnly: Z },
              ...pe === void 0 ? {} : { propertyName: pe }
            }, R({ fix: je, symbolName: me ?? ce });
          }
        }
        function A(W, _e, K) {
          var V, ae, se;
          const ce = t.getTypeChecker(), fe = ce.getAliasedSymbol(W);
          E.assert(fe.flags & 1536, "Expected symbol to be a module");
          const he = mv(t, s), q = Dh.getModuleSpecifiersWithCacheInfo(
            fe,
            ce,
            c,
            e,
            he,
            i,
            /*options*/
            void 0,
            /*forAutoImport*/
            true
          ), be = dA(e, t);
          let je = yL(
            _e,
            /*isForNewImportDeclaration*/
            true,
            /*symbol*/
            void 0,
            W.flags,
            t.getTypeChecker(),
            c
          );
          je = je === 1 && CC(K) ? 2 : 1;
          const me = Wo(K) ? sS(K) ? 1 : 2 : qu(K) ? 0 : sd(K) && K.name ? 1 : 2, Z = [{
            symbol: W,
            moduleSymbol: fe,
            moduleFileName: (se = (ae = (V = fe.declarations) == null ? void 0 : V[0]) == null ? void 0 : ae.getSourceFile()) == null ? void 0 : se.fileName,
            exportKind: 4,
            targetFlags: W.flags,
            isFromPackageJson: false
          }], pe = Qce(
            e,
            Z,
            t,
            /*position*/
            void 0,
            !!_e,
            be,
            s,
            i
          );
          let Te;
          pe && me !== 2 && pe.kind !== 0 && pe.kind !== 1 ? Te = {
            ...pe,
            addAsTypeOnly: je,
            importKind: me
          } : Te = {
            kind: 3,
            moduleSpecifierKind: pe !== void 0 ? pe.moduleSpecifierKind : q.kind,
            moduleSpecifier: pe !== void 0 ? pe.moduleSpecifier : ka(q.moduleSpecifiers),
            importKind: me,
            addAsTypeOnly: je,
            useRequire: be
          }, R({ fix: Te, symbolName: W.name });
        }
        function O(W, _e, K, V, ae) {
          const se = t.getSourceFile(_e), ce = dA(e, t);
          if (se && se.symbol) {
            const { fixes: fe } = hL(
              [{
                exportKind: K,
                isFromPackageJson: false,
                moduleFileName: _e,
                moduleSymbol: se.symbol,
                targetFlags: V
              }],
              /*usagePosition*/
              void 0,
              ae,
              ce,
              t,
              e,
              s,
              i
            );
            fe.length && R({ fix: fe[0], symbolName: W });
          } else {
            const fe = $9(_e, 99, t, s), he = Dh.getLocalModuleSpecifierBetweenFileNames(
              e,
              _e,
              c,
              mv(t, s),
              i
            ), q = dH(fe, K, t), be = yL(
              ae,
              /*isForNewImportDeclaration*/
              true,
              /*symbol*/
              void 0,
              V,
              t.getTypeChecker(),
              c
            );
            R({ fix: {
              kind: 3,
              moduleSpecifierKind: "relative",
              moduleSpecifier: he,
              importKind: q,
              addAsTypeOnly: be,
              useRequire: ce
            }, symbolName: W });
          }
        }
        function F(W) {
          W.kind === 274 && E.assertIsDefined(W.name, "ImportClause should have a name if it's being removed"), m.add(W);
        }
        function R(W) {
          var _e, K, V;
          const { fix: ae, symbolName: se } = W;
          switch (ae.kind) {
            case 0:
              _.push(ae);
              break;
            case 1:
              u.push(ae);
              break;
            case 2: {
              const { importClauseOrBindingPattern: q, importKind: be, addAsTypeOnly: je, propertyName: me } = ae;
              let Z = g.get(q);
              if (Z || g.set(q, Z = { importClauseOrBindingPattern: q, defaultImport: void 0, namedImports: /* @__PURE__ */ new Map() }), be === 0) {
                const pe = (_e = Z?.namedImports.get(se)) == null ? void 0 : _e.addAsTypeOnly;
                Z.namedImports.set(se, { addAsTypeOnly: ce(pe, je), propertyName: me });
              } else
                E.assert(Z.defaultImport === void 0 || Z.defaultImport.name === se, "(Add to Existing) Default import should be missing or match symbolName"), Z.defaultImport = {
                  name: se,
                  addAsTypeOnly: ce((K = Z.defaultImport) == null ? void 0 : K.addAsTypeOnly, je)
                };
              break;
            }
            case 3: {
              const { moduleSpecifier: q, importKind: be, useRequire: je, addAsTypeOnly: me, propertyName: Z } = ae, pe = fe(q, be, je, me);
              switch (E.assert(pe.useRequire === je, "(Add new) Tried to add an `import` and a `require` for the same module"), be) {
                case 1:
                  E.assert(pe.defaultImport === void 0 || pe.defaultImport.name === se, "(Add new) Default import should be missing or match symbolName"), pe.defaultImport = { name: se, addAsTypeOnly: ce((V = pe.defaultImport) == null ? void 0 : V.addAsTypeOnly, me) };
                  break;
                case 0:
                  const Te = (pe.namedImports || (pe.namedImports = /* @__PURE__ */ new Map())).get(se);
                  pe.namedImports.set(se, [ce(Te, me), Z]);
                  break;
                case 3:
                  if (c.verbatimModuleSyntax) {
                    const Fe = (pe.namedImports || (pe.namedImports = /* @__PURE__ */ new Map())).get(se);
                    pe.namedImports.set(se, [ce(Fe, me), Z]);
                  } else
                    E.assert(pe.namespaceLikeImport === void 0 || pe.namespaceLikeImport.name === se, "Namespacelike import shoudl be missing or match symbolName"), pe.namespaceLikeImport = { importKind: be, name: se, addAsTypeOnly: me };
                  break;
                case 2:
                  E.assert(pe.namespaceLikeImport === void 0 || pe.namespaceLikeImport.name === se, "Namespacelike import shoudl be missing or match symbolName"), pe.namespaceLikeImport = { importKind: be, name: se, addAsTypeOnly: me };
                  break;
              }
              break;
            }
            case 4:
              break;
            default:
              E.assertNever(ae, `fix wasn't never - got kind ${ae.kind}`);
          }
          function ce(q, be) {
            return Math.max(q ?? 0, be);
          }
          function fe(q, be, je, me) {
            const Z = he(
              q,
              /*topLevelTypeOnly*/
              true
            ), pe = he(
              q,
              /*topLevelTypeOnly*/
              false
            ), Te = S.get(Z), Fe = S.get(pe), Ye = {
              defaultImport: void 0,
              namedImports: void 0,
              namespaceLikeImport: void 0,
              useRequire: je
            };
            return be === 1 && me === 2 ? Te || (S.set(Z, Ye), Ye) : me === 1 && (Te || Fe) ? Te || Fe : Fe || (S.set(pe, Ye), Ye);
          }
          function he(q, be) {
            return `${be ? 1 : 0}|${q}`;
          }
        }
        function B(W, _e) {
          var K, V;
          let ae;
          e.imports !== void 0 && e.imports.length === 0 && _e !== void 0 ? ae = _e : ae = of(e, i);
          for (const fe of _)
            Kce(W, e, fe);
          for (const fe of u)
            Dke(W, e, fe, ae);
          let se;
          if (m.size) {
            E.assert(Pg(e), "Cannot remove imports from a future source file");
            const fe = new Set(Fi([...m], (me) => dr(me, Wo))), he = new Set(Fi([...m], (me) => dr(me, I3))), q = [...fe].filter(
              (me) => {
                var Z, pe, Te;
                return (
                  // nothing added to the import declaration
                  !g.has(me.importClause) && // no default, or default is being removed
                  (!((Z = me.importClause) != null && Z.name) || m.has(me.importClause)) && // no namespace import, or namespace import is being removed
                  (!Bn((pe = me.importClause) == null ? void 0 : pe.namedBindings, jg) || m.has(me.importClause.namedBindings)) && // no named imports, or all named imports are being removed
                  (!Bn((Te = me.importClause) == null ? void 0 : Te.namedBindings, gm) || Ni(me.importClause.namedBindings.elements, (Fe) => m.has(Fe)))
                );
              }
            ), be = [...he].filter(
              (me) => (
                // no binding elements being added to the variable declaration
                (me.name.kind !== 207 || !g.has(me.name)) && // no binding elements, or all binding elements are being removed
                (me.name.kind !== 207 || Ni(me.name.elements, (Z) => m.has(Z)))
              )
            ), je = [...fe].filter(
              (me) => {
                var Z, pe;
                return (
                  // has named bindings
                  ((Z = me.importClause) == null ? void 0 : Z.namedBindings) && // is not being fully removed
                  q.indexOf(me) === -1 && // is not gaining named imports
                  !((pe = g.get(me.importClause)) != null && pe.namedImports) && // all named imports are being removed
                  (me.importClause.namedBindings.kind === 275 || Ni(me.importClause.namedBindings.elements, (Te) => m.has(Te)))
                );
              }
            );
            for (const me of [...q, ...be])
              W.delete(e, me);
            for (const me of je)
              W.replaceNode(
                e,
                me.importClause,
                N.updateImportClause(
                  me.importClause,
                  me.importClause.phaseModifier,
                  me.importClause.name,
                  /*namedBindings*/
                  void 0
                )
              );
            for (const me of m) {
              const Z = dr(me, Wo);
              Z && q.indexOf(Z) === -1 && je.indexOf(Z) === -1 ? me.kind === 274 ? W.delete(e, me.name) : (E.assert(me.kind === 277, "NamespaceImport should have been handled earlier"), (K = g.get(Z.importClause)) != null && K.namedImports ? (se ?? (se = /* @__PURE__ */ new Set())).add(me) : W.delete(e, me)) : me.kind === 209 ? (V = g.get(me.parent)) != null && V.namedImports ? (se ?? (se = /* @__PURE__ */ new Set())).add(me) : W.delete(e, me) : me.kind === 272 && W.delete(e, me);
            }
          }
          g.forEach(({ importClauseOrBindingPattern: fe, defaultImport: he, namedImports: q }) => {
            Eke(
              W,
              e,
              fe,
              he,
              ns(q.entries(), ([be, { addAsTypeOnly: je, propertyName: me }]) => ({ addAsTypeOnly: je, propertyName: me, name: be })),
              se,
              i
            );
          });
          let ce;
          S.forEach(({ useRequire: fe, defaultImport: he, namedImports: q, namespaceLikeImport: be }, je) => {
            const me = je.slice(2), pe = (fe ? Nke : Pke)(
              me,
              ae,
              he,
              q && ns(q.entries(), ([Te, [Fe, Ye]]) => ({ addAsTypeOnly: Fe, propertyName: Ye, name: Te })),
              be,
              c,
              i
            );
            ce = JT(ce, pe);
          }), ce = JT(ce, U()), ce && qV(
            W,
            e,
            ce,
            /*blankLineBetween*/
            true,
            i
          );
        }
        function U() {
          if (!h.size) return;
          const W = new Set(Fi([...h], (K) => dr(K, Wo))), _e = new Set(Fi([...h], (K) => dr(K, F3)));
          return [
            ...Fi([...h], (K) => K.kind === 272 ? Wa(
              K,
              /*includeTrivia*/
              true
            ) : void 0),
            ...[...W].map((K) => {
              var V;
              return h.has(K) ? Wa(
                K,
                /*includeTrivia*/
                true
              ) : Wa(
                N.updateImportDeclaration(
                  K,
                  K.modifiers,
                  K.importClause && N.updateImportClause(
                    K.importClause,
                    K.importClause.phaseModifier,
                    h.has(K.importClause) ? K.importClause.name : void 0,
                    h.has(K.importClause.namedBindings) ? K.importClause.namedBindings : (V = Bn(K.importClause.namedBindings, gm)) != null && V.elements.some((ae) => h.has(ae)) ? N.updateNamedImports(
                      K.importClause.namedBindings,
                      K.importClause.namedBindings.elements.filter((ae) => h.has(ae))
                    ) : void 0
                  ),
                  K.moduleSpecifier,
                  K.attributes
                ),
                /*includeTrivia*/
                true
              );
            }),
            ...[..._e].map((K) => h.has(K) ? Wa(
              K,
              /*includeTrivia*/
              true
            ) : Wa(
              N.updateVariableStatement(
                K,
                K.modifiers,
                N.updateVariableDeclarationList(
                  K.declarationList,
                  Fi(K.declarationList.declarations, (V) => h.has(V) ? V : N.updateVariableDeclaration(
                    V,
                    V.name.kind === 207 ? N.updateObjectBindingPattern(
                      V.name,
                      V.name.elements.filter((ae) => h.has(ae))
                    ) : V.name,
                    V.exclamationToken,
                    V.type,
                    V.initializer
                  ))
                )
              ),
              /*includeTrivia*/
              true
            ))
          ];
        }
        function $() {
          return _.length > 0 || u.length > 0 || g.size > 0 || S.size > 0 || h.size > 0 || m.size > 0;
        }
      }
      function Gqe(e, t, n, i) {
        const s = G6(e, i, n), o = gke(e, t);
        return { getModuleSpecifierForBestExportInfo: c };
        function c(_, u, g, m) {
          const { fixes: h, computedWithoutCacheCount: S } = hL(
            _,
            u,
            g,
            /*useRequire*/
            false,
            t,
            e,
            n,
            i,
            o,
            m
          ), T = bke(h, e, t, s, n, i);
          return T && { ...T, computedWithoutCacheCount: S };
        }
      }
      function $qe(e, t, n, i, s, o, c, _, u, g, m, h) {
        let S;
        n ? (S = tA(i, c, _, m, h).get(i.path, n), E.assertIsDefined(S, "Some exportInfo should match the specified exportMapKey")) : (S = hj(Lp(t.name)) ? [Qqe(e, s, t, _, c)] : mke(i, e, s, t, o, _, c, m, h), E.assertIsDefined(S, "Some exportInfo should match the specified symbol / moduleSymbol"));
        const T = dA(i, _), k = $1(vi(i, g)), D = E.checkDefined(Qce(i, S, _, g, k, T, c, m));
        return {
          moduleSpecifier: D.moduleSpecifier,
          codeAction: dke(Zce(
            { host: c, formatContext: u, preferences: m },
            i,
            s,
            D,
            /*includeSymbolNameInDescription*/
            false,
            _,
            m
          ))
        };
      }
      function Xqe(e, t, n, i, s, o) {
        const c = n.getCompilerOptions(), _ = AR(Yce(e, n.getTypeChecker(), t, c)), u = kke(e, t, _, n), g = _ !== t.text;
        return u && dke(Zce(
          { host: i, formatContext: s, preferences: o },
          e,
          _,
          u,
          g,
          n,
          o
        ));
      }
      function Qce(e, t, n, i, s, o, c, _) {
        const u = G6(e, _, c);
        return bke(hL(t, i, s, o, n, e, c, _).fixes, e, n, u, c, _);
      }
      function dke({ description: e, changes: t, commands: n }) {
        return { description: e, changes: t, commands: n };
      }
      function mke(e, t, n, i, s, o, c, _, u) {
        const g = hke(o, c), m = _.autoImportFileExcludePatterns && Mae(c, _), h = o.getTypeChecker().getMergedSymbol(i), S = m && h.declarations && Ao(
          h,
          308
          /* SourceFile */
        ), T = S && m(S);
        return tA(e, c, o, _, u).search(e.path, s, (k) => k === n, (k) => {
          const D = g(k[0].isFromPackageJson);
          if (D.getMergedSymbol(Ql(k[0].symbol, D)) === t && (T || k.some((P) => D.getMergedSymbol(P.moduleSymbol) === i || P.symbol.parent === i)))
            return k;
        });
      }
      function Qqe(e, t, n, i, s) {
        var o, c;
        const _ = g(
          i.getTypeChecker(),
          /*isFromPackageJson*/
          false
        );
        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*/
          true
        ), "Could not find symbol in specified module for code actions");
        function g(m, h) {
          const S = X9(n, m);
          if (S && Ql(S.symbol, m) === e)
            return { symbol: S.symbol, moduleSymbol: n, moduleFileName: void 0, exportKind: S.exportKind, targetFlags: Ql(e, m).flags, isFromPackageJson: h };
          const T = m.tryGetMemberInModuleExportsAndProperties(t, n);
          if (T && Ql(T, m) === e)
            return { symbol: T, moduleSymbol: n, moduleFileName: void 0, exportKind: 0, targetFlags: Ql(e, m).flags, isFromPackageJson: h };
        }
      }
      function hL(e, t, n, i, s, o, c, _, u = Pg(o) ? gke(o, s) : void 0, g) {
        const m = s.getTypeChecker(), h = u ? xa(e, u.getImportsForExportInfo) : Ge, S = t !== void 0 && Yqe(h, t), T = Kqe(h, n, m, s.getCompilerOptions());
        if (T)
          return {
            computedWithoutCacheCount: 0,
            fixes: [...S ? [S] : Ge, T]
          };
        const { fixes: k, computedWithoutCacheCount: D = 0 } = tHe(
          e,
          h,
          s,
          o,
          t,
          n,
          i,
          c,
          _,
          g
        );
        return {
          computedWithoutCacheCount: D,
          fixes: [...S ? [S] : Ge, ...k]
        };
      }
      function Yqe(e, t) {
        return Ic(e, ({ declaration: n, importKind: i }) => {
          var s;
          if (i !== 0) return;
          const o = Zqe(n), c = o && ((s = lx(n)) == null ? void 0 : s.text);
          if (c)
            return { kind: 0, namespacePrefix: o, usagePosition: t, moduleSpecifierKind: void 0, moduleSpecifier: c };
        });
      }
      function Zqe(e) {
        var t, n, i;
        switch (e.kind) {
          case 261:
            return (t = Bn(e.name, Me)) == null ? void 0 : t.text;
          case 272:
            return e.name.text;
          case 352:
          case 273:
            return (i = Bn((n = e.importClause) == null ? void 0 : n.namedBindings, jg)) == null ? void 0 : i.name.text;
          default:
            return E.assertNever(e);
        }
      }
      function yL(e, t, n, i, s, o) {
        return e ? n && o.verbatimModuleSyntax && (!(i & 111551) || s.getTypeOnlyAliasDeclaration(n)) ? 2 : 1 : 4;
      }
      function Kqe(e, t, n, i) {
        let s;
        for (const c of e) {
          const _ = o(c);
          if (!_) continue;
          const u = CC(_.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 === 272)
            return;
          if (c.kind === 261)
            return (_ === 0 || _ === 1) && c.name.kind === 207 ? {
              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 || !Ma(c.moduleSpecifier))
            return;
          const { name: h, namedBindings: S } = m;
          if (m.isTypeOnly && !(_ === 0 && S))
            return;
          const T = yL(
            t,
            /*isForNewImportDeclaration*/
            false,
            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 === 275))
            return {
              kind: 2,
              importClauseOrBindingPattern: m,
              importKind: _,
              moduleSpecifierKind: void 0,
              moduleSpecifier: c.moduleSpecifier.text,
              addAsTypeOnly: T
            };
        }
      }
      function gke(e, t) {
        const n = t.getTypeChecker();
        let i;
        for (const s of e.imports) {
          const o = J4(s);
          if (I3(o.parent)) {
            const c = n.resolveExternalModuleName(s);
            c && (i || (i = Pp())).add($s(c), o.parent);
          } else if (o.kind === 273 || o.kind === 272 || o.kind === 352) {
            const c = n.getSymbolAtLocation(s);
            c && (i || (i = Pp())).add($s(c), o);
          }
        }
        return {
          getImportsForExportInfo: ({ moduleSymbol: s, exportKind: o, targetFlags: c, symbol: _ }) => {
            const u = i?.get($s(s));
            if (!u || Ku(e) && !(c & 111551) && !Ni(u, vm)) return Ge;
            const g = dH(e, o, t);
            return u.map((m) => ({ declaration: m, importKind: g, symbol: _, targetFlags: c }));
          }
        };
      }
      function dA(e, t) {
        if (!Og(e.fileName))
          return false;
        if (e.commonJsModuleIndicator && !e.externalModuleIndicator) return true;
        if (e.externalModuleIndicator && !e.commonJsModuleIndicator) return false;
        const n = t.getCompilerOptions();
        if (n.configFile)
          return Wu(n) < 5;
        if (tle(e, t) === 1) return true;
        if (tle(e, t) === 99) return false;
        for (const i of t.getSourceFiles())
          if (!(i === e || !Ku(i) || t.isSourceFileFromExternalLibrary(i))) {
            if (i.commonJsModuleIndicator && !i.externalModuleIndicator) return true;
            if (i.externalModuleIndicator && !i.commonJsModuleIndicator) return false;
          }
        return true;
      }
      function hke(e, t) {
        return Kd((n) => n ? t.getPackageJsonAutoImportProvider().getTypeChecker() : e.getTypeChecker());
      }
      function eHe(e, t, n, i, s, o, c, _, u) {
        const g = Og(t.fileName), m = e.getCompilerOptions(), h = mv(e, c), S = hke(e, c), T = Cu(m), k = P9(T), D = u ? (O) => Dh.tryGetModuleSpecifiersFromCache(O.moduleSymbol, t, h, _) : (O, F) => Dh.getModuleSpecifiersWithCacheInfo(
          O.moduleSymbol,
          F,
          m,
          t,
          h,
          _,
          /*options*/
          void 0,
          /*forAutoImport*/
          true
        );
        let P = 0;
        const A = xa(o, (O, F) => {
          const R = S(O.isFromPackageJson), { computedWithoutCache: B, moduleSpecifiers: U, kind: $ } = D(O, R) ?? {}, W = !!(O.targetFlags & 111551), _e = yL(
            i,
            /*isForNewImportDeclaration*/
            true,
            O.symbol,
            O.targetFlags,
            R,
            m
          );
          return P += B ? 1 : 0, Fi(U, (K) => {
            if (k && Hy(K))
              return;
            if (!W && g && n !== void 0)
              return { kind: 1, moduleSpecifierKind: $, moduleSpecifier: K, usagePosition: n, exportInfo: O, isReExport: F > 0 };
            const V = dH(t, O.exportKind, e);
            let ae;
            if (n !== void 0 && V === 3 && O.exportKind === 0) {
              const se = R.resolveExternalModuleSymbol(O.moduleSymbol);
              let ce;
              se !== O.moduleSymbol && (ce = Q9(se, R, pa(m), fo)), ce || (ce = Z8(
                O.moduleSymbol,
                pa(m),
                /*forceCapitalize*/
                false
              )), ae = { namespacePrefix: ce, usagePosition: n };
            }
            return {
              kind: 3,
              moduleSpecifierKind: $,
              moduleSpecifier: K,
              importKind: V,
              useRequire: s,
              addAsTypeOnly: _e,
              exportInfo: O,
              isReExport: F > 0,
              qualification: ae
            };
          });
        });
        return { computedWithoutCacheCount: P, fixes: A };
      }
      function tHe(e, t, n, i, s, o, c, _, u, g) {
        const m = Ic(t, (h) => rHe(h, o, c, n.getTypeChecker(), n.getCompilerOptions()));
        return m ? { fixes: [m] } : eHe(n, i, s, o, c, e, _, u, g);
      }
      function rHe({ declaration: e, importKind: t, symbol: n, targetFlags: i }, s, o, c, _) {
        var u;
        const g = (u = lx(e)) == null ? void 0 : u.text;
        if (g) {
          const m = o ? 4 : yL(
            s,
            /*isForNewImportDeclaration*/
            true,
            n,
            i,
            c,
            _
          );
          return { kind: 3, moduleSpecifierKind: void 0, moduleSpecifier: g, importKind: t, addAsTypeOnly: m, useRequire: o };
        }
      }
      function yke(e, t, n, i) {
        const s = vi(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 = oHe(e, s);
        else if (Me(s))
          if (t === p._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code) {
            const _ = AR(Yce(e.sourceFile, e.program.getTypeChecker(), s, e.program.getCompilerOptions())), u = kke(e.sourceFile, s, _, e.program);
            return u && [{ fix: u, symbolName: _, errorIdentifierText: s.text }];
          } else
            o = xke(e, s, i);
        else return;
        const c = G6(e.sourceFile, e.preferences, e.host);
        return o && vke(o, e.sourceFile, e.program, c, e.host, e.preferences);
      }
      function vke(e, t, n, i, s, o) {
        const c = (_) => io(_, s.getCurrentDirectory(), yh(s));
        return q_(e, (_, u) => F1(!!_.isJsxNamespaceFix, !!u.isJsxNamespaceFix) || po(_.fix.kind, u.fix.kind) || Ske(_.fix, u.fix, t, n, o, i.allowsImportingSpecifier, c));
      }
      function nHe(e, t, n) {
        const i = xke(e, t, n), s = G6(e.sourceFile, e.preferences, e.host);
        return i && vke(i, e.sourceFile, e.program, s, e.host, e.preferences);
      }
      function bke(e, t, n, i, s, o) {
        if (ot(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`
              Ske(
                _,
                c,
                t,
                n,
                o,
                i.allowsImportingSpecifier,
                (u) => io(u, s.getCurrentDirectory(), yh(s))
              ) === -1 ? _ : c
            )
          );
      }
      function Ske(e, t, n, i, s, o, c) {
        return e.kind !== 0 && t.kind !== 0 ? F1(
          t.moduleSpecifierKind !== "node_modules" || o(t.moduleSpecifier),
          e.moduleSpecifierKind !== "node_modules" || o(e.moduleSpecifier)
        ) || iHe(e, t, s) || aHe(e.moduleSpecifier, t.moduleSpecifier, n, i) || F1(
          Tke(e, n.path, c),
          Tke(t, n.path, c)
        ) || yN(e.moduleSpecifier, t.moduleSpecifier) : 0;
      }
      function iHe(e, t, n) {
        return n.importModuleSpecifierPreference === "non-relative" || n.importModuleSpecifierPreference === "project-relative" ? F1(e.moduleSpecifierKind === "relative", t.moduleSpecifierKind === "relative") : 0;
      }
      function Tke(e, t, n) {
        var i;
        if (e.isReExport && ((i = e.exportInfo) != null && i.moduleFileName) && sHe(e.exportInfo.moduleFileName)) {
          const s = n(Hn(e.exportInfo.moduleFileName));
          return Ui(t, s);
        }
        return false;
      }
      function sHe(e) {
        return Xc(
          e,
          [".js", ".jsx", ".d.ts", ".ts", ".tsx"],
          /*ignoreCase*/
          true
        ) === "index";
      }
      function aHe(e, t, n, i) {
        return Ui(e, "node:") && !Ui(t, "node:") ? q9(n, i) ? -1 : 1 : Ui(t, "node:") && !Ui(e, "node:") ? q9(n, i) ? 1 : -1 : 0;
      }
      function oHe({ sourceFile: e, program: t, host: n, preferences: i }, s) {
        const o = t.getTypeChecker(), c = cHe(s, o);
        if (!c) return;
        const _ = o.getAliasedSymbol(c), u = c.name, g = [{ symbol: c, moduleSymbol: _, moduleFileName: void 0, exportKind: 3, targetFlags: _.flags, isFromPackageJson: false }], m = dA(e, t);
        return hL(
          g,
          /*usagePosition*/
          void 0,
          /*isValidTypeOnlyUseSite*/
          false,
          m,
          t,
          e,
          n,
          i
        ).fixes.map((S) => {
          var T;
          return { fix: S, symbolName: u, errorIdentifierText: (T = Bn(s, Me)) == null ? void 0 : T.text };
        });
      }
      function cHe(e, t) {
        const n = Me(e) ? t.getSymbolAtLocation(e) : void 0;
        if (R5(n)) return n;
        const { parent: i } = e;
        if (ku(i) && i.tagName === e || ad(i)) {
          const s = t.resolveName(
            t.getJsxNamespace(i),
            ku(i) ? e : i,
            111551,
            /*excludeGlobals*/
            false
          );
          if (R5(s))
            return s;
        }
      }
      function dH(e, t, n, i) {
        if (n.getCompilerOptions().verbatimModuleSyntax && mHe(e, n) === 1)
          return 3;
        switch (t) {
          case 0:
            return 0;
          case 1:
            return 1;
          case 2:
            return fHe(e, n.getCompilerOptions(), !!i);
          case 3:
            return lHe(e, n, !!i);
          case 4:
            return 2;
          default:
            return E.assertNever(t);
        }
      }
      function lHe(e, t, n) {
        if (kx(t.getCompilerOptions()))
          return 1;
        const i = Wu(t.getCompilerOptions());
        switch (i) {
          case 2:
          case 1:
          case 3:
            return Og(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 102:
          case 199:
            return tle(e, t) === 99 ? 2 : 3;
          default:
            return E.assertNever(i, `Unexpected moduleKind ${i}`);
        }
      }
      function xke({ sourceFile: e, program: t, cancellationToken: n, host: i, preferences: s }, o, c) {
        const _ = t.getTypeChecker(), u = t.getCompilerOptions();
        return xa(Yce(e, _, o, u), (g) => {
          if (g === "default")
            return;
          const m = $1(o), h = dA(e, t), S = _He(g, jC(o), LS(o), n, e, t, c, i, s);
          return ns(
            xR(S.values(), (T) => hL(T, o.getStart(e), m, h, t, e, i, s).fixes),
            (T) => ({ fix: T, symbolName: g, errorIdentifierText: o.text, isJsxNamespaceFix: g !== o.text })
          );
        });
      }
      function kke(e, t, n, i) {
        const s = i.getTypeChecker(), o = s.resolveName(
          n,
          t,
          111551,
          /*excludeGlobals*/
          true
        );
        if (!o) return;
        const c = s.getTypeOnlyAliasDeclaration(o);
        if (!(!c || xr(c) !== e))
          return { kind: 4, typeOnlyAliasDeclaration: c };
      }
      function Yce(e, t, n, i) {
        const s = n.parent;
        if ((ku(s) || Vb(s)) && s.tagName === n && pq(i.jsx)) {
          const o = t.getJsxNamespace(e);
          if (uHe(o, n, t))
            return !HC(n.text) && !t.resolveName(
              n.text,
              n,
              111551,
              /*excludeGlobals*/
              false
            ) ? [n.text, o] : [o];
        }
        return [n.text];
      }
      function uHe(e, t, n) {
        if (HC(t.text)) return true;
        const i = n.resolveName(
          e,
          t,
          111551,
          /*excludeGlobals*/
          true
        );
        return !i || ot(i.declarations, c0) && !(i.flags & 111551);
      }
      function _He(e, t, n, i, s, o, c, _, u) {
        var g;
        const m = Pp(), h = G6(s, u, _), S = (g = _.getModuleSpecifierCache) == null ? void 0 : g.call(_), T = Kd((D) => mv(D ? _.getPackageJsonAutoImportProvider() : o, _));
        function k(D, P, A, O, F, R) {
          const B = T(R);
          if (gq(F, s, P, D, u, h, B, S)) {
            const U = F.getTypeChecker();
            m.add(Tae(A, U).toString(), { symbol: A, moduleSymbol: D, moduleFileName: P?.fileName, exportKind: O, targetFlags: Ql(A, U).flags, isFromPackageJson: R });
          }
        }
        return hq(o, _, u, c, (D, P, A, O) => {
          const F = A.getTypeChecker();
          i.throwIfCancellationRequested();
          const R = A.getCompilerOptions(), B = X9(D, F);
          B && Ike(F.getSymbolFlags(B.symbol), n) && Q9(B.symbol, F, pa(R), ($, W) => (t ? W ?? $ : $) === e) && k(D, P, B.symbol, B.exportKind, A, O);
          const U = F.tryGetMemberInModuleExportsAndProperties(e, D);
          U && Ike(F.getSymbolFlags(U), n) && k(D, P, U, 0, A, O);
        }), m;
      }
      function fHe(e, t, n) {
        const i = kx(t), s = Og(e.fileName);
        if (!s && Wu(t) >= 5)
          return i ? 1 : 2;
        if (s)
          return e.externalModuleIndicator || n ? i ? 1 : 2 : 3;
        for (const o of e.statements ?? Ge)
          if (cl(o) && !ac(o.moduleReference))
            return 3;
        return i ? 1 : 3;
      }
      function Zce(e, t, n, i, s, o, c) {
        let _;
        const u = cn.ChangeTracker.with(e, (g) => {
          _ = pHe(g, t, n, i, s, o, c);
        });
        return Os(uke, u, _, _ke, p.Add_all_missing_imports);
      }
      function pHe(e, t, n, i, s, o, c) {
        const _ = of(t, c);
        switch (i.kind) {
          case 0:
            return Kce(e, t, i), [p.Change_0_to_1, n, `${i.namespacePrefix}.${n}`];
          case 1:
            return Dke(e, t, i, _), [p.Change_0_to_1, n, wke(i.moduleSpecifier, _) + n];
          case 2: {
            const { importClauseOrBindingPattern: u, importKind: g, addAsTypeOnly: m, moduleSpecifier: h } = i;
            Eke(
              e,
              t,
              u,
              g === 1 ? { name: n, addAsTypeOnly: m } : void 0,
              g === 0 ? [{ name: n, addAsTypeOnly: m }] : Ge,
              /*removeExistingImportSpecifiers*/
              void 0,
              c
            );
            const S = Lp(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 ? Nke : Pke, k = u === 1 ? { name: n, addAsTypeOnly: m } : void 0, D = u === 0 ? [{ name: n, addAsTypeOnly: m }] : void 0, P = u === 2 || u === 3 ? { importKind: u, name: S?.namespacePrefix || n, addAsTypeOnly: m } : void 0;
            return qV(
              e,
              t,
              T(
                g,
                _,
                k,
                D,
                P,
                o.getCompilerOptions(),
                c
              ),
              /*blankLineBetween*/
              true,
              c
            ), S && Kce(e, t, S), s ? [p.Import_0_from_1, n, g] : [p.Add_import_from_0, g];
          }
          case 4: {
            const { typeOnlyAliasDeclaration: u } = i, g = dHe(e, u, o, t, c);
            return g.kind === 277 ? [p.Remove_type_from_import_of_0_from_1, n, Cke(g.parent.parent)] : [p.Remove_type_from_import_declaration_from_0, Cke(g)];
          }
          default:
            return E.assertNever(i, `Unexpected fix kind ${i.kind}`);
        }
      }
      function Cke(e) {
        var t, n;
        return e.kind === 272 ? ((n = Bn((t = Bn(e.moduleReference, xh)) == null ? void 0 : t.expression, Ma)) == null ? void 0 : n.text) || e.moduleReference.getText() : Ws(e.parent.moduleSpecifier, oa).text;
      }
      function dHe(e, t, n, i, s) {
        const o = n.getCompilerOptions(), c = o.verbatimModuleSyntax;
        switch (t.kind) {
          case 277:
            if (t.isTypeOnly) {
              if (t.parent.elements.length > 1) {
                const u = N.updateImportSpecifier(
                  t,
                  /*isTypeOnly*/
                  false,
                  t.propertyName,
                  t.name
                ), { specifierComparer: g } = Tv.getNamedImportSpecifierComparerWithDetection(t.parent.parent.parent, s, i), m = Tv.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: Ey(t.getFirstToken()), end: Ey(t.propertyName ?? t.name) }), t;
            } else
              return E.assert(t.parent.parent.isTypeOnly), _(t.parent.parent), t.parent.parent;
          case 274:
            return _(t), t;
          case 275:
            return _(t.parent), t.parent;
          case 272:
            return e.deleteRange(i, t.getChildAt(1)), t;
          default:
            E.failBadSyntaxKind(t);
        }
        function _(u) {
          var g;
          if (e.delete(i, HV(u, i)), !o.allowImportingTsExtensions) {
            const m = lx(u.parent), h = m && ((g = n.getResolvedModuleFromModuleSpecifier(m, i)) == null ? void 0 : g.resolvedModule);
            if (h?.resolvedUsingTsExtension) {
              const S = UP(m.text, v8(m.text, o));
              e.replaceNode(i, m, N.createStringLiteral(S));
            }
          }
          if (c) {
            const m = Bn(u.namedBindings, gm);
            if (m && m.elements.length > 1) {
              Tv.getNamedImportSpecifierComparerWithDetection(u.parent, s, i).isSorted !== false && t.kind === 277 && 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 Eke(e, t, n, i, s, o, c) {
        var _;
        if (n.kind === 207) {
          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
                )] : Ge,
                ...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 && ot(
          [i, ...s],
          (h) => h?.addAsTypeOnly === 4
          /* NotAllowed */
        ), g = n.namedBindings && ((_ = Bn(n.namedBindings, gm)) == 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 } = Tv.getNamedImportSpecifierComparerWithDetection(n.parent, c, t), T = q_(
            s.map(
              (k) => N.createImportSpecifier(
                (!n.isTypeOnly || u) && mH(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,
                q_([...g.filter((k) => !o.has(k)), ...T], h)
              )
            );
          else if (g?.length && S !== false) {
            const k = u && g ? N.updateNamedImports(
              n.namedBindings,
              Gc(g, (D) => N.updateImportSpecifier(
                D,
                /*isTypeOnly*/
                true,
                D.propertyName,
                D.name
              ))
            ).elements : g;
            for (const D of T) {
              const P = Tv.getImportSpecifierInsertionIndex(k, D, h);
              e.insertImportSpecifierAtIndex(t, D, n.namedBindings, P);
            }
          } else if (g?.length)
            for (const k of T)
              e.insertNodeInListAfter(t, fa(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, HV(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, fa(h.elements), k) : e.replaceNode(t, h, N.createObjectBindingPattern([k]));
        }
      }
      function Kce(e, t, { namespacePrefix: n, usagePosition: i }) {
        e.insertText(t, i, n + ".");
      }
      function Dke(e, t, { moduleSpecifier: n, usagePosition: i }, s) {
        e.insertText(t, i, wke(n, s));
      }
      function wke(e, t) {
        const n = UV(t);
        return `import(${n}${e}${n}).`;
      }
      function ele({ addAsTypeOnly: e }) {
        return e === 2;
      }
      function mH(e, t) {
        return ele(e) || !!t.preferTypeOnlyAutoImports && e.addAsTypeOnly !== 4;
      }
      function Pke(e, t, n, i, s, o, c) {
        const _ = gw(e, t);
        let u;
        if (n !== void 0 || i?.length) {
          const g = (!n || ele(n)) && Ni(i, ele) || (o.verbatimModuleSyntax || c.preferTypeOnlyAutoImports) && n?.addAsTypeOnly !== 4 && !ot(
            i,
            (m) => m.addAsTypeOnly === 4
            /* NotAllowed */
          );
          u = JT(
            u,
            Yy(
              n && N.createIdentifier(n.name),
              i?.map(
                (m) => N.createImportSpecifier(
                  !g && mH(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,
            mH(s, c),
            N.createIdentifier(s.name),
            N.createExternalModuleReference(_)
          ) : N.createImportDeclaration(
            /*modifiers*/
            void 0,
            N.createImportClause(
              mH(s, c) ? 156 : void 0,
              /*name*/
              void 0,
              N.createNamespaceImport(N.createIdentifier(s.name))
            ),
            _,
            /*attributes*/
            void 0
          );
          u = JT(u, g);
        }
        return E.checkDefined(u);
      }
      function Nke(e, t, n, i, s) {
        const o = gw(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 = Ake(N.createObjectBindingPattern(_), o);
          c = JT(c, u);
        }
        if (s) {
          const _ = Ake(s.name, o);
          c = JT(c, _);
        }
        return E.checkDefined(c);
      }
      function Ake(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 Ike(e, t) {
        return t === 7 ? true : t & 1 ? !!(e & 111551) : t & 2 ? !!(e & 788968) : t & 4 ? !!(e & 1920) : false;
      }
      function tle(e, t) {
        return Pg(e) ? t.getImpliedNodeFormatForEmit(e) : OS(e, t.getCompilerOptions());
      }
      function mHe(e, t) {
        return Pg(e) ? t.getEmitModuleFormatOfFile(e) : ow(e, t.getCompilerOptions());
      }
      var rle = "addMissingConstraint", Fke = [
        // 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
      ];
      Xs({
        errorCodes: Fke,
        getCodeActions(e) {
          const { sourceFile: t, span: n, program: i, preferences: s, host: o } = e, c = Oke(i, t, n);
          if (c === void 0) return;
          const _ = cn.ChangeTracker.with(e, (u) => Lke(u, i, s, o, t, c));
          return [Os(rle, _, p.Add_extends_constraint, rle, p.Add_extends_constraint_to_all_type_parameters)];
        },
        fixIds: [rle],
        getAllCodeActions: (e) => {
          const { program: t, preferences: n, host: i } = e, s = /* @__PURE__ */ new Set();
          return _k(cn.ChangeTracker.with(e, (o) => {
            fk(e, Fke, (c) => {
              const _ = Oke(t, c.file, Xl(c.start, c.length));
              if (_ && Mp(s, Oa(_.declaration)))
                return Lke(o, t, n, i, c.file, _);
            });
          }));
        }
      });
      function Oke(e, t, n) {
        const i = Nn(e.getSemanticDiagnostics(t), (c) => c.start === n.start && c.length === n.length);
        if (i === void 0 || i.relatedInformation === void 0) return;
        const s = Nn(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 = Qle(s.file, Xl(s.start, s.length));
        if (o !== void 0 && (Me(o) && Io(o.parent) && (o = o.parent), Io(o))) {
          if (yS(o.parent)) return;
          const c = vi(t, n.start), _ = e.getTypeChecker();
          return { constraint: hHe(_, c) || gHe(s.messageText), declaration: o, token: c };
        }
      }
      function Lke(e, t, n, i, s, o) {
        const { declaration: c, constraint: _ } = o, u = t.getTypeChecker();
        if (ms(_))
          e.insertText(s, c.name.end, ` extends ${_}`);
        else {
          const g = pa(t.getCompilerOptions()), m = K6({ program: t, host: i }), h = c2(s, t, n, i), S = NH(
            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 gHe(e) {
        const [, t] = bm(e, `
`, 0).match(/`extends (.*)`/) || [];
        return t;
      }
      function hHe(e, t) {
        return li(t.parent) ? e.getTypeArgumentConstraint(t.parent) : (ut(t) ? e.getContextualType(t) : void 0) || e.getTypeAtLocation(t);
      }
      var Mke = "fixOverrideModifier", mA = "fixAddOverrideModifier", vL = "fixRemoveOverrideModifier", Rke = [
        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
      ], jke = {
        // 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: mA,
          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: mA,
          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: vL,
          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: vL,
          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: mA,
          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: mA,
          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: mA,
          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: vL,
          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: vL,
          fixAllDescriptions: p.Remove_all_unnecessary_override_modifiers
        }
      };
      Xs({
        errorCodes: Rke,
        getCodeActions: function(t) {
          const { errorCode: n, span: i } = t, s = jke[n];
          if (!s) return Ge;
          const { descriptions: o, fixId: c, fixAllDescriptions: _ } = s, u = cn.ChangeTracker.with(t, (g) => Bke(g, t, n, i.start));
          return [
            Sce(Mke, u, o, c, _)
          ];
        },
        fixIds: [Mke, mA, vL],
        getAllCodeActions: (e) => Ga(e, Rke, (t, n) => {
          const { code: i, start: s } = n, o = jke[i];
          !o || o.fixId !== e.fixId || Bke(t, e, i, s);
        })
      });
      function Bke(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 yHe(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 vHe(e, t.sourceFile, i);
          default:
            E.fail("Unexpected error code: " + n);
        }
      }
      function yHe(e, t, n) {
        const i = zke(t, n);
        if (Ku(t)) {
          e.addJSDocTags(t, i, [N.createJSDocOverrideTag(N.createIdentifier("override"))]);
          return;
        }
        const s = i.modifiers || Ge, o = Nn(s, Lx), c = Nn(s, Ate), _ = Nn(s, (h) => FV(h.kind)), u = ub(s, ol), g = c ? c.end : o ? o.end : _ ? _.end : u ? aa(t.text, u.end) : i.getStart(t), m = _ || o || c ? { prefix: " " } : { suffix: " " };
        e.insertModifierAt(t, g, 164, m);
      }
      function vHe(e, t, n) {
        const i = zke(t, n);
        if (Ku(t)) {
          e.filterJSDocTags(t, i, ZI(IF));
          return;
        }
        const s = Nn(i.modifiers, Ite);
        E.assertIsDefined(s), e.deleteModifier(t, s);
      }
      function Jke(e) {
        switch (e.kind) {
          case 177:
          case 173:
          case 175:
          case 178:
          case 179:
            return true;
          case 170:
            return X_(e, e.parent);
          default:
            return false;
        }
      }
      function zke(e, t) {
        const n = vi(e, t), i = dr(n, (s) => $n(s) ? "quit" : Jke(s));
        return E.assert(i && Jke(i)), i;
      }
      var nle = "fixNoPropertyAccessFromIndexSignature", Wke = [
        p.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0.code
      ];
      Xs({
        errorCodes: Wke,
        fixIds: [nle],
        getCodeActions(e) {
          const { sourceFile: t, span: n, preferences: i } = e, s = Vke(t, n.start), o = cn.ChangeTracker.with(e, (c) => Uke(c, e.sourceFile, s, i));
          return [Os(nle, o, [p.Use_element_access_for_0, s.name.text], nle, p.Use_element_access_for_all_undeclared_properties)];
        },
        getAllCodeActions: (e) => Ga(e, Wke, (t, n) => Uke(t, n.file, Vke(n.file, n.start), e.preferences))
      });
      function Uke(e, t, n, i) {
        const s = of(t, i), o = N.createStringLiteral(
          n.name.text,
          s === 0
          /* Single */
        );
        e.replaceNode(
          t,
          n,
          S7(n) ? N.createElementAccessChain(n.expression, n.questionDotToken, o) : N.createElementAccessExpression(n.expression, o)
        );
      }
      function Vke(e, t) {
        return Ws(vi(e, t).parent, wn);
      }
      var ile = "fixImplicitThis", qke = [p.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code];
      Xs({
        errorCodes: qke,
        getCodeActions: function(t) {
          const { sourceFile: n, program: i, span: s } = t;
          let o;
          const c = cn.ChangeTracker.with(t, (_) => {
            o = Hke(_, n, s.start, i.getTypeChecker());
          });
          return o ? [Os(ile, c, o, ile, p.Fix_all_implicit_this_errors)] : Ge;
        },
        fixIds: [ile],
        getAllCodeActions: (e) => Ga(e, qke, (t, n) => {
          Hke(t, n.file, n.start, e.program.getTypeChecker());
        })
      });
      function Hke(e, t, n, i) {
        const s = vi(t, n);
        if (!B6(s)) return;
        const o = zu(
          s,
          /*includeArrowFunctions*/
          false,
          /*includeClassComputedPropertyName*/
          false
        );
        if (!(!Tc(o) && !mo(o)) && !Di(zu(
          o,
          /*includeArrowFunctions*/
          false,
          /*includeClassComputedPropertyName*/
          false
        ))) {
          const c = E.checkDefined($a(o, 100, t)), { name: _ } = o, u = E.checkDefined(o.body);
          return mo(o) ? _ && So.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 : iq]) : (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 sle = "fixImportNonExportedMember", Gke = [
        p.Module_0_declares_1_locally_but_it_is_not_exported.code
      ];
      Xs({
        errorCodes: Gke,
        fixIds: [sle],
        getCodeActions(e) {
          const { sourceFile: t, span: n, program: i } = e, s = $ke(t, n.start, i);
          if (s === void 0) return;
          const o = cn.ChangeTracker.with(e, (c) => bHe(c, i, s));
          return [Os(sle, o, [p.Export_0_from_module_1, s.exportName.node.text, s.moduleSpecifier], sle, p.Export_all_referenced_locals)];
        },
        getAllCodeActions(e) {
          const { program: t } = e;
          return _k(cn.ChangeTracker.with(e, (n) => {
            const i = /* @__PURE__ */ new Map();
            fk(e, Gke, (s) => {
              const o = $ke(s.file, s.start, t);
              if (o === void 0) return;
              const { exportName: c, node: _, moduleSourceFile: u } = o;
              if (gH(u, c.isTypeOnly) === void 0 && TN(_))
                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 = gH(
                o,
                /*isTypeOnly*/
                true
              );
              c && c.isTypeOnly ? (ale(n, t, o, s.typeOnlyExports, c), ale(n, t, o, s.exports, gH(
                o,
                /*isTypeOnly*/
                false
              ))) : ale(n, t, o, [...s.exports, ...s.typeOnlyExports], c);
            });
          }));
        }
      });
      function $ke(e, t, n) {
        var i, s;
        const o = vi(e, t);
        if (Me(o)) {
          const c = dr(o, Wo);
          if (c === void 0) return;
          const _ = oa(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 || $6(n, g)) return;
          const m = g.symbol, h = (s = Bn(m.valueDeclaration, zm)) == null ? void 0 : s.locals;
          if (h === void 0) return;
          const S = h.get(o.escapedText);
          if (S === void 0) return;
          const T = SHe(S);
          return T === void 0 ? void 0 : { exportName: { node: o, isTypeOnly: Ex(T) }, node: T, moduleSourceFile: g, moduleSpecifier: _.text };
        }
      }
      function bHe(e, t, { exportName: n, node: i, moduleSourceFile: s }) {
        const o = gH(s, n.isTypeOnly);
        o ? Xke(e, t, s, o, [n]) : TN(i) ? e.insertExportModifier(s, i) : Qke(e, t, s, [n]);
      }
      function ale(e, t, n, i, s) {
        wr(i) && (s ? Xke(e, t, n, s, i) : Qke(e, t, n, i));
      }
      function gH(e, t) {
        const n = (i) => Mc(i) && (t && i.isTypeOnly || !i.isTypeOnly);
        return ub(e.statements, n);
      }
      function Xke(e, t, n, i, s) {
        const o = i.exportClause && _p(i.exportClause) ? i.exportClause.elements : N.createNodeArray([]), c = !i.isTypeOnly && !!(Rp(t.getCompilerOptions()) || Nn(o, (_) => _.isTypeOnly));
        e.replaceNode(
          n,
          i,
          N.updateExportDeclaration(
            i,
            i.modifiers,
            i.isTypeOnly,
            N.createNamedExports(
              N.createNodeArray(
                [...o, ...Yke(s, c)],
                /*hasTrailingComma*/
                o.hasTrailingComma
              )
            ),
            i.moduleSpecifier,
            i.attributes
          )
        );
      }
      function Qke(e, t, n, i) {
        e.insertNodeAtEndOfScope(n, n, N.createExportDeclaration(
          /*modifiers*/
          void 0,
          /*isTypeOnly*/
          false,
          N.createNamedExports(Yke(
            i,
            /*allowTypeModifier*/
            Rp(t.getCompilerOptions())
          )),
          /*moduleSpecifier*/
          void 0,
          /*attributes*/
          void 0
        ));
      }
      function Yke(e, t) {
        return N.createNodeArray(hr(e, (n) => N.createExportSpecifier(
          t && n.isTypeOnly,
          /*propertyName*/
          void 0,
          n.node
        )));
      }
      function SHe(e) {
        if (e.valueDeclaration === void 0)
          return $c(e.declarations);
        const t = e.valueDeclaration, n = ei(t) ? Bn(t.parent.parent, Pc) : void 0;
        return n && wr(n.declarationList.declarations) === 1 ? n : t;
      }
      var ole = "fixIncorrectNamedTupleSyntax", THe = [
        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
      ];
      Xs({
        errorCodes: THe,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = xHe(n, i.start), o = cn.ChangeTracker.with(t, (c) => kHe(c, n, s));
          return [Os(ole, o, p.Move_labeled_tuple_element_modifiers_to_labels, ole, p.Move_labeled_tuple_element_modifiers_to_labels)];
        },
        fixIds: [ole]
      });
      function xHe(e, t) {
        const n = vi(e, t);
        return dr(
          n,
          (i) => i.kind === 203
          /* NamedTupleMember */
        );
      }
      function kHe(e, t, n) {
        if (!n)
          return;
        let i = n.type, s = false, o = false;
        for (; i.kind === 191 || i.kind === 192 || i.kind === 197; )
          i.kind === 191 ? s = true : i.kind === 192 && (o = true), 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 Zke = "fixSpelling", Kke = [
        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
      ];
      Xs({
        errorCodes: Kke,
        getCodeActions(e) {
          const { sourceFile: t, errorCode: n } = e, i = eCe(t, e.span.start, e, n);
          if (!i) return;
          const { node: s, suggestedSymbol: o } = i, c = pa(e.host.getCompilationSettings()), _ = cn.ChangeTracker.with(e, (u) => tCe(u, t, s, o, c));
          return [Os("spelling", _, [p.Change_spelling_to_0, sc(o)], Zke, p.Fix_all_detected_spelling_errors)];
        },
        fixIds: [Zke],
        getAllCodeActions: (e) => Ga(e, Kke, (t, n) => {
          const i = eCe(n.file, n.start, e, n.code), s = pa(e.host.getCompilationSettings());
          i && tCe(t, e.sourceFile, i.node, i.suggestedSymbol, s);
        })
      });
      function eCe(e, t, n, i) {
        const s = vi(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) && !ym(o)) return;
        const c = n.program.getTypeChecker();
        let _;
        if (wn(o) && o.name === s) {
          E.assert(xg(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 && Ai(s)) {
          const u = c.getTypeAtLocation(o.right);
          _ = c.getSuggestedSymbolForNonexistentProperty(s, u);
        } else if (t_(o) && o.right === s) {
          const u = c.getSymbolAtLocation(o.left);
          u && u.flags & 1536 && (_ = c.getSuggestedSymbolForNonexistentModule(o.right, u));
        } else if (qu(o) && o.name === s) {
          E.assertNode(s, Me, "Expected an identifier for spelling (import)");
          const u = dr(s, Wo), g = EHe(n, u, e);
          g && g.symbol && (_ = c.getSuggestedSymbolForNonexistentModule(s, g.symbol));
        } else if (ym(o) && o.name === s) {
          E.assertNode(s, Me, "Expected an identifier for JSX attribute");
          const u = dr(s, ku), g = c.getContextualTypeForArgumentAtIndex(u, 0);
          _ = c.getSuggestedSymbolForNonexistentJSXAttribute(s, g);
        } else if (P5(o) && Uc(o) && o.name === s) {
          const u = dr(s, $n), g = u ? kd(u) : void 0, m = g ? c.getTypeAtLocation(g) : void 0;
          m && (_ = c.getSuggestedSymbolForNonexistentClassMember(Go(s), m));
        } else {
          const u = LS(s), g = Go(s);
          E.assert(g !== void 0, "name should be defined"), _ = c.getSuggestedSymbolForNonexistentSymbol(s, g, CHe(u));
        }
        return _ === void 0 ? void 0 : { node: s, suggestedSymbol: _ };
      }
      function tCe(e, t, n, i, s) {
        const o = sc(i);
        if (!F_(o, s) && wn(n.parent)) {
          const c = i.valueDeclaration;
          c && kl(c) && Ai(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 CHe(e) {
        let t = 0;
        return e & 4 && (t |= 1920), e & 2 && (t |= 788968), e & 1 && (t |= 111551), t;
      }
      function EHe(e, t, n) {
        var i;
        if (!t || !Ma(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 cle = "returnValueCorrect", lle = "fixAddReturnStatement", ule = "fixRemoveBracesFromArrowFunctionBody", _le = "fixWrapTheBlockWithParen", rCe = [
        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
      ];
      Xs({
        errorCodes: rCe,
        fixIds: [lle, ule, _le],
        getCodeActions: function(t) {
          const { program: n, sourceFile: i, span: { start: s }, errorCode: o } = t, c = iCe(n.getTypeChecker(), i, s, o);
          if (c)
            return c.kind === 0 ? Er(
              [wHe(t, c.expression, c.statement)],
              bo(c.declaration) ? PHe(t, c.declaration, c.expression, c.commentSource) : void 0
            ) : [NHe(t, c.declaration, c.expression)];
        },
        getAllCodeActions: (e) => Ga(e, rCe, (t, n) => {
          const i = iCe(e.program.getTypeChecker(), n.file, n.start, n.code);
          if (i)
            switch (e.fixId) {
              case lle:
                sCe(t, n.file, i.expression, i.statement);
                break;
              case ule:
                if (!bo(i.declaration)) return;
                aCe(
                  t,
                  n.file,
                  i.declaration,
                  i.expression,
                  i.commentSource
                );
                break;
              case _le:
                if (!bo(i.declaration)) return;
                oCe(t, n.file, i.declaration, i.expression);
                break;
              default:
                E.fail(JSON.stringify(e.fixId));
            }
        })
      });
      function nCe(e, t, n) {
        const i = e.createSymbol(4, t.escapedText);
        i.links.type = e.getTypeAtLocation(n);
        const s = js([i]);
        return e.createAnonymousType(
          /*symbol*/
          void 0,
          s,
          [],
          [],
          []
        );
      }
      function fle(e, t, n, i) {
        if (!t.body || !Ps(t.body) || wr(t.body.statements) !== 1) return;
        const s = ka(t.body.statements);
        if (Dl(s) && ple(e, t, e.getTypeAtLocation(s.expression), n, i))
          return {
            declaration: t,
            kind: 0,
            expression: s.expression,
            statement: s,
            commentSource: s.expression
          };
        if (Wy(s) && Dl(s.statement)) {
          const o = N.createObjectLiteralExpression([N.createPropertyAssignment(s.label, s.statement.expression)]), c = nCe(e, s.label, s.statement.expression);
          if (ple(e, t, c, n, i))
            return bo(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 (Ps(s) && wr(s.statements) === 1) {
          const o = ka(s.statements);
          if (Wy(o) && Dl(o.statement)) {
            const c = N.createObjectLiteralExpression([N.createPropertyAssignment(o.label, o.statement.expression)]), _ = nCe(e, o.label, o.statement.expression);
            if (ple(e, t, _, n, i))
              return {
                declaration: t,
                kind: 0,
                expression: c,
                statement: s,
                commentSource: o
              };
          }
        }
      }
      function ple(e, t, n, i, s) {
        if (s) {
          const o = e.getSignatureFromDeclaration(t);
          if (o) {
            Gn(
              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,
              js(),
              [c],
              [],
              []
            );
          } else
            n = e.getAnyType();
        }
        return e.isTypeAssignableTo(n, i);
      }
      function iCe(e, t, n, i) {
        const s = vi(t, n);
        if (!s.parent) return;
        const o = dr(s.parent, to);
        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 || !S_(o.type, s) ? void 0 : fle(
              e,
              o,
              e.getTypeFromTypeNode(o.type),
              /*isFunctionType*/
              false
            );
          case p.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code:
            if (!o || !ws(o.parent) || !o.body) return;
            const c = o.parent.arguments.indexOf(o);
            if (c === -1) return;
            const _ = e.getContextualTypeForArgumentAtIndex(o.parent, c);
            return _ ? fle(
              e,
              o,
              _,
              /*isFunctionType*/
              true
            ) : void 0;
          case p.Type_0_is_not_assignable_to_type_1.code:
            if (!Hm(s) || !A4(s.parent) && !ym(s.parent)) return;
            const u = DHe(s.parent);
            return !u || !to(u) || !u.body ? void 0 : fle(
              e,
              u,
              e.getTypeAtLocation(s.parent),
              /*isFunctionType*/
              true
            );
        }
      }
      function DHe(e) {
        switch (e.kind) {
          case 261:
          case 170:
          case 209:
          case 173:
          case 304:
            return e.initializer;
          case 292:
            return e.initializer && (f6(e.initializer) ? e.initializer.expression : void 0);
          case 305:
          case 172:
          case 307:
          case 349:
          case 342:
            return;
        }
      }
      function sCe(e, t, n, i) {
        tf(n);
        const s = Q8(t);
        e.replaceNode(t, i, N.createReturnStatement(n), {
          leadingTriviaOption: cn.LeadingTriviaOption.Exclude,
          trailingTriviaOption: cn.TrailingTriviaOption.Exclude,
          suffix: s ? ";" : void 0
        });
      }
      function aCe(e, t, n, i, s, o) {
        const c = L9(i) ? N.createParenthesizedExpression(i) : i;
        tf(s), RS(s, c), e.replaceNode(t, n.body, c);
      }
      function oCe(e, t, n, i) {
        e.replaceNode(t, n.body, N.createParenthesizedExpression(i));
      }
      function wHe(e, t, n) {
        const i = cn.ChangeTracker.with(e, (s) => sCe(s, e.sourceFile, t, n));
        return Os(cle, i, p.Add_a_return_statement, lle, p.Add_all_missing_return_statement);
      }
      function PHe(e, t, n, i) {
        const s = cn.ChangeTracker.with(e, (o) => aCe(
          o,
          e.sourceFile,
          t,
          n,
          i
        ));
        return Os(cle, s, p.Remove_braces_from_arrow_function_body, ule, p.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues);
      }
      function NHe(e, t, n) {
        const i = cn.ChangeTracker.with(e, (s) => oCe(s, e.sourceFile, t, n));
        return Os(cle, i, p.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal, _le, p.Wrap_all_object_literal_with_parentheses);
      }
      var bv = "fixMissingMember", hH = "fixMissingProperties", yH = "fixMissingAttributes", vH = "fixMissingFunctionDeclaration", cCe = [
        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
      ];
      Xs({
        errorCodes: cCe,
        getCodeActions(e) {
          const t = e.program.getTypeChecker(), n = lCe(e.sourceFile, e.span.start, e.errorCode, t, e.program);
          if (n) {
            if (n.kind === 3) {
              const i = cn.ChangeTracker.with(e, (s) => vCe(s, e, n));
              return [Os(hH, i, p.Add_missing_properties, hH, p.Add_all_missing_properties)];
            }
            if (n.kind === 4) {
              const i = cn.ChangeTracker.with(e, (s) => yCe(s, e, n));
              return [Os(yH, i, p.Add_missing_attributes, yH, p.Add_all_missing_attributes)];
            }
            if (n.kind === 2 || n.kind === 5) {
              const i = cn.ChangeTracker.with(e, (s) => hCe(s, e, n));
              return [Os(vH, i, [p.Add_missing_function_declaration_0, n.token.text], vH, p.Add_all_missing_function_declarations)];
            }
            if (n.kind === 1) {
              const i = cn.ChangeTracker.with(e, (s) => gCe(s, e.program.getTypeChecker(), n));
              return [Os(bv, i, [p.Add_missing_enum_member_0, n.token.text], bv, p.Add_all_missing_members)];
            }
            return Bi(LHe(e, n), AHe(e, n));
          }
        },
        fixIds: [bv, vH, hH, yH],
        getAllCodeActions: (e) => {
          const { program: t, fixId: n } = e, i = t.getTypeChecker(), s = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Map();
          return _k(cn.ChangeTracker.with(e, (c) => {
            fk(e, cCe, (_) => {
              const u = lCe(_.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 (Mp(s, g)) {
                if (n === vH && (u.kind === 2 || u.kind === 5))
                  hCe(c, e, u);
                else if (n === hH && u.kind === 3)
                  vCe(c, e, u);
                else if (n === yH && u.kind === 4)
                  yCe(c, e, u);
                else if (u.kind === 1 && gCe(c, i, u), u.kind === 0) {
                  const { parentDeclaration: m, token: h } = u, S = YE(o, m, () => []);
                  S.some((T) => T.token.text === h.text) || S.push(u);
                }
              }
            }), o.forEach((_, u) => {
              const g = r_(u) ? void 0 : JHe(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: P } = m;
                if (D && !Ai(k))
                  mCe(e, c, D, k, T & 256, h, S);
                else if (P && !Jl(h) && !r_(h))
                  uCe(c, S, h, k, !!(T & 256));
                else {
                  const A = fCe(i, h, k);
                  pCe(
                    c,
                    S,
                    h,
                    k.text,
                    A,
                    T & 256
                    /* Static */
                  );
                }
              }
            });
          }));
        }
      });
      function lCe(e, t, n, i, s) {
        var o, c;
        const _ = vi(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) && ws(u.parent))) return;
          const k = ic(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 P = D.parameters[k].valueDeclaration;
          if (!(P && Ii(P) && Me(P.name))) return;
          const A = ns(i.getUnmatchedProperties(
            i.getTypeAtLocation(u),
            i.getParameterType(D, k).getNonNullableType(),
            /*requireOptionalProperties*/
            false,
            /*matchDiscriminantProperties*/
            false
          ));
          return wr(A) ? { kind: 3, token: P.name, identifier: P.name.text, properties: A, parentDeclaration: u } : void 0;
        }
        if (_.kind === 19 || u6(u) || Sf(u)) {
          const k = (u6(u) || Sf(u)) && u.expression ? u.expression : u;
          if (ua(k)) {
            const D = u6(u) ? i.getTypeFromTypeNode(u.type) : i.getContextualType(k) || i.getTypeAtLocation(k), P = ns(i.getUnmatchedProperties(
              i.getTypeAtLocation(u),
              D.getNonNullableType(),
              /*requireOptionalProperties*/
              false,
              /*matchDiscriminantProperties*/
              false
            ));
            return wr(P) ? { kind: 3, token: u, identifier: void 0, properties: P, parentDeclaration: k, indentation: Sf(k.parent) || MN(k.parent) ? 0 : void 0 } : void 0;
          }
        }
        if (!xg(_)) return;
        if (Me(_) && l0(u) && u.initializer && ua(u.initializer)) {
          const k = (o = i.getContextualType(_) || i.getTypeAtLocation(_)) == null ? void 0 : o.getNonNullableType(), D = ns(i.getUnmatchedProperties(
            i.getTypeAtLocation(u.initializer),
            k,
            /*requireOptionalProperties*/
            false,
            /*matchDiscriminantProperties*/
            false
          ));
          return wr(D) ? { kind: 3, token: _, identifier: _.text, properties: D, parentDeclaration: u.initializer } : void 0;
        }
        if (Me(_) && ku(_.parent)) {
          const k = pa(s.getCompilerOptions()), D = RHe(i, k, _.parent);
          return wr(D) ? { kind: 4, token: _, attributes: D, parentDeclaration: _.parent } : void 0;
        }
        if (Me(_)) {
          const k = (c = i.getContextualType(_)) == null ? void 0 : c.getNonNullableType();
          if (k && Dn(k) & 16) {
            const D = $c(i.getSignaturesOfType(
              k,
              0
              /* Call */
            ));
            return D === void 0 ? void 0 : { kind: 5, token: _, signature: D, sourceFile: e, parentDeclaration: bCe(_) };
          }
          if (ws(u) && u.expression === _)
            return { kind: 2, token: _, call: u, sourceFile: e, modifierFlags: 0, parentDeclaration: bCe(_) };
        }
        if (!wn(u)) return;
        const g = BV(i.getTypeAtLocation(u.expression)), m = g.symbol;
        if (!m || !m.declarations) return;
        if (Me(_) && ws(u.parent)) {
          const k = Nn(m.declarations, Lc), D = k?.getSourceFile();
          if (k && D && !$6(s, D))
            return { kind: 2, token: _, call: u.parent, sourceFile: D, modifierFlags: 32, parentDeclaration: k };
          const P = Nn(m.declarations, Di);
          if (e.commonJsModuleIndicator) return;
          if (P && !$6(s, P))
            return { kind: 2, token: _, call: u.parent, sourceFile: P, modifierFlags: 32, parentDeclaration: P };
        }
        const h = Nn(m.declarations, $n);
        if (!h && Ai(_)) return;
        const S = h || Nn(m.declarations, (k) => Jl(k) || r_(k));
        if (S && !$6(s, S.getSourceFile())) {
          const k = !r_(S) && (g.target || g) !== i.getDeclaredTypeOfSymbol(m);
          if (k && (Ai(_) || Jl(S))) return;
          const D = S.getSourceFile(), P = r_(S) ? 0 : (k ? 256 : 0) | (fq(_.text) ? 2 : 0), A = Ku(D), O = Bn(u.parent, ws);
          return { kind: 0, token: _, call: O, modifierFlags: P, parentDeclaration: S, declSourceFile: D, isJSFile: A };
        }
        const T = Nn(m.declarations, rv);
        if (T && !(g.flags & 1056) && !Ai(_) && !$6(s, T.getSourceFile()))
          return { kind: 1, token: _, parentDeclaration: T };
      }
      function AHe(e, t) {
        return t.isJSFile ? qT(IHe(e, t)) : FHe(e, t);
      }
      function IHe(e, { parentDeclaration: t, declSourceFile: n, modifierFlags: i, token: s }) {
        if (Jl(t) || r_(t))
          return;
        const o = cn.ChangeTracker.with(e, (_) => uCe(_, n, t, s, !!(i & 256)));
        if (o.length === 0)
          return;
        const c = i & 256 ? p.Initialize_static_property_0 : Ai(s) ? p.Declare_a_private_field_named_0 : p.Initialize_property_0_in_the_constructor;
        return Os(bv, o, [c, s.text], bv, p.Add_all_missing_members);
      }
      function uCe(e, t, n, i, s) {
        const o = i.text;
        if (s) {
          if (n.kind === 232)
            return;
          const c = n.name.getText(), _ = _Ce(N.createIdentifier(c), o);
          e.insertNodeAfter(t, n, _);
        } else if (Ai(i)) {
          const c = N.createPropertyDeclaration(
            /*modifiers*/
            void 0,
            o,
            /*questionOrExclamationToken*/
            void 0,
            /*type*/
            void 0,
            /*initializer*/
            void 0
          ), _ = dCe(n);
          _ ? e.insertNodeAfter(t, _, c) : e.insertMemberAtStart(t, n, c);
        } else {
          const c = Ag(n);
          if (!c)
            return;
          const _ = _Ce(N.createThis(), o);
          e.insertNodeAtConstructorEnd(t, c, _);
        }
      }
      function _Ce(e, t) {
        return N.createExpressionStatement(N.createAssignment(N.createPropertyAccessExpression(e, t), dk()));
      }
      function FHe(e, { parentDeclaration: t, declSourceFile: n, modifierFlags: i, token: s }) {
        const o = s.text, c = i & 256, _ = fCe(e.program.getTypeChecker(), t, s), u = (m) => cn.ChangeTracker.with(e, (h) => pCe(h, n, t, o, _, m)), g = [Os(bv, u(
          i & 256
          /* Static */
        ), [c ? p.Declare_static_property_0 : p.Declare_property_0, o], bv, p.Add_all_missing_members)];
        return c || Ai(s) || (i & 2 && g.unshift(Od(bv, u(
          2
          /* Private */
        ), [p.Declare_private_property_0, o])), g.push(OHe(e, n, t, s.text, _))), g;
      }
      function fCe(e, t, n) {
        let i;
        if (n.parent.parent.kind === 227) {
          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 pCe(e, t, n, i, s, o) {
        const c = o ? N.createNodeArray(N.createModifiersFromModifierFlags(o)) : void 0, _ = $n(n) ? N.createPropertyDeclaration(
          c,
          i,
          /*questionOrExclamationToken*/
          void 0,
          s,
          /*initializer*/
          void 0
        ) : N.createPropertySignature(
          /*modifiers*/
          void 0,
          i,
          /*questionToken*/
          void 0,
          s
        ), u = dCe(n);
        u ? e.insertNodeAfter(t, u, _) : e.insertMemberAtStart(t, n, _);
      }
      function dCe(e) {
        let t;
        for (const n of e.members) {
          if (!as(n)) break;
          t = n;
        }
        return t;
      }
      function OHe(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 = cn.ChangeTracker.with(e, (g) => g.insertMemberAtStart(t, n, _));
        return Od(bv, u, [p.Add_index_signature_for_property_0, i]);
      }
      function LHe(e, t) {
        const { parentDeclaration: n, declSourceFile: i, modifierFlags: s, token: o, call: c } = t;
        if (c === void 0)
          return;
        const _ = o.text, u = (m) => cn.ChangeTracker.with(e, (h) => mCe(e, h, c, o, m, n, i)), g = [Os(bv, u(
          s & 256
          /* Static */
        ), [s & 256 ? p.Declare_static_method_0 : p.Declare_method_0, _], bv, p.Add_all_missing_members)];
        return s & 2 && g.unshift(Od(bv, u(
          2
          /* Private */
        ), [p.Declare_private_method_0, _])), g;
      }
      function mCe(e, t, n, i, s, o, c) {
        const _ = c2(c, e.program, e.preferences, e.host), u = $n(o) ? 175 : 174, g = Ule(u, e, _, n, i, s, o), m = jHe(o, n);
        m ? t.insertNodeAfter(c, m, g) : t.insertMemberAtStart(c, o, g), _.writeFixes(t);
      }
      function gCe(e, t, { token: n, parentDeclaration: i }) {
        const s = ot(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), _ = ko(i.members);
        _ ? e.insertNodeInListAfter(o, _, c, i.members) : e.insertMemberAtStart(o, i, c);
      }
      function hCe(e, t, n) {
        const i = of(t.sourceFile, t.preferences), s = c2(t.sourceFile, t.program, t.preferences, t.host), o = n.kind === 2 ? Ule(263, t, s, n.call, An(n.token), n.modifierFlags, n.parentDeclaration) : PH(
          263,
          t,
          i,
          n.signature,
          SL(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."), Sf(n.parentDeclaration) ? e.insertNodeBefore(
          n.sourceFile,
          n.parentDeclaration,
          o,
          /*blankLineBetween*/
          true
        ) : e.insertNodeAtEndOfScope(n.sourceFile, n.parentDeclaration, o), s.writeFixes(e);
      }
      function yCe(e, t, n) {
        const i = c2(t.sourceFile, t.program, t.preferences, t.host), s = of(t.sourceFile, t.preferences), o = t.program.getTypeChecker(), c = n.parentDeclaration.attributes, _ = ot(c.properties, Ux), u = hr(n.attributes, (h) => {
          const S = bH(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 ja(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 vCe(e, t, n) {
        const i = c2(t.sourceFile, t.program, t.preferences, t.host), s = of(t.sourceFile, t.preferences), o = pa(t.program.getCompilerOptions()), c = t.program.getTypeChecker(), _ = hr(n.properties, (g) => {
          const m = bH(t, c, i, s, c.getTypeOfSymbol(g), n.parentDeclaration);
          return N.createPropertyAssignment(BHe(g, o, s, c), m);
        }), u = {
          leadingTriviaOption: cn.LeadingTriviaOption.Exclude,
          trailingTriviaOption: cn.TrailingTriviaOption.Exclude,
          indentation: n.indentation
        };
        e.replaceNode(t.sourceFile, n.parentDeclaration, N.createObjectLiteralExpression(
          [...n.parentDeclaration.properties, ..._],
          /*multiLine*/
          true
        ), u), i.writeFixes(e);
      }
      function bH(e, t, n, i, s, o) {
        if (s.flags & 3)
          return dk();
        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 ? $I(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*/
            true
          ) ? N.createFalse() : N.createTrue();
        if (s.flags & 65536)
          return N.createNull();
        if (s.flags & 1048576)
          return Ic(s.types, (_) => bH(e, t, n, i, _, o)) ?? dk();
        if (t.isArrayLikeType(s))
          return N.createArrayLiteralExpression();
        if (MHe(s)) {
          const c = hr(t.getPropertiesOfType(s), (_) => {
            const u = bH(e, t, n, i, t.getTypeOfSymbol(_), o);
            return N.createPropertyAssignment(_.name, u);
          });
          return N.createObjectLiteralExpression(
            c,
            /*multiLine*/
            true
          );
        }
        if (Dn(s) & 16) {
          if (Nn(s.symbol.declarations || Ge, H_($m, id, Ko)) === void 0) return dk();
          const _ = t.getSignaturesOfType(
            s,
            0
            /* Call */
          );
          return _ === void 0 ? dk() : PH(
            219,
            e,
            i,
            _[0],
            SL(p.Function_not_implemented.message, i),
            /*name*/
            void 0,
            /*modifiers*/
            void 0,
            /*optional*/
            void 0,
            /*enclosingDeclaration*/
            o,
            n
          ) ?? dk();
        }
        if (Dn(s) & 1) {
          const c = Sh(s.symbol);
          if (c === void 0 || Ob(c)) return dk();
          const _ = Ag(c);
          return _ && wr(_.parameters) ? dk() : N.createNewExpression(
            N.createIdentifier(s.symbol.name),
            /*typeArguments*/
            void 0,
            /*argumentsArray*/
            void 0
          );
        }
        return dk();
      }
      function dk() {
        return N.createIdentifier("undefined");
      }
      function MHe(e) {
        return e.flags & 524288 && (Dn(e) & 128 || e.symbol && Bn(yg(e.symbol.declarations), r_));
      }
      function RHe(e, t, n) {
        const i = e.getContextualType(n.attributes);
        if (i === void 0) return Ge;
        const s = i.getProperties();
        if (!wr(s)) return Ge;
        const o = /* @__PURE__ */ new Set();
        for (const c of n.attributes.properties)
          if (ym(c) && o.add(yD(c.name)), Ux(c)) {
            const _ = e.getTypeAtLocation(c.expression);
            for (const u of _.getProperties())
              o.add(u.escapedName);
          }
        return kn(s, (c) => F_(
          c.name,
          t,
          1
          /* JSX */
        ) && !(c.flags & 16777216 || oc(c) & 48 || o.has(c.escapedName)));
      }
      function jHe(e, t) {
        if (r_(e))
          return;
        const n = dr(t, (i) => Ko(i) || ec(i));
        return n && n.parent === e ? n : void 0;
      }
      function BHe(e, t, n, i) {
        if (Cg(e)) {
          const s = i.symbolToNode(
            e,
            111551,
            /*enclosingDeclaration*/
            void 0,
            /*flags*/
            void 0,
            1
            /* WriteComputedProps */
          );
          if (s && Hs(s)) return s;
        }
        return SN(
          e.name,
          t,
          n === 0,
          /*stringNamed*/
          false,
          /*isMethod*/
          false
        );
      }
      function bCe(e) {
        if (dr(e, f6)) {
          const t = dr(e.parent, Sf);
          if (t) return t;
        }
        return xr(e);
      }
      function JHe(e, t) {
        const n = [];
        for (; e; ) {
          const i = Pb(e), s = i && t.getSymbolAtLocation(i.expression);
          if (!s) break;
          const o = s.flags & 2097152 ? t.getAliasedSymbol(s) : s, c = o.declarations && Nn(o.declarations, $n);
          if (!c) break;
          n.push(c), e = c;
        }
        return n;
      }
      var dle = "addMissingNewOperator", SCe = [p.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new.code];
      Xs({
        errorCodes: SCe,
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = cn.ChangeTracker.with(e, (s) => TCe(s, t, n));
          return [Os(dle, i, p.Add_missing_new_operator_to_call, dle, p.Add_missing_new_operator_to_all_calls)];
        },
        fixIds: [dle],
        getAllCodeActions: (e) => Ga(e, SCe, (t, n) => TCe(t, e.sourceFile, n))
      });
      function TCe(e, t, n) {
        const i = Ws(zHe(t, n), ws), s = N.createNewExpression(i.expression, i.typeArguments, i.arguments);
        e.replaceNode(t, i, s);
      }
      function zHe(e, t) {
        let n = vi(e, t.start);
        const i = Yo(t);
        for (; n.end < i; )
          n = n.parent;
        return n;
      }
      var SH = "addMissingParam", TH = "addOptionalParam", xCe = [p.Expected_0_arguments_but_got_1.code];
      Xs({
        errorCodes: xCe,
        fixIds: [SH, TH],
        getCodeActions(e) {
          const t = kCe(e.sourceFile, e.program, e.span.start);
          if (t === void 0) return;
          const { name: n, declarations: i, newParameters: s, newOptionalParameters: o } = t, c = [];
          return wr(s) && Er(
            c,
            Os(
              SH,
              cn.ChangeTracker.with(e, (_) => xH(_, e.program, e.preferences, e.host, i, s)),
              [wr(s) > 1 ? p.Add_missing_parameters_to_0 : p.Add_missing_parameter_to_0, n],
              SH,
              p.Add_all_missing_parameters
            )
          ), wr(o) && Er(
            c,
            Os(
              TH,
              cn.ChangeTracker.with(e, (_) => xH(_, e.program, e.preferences, e.host, i, o)),
              [wr(o) > 1 ? p.Add_optional_parameters_to_0 : p.Add_optional_parameter_to_0, n],
              TH,
              p.Add_all_optional_parameters
            )
          ), c;
        },
        getAllCodeActions: (e) => Ga(e, xCe, (t, n) => {
          const i = kCe(e.sourceFile, e.program, n.start);
          if (i) {
            const { declarations: s, newParameters: o, newOptionalParameters: c } = i;
            e.fixId === SH && xH(t, e.program, e.preferences, e.host, s, o), e.fixId === TH && xH(t, e.program, e.preferences, e.host, s, c);
          }
        })
      });
      function kCe(e, t, n) {
        const i = vi(e, n), s = dr(i, ws);
        if (s === void 0 || wr(s.arguments) === 0)
          return;
        const o = t.getTypeChecker(), c = o.getTypeAtLocation(s.expression), _ = kn(c.symbol.declarations, CCe);
        if (_ === void 0)
          return;
        const u = ko(_);
        if (u === void 0 || u.body === void 0 || $6(t, u.getSourceFile()))
          return;
        const g = WHe(u);
        if (g === void 0)
          return;
        const m = [], h = [], S = wr(u.parameters), T = wr(s.arguments);
        if (S > T)
          return;
        const k = [u, ...VHe(u, _)];
        for (let D = 0, P = 0, A = 0; D < T; D++) {
          const O = s.arguments[D], F = vo(O) ? hJ(O) : O, R = o.getWidenedType(o.getBaseTypeOfLiteralType(o.getTypeAtLocation(O))), B = P < S ? u.parameters[P] : void 0;
          if (B && o.isTypeAssignableTo(R, o.getTypeAtLocation(B))) {
            P++;
            continue;
          }
          const U = F && Me(F) ? F.text : `p${A++}`, $ = UHe(o, R, u);
          Er(m, {
            pos: D,
            declaration: DCe(
              U,
              $,
              /*questionToken*/
              void 0
            )
          }), !HHe(k, P) && Er(h, {
            pos: D,
            declaration: DCe(U, $, N.createToken(
              58
              /* QuestionToken */
            ))
          });
        }
        return {
          newParameters: m,
          newOptionalParameters: h,
          name: so(g),
          declarations: k
        };
      }
      function WHe(e) {
        const t = us(e);
        if (t)
          return t;
        if (ei(e.parent) && Me(e.parent.name) || as(e.parent) || Ii(e.parent))
          return e.parent.name;
      }
      function UHe(e, t, n) {
        return e.typeToTypeNode(
          e.getWidenedType(t),
          n,
          1,
          8
          /* AllowUnresolvedNames */
        ) ?? N.createKeywordTypeNode(
          159
          /* UnknownKeyword */
        );
      }
      function xH(e, t, n, i, s, o) {
        const c = pa(t.getCompilerOptions());
        lr(s, (_) => {
          const u = xr(_), g = c2(u, t, n, i);
          wr(_.parameters) ? e.replaceNodeRangeWithNodes(
            u,
            ka(_.parameters),
            fa(_.parameters),
            ECe(g, c, _, o),
            {
              joiner: ", ",
              indentation: 0,
              leadingTriviaOption: cn.LeadingTriviaOption.IncludeAll,
              trailingTriviaOption: cn.TrailingTriviaOption.Include
            }
          ) : lr(ECe(g, c, _, o), (m, h) => {
            wr(_.parameters) === 0 && h === 0 ? e.insertNodeAt(u, _.parameters.end, m) : e.insertNodeAtEndOfList(u, _.parameters, m);
          }), g.writeFixes(e);
        });
      }
      function CCe(e) {
        switch (e.kind) {
          case 263:
          case 219:
          case 175:
          case 220:
            return true;
          default:
            return false;
        }
      }
      function ECe(e, t, n, i) {
        const s = hr(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,
              GHe(e, c.type, t),
              c.initializer
            )
          );
        }
        return s;
      }
      function VHe(e, t) {
        const n = [];
        for (const i of t)
          if (qHe(i)) {
            if (wr(i.parameters) === wr(e.parameters)) {
              n.push(i);
              continue;
            }
            if (wr(i.parameters) > wr(e.parameters))
              return [];
          }
        return n;
      }
      function qHe(e) {
        return CCe(e) && e.body === void 0;
      }
      function DCe(e, t, n) {
        return N.createParameterDeclaration(
          /*modifiers*/
          void 0,
          /*dotDotDotToken*/
          void 0,
          e,
          n,
          t,
          /*initializer*/
          void 0
        );
      }
      function HHe(e, t) {
        return wr(e) && ot(e, (n) => t < wr(n.parameters) && !!n.parameters[t] && n.parameters[t].questionToken === void 0);
      }
      function GHe(e, t, n) {
        const i = l2(t, n);
        return i ? (BS(e, i.symbols), i.typeNode) : t;
      }
      var $He = "fixCannotFindModule", mle = "installTypesPackage", wCe = p.Cannot_find_module_0_or_its_corresponding_type_declarations.code, PCe = 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, NCe = [
        wCe,
        p.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type.code,
        PCe
      ];
      Xs({
        errorCodes: NCe,
        getCodeActions: function(t) {
          const { host: n, sourceFile: i, span: { start: s }, errorCode: o } = t, c = o === PCe ? mN(t.program.getCompilerOptions(), i) : ICe(i, s);
          if (c === void 0) return;
          const _ = FCe(c, n, o);
          return _ === void 0 ? [] : [Os(
            $He,
            /*changes*/
            [],
            [p.Install_0, _],
            mle,
            p.Install_all_missing_types_packages,
            ACe(i.fileName, _)
          )];
        },
        fixIds: [mle],
        getAllCodeActions: (e) => Ga(e, NCe, (t, n, i) => {
          const s = ICe(n.file, n.start);
          if (s !== void 0)
            switch (e.fixId) {
              case mle: {
                const o = FCe(s, e.host, n.code);
                o && i.push(ACe(n.file.fileName, o));
                break;
              }
              default:
                E.fail(`Bad fixId: ${e.fixId}`);
            }
        })
      });
      function ACe(e, t) {
        return { type: "install package", file: e, packageName: t };
      }
      function ICe(e, t) {
        const n = Bn(vi(e, t), oa);
        if (!n) return;
        const i = n.text, { packageName: s } = fO(i);
        return xl(s) ? void 0 : s;
      }
      function FCe(e, t, n) {
        var i;
        return n === wCe ? n6.has(e) ? "@types/node" : void 0 : (i = t.isKnownTypesPackageName) != null && i.call(t, e) ? dO(e) : void 0;
      }
      var OCe = [
        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
      ], gle = "fixClassDoesntImplementInheritedAbstractMember";
      Xs({
        errorCodes: OCe,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = cn.ChangeTracker.with(t, (o) => MCe(LCe(n, i.start), n, t, o, t.preferences));
          return s.length === 0 ? void 0 : [Os(gle, s, p.Implement_inherited_abstract_class, gle, p.Implement_all_inherited_abstract_classes)];
        },
        fixIds: [gle],
        getAllCodeActions: function(t) {
          const n = /* @__PURE__ */ new Set();
          return Ga(t, OCe, (i, s) => {
            const o = LCe(s.file, s.start);
            Mp(n, Oa(o)) && MCe(o, t.sourceFile, t, i, t.preferences);
          });
        }
      });
      function LCe(e, t) {
        const n = vi(e, t);
        return Ws(n.parent, $n);
      }
      function MCe(e, t, n, i, s) {
        const o = kd(e), c = n.program.getTypeChecker(), _ = c.getTypeAtLocation(o), u = c.getPropertiesOfType(_).filter(XHe), g = c2(t, n.program, s, n.host);
        Wle(e, u, t, n, s, g, (m) => i.insertMemberAtStart(t, e, m)), g.writeFixes(i);
      }
      function XHe(e) {
        const t = f0(ka(e.getDeclarations()));
        return !(t & 2) && !!(t & 64);
      }
      var hle = "classSuperMustPrecedeThisAccess", RCe = [p.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class.code];
      Xs({
        errorCodes: RCe,
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = BCe(t, n.start);
          if (!i) return;
          const { constructor: s, superCall: o } = i, c = cn.ChangeTracker.with(e, (_) => jCe(_, t, s, o));
          return [Os(hle, c, p.Make_super_call_the_first_statement_in_the_constructor, hle, p.Make_all_super_calls_the_first_statement_in_their_constructor)];
        },
        fixIds: [hle],
        getAllCodeActions(e) {
          const { sourceFile: t } = e, n = /* @__PURE__ */ new Set();
          return Ga(e, RCe, (i, s) => {
            const o = BCe(s.file, s.start);
            if (!o) return;
            const { constructor: c, superCall: _ } = o;
            Mp(n, Oa(c.parent)) && jCe(i, t, c, _);
          });
        }
      });
      function jCe(e, t, n, i) {
        e.insertNodeAtConstructorStart(t, n, i), e.delete(t, i);
      }
      function BCe(e, t) {
        const n = vi(e, t);
        if (n.kind !== 110) return;
        const i = Df(n), s = JCe(i.body);
        return s && !s.expression.arguments.some((o) => wn(o) && o.expression === n) ? { constructor: i, superCall: s } : void 0;
      }
      function JCe(e) {
        return Dl(e) && eS(e.expression) ? e : Cs(e) ? void 0 : Ts(e, JCe);
      }
      var yle = "constructorForDerivedNeedSuperCall", zCe = [p.Constructors_for_derived_classes_must_contain_a_super_call.code];
      Xs({
        errorCodes: zCe,
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = WCe(t, n.start), s = cn.ChangeTracker.with(e, (o) => UCe(o, t, i));
          return [Os(yle, s, p.Add_missing_super_call, yle, p.Add_all_missing_super_calls)];
        },
        fixIds: [yle],
        getAllCodeActions: (e) => Ga(e, zCe, (t, n) => UCe(t, e.sourceFile, WCe(n.file, n.start)))
      });
      function WCe(e, t) {
        const n = vi(e, t);
        return E.assert(ec(n.parent), "token should be at the constructor declaration"), n.parent;
      }
      function UCe(e, t, n) {
        const i = N.createExpressionStatement(N.createCallExpression(
          N.createSuper(),
          /*typeArguments*/
          void 0,
          /*argumentsArray*/
          Ge
        ));
        e.insertNodeAtConstructorStart(t, n, i);
      }
      var VCe = "fixEnableJsxFlag", qCe = [p.Cannot_use_JSX_unless_the_jsx_flag_is_provided.code];
      Xs({
        errorCodes: qCe,
        getCodeActions: function(t) {
          const { configFile: n } = t.program.getCompilerOptions();
          if (n === void 0)
            return;
          const i = cn.ChangeTracker.with(t, (s) => HCe(s, n));
          return [
            Od(VCe, i, p.Enable_the_jsx_flag_in_your_configuration_file)
          ];
        },
        fixIds: [VCe],
        getAllCodeActions: (e) => Ga(e, qCe, (t) => {
          const { configFile: n } = e.program.getCompilerOptions();
          n !== void 0 && HCe(t, n);
        })
      });
      function HCe(e, t) {
        $le(e, t, "jsx", N.createStringLiteral("react"));
      }
      var vle = "fixNaNEquality", GCe = [
        p.This_condition_will_always_return_0.code
      ];
      Xs({
        errorCodes: GCe,
        getCodeActions(e) {
          const { sourceFile: t, span: n, program: i } = e, s = $Ce(i, t, n);
          if (s === void 0) return;
          const { suggestion: o, expression: c, arg: _ } = s, u = cn.ChangeTracker.with(e, (g) => XCe(g, t, _, c));
          return [Os(vle, u, [p.Use_0, o], vle, p.Use_Number_isNaN_in_all_conditions)];
        },
        fixIds: [vle],
        getAllCodeActions: (e) => Ga(e, GCe, (t, n) => {
          const i = $Ce(e.program, n.file, Xl(n.start, n.length));
          i && XCe(t, n.file, i.arg, i.expression);
        })
      });
      function $Ce(e, t, n) {
        const i = Nn(e.getSemanticDiagnostics(t), (c) => c.start === n.start && c.length === n.length);
        if (i === void 0 || i.relatedInformation === void 0) return;
        const s = Nn(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 = Qle(s.file, Xl(s.start, s.length));
        if (o !== void 0 && ut(o) && _n(o.parent))
          return { suggestion: QHe(s.messageText), expression: o.parent, arg: o };
      }
      function XCe(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 QHe(e) {
        const [, t] = bm(e, `
`, 0).match(/'(.*)'/) || [];
        return t;
      }
      Xs({
        errorCodes: [
          p.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_node20_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_node20_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_node20_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 = Wu(n);
          if (o >= 5 && o < 99) {
            const g = cn.ChangeTracker.with(t, (m) => {
              $le(m, i, "module", N.createStringLiteral("esnext"));
            });
            s.push(Od("fixModuleOption", g, [p.Set_the_module_option_in_your_configuration_file_to_0, "esnext"]));
          }
          const _ = pa(n);
          if (_ < 4 || _ > 99) {
            const g = cn.ChangeTracker.with(t, (m) => {
              if (!F4(i)) return;
              const S = [["target", N.createStringLiteral("es2017")]];
              o === 1 && S.push(["module", N.createStringLiteral("commonjs")]), Gle(m, i, S);
            });
            s.push(Od("fixTargetOption", g, [p.Set_the_target_option_in_your_configuration_file_to_0, "es2017"]));
          }
          return s.length ? s : void 0;
        }
      });
      var ble = "fixPropertyAssignment", QCe = [
        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
      ];
      Xs({
        errorCodes: QCe,
        fixIds: [ble],
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = ZCe(t, n.start), s = cn.ChangeTracker.with(e, (o) => YCe(o, e.sourceFile, i));
          return [Os(ble, s, [p.Change_0_to_1, "=", ":"], ble, [p.Switch_each_misused_0_to_1, "=", ":"])];
        },
        getAllCodeActions: (e) => Ga(e, QCe, (t, n) => YCe(t, n.file, ZCe(n.file, n.start)))
      });
      function YCe(e, t, n) {
        e.replaceNode(t, n, N.createPropertyAssignment(n.name, n.objectAssignmentInitializer));
      }
      function ZCe(e, t) {
        return Ws(vi(e, t).parent, fu);
      }
      var Sle = "extendsInterfaceBecomesImplements", KCe = [p.Cannot_extend_an_interface_0_Did_you_mean_implements.code];
      Xs({
        errorCodes: KCe,
        getCodeActions(e) {
          const { sourceFile: t } = e, n = e6e(t, e.span.start);
          if (!n) return;
          const { extendsToken: i, heritageClauses: s } = n, o = cn.ChangeTracker.with(e, (c) => t6e(c, t, i, s));
          return [Os(Sle, o, p.Change_extends_to_implements, Sle, p.Change_all_extended_interfaces_to_implements)];
        },
        fixIds: [Sle],
        getAllCodeActions: (e) => Ga(e, KCe, (t, n) => {
          const i = e6e(n.file, n.start);
          i && t6e(t, n.file, i.extendsToken, i.heritageClauses);
        })
      });
      function e6e(e, t) {
        const n = vi(e, t), i = jl(n).heritageClauses, s = i[0].getFirstToken();
        return s.kind === 96 ? { extendsToken: s, heritageClauses: i } : void 0;
      }
      function t6e(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 && em(c.charCodeAt(_)); )
            _++;
          e.deleteRange(t, { pos: s.getStart(), end: _ });
        }
      }
      var Tle = "forgottenThisPropertyAccess", r6e = p.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code, n6e = [
        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,
        r6e
      ];
      Xs({
        errorCodes: n6e,
        getCodeActions(e) {
          const { sourceFile: t } = e, n = i6e(t, e.span.start, e.errorCode);
          if (!n)
            return;
          const i = cn.ChangeTracker.with(e, (s) => s6e(s, t, n));
          return [Os(Tle, i, [p.Add_0_to_unresolved_variable, n.className || "this"], Tle, p.Add_qualifier_to_all_unresolved_variables_matching_a_member_name)];
        },
        fixIds: [Tle],
        getAllCodeActions: (e) => Ga(e, n6e, (t, n) => {
          const i = i6e(n.file, n.start, n.code);
          i && s6e(t, e.sourceFile, i);
        })
      });
      function i6e(e, t, n) {
        const i = vi(e, t);
        if (Me(i) || Ai(i))
          return { node: i, className: n === r6e ? jl(i).name.text : void 0 };
      }
      function s6e(e, t, { node: n, className: i }) {
        tf(n), e.replaceNode(t, n, N.createPropertyAccessExpression(i ? N.createIdentifier(i) : N.createThis(), n));
      }
      var xle = "fixInvalidJsxCharacters_expression", kH = "fixInvalidJsxCharacters_htmlEntity", a6e = [
        p.Unexpected_token_Did_you_mean_or_gt.code,
        p.Unexpected_token_Did_you_mean_or_rbrace.code
      ];
      Xs({
        errorCodes: a6e,
        fixIds: [xle, kH],
        getCodeActions(e) {
          const { sourceFile: t, preferences: n, span: i } = e, s = cn.ChangeTracker.with(e, (c) => kle(
            c,
            n,
            t,
            i.start,
            /*useHtmlEntity*/
            false
          )), o = cn.ChangeTracker.with(e, (c) => kle(
            c,
            n,
            t,
            i.start,
            /*useHtmlEntity*/
            true
          ));
          return [
            Os(xle, s, p.Wrap_invalid_character_in_an_expression_container, xle, p.Wrap_all_invalid_characters_in_an_expression_container),
            Os(kH, o, p.Convert_invalid_character_to_its_html_entity_code, kH, p.Convert_all_invalid_characters_to_HTML_entity_code)
          ];
        },
        getAllCodeActions(e) {
          return Ga(e, a6e, (t, n) => kle(t, e.preferences, n.file, n.start, e.fixId === kH));
        }
      });
      var o6e = {
        ">": "&gt;",
        "}": "&rbrace;"
      };
      function YHe(e) {
        return Ya(o6e, e);
      }
      function kle(e, t, n, i, s) {
        const o = n.getText()[i];
        if (!YHe(o))
          return;
        const c = s ? o6e[o] : `{${Sw(n, t, o)}}`;
        e.replaceRangeWithText(n, { pos: i, end: i + 1 }, c);
      }
      var CH = "deleteUnmatchedParameter", c6e = "renameUnmatchedParameter", l6e = [
        p.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name.code
      ];
      Xs({
        fixIds: [CH, c6e],
        errorCodes: l6e,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = [], o = u6e(n, i.start);
          if (o)
            return Er(s, ZHe(t, o)), Er(s, KHe(t, o)), s;
        },
        getAllCodeActions: function(t) {
          const n = /* @__PURE__ */ new Map();
          return _k(cn.ChangeTracker.with(t, (i) => {
            fk(t, l6e, ({ file: s, start: o }) => {
              const c = u6e(s, o);
              c && n.set(c.signature, Er(n.get(c.signature), c.jsDocParameterTag));
            }), n.forEach((s, o) => {
              if (t.fixId === CH) {
                const c = new Set(s);
                i.filterJSDocTags(o.getSourceFile(), o, (_) => !c.has(_));
              }
            });
          }));
        }
      });
      function ZHe(e, { name: t, jsDocHost: n, jsDocParameterTag: i }) {
        const s = cn.ChangeTracker.with(e, (o) => o.filterJSDocTags(e.sourceFile, n, (c) => c !== i));
        return Os(
          CH,
          s,
          [p.Delete_unused_param_tag_0, t.getText(e.sourceFile)],
          CH,
          p.Delete_all_unused_param_tags
        );
      }
      function KHe(e, { name: t, jsDocHost: n, signature: i, jsDocParameterTag: s }) {
        if (!wr(i.parameters)) return;
        const o = e.sourceFile, c = R1(i), _ = /* @__PURE__ */ new Set();
        for (const h of c)
          Af(h) && Me(h.name) && _.add(h.name.escapedText);
        const u = Ic(i.parameters, (h) => Me(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 = cn.ChangeTracker.with(e, (h) => h.replaceJSDocComment(o, n, hr(c, (S) => S === s ? g : S)));
        return Od(c6e, m, [p.Rename_param_tag_name_0_to_1, t.getText(o), u]);
      }
      function u6e(e, t) {
        const n = vi(e, t);
        if (n.parent && Af(n.parent) && Me(n.parent.name)) {
          const i = n.parent, s = Db(i), o = U1(i);
          if (s && o)
            return { jsDocHost: s, signature: o, name: n.parent.name, jsDocParameterTag: i };
        }
      }
      var Cle = "fixUnreferenceableDecoratorMetadata", eGe = [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];
      Xs({
        errorCodes: eGe,
        getCodeActions: (e) => {
          const t = tGe(e.sourceFile, e.program, e.span.start);
          if (!t) return;
          const n = cn.ChangeTracker.with(e, (o) => t.kind === 277 && nGe(o, e.sourceFile, t, e.program)), i = cn.ChangeTracker.with(e, (o) => rGe(o, e.sourceFile, t, e.program));
          let s;
          return n.length && (s = Er(s, Od(Cle, n, p.Convert_named_imports_to_namespace_import))), i.length && (s = Er(s, Od(Cle, i, p.Use_import_type))), s;
        },
        fixIds: [Cle]
      });
      function tGe(e, t, n) {
        const i = Bn(vi(e, n), Me);
        if (!i || i.parent.kind !== 184) return;
        const o = t.getTypeChecker().getSymbolAtLocation(i);
        return Nn(o?.declarations || Ge, H_(sd, qu, cl));
      }
      function rGe(e, t, n, i) {
        if (n.kind === 272) {
          e.insertModifierBefore(t, 156, n.name);
          return;
        }
        const s = n.kind === 274 ? n : n.parent.parent;
        if (s.name && s.namedBindings)
          return;
        const o = i.getTypeChecker();
        PK(s, (_) => {
          if (Ql(_.symbol, o).flags & 111551) return true;
        }) || e.insertModifierBefore(t, 156, s);
      }
      function nGe(e, t, n, i) {
        lk.doChangeNamedToNamespaceOrDefault(t, i, e, n.parent);
      }
      var bL = "unusedIdentifier", Ele = "unusedIdentifier_prefix", Dle = "unusedIdentifier_delete", EH = "unusedIdentifier_deleteImports", wle = "unusedIdentifier_infer", _6e = [
        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
      ];
      Xs({
        errorCodes: _6e,
        getCodeActions(e) {
          const { errorCode: t, sourceFile: n, program: i, cancellationToken: s } = e, o = i.getTypeChecker(), c = i.getSourceFiles(), _ = vi(n, e.span.start);
          if (Bp(_))
            return [Aw(cn.ChangeTracker.with(e, (h) => h.delete(n, _)), p.Remove_template_tag)];
          if (_.kind === 30) {
            const h = cn.ChangeTracker.with(e, (S) => p6e(S, n, _));
            return [Aw(h, p.Remove_type_parameters)];
          }
          const u = d6e(_);
          if (u) {
            const h = cn.ChangeTracker.with(e, (S) => S.delete(n, u));
            return [Os(bL, h, [p.Remove_import_from_0, dee(u)], EH, p.Delete_all_unused_imports)];
          } else if (Ple(_)) {
            const h = cn.ChangeTracker.with(e, (S) => DH(
              n,
              _,
              S,
              o,
              c,
              i,
              s,
              /*isFixAll*/
              false
            ));
            if (h.length)
              return [Os(bL, h, [p.Remove_unused_declaration_for_Colon_0, _.getText(n)], EH, p.Delete_all_unused_imports)];
          }
          if (Nf(_.parent) || T0(_.parent)) {
            if (Ii(_.parent.parent)) {
              const h = _.parent.elements, S = [
                h.length > 1 ? p.Remove_unused_declarations_for_Colon_0 : p.Remove_unused_declaration_for_Colon_0,
                hr(h, (T) => T.getText(n)).join(", ")
              ];
              return [
                Aw(cn.ChangeTracker.with(e, (T) => iGe(T, n, _.parent)), S)
              ];
            }
            return [
              Aw(cn.ChangeTracker.with(e, (h) => sGe(e, h, n, _.parent)), p.Remove_unused_destructuring_declaration)
            ];
          }
          if (m6e(n, _))
            return [
              Aw(cn.ChangeTracker.with(e, (h) => g6e(h, n, _.parent)), p.Remove_variable_statement)
            ];
          if (Me(_) && Tc(_.parent))
            return [Aw(cn.ChangeTracker.with(e, (h) => b6e(h, n, _.parent)), [p.Remove_unused_declaration_for_Colon_0, _.getText(n)])];
          const g = [];
          if (_.kind === 140) {
            const h = cn.ChangeTracker.with(e, (T) => f6e(T, n, _)), S = Ws(_.parent, gS).typeParameter.name.text;
            g.push(Os(bL, h, [p.Replace_infer_0_with_unknown, S], wle, p.Replace_all_unused_infer_with_unknown));
          } else {
            const h = cn.ChangeTracker.with(e, (S) => DH(
              n,
              _,
              S,
              o,
              c,
              i,
              s,
              /*isFixAll*/
              false
            ));
            if (h.length) {
              const S = Hs(_.parent) ? _.parent : _;
              g.push(Aw(h, [p.Remove_unused_declaration_for_Colon_0, S.getText(n)]));
            }
          }
          const m = cn.ChangeTracker.with(e, (h) => h6e(h, t, n, _));
          return m.length && g.push(Os(bL, m, [p.Prefix_0_with_an_underscore, _.getText(n)], Ele, p.Prefix_all_unused_declarations_with_where_possible)), g;
        },
        fixIds: [Ele, Dle, EH, wle],
        getAllCodeActions: (e) => {
          const { sourceFile: t, program: n, cancellationToken: i } = e, s = n.getTypeChecker(), o = n.getSourceFiles();
          return Ga(e, _6e, (c, _) => {
            const u = vi(t, _.start);
            switch (e.fixId) {
              case Ele:
                h6e(c, _.code, t, u);
                break;
              case EH: {
                const g = d6e(u);
                g ? c.delete(t, g) : Ple(u) && DH(
                  t,
                  u,
                  c,
                  s,
                  o,
                  n,
                  i,
                  /*isFixAll*/
                  true
                );
                break;
              }
              case Dle: {
                if (u.kind === 140 || Ple(u))
                  break;
                if (Bp(u))
                  c.delete(t, u);
                else if (u.kind === 30)
                  p6e(c, t, u);
                else if (Nf(u.parent)) {
                  if (u.parent.parent.initializer)
                    break;
                  (!Ii(u.parent.parent) || y6e(u.parent.parent, s, o)) && c.delete(t, u.parent.parent);
                } else {
                  if (T0(u.parent.parent) && u.parent.parent.parent.initializer)
                    break;
                  m6e(t, u) ? g6e(c, t, u.parent) : Me(u) && Tc(u.parent) ? b6e(c, t, u.parent) : DH(
                    t,
                    u,
                    c,
                    s,
                    o,
                    n,
                    i,
                    /*isFixAll*/
                    true
                  );
                }
                break;
              }
              case wle:
                u.kind === 140 && f6e(c, t, u);
                break;
              default:
                E.fail(JSON.stringify(e.fixId));
            }
          });
        }
      });
      function f6e(e, t, n) {
        e.replaceNode(t, n.parent, N.createKeywordTypeNode(
          159
          /* UnknownKeyword */
        ));
      }
      function Aw(e, t) {
        return Os(bL, e, t, Dle, p.Delete_all_unused_declarations);
      }
      function p6e(e, t, n) {
        e.delete(t, E.checkDefined(Ws(n.parent, mB).typeParameters, "The type parameter to delete should exist"));
      }
      function Ple(e) {
        return e.kind === 102 || e.kind === 80 && (e.parent.kind === 277 || e.parent.kind === 274);
      }
      function d6e(e) {
        return e.kind === 102 ? Bn(e.parent, Wo) : void 0;
      }
      function m6e(e, t) {
        return Bl(t.parent) && ka(t.parent.getChildren(e)) === t;
      }
      function g6e(e, t, n) {
        e.delete(t, n.parent.kind === 244 ? n.parent : n);
      }
      function iGe(e, t, n) {
        lr(n.elements, (i) => e.delete(t, i));
      }
      function sGe(e, t, n, { parent: i }) {
        if (ei(i) && i.initializer && vb(i.initializer))
          if (Bl(i.parent) && wr(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: wh(e.host, e.formatContext.options) + n.text.slice(O9(n.text, o - 1), o),
              suffix: Q8(n) ? ";" : ""
            });
          } else
            t.replaceNode(n, i.parent, i.initializer);
        else
          t.delete(n, i);
      }
      function h6e(e, t, n, i) {
        t !== p.Property_0_is_declared_but_its_value_is_never_read.code && (i.kind === 140 && (i = Ws(i.parent, gS).typeParameter.name), Me(i) && aGe(i) && (e.replaceNode(n, i, N.createIdentifier(`_${i.text}`)), Ii(i.parent) && xC(i.parent).forEach((s) => {
          Me(s.name) && e.replaceNode(n, s.name, N.createIdentifier(`_${s.name.text}`));
        })));
      }
      function aGe(e) {
        switch (e.parent.kind) {
          case 170:
          case 169:
            return true;
          case 261:
            switch (e.parent.parent.parent.kind) {
              case 251:
              case 250:
                return true;
            }
        }
        return false;
      }
      function DH(e, t, n, i, s, o, c, _) {
        oGe(t, n, e, i, s, o, c, _), Me(t) && So.Core.eachSymbolReferenceInFile(t, i, e, (u) => {
          wn(u.parent) && u.parent.name === u && (u = u.parent), !_ && _Ge(u) && n.delete(e, u.parent.parent);
        });
      }
      function oGe(e, t, n, i, s, o, c, _) {
        const { parent: u } = e;
        if (Ii(u))
          cGe(t, n, u, i, s, o, c, _);
        else if (!(_ && Me(e) && So.Core.isSymbolReferencedInFile(e, i, n))) {
          const g = sd(u) ? e : Hs(u) ? u.parent : u;
          E.assert(g !== n, "should not delete whole source file"), t.delete(n, g);
        }
      }
      function cGe(e, t, n, i, s, o, c, _ = false) {
        if (lGe(i, t, n, s, o, c, _))
          if (n.modifiers && n.modifiers.length > 0 && (!Me(n.name) || So.Core.isSymbolReferencedInFile(n.name, i, t)))
            for (const u of n.modifiers)
              Ys(u) && e.deleteModifier(t, u);
          else !n.initializer && y6e(n, i, s) && e.delete(t, n);
      }
      function y6e(e, t, n) {
        const i = e.parent.parameters.indexOf(e);
        return !So.Core.someSignatureUsage(e.parent, n, t, (s, o) => !o || o.arguments.length > i);
      }
      function lGe(e, t, n, i, s, o, c) {
        const { parent: _ } = n;
        switch (_.kind) {
          case 175:
          case 177:
            const u = _.parameters.indexOf(n), g = Ko(_) ? _.name : _, m = So.Core.getReferencedSymbolsForNode(_.pos, g, s, i, o);
            if (m) {
              for (const h of m)
                for (const S of h.references)
                  if (S.kind === So.EntryKind.Node) {
                    const T = CD(S.node) && ws(S.node.parent) && S.node.parent.arguments.length > u, k = wn(S.node.parent) && CD(S.node.parent.expression) && ws(S.node.parent.parent) && S.node.parent.parent.arguments.length > u, D = (Ko(S.node.parent) || id(S.node.parent)) && S.node.parent !== n.parent && S.node.parent.parameters.length > u;
                    if (T || k || D) return false;
                  }
            }
            return true;
          case 263:
            return _.name && uGe(e, t, _.name) ? v6e(_, n, c) : true;
          case 219:
          case 220:
            return v6e(_, n, c);
          case 179:
            return false;
          case 178:
            return true;
          default:
            return E.failBadSyntaxKind(_);
        }
      }
      function uGe(e, t, n) {
        return !!So.Core.eachSymbolReferenceInFile(n, e, t, (i) => Me(i) && ws(i.parent) && i.parent.arguments.includes(i));
      }
      function v6e(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) => Me(o.name) && !o.symbol.isReferenced) : s === i.length - 1;
      }
      function _Ge(e) {
        return (_n(e.parent) && e.parent.left === e || (dz(e.parent) || K1(e.parent)) && e.parent.operand === e) && Dl(e.parent.parent);
      }
      function b6e(e, t, n) {
        const i = n.symbol.declarations;
        if (i)
          for (const s of i)
            e.delete(t, s);
      }
      var Nle = "fixUnreachableCode", S6e = [p.Unreachable_code_detected.code];
      Xs({
        errorCodes: S6e,
        getCodeActions(e) {
          if (e.program.getSyntacticDiagnostics(e.sourceFile, e.cancellationToken).length) return;
          const n = cn.ChangeTracker.with(e, (i) => T6e(i, e.sourceFile, e.span.start, e.span.length, e.errorCode));
          return [Os(Nle, n, p.Remove_unreachable_code, Nle, p.Remove_all_unreachable_code)];
        },
        fixIds: [Nle],
        getAllCodeActions: (e) => Ga(e, S6e, (t, n) => T6e(t, n.file, n.start, n.length, n.code))
      });
      function T6e(e, t, n, i, s) {
        const o = vi(t, n), c = dr(o, Ti);
        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 _ = (Ps(c.parent) ? c.parent : c).parent;
        if (!Ps(c.parent) || c === ka(c.parent.statements))
          switch (_.kind) {
            case 246:
              if (_.elseStatement) {
                if (Ps(c.parent))
                  break;
                e.replaceNode(t, c, N.createBlock(Ge));
                return;
              }
            // falls through
            case 248:
            case 249:
              e.delete(t, _);
              return;
          }
        if (Ps(c.parent)) {
          const u = n + i, g = E.checkDefined(fGe(OJ(c.parent.statements, c), (m) => m.pos < u), "Some statement should be last");
          e.deleteNodeRange(t, c, g);
        } else
          e.delete(t, c);
      }
      function fGe(e, t) {
        let n;
        for (const i of e) {
          if (!t(i)) break;
          n = i;
        }
        return n;
      }
      var Ale = "fixUnusedLabel", x6e = [p.Unused_label.code];
      Xs({
        errorCodes: x6e,
        getCodeActions(e) {
          const t = cn.ChangeTracker.with(e, (n) => k6e(n, e.sourceFile, e.span.start));
          return [Os(Ale, t, p.Remove_unused_label, Ale, p.Remove_all_unused_labels)];
        },
        fixIds: [Ale],
        getAllCodeActions: (e) => Ga(e, x6e, (t, n) => k6e(t, n.file, n.start))
      });
      function k6e(e, t, n) {
        const i = vi(t, n), s = Ws(i.parent, Wy), o = i.getStart(t), c = s.statement.getStart(t), _ = sp(o, c, t) ? c : aa(
          t.text,
          $a(s, 59, t).end,
          /*stopAfterLineBreak*/
          true
        );
        e.deleteRange(t, { pos: o, end: _ });
      }
      var C6e = "fixJSDocTypes_plain", Ile = "fixJSDocTypes_nullable", E6e = [
        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
      ];
      Xs({
        errorCodes: E6e,
        getCodeActions(e) {
          const { sourceFile: t } = e, n = e.program.getTypeChecker(), i = w6e(t, e.span.start, n);
          if (!i) return;
          const { typeNode: s, type: o } = i, c = s.getText(t), _ = [u(o, C6e, p.Change_all_jsdoc_style_types_to_TypeScript)];
          return s.kind === 315 && _.push(u(o, Ile, p.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)), _;
          function u(g, m, h) {
            const S = cn.ChangeTracker.with(e, (T) => D6e(T, t, s, g, n));
            return Os("jdocTypes", S, [p.Change_0_to_1, c, n.typeToString(g)], m, h);
          }
        },
        fixIds: [C6e, Ile],
        getAllCodeActions(e) {
          const { fixId: t, program: n, sourceFile: i } = e, s = n.getTypeChecker();
          return Ga(e, E6e, (o, c) => {
            const _ = w6e(c.file, c.start, s);
            if (!_) return;
            const { typeNode: u, type: g } = _, m = u.kind === 315 && t === Ile ? s.getNullableType(
              g,
              32768
              /* Undefined */
            ) : g;
            D6e(o, i, u, m, s);
          });
        }
      });
      function D6e(e, t, n, i, s) {
        e.replaceNode(t, n, s.typeToTypeNode(
          i,
          /*enclosingDeclaration*/
          n,
          /*flags*/
          void 0
        ));
      }
      function w6e(e, t, n) {
        const i = dr(vi(e, t), pGe), s = i && i.type;
        return s && { typeNode: s, type: dGe(n, s) };
      }
      function pGe(e) {
        switch (e.kind) {
          case 235:
          case 180:
          case 181:
          case 263:
          case 178:
          case 182:
          case 201:
          case 175:
          case 174:
          case 170:
          case 173:
          case 172:
          case 179:
          case 266:
          case 217:
          case 261:
            return true;
          default:
            return false;
        }
      }
      function dGe(e, t) {
        if (d6(t)) {
          const n = e.getTypeFromTypeNode(t.type);
          return n === e.getNeverType() || n === e.getVoidType() ? n : e.getUnionType(
            Er([n, e.getUndefinedType()], t.postfix ? void 0 : e.getNullType())
          );
        }
        return e.getTypeFromTypeNode(t);
      }
      var Fle = "fixMissingCallParentheses", P6e = [
        p.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead.code
      ];
      Xs({
        errorCodes: P6e,
        fixIds: [Fle],
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = A6e(t, n.start);
          if (!i) return;
          const s = cn.ChangeTracker.with(e, (o) => N6e(o, e.sourceFile, i));
          return [Os(Fle, s, p.Add_missing_call_parentheses, Fle, p.Add_all_missing_call_parentheses)];
        },
        getAllCodeActions: (e) => Ga(e, P6e, (t, n) => {
          const i = A6e(n.file, n.start);
          i && N6e(t, n.file, i);
        })
      });
      function N6e(e, t, n) {
        e.replaceNodeWithText(t, n, `${n.text}()`);
      }
      function A6e(e, t) {
        const n = vi(e, t);
        if (wn(n.parent)) {
          let i = n.parent;
          for (; wn(i.parent); )
            i = i.parent;
          return i.name;
        }
        if (Me(n))
          return n;
      }
      var I6e = "fixMissingTypeAnnotationOnExports", Ole = "add-annotation", Lle = "add-type-assertion", mGe = "extract-expression", F6e = [
        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
      ], gGe = /* @__PURE__ */ new Set([
        178,
        175,
        173,
        263,
        219,
        220,
        261,
        170,
        278,
        264,
        207,
        208
        /* ArrayBindingPattern */
      ]), O6e = 531469, L6e = 1;
      Xs({
        errorCodes: F6e,
        fixIds: [I6e],
        getCodeActions(e) {
          const t = [];
          return Iw(Ole, t, e, 0, (n) => n.addTypeAnnotation(e.span)), Iw(Ole, t, e, 1, (n) => n.addTypeAnnotation(e.span)), Iw(Ole, t, e, 2, (n) => n.addTypeAnnotation(e.span)), Iw(Lle, t, e, 0, (n) => n.addInlineAssertion(e.span)), Iw(Lle, t, e, 1, (n) => n.addInlineAssertion(e.span)), Iw(Lle, t, e, 2, (n) => n.addInlineAssertion(e.span)), Iw(mGe, t, e, 0, (n) => n.extractAsVariable(e.span)), t;
        },
        getAllCodeActions: (e) => {
          const t = M6e(e, 0, (n) => {
            fk(e, F6e, (i) => {
              n.addTypeAnnotation(i);
            });
          });
          return _k(t.textChanges);
        }
      });
      function Iw(e, t, n, i, s) {
        const o = M6e(n, i, s);
        o.result && o.textChanges.length && t.push(Os(
          e,
          o.textChanges,
          o.result,
          I6e,
          p.Add_all_missing_type_annotations
        ));
      }
      function M6e(e, t, n) {
        const i = { typeNode: void 0, mutatedTarget: false }, s = cn.ChangeTracker.fromContext(e), o = e.sourceFile, c = e.program, _ = c.getTypeChecker(), u = pa(c.getCompilerOptions()), g = c2(e.sourceFile, e.program, e.preferences, e.host), m = /* @__PURE__ */ new Set(), h = /* @__PURE__ */ new Set(), S = $y({
          preserveSourceNewlines: false
        }), T = n({ addTypeAnnotation: k, addInlineAssertion: F, extractAsVariable: R });
        return g.writeFixes(s), {
          result: T,
          textChanges: s.getChanges()
        };
        function k(Se) {
          e.cancellationToken.throwIfCancellationRequested();
          const ie = vi(o, Se.start), Ne = B(ie);
          if (Ne)
            return Tc(Ne) ? D(Ne) : U(Ne);
          const Ee = Ye(ie);
          if (Ee)
            return U(Ee);
        }
        function D(Se) {
          var ie;
          if (h?.has(Se)) return;
          h?.add(Se);
          const Ne = _.getTypeAtLocation(Se), Ee = _.getPropertiesOfType(Ne);
          if (!Se.name || Ee.length === 0) return;
          const Ce = [];
          for (const Bt of Ee)
            F_(Bt.name, pa(c.getCompilerOptions())) && (Bt.valueDeclaration && ei(Bt.valueDeclaration) || Ce.push(N.createVariableStatement(
              [N.createModifier(
                95
                /* ExportKeyword */
              )],
              N.createVariableDeclarationList(
                [N.createVariableDeclaration(
                  Bt.name,
                  /*exclamationToken*/
                  void 0,
                  Z(_.getTypeOfSymbol(Bt), Se),
                  /*initializer*/
                  void 0
                )]
              )
            )));
          if (Ce.length === 0) return;
          const Ve = [];
          (ie = Se.modifiers) != null && ie.some(
            (Bt) => Bt.kind === 95
            /* ExportKeyword */
          ) && Ve.push(N.createModifier(
            95
            /* ExportKeyword */
          )), Ve.push(N.createModifier(
            138
            /* DeclareKeyword */
          ));
          const St = N.createModuleDeclaration(
            Ve,
            Se.name,
            N.createModuleBlock(Ce),
            /*flags*/
            101441696
            /* ContextFlags */
          );
          return s.insertNodeAfter(o, Se, St), [p.Annotate_types_of_properties_expando_function_in_a_namespace];
        }
        function P(Se) {
          return !Za(Se) && !ws(Se) && !ua(Se) && !Kl(Se);
        }
        function A(Se, ie) {
          return P(Se) && (Se = N.createParenthesizedExpression(Se)), N.createAsExpression(Se, ie);
        }
        function O(Se, ie) {
          return P(Se) && (Se = N.createParenthesizedExpression(Se)), N.createAsExpression(N.createSatisfiesExpression(Se, Wa(ie)), ie);
        }
        function F(Se) {
          e.cancellationToken.throwIfCancellationRequested();
          const ie = vi(o, Se.start);
          if (B(ie)) return;
          const Ee = ne(ie, Se);
          if (!Ee || aS(Ee) || aS(Ee.parent)) return;
          const Ce = ut(Ee), Ve = fu(Ee);
          if (!Ve && Cl(Ee) || dr(Ee, Ds) || dr(Ee, kh) || Ce && (dr(Ee, nf) || dr(Ee, li)) || up(Ee))
            return;
          const St = dr(Ee, ei), Bt = St && _.getTypeAtLocation(St);
          if (Bt && Bt.flags & 8192 || !(Ce || Ve)) return;
          const { typeNode: tr, mutatedTarget: Nr } = ce(Ee, Bt);
          if (!(!tr || Nr))
            return Ve ? s.insertNodeAt(
              o,
              Ee.end,
              A(
                Wa(Ee.name),
                tr
              ),
              {
                prefix: ": "
              }
            ) : Ce ? s.replaceNode(
              o,
              Ee,
              O(
                Wa(Ee),
                tr
              )
            ) : E.assertNever(Ee), [p.Add_satisfies_and_an_inline_type_assertion_with_0, Fe(tr)];
        }
        function R(Se) {
          e.cancellationToken.throwIfCancellationRequested();
          const ie = vi(o, Se.start), Ne = ne(ie, Se);
          if (!Ne || aS(Ne) || aS(Ne.parent) || !ut(Ne)) return;
          if (Kl(Ne))
            return s.replaceNode(
              o,
              Ne,
              A(Ne, N.createTypeReferenceNode("const"))
            ), [p.Mark_array_literal_as_const];
          const Ce = dr(Ne, Kc);
          if (Ce) {
            if (Ce === Ne.parent && Za(Ne)) return;
            const Ve = N.createUniqueName(
              Moe(Ne, o, _, o),
              16
              /* Optimistic */
            );
            let St = Ne, Bt = Ne;
            if (up(St) && (St = rd(St.parent), je(St.parent) ? Bt = St = St.parent : Bt = A(
              St,
              N.createTypeReferenceNode("const")
            )), Za(St)) return;
            const tr = N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [
                  N.createVariableDeclaration(
                    Ve,
                    /*exclamationToken*/
                    void 0,
                    /*type*/
                    void 0,
                    Bt
                  )
                ],
                2
                /* Const */
              )
            ), Nr = dr(Ne, Ti);
            return s.insertNodeBefore(o, Nr, tr), s.replaceNode(
              o,
              St,
              N.createAsExpression(
                N.cloneNode(Ve),
                N.createTypeQueryNode(
                  N.cloneNode(Ve)
                )
              )
            ), [p.Extract_to_variable_and_replace_with_0_as_typeof_0, Fe(Ve)];
          }
        }
        function B(Se) {
          const ie = dr(Se, (Ne) => Ti(Ne) ? "quit" : Px(Ne));
          if (ie && Px(ie)) {
            let Ne = ie;
            if (_n(Ne) && (Ne = Ne.left, !Px(Ne)))
              return;
            const Ee = _.getTypeAtLocation(Ne.expression);
            if (!Ee) return;
            const Ce = _.getPropertiesOfType(Ee);
            if (ot(Ce, (Ve) => Ve.valueDeclaration === ie || Ve.valueDeclaration === ie.parent)) {
              const Ve = Ee.symbol.valueDeclaration;
              if (Ve) {
                if (My(Ve) && ei(Ve.parent))
                  return Ve.parent;
                if (Tc(Ve))
                  return Ve;
              }
            }
          }
        }
        function U(Se) {
          if (!m?.has(Se))
            switch (m?.add(Se), Se.kind) {
              case 170:
              case 173:
              case 261:
                return Te(Se);
              case 220:
              case 219:
              case 263:
              case 175:
              case 178:
                return $(Se, o);
              case 278:
                return W(Se);
              case 264:
                return _e(Se);
              case 207:
              case 208:
                return K(Se);
              default:
                throw new Error(`Cannot find a fix for the given node ${Se.kind}`);
            }
        }
        function $(Se, ie) {
          if (Se.type)
            return;
          const { typeNode: Ne } = ce(Se);
          if (Ne)
            return s.tryInsertTypeAnnotation(
              ie,
              Se,
              Ne
            ), [p.Add_return_type_0, Fe(Ne)];
        }
        function W(Se) {
          if (Se.isExportEquals)
            return;
          const { typeNode: ie } = ce(Se.expression);
          if (!ie) return;
          const Ne = N.createUniqueName("_default");
          return s.replaceNodeWithNodes(o, Se, [
            N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [N.createVariableDeclaration(
                  Ne,
                  /*exclamationToken*/
                  void 0,
                  ie,
                  Se.expression
                )],
                2
                /* Const */
              )
            ),
            N.updateExportAssignment(Se, Se?.modifiers, Ne)
          ]), [
            p.Extract_default_export_to_variable
          ];
        }
        function _e(Se) {
          var ie, Ne;
          const Ee = (ie = Se.heritageClauses) == null ? void 0 : ie.find(
            (st) => st.token === 96
            /* ExtendsKeyword */
          ), Ce = Ee?.types[0];
          if (!Ce)
            return;
          const { typeNode: Ve } = ce(Ce.expression);
          if (!Ve)
            return;
          const St = N.createUniqueName(
            Se.name ? Se.name.text + "Base" : "Anonymous",
            16
            /* Optimistic */
          ), Bt = N.createVariableStatement(
            /*modifiers*/
            void 0,
            N.createVariableDeclarationList(
              [N.createVariableDeclaration(
                St,
                /*exclamationToken*/
                void 0,
                Ve,
                Ce.expression
              )],
              2
              /* Const */
            )
          );
          s.insertNodeBefore(o, Se, Bt);
          const tr = gy(o.text, Ce.end), Nr = ((Ne = tr?.[tr.length - 1]) == null ? void 0 : Ne.end) ?? Ce.end;
          return s.replaceRange(
            o,
            {
              pos: Ce.getFullStart(),
              end: Nr
            },
            St,
            {
              prefix: " "
            }
          ), [p.Extract_base_class_to_variable];
        }
        function K(Se) {
          var ie;
          const Ne = Se.parent, Ee = Se.parent.parent.parent;
          if (!Ne.initializer) return;
          let Ce;
          const Ve = [];
          if (Me(Ne.initializer))
            Ce = { expression: { kind: 3, identifier: Ne.initializer } };
          else {
            const tr = N.createUniqueName(
              "dest",
              16
              /* Optimistic */
            );
            Ce = { expression: { kind: 3, identifier: tr } }, Ve.push(N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [N.createVariableDeclaration(
                  tr,
                  /*exclamationToken*/
                  void 0,
                  /*type*/
                  void 0,
                  Ne.initializer
                )],
                2
                /* Const */
              )
            ));
          }
          const St = [];
          T0(Se) ? V(Se, St, Ce) : ae(Se, St, Ce);
          const Bt = /* @__PURE__ */ new Map();
          for (const tr of St) {
            if (tr.element.propertyName && Hs(tr.element.propertyName)) {
              const st = tr.element.propertyName.expression, Wt = N.getGeneratedNameForNode(st), Jr = N.createVariableDeclaration(
                Wt,
                /*exclamationToken*/
                void 0,
                /*type*/
                void 0,
                st
              ), ui = N.createVariableDeclarationList(
                [Jr],
                2
                /* Const */
              ), Ji = N.createVariableStatement(
                /*modifiers*/
                void 0,
                ui
              );
              Ve.push(Ji), Bt.set(st, Wt);
            }
            const Nr = tr.element.name;
            if (T0(Nr))
              V(Nr, St, tr);
            else if (Nf(Nr))
              ae(Nr, St, tr);
            else {
              const { typeNode: st } = ce(Nr);
              let Wt = se(tr, Bt);
              if (tr.element.initializer) {
                const ui = (ie = tr.element) == null ? void 0 : ie.propertyName, Ji = N.createUniqueName(
                  ui && Me(ui) ? ui.text : "temp",
                  16
                  /* Optimistic */
                );
                Ve.push(N.createVariableStatement(
                  /*modifiers*/
                  void 0,
                  N.createVariableDeclarationList(
                    [N.createVariableDeclaration(
                      Ji,
                      /*exclamationToken*/
                      void 0,
                      /*type*/
                      void 0,
                      Wt
                    )],
                    2
                    /* Const */
                  )
                )), Wt = N.createConditionalExpression(
                  N.createBinaryExpression(
                    Ji,
                    N.createToken(
                      37
                      /* EqualsEqualsEqualsToken */
                    ),
                    N.createIdentifier("undefined")
                  ),
                  N.createToken(
                    58
                    /* QuestionToken */
                  ),
                  tr.element.initializer,
                  N.createToken(
                    59
                    /* ColonToken */
                  ),
                  Wt
                );
              }
              const Jr = Gn(
                Ee,
                32
                /* Export */
              ) ? [N.createToken(
                95
                /* ExportKeyword */
              )] : void 0;
              Ve.push(N.createVariableStatement(
                Jr,
                N.createVariableDeclarationList(
                  [N.createVariableDeclaration(
                    Nr,
                    /*exclamationToken*/
                    void 0,
                    st,
                    Wt
                  )],
                  2
                  /* Const */
                )
              ));
            }
          }
          return Ee.declarationList.declarations.length > 1 && Ve.push(N.updateVariableStatement(
            Ee,
            Ee.modifiers,
            N.updateVariableDeclarationList(
              Ee.declarationList,
              Ee.declarationList.declarations.filter((tr) => tr !== Se.parent)
            )
          )), s.replaceNodeWithNodes(o, Ee, Ve), [
            p.Extract_binding_expressions_to_variable
          ];
        }
        function V(Se, ie, Ne) {
          for (let Ee = 0; Ee < Se.elements.length; ++Ee) {
            const Ce = Se.elements[Ee];
            gl(Ce) || ie.push({
              element: Ce,
              parent: Ne,
              expression: { kind: 2, arrayIndex: Ee }
            });
          }
        }
        function ae(Se, ie, Ne) {
          for (const Ee of Se.elements) {
            let Ce;
            if (Ee.propertyName)
              if (Hs(Ee.propertyName)) {
                ie.push({
                  element: Ee,
                  parent: Ne,
                  expression: { kind: 1, computed: Ee.propertyName.expression }
                });
                continue;
              } else
                Ce = Ee.propertyName.text;
            else
              Ce = Ee.name.text;
            ie.push({
              element: Ee,
              parent: Ne,
              expression: { kind: 0, text: Ce }
            });
          }
        }
        function se(Se, ie) {
          const Ne = [Se];
          for (; Se.parent; )
            Se = Se.parent, Ne.push(Se);
          let Ee = Ne[Ne.length - 1].expression.identifier;
          for (let Ce = Ne.length - 2; Ce >= 0; --Ce) {
            const Ve = Ne[Ce].expression;
            Ve.kind === 0 ? Ee = N.createPropertyAccessChain(
              Ee,
              /*questionDotToken*/
              void 0,
              N.createIdentifier(Ve.text)
            ) : Ve.kind === 1 ? Ee = N.createElementAccessExpression(
              Ee,
              ie.get(Ve.computed)
            ) : Ve.kind === 2 && (Ee = N.createElementAccessExpression(
              Ee,
              Ve.arrayIndex
            ));
          }
          return Ee;
        }
        function ce(Se, ie) {
          if (t === 1)
            return me(Se);
          let Ne;
          if (aS(Se)) {
            const Ve = _.getSignatureFromDeclaration(Se);
            if (Ve) {
              const St = _.getTypePredicateOfSignature(Ve);
              if (St)
                return St.type ? {
                  typeNode: pe(St, dr(Se, Cl) ?? o, Ce(St.type)),
                  mutatedTarget: false
                } : i;
              Ne = _.getReturnTypeOfSignature(Ve);
            }
          } else
            Ne = _.getTypeAtLocation(Se);
          if (!Ne)
            return i;
          if (t === 2) {
            ie && (Ne = ie);
            const Ve = _.getWidenedLiteralType(Ne);
            if (_.isTypeAssignableTo(Ve, Ne))
              return i;
            Ne = Ve;
          }
          const Ee = dr(Se, Cl) ?? o;
          return Ii(Se) && _.requiresAddingImplicitUndefined(Se, Ee) && (Ne = _.getUnionType(
            [_.getUndefinedType(), Ne],
            0
            /* None */
          )), {
            typeNode: Z(Ne, Ee, Ce(Ne)),
            mutatedTarget: false
          };
          function Ce(Ve) {
            return (ei(Se) || as(Se) && Gn(
              Se,
              264
              /* Readonly */
            )) && Ve.flags & 8192 ? 1048576 : 0;
          }
        }
        function fe(Se) {
          return N.createTypeQueryNode(Wa(Se));
        }
        function he(Se, ie = "temp") {
          const Ne = !!dr(Se, je);
          return Ne ? be(
            Se,
            ie,
            Ne,
            (Ee) => Ee.elements,
            up,
            N.createSpreadElement,
            (Ee) => N.createArrayLiteralExpression(
              Ee,
              /*multiLine*/
              true
            ),
            (Ee) => N.createTupleTypeNode(Ee.map(N.createRestTypeNode))
          ) : i;
        }
        function q(Se, ie = "temp") {
          const Ne = !!dr(Se, je);
          return be(
            Se,
            ie,
            Ne,
            (Ee) => Ee.properties,
            Bg,
            N.createSpreadAssignment,
            (Ee) => N.createObjectLiteralExpression(
              Ee,
              /*multiLine*/
              true
            ),
            N.createIntersectionTypeNode
          );
        }
        function be(Se, ie, Ne, Ee, Ce, Ve, St, Bt) {
          const tr = [], Nr = [];
          let st;
          const Wt = dr(Se, Ti);
          for (const Ji of Ee(Se))
            Ce(Ji) ? (ui(), Za(Ji.expression) ? (tr.push(fe(Ji.expression)), Nr.push(Ji)) : Jr(Ji.expression)) : (st ?? (st = [])).push(Ji);
          if (Nr.length === 0)
            return i;
          return ui(), s.replaceNode(o, Se, St(Nr)), {
            typeNode: Bt(tr),
            mutatedTarget: true
          };
          function Jr(Ji) {
            const Dt = N.createUniqueName(
              ie + "_Part" + (Nr.length + 1),
              16
              /* Optimistic */
            ), Mn = Ne ? N.createAsExpression(
              Ji,
              N.createTypeReferenceNode("const")
            ) : Ji, ai = N.createVariableStatement(
              /*modifiers*/
              void 0,
              N.createVariableDeclarationList(
                [
                  N.createVariableDeclaration(
                    Dt,
                    /*exclamationToken*/
                    void 0,
                    /*type*/
                    void 0,
                    Mn
                  )
                ],
                2
                /* Const */
              )
            );
            s.insertNodeBefore(o, Wt, ai), tr.push(fe(Dt)), Nr.push(Ve(Dt));
          }
          function ui() {
            st && (Jr(St(
              st
            )), st = void 0);
          }
        }
        function je(Se) {
          return bb(Se) && Kp(Se.type);
        }
        function me(Se) {
          if (Ii(Se))
            return i;
          if (fu(Se))
            return {
              typeNode: fe(Se.name),
              mutatedTarget: false
            };
          if (Za(Se))
            return {
              typeNode: fe(Se),
              mutatedTarget: false
            };
          if (je(Se))
            return me(Se.expression);
          if (Kl(Se)) {
            const ie = dr(Se, ei), Ne = ie && Me(ie.name) ? ie.name.text : void 0;
            return he(Se, Ne);
          }
          if (ua(Se)) {
            const ie = dr(Se, ei), Ne = ie && Me(ie.name) ? ie.name.text : void 0;
            return q(Se, Ne);
          }
          if (ei(Se) && Se.initializer)
            return me(Se.initializer);
          if (vS(Se)) {
            const { typeNode: ie, mutatedTarget: Ne } = me(Se.whenTrue);
            if (!ie) return i;
            const { typeNode: Ee, mutatedTarget: Ce } = me(Se.whenFalse);
            return Ee ? {
              typeNode: N.createUnionTypeNode([ie, Ee]),
              mutatedTarget: Ne || Ce
            } : i;
          }
          return i;
        }
        function Z(Se, ie, Ne = 0) {
          let Ee = false;
          const Ce = iEe(_, Se, ie, O6e | Ne, L6e, {
            moduleResolverHost: c,
            trackSymbol() {
              return true;
            },
            reportTruncationError() {
              Ee = true;
            }
          });
          if (!Ce)
            return;
          const Ve = Vle(Ce, g, u);
          return Ee ? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ) : Ve;
        }
        function pe(Se, ie, Ne = 0) {
          let Ee = false;
          const Ce = sEe(_, g, Se, ie, u, O6e | Ne, L6e, {
            moduleResolverHost: c,
            trackSymbol() {
              return true;
            },
            reportTruncationError() {
              Ee = true;
            }
          });
          return Ee ? N.createKeywordTypeNode(
            133
            /* AnyKeyword */
          ) : Ce;
        }
        function Te(Se) {
          const { typeNode: ie } = ce(Se);
          if (ie)
            return Se.type ? s.replaceNode(xr(Se), Se.type, ie) : s.tryInsertTypeAnnotation(xr(Se), Se, ie), [p.Add_annotation_of_type_0, Fe(ie)];
        }
        function Fe(Se) {
          un(
            Se,
            1
            /* SingleLine */
          );
          const ie = S.printNode(4, Se, o);
          return ie.length > D4 ? ie.substring(0, D4 - 3) + "..." : (un(
            Se,
            0
            /* None */
          ), ie);
        }
        function Ye(Se) {
          return dr(Se, (ie) => gGe.has(ie.kind) && (!Nf(ie) && !T0(ie) || ei(ie.parent)));
        }
        function ne(Se, ie) {
          for (; Se && Se.end < ie.start + ie.length; )
            Se = Se.parent;
          for (; Se.parent.pos === Se.pos && Se.parent.end === Se.end; )
            Se = Se.parent;
          return Me(Se) && l0(Se.parent) && Se.parent.initializer ? Se.parent.initializer : Se;
        }
      }
      var Mle = "fixAwaitInSyncFunction", R6e = [
        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
      ];
      Xs({
        errorCodes: R6e,
        getCodeActions(e) {
          const { sourceFile: t, span: n } = e, i = j6e(t, n.start);
          if (!i) return;
          const s = cn.ChangeTracker.with(e, (o) => B6e(o, t, i));
          return [Os(Mle, s, p.Add_async_modifier_to_containing_function, Mle, p.Add_all_missing_async_modifiers)];
        },
        fixIds: [Mle],
        getAllCodeActions: function(t) {
          const n = /* @__PURE__ */ new Set();
          return Ga(t, R6e, (i, s) => {
            const o = j6e(s.file, s.start);
            !o || !Mp(n, Oa(o.insertBefore)) || B6e(i, t.sourceFile, o);
          });
        }
      });
      function hGe(e) {
        if (e.type)
          return e.type;
        if (ei(e.parent) && e.parent.type && $m(e.parent.type))
          return e.parent.type.type;
      }
      function j6e(e, t) {
        const n = vi(e, t), i = Df(n);
        if (!i)
          return;
        let s;
        switch (i.kind) {
          case 175:
            s = i.name;
            break;
          case 263:
          case 219:
            s = $a(i, 100, e);
            break;
          case 220:
            const o = i.typeParameters ? 30 : 21;
            s = $a(i, o, e) || ka(i.parameters);
            break;
          default:
            return;
        }
        return s && {
          insertBefore: s,
          returnType: hGe(i)
        };
      }
      function B6e(e, t, { insertBefore: n, returnType: i }) {
        if (i) {
          const s = P3(i);
          (!s || s.kind !== 80 || s.text !== "Promise") && e.replaceNode(t, i, N.createTypeReferenceNode("Promise", N.createNodeArray([i])));
        }
        e.insertModifierBefore(t, 134, n);
      }
      var J6e = [
        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
      ], Rle = "fixPropertyOverrideAccessor";
      Xs({
        errorCodes: J6e,
        getCodeActions(e) {
          const t = z6e(e.sourceFile, e.span.start, e.span.length, e.errorCode, e);
          if (t)
            return [Os(Rle, t, p.Generate_get_and_set_accessors, Rle, p.Generate_get_and_set_accessors_for_all_overriding_properties)];
        },
        fixIds: [Rle],
        getAllCodeActions: (e) => Ga(e, J6e, (t, n) => {
          const i = z6e(n.file, n.start, n.length, n.code, e);
          if (i)
            for (const s of i)
              t.pushRaw(e.sourceFile, s);
        })
      });
      function z6e(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 = vi(e, t).parent;
          if (Hs(u))
            return;
          E.assert(Ty(u), "error span of fixPropertyOverrideAccessor should only be on an accessor");
          const g = u.parent;
          E.assert($n(g), "erroneous accessors should only be inside classes");
          const m = kd(g);
          if (!m) return;
          const h = Ra(m.expression), S = Oc(h) ? h.symbol : _.getSymbolAtLocation(h);
          if (!S) return;
          const T = _.getDeclaredTypeOfSymbol(S), k = _.getPropertyOfType(T, Si(ox(u.name)));
          if (!k || !k.valueDeclaration) return;
          o = k.valueDeclaration.pos, c = k.valueDeclaration.end, e = xr(k.valueDeclaration);
        } else
          E.fail("fixPropertyOverrideAccessor codefix got unexpected error code " + i);
        return uEe(e, s.program, o, c, s, p.Generate_get_and_set_accessors.message);
      }
      var jle = "inferFromUsage", W6e = [
        // 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
      ];
      Xs({
        errorCodes: W6e,
        getCodeActions(e) {
          const { sourceFile: t, program: n, span: { start: i }, errorCode: s, cancellationToken: o, host: c, preferences: _ } = e, u = vi(t, i);
          let g;
          const m = cn.ChangeTracker.with(e, (S) => {
            g = U6e(
              S,
              t,
              u,
              s,
              n,
              o,
              /*markSeen*/
              fb,
              c,
              _
            );
          }), h = g && us(g);
          return !h || m.length === 0 ? void 0 : [Os(jle, m, [yGe(s, u), Go(h)], jle, p.Infer_all_types_from_usage)];
        },
        fixIds: [jle],
        getAllCodeActions(e) {
          const { sourceFile: t, program: n, cancellationToken: i, host: s, preferences: o } = e, c = W6();
          return Ga(e, W6e, (_, u) => {
            U6e(_, t, vi(u.file, u.start), u.code, n, i, c, s, o);
          });
        }
      });
      function yGe(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 R_(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 vGe(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 U6e(e, t, n, i, s, o, c, _, u) {
        if (!x4(n.kind) && n.kind !== 80 && n.kind !== 26 && n.kind !== 110)
          return;
        const { parent: g } = n, m = c2(t, s, u, _);
        switch (i = vGe(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 (ei(g) && c(g) || as(g) || Vu(g))
              return V6e(e, m, t, g, s, _, o), m.writeFixes(e), g;
            if (wn(g)) {
              const T = gA(g.name, s, o), k = Tw(T, g, s, _);
              if (k) {
                const D = N.createJSDocTypeTag(
                  /*tagName*/
                  void 0,
                  N.createJSDocTypeExpression(k),
                  /*comment*/
                  void 0
                );
                e.addJSDocTags(t, Ws(g.parent.parent, Dl), [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 && ei(T.valueDeclaration) && c(T.valueDeclaration) ? (V6e(e, m, xr(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 (R_(h)) {
              q6e(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 = Ws(g, Ii);
              bGe(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:
            lp(h) && Me(h.name) && (wH(e, m, t, h, gA(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:
            R_(h) && (q6e(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:
            cn.isThisTypeAnnotatable(h) && c(h) && (SGe(e, t, h, s, _, o), S = h);
            break;
          default:
            return E.fail(String(i));
        }
        return m.writeFixes(e), S;
      }
      function V6e(e, t, n, i, s, o, c) {
        Me(i.name) && wH(e, t, n, i, gA(i.name, s, c), s, o);
      }
      function bGe(e, t, n, i, s, o, c, _) {
        if (!Me(i.name))
          return;
        const u = kGe(s, n, o, _);
        if (E.assert(s.parameters.length === u.length, "Parameter count and inference count should match"), an(s))
          H6e(e, n, u, o, c);
        else {
          const g = bo(s) && !$a(s, 21, n);
          g && e.insertNodeBefore(n, ka(s.parameters), N.createToken(
            21
            /* OpenParenToken */
          ));
          for (const { declaration: m, type: h } of u)
            m && !m.type && !m.initializer && wH(e, t, n, m, h, o, c);
          g && e.insertNodeAfter(n, fa(s.parameters), N.createToken(
            22
            /* CloseParenToken */
          ));
        }
      }
      function SGe(e, t, n, i, s, o) {
        const c = G6e(n, t, i, o);
        if (!c || !c.length)
          return;
        const _ = Jle(i, c, o).thisParameter(), u = Tw(_, n, i, s);
        u && (an(n) ? TGe(e, t, n, u) : e.tryInsertThisTypeAnnotation(t, n, u));
      }
      function TGe(e, t, n, i) {
        e.addJSDocTags(t, n, [
          N.createJSDocThisTag(
            /*tagName*/
            void 0,
            N.createJSDocTypeExpression(i)
          )
        ]);
      }
      function q6e(e, t, n, i, s, o, c) {
        const _ = $c(i.parameters);
        if (_ && Me(i.name) && Me(_.name)) {
          let u = gA(i.name, s, c);
          u === s.getTypeChecker().getAnyType() && (u = gA(_.name, s, c)), an(i) ? H6e(e, n, [{ declaration: _, type: u }], s, o) : wH(e, t, n, _, u, s, o);
        }
      }
      function wH(e, t, n, i, s, o, c) {
        const _ = Tw(s, i, o, c);
        if (_)
          if (an(n) && i.kind !== 172) {
            const u = ei(i) ? Bn(i.parent.parent, Pc) : i;
            if (!u)
              return;
            const g = N.createJSDocTypeExpression(_), m = lp(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 xGe(_, i, n, e, t, pa(o.getCompilerOptions())) || e.tryInsertTypeAnnotation(n, i, _);
      }
      function xGe(e, t, n, i, s, o) {
        const c = l2(e, o);
        return c && i.tryInsertTypeAnnotation(n, t, c.typeNode) ? (lr(c.symbols, (_) => s.addImportFromExportedSymbol(
          _,
          /*isValidTypeOnlyUseSite*/
          true
        )), true) : false;
      }
      function H6e(e, t, n, i, s) {
        const o = n.length && n[0].declaration.parent;
        if (!o)
          return;
        const c = Fi(n, (_) => {
          const u = _.declaration;
          if (u.initializer || o0(u) || !Me(u.name))
            return;
          const g = _.type && Tw(_.type, u, i, s);
          if (g) {
            const m = N.cloneNode(u.name);
            return un(
              m,
              7168
              /* NoNestedComments */
            ), { name: N.cloneNode(u.name), param: u, isOptional: !!_.isOptional, typeNode: g };
          }
        });
        if (c.length)
          if (bo(o) || mo(o)) {
            const _ = bo(o) && !$a(o, 21, t);
            _ && e.insertNodeBefore(t, ka(o.parameters), N.createToken(
              21
              /* OpenParenToken */
            )), lr(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, fa(o.parameters), N.createToken(
              22
              /* CloseParenToken */
            ));
          } else {
            const _ = hr(c, ({ name: u, typeNode: g, isOptional: m }) => N.createJSDocParameterTag(
              /*tagName*/
              void 0,
              u,
              /*isBracketed*/
              !!m,
              N.createJSDocTypeExpression(g),
              /*isNameFirst*/
              false,
              /*comment*/
              void 0
            ));
            e.addJSDocTags(t, o, _);
          }
      }
      function Ble(e, t, n) {
        return Fi(So.getReferenceEntriesForNode(-1, e, t, t.getSourceFiles(), n), (i) => i.kind !== So.EntryKind.Span ? Bn(i.node, Me) : void 0);
      }
      function gA(e, t, n) {
        const i = Ble(e, t, n);
        return Jle(t, i, n).single();
      }
      function kGe(e, t, n, i) {
        const s = G6e(e, t, n, i);
        return s && Jle(n, s, i).parameters(e) || e.parameters.map((o) => ({
          declaration: o,
          type: Me(o.name) ? gA(o.name, n, i) : n.getTypeChecker().getAnyType()
        }));
      }
      function G6e(e, t, n, i) {
        let s;
        switch (e.kind) {
          case 177:
            s = $a(e, 137, t);
            break;
          case 220:
          case 219:
            const o = e.parent;
            s = (ei(o) || as(o)) && Me(o.name) ? o.name : e.name;
            break;
          case 263:
          case 175:
          case 174:
            s = e.name;
            break;
        }
        if (s)
          return Ble(s, n, i);
      }
      function Jle(e, t, n) {
        const i = e.getTypeChecker(), s = {
          string: () => i.getStringType(),
          number: () => i.getNumberType(),
          Array: (pe) => i.createArrayType(pe),
          Promise: (pe) => i.createPromiseType(pe)
        }, 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 _(pe) {
          const Te = /* @__PURE__ */ new Map();
          for (const Ye of pe)
            Ye.properties && Ye.properties.forEach((ne, Se) => {
              Te.has(Se) || Te.set(Se, []), Te.get(Se).push(ne);
            });
          const Fe = /* @__PURE__ */ new Map();
          return Te.forEach((Ye, ne) => {
            Fe.set(ne, _(Ye));
          }), {
            isNumber: pe.some((Ye) => Ye.isNumber),
            isString: pe.some((Ye) => Ye.isString),
            isNumberOrString: pe.some((Ye) => Ye.isNumberOrString),
            candidateTypes: xa(pe, (Ye) => Ye.candidateTypes),
            properties: Fe,
            calls: xa(pe, (Ye) => Ye.calls),
            constructs: xa(pe, (Ye) => Ye.constructs),
            numberIndex: lr(pe, (Ye) => Ye.numberIndex),
            stringIndex: lr(pe, (Ye) => Ye.stringIndex),
            candidateThisTypes: xa(pe, (Ye) => Ye.candidateThisTypes),
            inferredTypes: void 0
            // clear type cache
          };
        }
        function u() {
          return _e(h(t));
        }
        function g(pe) {
          if (t.length === 0 || !pe.parameters)
            return;
          const Te = c();
          for (const Ye of t)
            n.throwIfCancellationRequested(), S(Ye, Te);
          const Fe = [...Te.constructs || [], ...Te.calls || []];
          return pe.parameters.map((Ye, ne) => {
            const Se = [], ie = Wm(Ye);
            let Ne = false;
            for (const Ce of Fe)
              if (Ce.argumentTypes.length <= ne)
                Ne = an(pe), Se.push(i.getUndefinedType());
              else if (ie)
                for (let Ve = ne; Ve < Ce.argumentTypes.length; Ve++)
                  Se.push(i.getBaseTypeOfLiteralType(Ce.argumentTypes[Ve]));
              else
                Se.push(i.getBaseTypeOfLiteralType(Ce.argumentTypes[ne]));
            if (Me(Ye.name)) {
              const Ce = h(Ble(Ye.name, e, n));
              Se.push(...ie ? Fi(Ce, i.getElementTypeOfArrayType) : Ce);
            }
            const Ee = _e(Se);
            return {
              type: ie ? i.createArrayType(Ee) : Ee,
              isOptional: Ne && !ie,
              declaration: Ye
            };
          });
        }
        function m() {
          const pe = c();
          for (const Te of t)
            n.throwIfCancellationRequested(), S(Te, pe);
          return _e(pe.candidateThisTypes || Ge);
        }
        function h(pe) {
          const Te = c();
          for (const Fe of pe)
            n.throwIfCancellationRequested(), S(Fe, Te);
          return V(Te);
        }
        function S(pe, Te) {
          for (; K4(pe); )
            pe = pe.parent;
          switch (pe.parent.kind) {
            case 245:
              k(pe, Te);
              break;
            case 226:
              Te.isNumber = true;
              break;
            case 225:
              D(pe.parent, Te);
              break;
            case 227:
              P(pe, pe.parent, Te);
              break;
            case 297:
            case 298:
              A(pe.parent, Te);
              break;
            case 214:
            case 215:
              pe.parent.expression === pe ? O(pe.parent, Te) : T(pe, Te);
              break;
            case 212:
              F(pe.parent, Te);
              break;
            case 213:
              R(pe.parent, pe, Te);
              break;
            case 304:
            case 305:
              B(pe.parent, Te);
              break;
            case 173:
              U(pe.parent, Te);
              break;
            case 261: {
              const { name: Fe, initializer: Ye } = pe.parent;
              if (pe === Fe) {
                Ye && me(Te, i.getTypeAtLocation(Ye));
                break;
              }
            }
            // falls through
            default:
              return T(pe, Te);
          }
        }
        function T(pe, Te) {
          qm(pe) && me(Te, i.getContextualType(pe));
        }
        function k(pe, Te) {
          me(Te, ws(pe) ? i.getVoidType() : i.getAnyType());
        }
        function D(pe, Te) {
          switch (pe.operator) {
            case 46:
            case 47:
            case 41:
            case 55:
              Te.isNumber = true;
              break;
            case 40:
              Te.isNumberOrString = true;
              break;
          }
        }
        function P(pe, Te, Fe) {
          switch (Te.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 Ye = i.getTypeAtLocation(Te.left === pe ? Te.right : Te.left);
              Ye.flags & 1056 ? me(Fe, Ye) : Fe.isNumber = true;
              break;
            case 65:
            case 40:
              const ne = i.getTypeAtLocation(Te.left === pe ? Te.right : Te.left);
              ne.flags & 1056 ? me(Fe, ne) : ne.flags & 296 ? Fe.isNumber = true : ne.flags & 402653316 ? Fe.isString = true : ne.flags & 1 || (Fe.isNumberOrString = true);
              break;
            //  AssignmentOperators
            case 64:
            case 35:
            case 37:
            case 38:
            case 36:
            case 77:
            case 78:
            case 76:
              me(Fe, i.getTypeAtLocation(Te.left === pe ? Te.right : Te.left));
              break;
            case 103:
              pe === Te.left && (Fe.isString = true);
              break;
            // LogicalOperator Or NullishCoalescing
            case 57:
            case 61:
              pe === Te.left && (pe.parent.parent.kind === 261 || El(
                pe.parent.parent,
                /*excludeCompoundAssignment*/
                true
              )) && me(Fe, i.getTypeAtLocation(Te.right));
              break;
          }
        }
        function A(pe, Te) {
          me(Te, i.getTypeAtLocation(pe.parent.parent.expression));
        }
        function O(pe, Te) {
          const Fe = {
            argumentTypes: [],
            return_: c()
          };
          if (pe.arguments)
            for (const Ye of pe.arguments)
              Fe.argumentTypes.push(i.getTypeAtLocation(Ye));
          S(pe, Fe.return_), pe.kind === 214 ? (Te.calls || (Te.calls = [])).push(Fe) : (Te.constructs || (Te.constructs = [])).push(Fe);
        }
        function F(pe, Te) {
          const Fe = Zo(pe.name.text);
          Te.properties || (Te.properties = /* @__PURE__ */ new Map());
          const Ye = Te.properties.get(Fe) || c();
          S(pe, Ye), Te.properties.set(Fe, Ye);
        }
        function R(pe, Te, Fe) {
          if (Te === pe.argumentExpression) {
            Fe.isNumberOrString = true;
            return;
          } else {
            const Ye = i.getTypeAtLocation(pe.argumentExpression), ne = c();
            S(pe, ne), Ye.flags & 296 ? Fe.numberIndex = ne : Fe.stringIndex = ne;
          }
        }
        function B(pe, Te) {
          const Fe = ei(pe.parent.parent) ? pe.parent.parent : pe.parent;
          Z(Te, i.getTypeAtLocation(Fe));
        }
        function U(pe, Te) {
          Z(Te, i.getTypeAtLocation(pe.parent));
        }
        function $(pe, Te) {
          const Fe = [];
          for (const Ye of pe)
            for (const { high: ne, low: Se } of Te)
              ne(Ye) && (E.assert(!Se(Ye), "Priority can't have both low and high"), Fe.push(Se));
          return pe.filter((Ye) => Fe.every((ne) => !ne(Ye)));
        }
        function W(pe) {
          return _e(V(pe));
        }
        function _e(pe) {
          if (!pe.length) return i.getAnyType();
          const Te = i.getUnionType([i.getStringType(), i.getNumberType()]);
          let Ye = $(pe, [
            {
              high: (Se) => Se === i.getStringType() || Se === i.getNumberType(),
              low: (Se) => Se === Te
            },
            {
              high: (Se) => !(Se.flags & 16385),
              low: (Se) => !!(Se.flags & 16385)
            },
            {
              high: (Se) => !(Se.flags & 114689) && !(Dn(Se) & 16),
              low: (Se) => !!(Dn(Se) & 16)
            }
          ]);
          const ne = Ye.filter(
            (Se) => Dn(Se) & 16
            /* Anonymous */
          );
          return ne.length && (Ye = Ye.filter((Se) => !(Dn(Se) & 16)), Ye.push(K(ne))), i.getWidenedType(i.getUnionType(
            Ye.map(i.getBaseTypeOfLiteralType),
            2
            /* Subtype */
          ));
        }
        function K(pe) {
          if (pe.length === 1)
            return pe[0];
          const Te = [], Fe = [], Ye = [], ne = [];
          let Se = false, ie = false;
          const Ne = Pp();
          for (const Ve of pe) {
            for (const tr of i.getPropertiesOfType(Ve))
              Ne.add(tr.escapedName, tr.valueDeclaration ? i.getTypeOfSymbolAtLocation(tr, tr.valueDeclaration) : i.getAnyType());
            Te.push(...i.getSignaturesOfType(
              Ve,
              0
              /* Call */
            )), Fe.push(...i.getSignaturesOfType(
              Ve,
              1
              /* Construct */
            ));
            const St = i.getIndexInfoOfType(
              Ve,
              0
              /* String */
            );
            St && (Ye.push(St.type), Se = Se || St.isReadonly);
            const Bt = i.getIndexInfoOfType(
              Ve,
              1
              /* Number */
            );
            Bt && (ne.push(Bt.type), ie = ie || Bt.isReadonly);
          }
          const Ee = KX(Ne, (Ve, St) => {
            const Bt = St.length < pe.length ? 16777216 : 0, tr = i.createSymbol(4 | Bt, Ve);
            return tr.links.type = i.getUnionType(St), [Ve, tr];
          }), Ce = [];
          return Ye.length && Ce.push(i.createIndexInfo(i.getStringType(), i.getUnionType(Ye), Se)), ne.length && Ce.push(i.createIndexInfo(i.getNumberType(), i.getUnionType(ne), ie)), i.createAnonymousType(
            pe[0].symbol,
            Ee,
            Te,
            Fe,
            Ce
          );
        }
        function V(pe) {
          var Te, Fe, Ye;
          const ne = [];
          pe.isNumber && ne.push(i.getNumberType()), pe.isString && ne.push(i.getStringType()), pe.isNumberOrString && ne.push(i.getUnionType([i.getStringType(), i.getNumberType()])), pe.numberIndex && ne.push(i.createArrayType(W(pe.numberIndex))), ((Te = pe.properties) != null && Te.size || (Fe = pe.constructs) != null && Fe.length || pe.stringIndex) && ne.push(ae(pe));
          const Se = (pe.candidateTypes || []).map((Ne) => i.getBaseTypeOfLiteralType(Ne)), ie = (Ye = pe.calls) != null && Ye.length ? ae(pe) : void 0;
          return ie && Se ? ne.push(i.getUnionType(
            [ie, ...Se],
            2
            /* Subtype */
          )) : (ie && ne.push(ie), wr(Se) && ne.push(...Se)), ne.push(...se(pe)), ne;
        }
        function ae(pe) {
          const Te = /* @__PURE__ */ new Map();
          pe.properties && pe.properties.forEach((Se, ie) => {
            const Ne = i.createSymbol(4, ie);
            Ne.links.type = W(Se), Te.set(ie, Ne);
          });
          const Fe = pe.calls ? [je(pe.calls)] : [], Ye = pe.constructs ? [je(pe.constructs)] : [], ne = pe.stringIndex ? [i.createIndexInfo(
            i.getStringType(),
            W(pe.stringIndex),
            /*isReadonly*/
            false
          )] : [];
          return i.createAnonymousType(
            /*symbol*/
            void 0,
            Te,
            Fe,
            Ye,
            ne
          );
        }
        function se(pe) {
          if (!pe.properties || !pe.properties.size) return [];
          const Te = o.filter((Fe) => ce(Fe, pe));
          return 0 < Te.length && Te.length < 3 ? Te.map((Fe) => fe(Fe, pe)) : [];
        }
        function ce(pe, Te) {
          return Te.properties ? !dl(Te.properties, (Fe, Ye) => {
            const ne = i.getTypeOfPropertyOfType(pe, Ye);
            return ne ? Fe.calls ? !i.getSignaturesOfType(
              ne,
              0
              /* Call */
            ).length || !i.isTypeAssignableTo(ne, be(Fe.calls)) : !i.isTypeAssignableTo(ne, W(Fe)) : true;
          }) : false;
        }
        function fe(pe, Te) {
          if (!(Dn(pe) & 4) || !Te.properties)
            return pe;
          const Fe = pe.target, Ye = yg(Fe.typeParameters);
          if (!Ye) return pe;
          const ne = [];
          return Te.properties.forEach((Se, ie) => {
            const Ne = i.getTypeOfPropertyOfType(Fe, ie);
            E.assert(!!Ne, "generic should have all the properties of its reference."), ne.push(...he(Ne, W(Se), Ye));
          }), s[pe.symbol.escapedName](_e(ne));
        }
        function he(pe, Te, Fe) {
          if (pe === Fe)
            return [Te];
          if (pe.flags & 3145728)
            return xa(pe.types, (Se) => he(Se, Te, Fe));
          if (Dn(pe) & 4 && Dn(Te) & 4) {
            const Se = i.getTypeArguments(pe), ie = i.getTypeArguments(Te), Ne = [];
            if (Se && ie)
              for (let Ee = 0; Ee < Se.length; Ee++)
                ie[Ee] && Ne.push(...he(Se[Ee], ie[Ee], Fe));
            return Ne;
          }
          const Ye = i.getSignaturesOfType(
            pe,
            0
            /* Call */
          ), ne = i.getSignaturesOfType(
            Te,
            0
            /* Call */
          );
          return Ye.length === 1 && ne.length === 1 ? q(Ye[0], ne[0], Fe) : [];
        }
        function q(pe, Te, Fe) {
          var Ye;
          const ne = [];
          for (let Ne = 0; Ne < pe.parameters.length; Ne++) {
            const Ee = pe.parameters[Ne], Ce = Te.parameters[Ne], Ve = pe.declaration && Wm(pe.declaration.parameters[Ne]);
            if (!Ce)
              break;
            let St = Ee.valueDeclaration ? i.getTypeOfSymbolAtLocation(Ee, Ee.valueDeclaration) : i.getAnyType();
            const Bt = Ve && i.getElementTypeOfArrayType(St);
            Bt && (St = Bt);
            const tr = ((Ye = Bn(Ce, Cg)) == null ? void 0 : Ye.links.type) || (Ce.valueDeclaration ? i.getTypeOfSymbolAtLocation(Ce, Ce.valueDeclaration) : i.getAnyType());
            ne.push(...he(St, tr, Fe));
          }
          const Se = i.getReturnTypeOfSignature(pe), ie = i.getReturnTypeOfSignature(Te);
          return ne.push(...he(Se, ie, Fe)), ne;
        }
        function be(pe) {
          return i.createAnonymousType(
            /*symbol*/
            void 0,
            js(),
            [je(pe)],
            Ge,
            Ge
          );
        }
        function je(pe) {
          const Te = [], Fe = Math.max(...pe.map((ne) => ne.argumentTypes.length));
          for (let ne = 0; ne < Fe; ne++) {
            const Se = i.createSymbol(1, Zo(`arg${ne}`));
            Se.links.type = _e(pe.map((ie) => ie.argumentTypes[ne] || i.getUndefinedType())), pe.some((ie) => ie.argumentTypes[ne] === void 0) && (Se.flags |= 16777216), Te.push(Se);
          }
          const Ye = W(_(pe.map((ne) => ne.return_)));
          return i.createSignature(
            /*declaration*/
            void 0,
            /*typeParameters*/
            void 0,
            /*thisParameter*/
            void 0,
            Te,
            Ye,
            /*typePredicate*/
            void 0,
            Fe,
            0
            /* None */
          );
        }
        function me(pe, Te) {
          Te && !(Te.flags & 1) && !(Te.flags & 131072) && (pe.candidateTypes || (pe.candidateTypes = [])).push(Te);
        }
        function Z(pe, Te) {
          Te && !(Te.flags & 1) && !(Te.flags & 131072) && (pe.candidateThisTypes || (pe.candidateThisTypes = [])).push(Te);
        }
      }
      var zle = "fixReturnTypeInAsyncFunction", $6e = [
        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
      ];
      Xs({
        errorCodes: $6e,
        fixIds: [zle],
        getCodeActions: function(t) {
          const { sourceFile: n, program: i, span: s } = t, o = i.getTypeChecker(), c = X6e(n, i.getTypeChecker(), s.start);
          if (!c)
            return;
          const { returnTypeNode: _, returnType: u, promisedTypeNode: g, promisedType: m } = c, h = cn.ChangeTracker.with(t, (S) => Q6e(S, n, _, g));
          return [Os(
            zle,
            h,
            [p.Replace_0_with_Promise_1, o.typeToString(u), o.typeToString(m)],
            zle,
            p.Fix_all_incorrect_return_type_of_an_async_functions
          )];
        },
        getAllCodeActions: (e) => Ga(e, $6e, (t, n) => {
          const i = X6e(n.file, e.program.getTypeChecker(), n.start);
          i && Q6e(t, n.file, i.returnTypeNode, i.promisedTypeNode);
        })
      });
      function X6e(e, t, n) {
        if (an(e))
          return;
        const i = vi(e, n), s = dr(i, to), 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 Q6e(e, t, n, i) {
        e.replaceNode(t, n, N.createTypeReferenceNode("Promise", [i]));
      }
      var Y6e = "disableJsDiagnostics", Z6e = "disableJsDiagnostics", K6e = Fi(Object.keys(p), (e) => {
        const t = p[e];
        return t.category === 1 ? t.code : void 0;
      });
      Xs({
        errorCodes: K6e,
        getCodeActions: function(t) {
          const { sourceFile: n, program: i, span: s, host: o, formatContext: c } = t;
          if (!an(n) || !_D(n, i.getCompilerOptions()))
            return;
          const _ = n.checkJsDirective ? "" : wh(o, c.options), u = [
            // fixId unnecessary because adding `// @ts-nocheck` even once will ignore every error in the file.
            Od(
              Y6e,
              [WTe(n.fileName, [
                W8(
                  n.checkJsDirective ? Dc(n.checkJsDirective.pos, n.checkJsDirective.end) : Xl(0, 0),
                  `// @ts-nocheck${_}`
                )
              ])],
              p.Disable_checking_for_this_file
            )
          ];
          return cn.isValidLocationToAddComment(n, s.start) && u.unshift(Os(Y6e, cn.ChangeTracker.with(t, (g) => eEe(g, n, s.start)), p.Ignore_this_error_message, Z6e, p.Add_ts_ignore_to_all_error_messages)), u;
        },
        fixIds: [Z6e],
        getAllCodeActions: (e) => {
          const t = /* @__PURE__ */ new Set();
          return Ga(e, K6e, (n, i) => {
            cn.isValidLocationToAddComment(i.file, i.start) && eEe(n, i.file, i.start, t);
          });
        }
      });
      function eEe(e, t, n, i) {
        const { line: s } = Rs(t, n);
        (!i || s0(i, s)) && e.insertCommentBeforeLine(t, s, n, " @ts-ignore");
      }
      function Wle(e, t, n, i, s, o, c) {
        const _ = e.symbol.members;
        for (const u of t)
          _.has(u.escapedName) || rEe(
            u,
            e,
            n,
            i,
            s,
            o,
            c,
            /*body*/
            void 0
          );
      }
      function K6(e) {
        return {
          trackSymbol: () => false,
          moduleResolverHost: zV(e.program, e.host)
        };
      }
      var tEe = /* @__PURE__ */ ((e) => (e[e.Method = 1] = "Method", e[e.Property = 2] = "Property", e[e.All = 3] = "All", e))(tEe || {});
      function rEe(e, t, n, i, s, o, c, _, u = 3, g = false) {
        const m = e.getDeclarations(), h = $c(m), S = i.program.getTypeChecker(), T = pa(i.program.getCompilerOptions()), k = h?.kind ?? 172, D = ce(e, h), P = h ? lu(h) : 0;
        let A = P & 256;
        A |= P & 1 ? 1 : P & 4 ? 4 : 0, h && g_(h) && (A |= 512);
        const O = _e(), F = S.getWidenedType(S.getTypeOfSymbolAtLocation(e, t)), R = !!(e.flags & 16777216), B = !!(t.flags & 33554432) || g, U = of(n, s), $ = 1 | (U === 0 ? 268435456 : 0);
        switch (k) {
          case 172:
          case 173:
            let fe = S.typeToTypeNode(F, t, $, 8, K6(i));
            if (o) {
              const q = l2(fe, T);
              q && (fe = q.typeNode, BS(o, q.symbols));
            }
            c(N.createPropertyDeclaration(
              O,
              h ? V(D) : e.getName(),
              R && u & 2 ? N.createToken(
                58
                /* QuestionToken */
              ) : void 0,
              fe,
              /*initializer*/
              void 0
            ));
            break;
          case 178:
          case 179: {
            E.assertIsDefined(m);
            let q = S.typeToTypeNode(
              F,
              t,
              $,
              /*internalFlags*/
              void 0,
              K6(i)
            );
            const be = Fb(m, h), je = be.secondAccessor ? [be.firstAccessor, be.secondAccessor] : [be.firstAccessor];
            if (o) {
              const me = l2(q, T);
              me && (q = me.typeNode, BS(o, me.symbols));
            }
            for (const me of je)
              if (lp(me))
                c(N.createGetAccessorDeclaration(
                  O,
                  V(D),
                  Ge,
                  se(q),
                  ae(_, U, B)
                ));
              else {
                E.assertNode(me, R_, "The counterpart to a getter should be a setter");
                const Z = Y4(me), pe = Z && Me(Z.name) ? An(Z.name) : void 0;
                c(N.createSetAccessorDeclaration(
                  O,
                  V(D),
                  qle(
                    1,
                    [pe],
                    [se(q)],
                    1,
                    /*inJs*/
                    false
                  ),
                  ae(_, U, B)
                ));
              }
            break;
          }
          case 174:
          case 175:
            E.assertIsDefined(m);
            const he = F.isUnion() ? xa(F.types, (q) => q.getCallSignatures()) : F.getCallSignatures();
            if (!ot(he))
              break;
            if (m.length === 1) {
              E.assert(he.length === 1, "One declaration implies one signature");
              const q = he[0];
              W(U, q, O, V(D), ae(_, U, B));
              break;
            }
            for (const q of he)
              q.declaration && q.declaration.flags & 33554432 || W(U, q, O, V(D));
            if (!B)
              if (m.length > he.length) {
                const q = S.getSignatureFromDeclaration(m[m.length - 1]);
                W(U, q, O, V(D), ae(_, U));
              } else
                E.assert(m.length === he.length, "Declarations and signatures should match count"), c(PGe(S, i, t, he, V(D), R && !!(u & 1), O, U, _));
            break;
        }
        function W(fe, he, q, be, je) {
          const me = PH(175, i, fe, he, je, be, q, R && !!(u & 1), t, o);
          me && c(me);
        }
        function _e() {
          let fe;
          return A && (fe = JT(fe, N.createModifiersFromModifierFlags(A))), K() && (fe = Er(fe, N.createToken(
            164
            /* OverrideKeyword */
          ))), fe && N.createNodeArray(fe);
        }
        function K() {
          return !!(i.program.getCompilerOptions().noImplicitOverride && h && Ob(h));
        }
        function V(fe) {
          return Me(fe) && fe.escapedText === "constructor" ? N.createComputedPropertyName(N.createStringLiteral(
            An(fe),
            U === 0
            /* Single */
          )) : Wa(
            fe,
            /*includeTrivia*/
            false
          );
        }
        function ae(fe, he, q) {
          return q ? void 0 : Wa(
            fe,
            /*includeTrivia*/
            false
          ) || Hle(he);
        }
        function se(fe) {
          return Wa(
            fe,
            /*includeTrivia*/
            false
          );
        }
        function ce(fe, he) {
          if (oc(fe) & 262144) {
            const q = fe.links.nameType;
            if (q && op(q))
              return N.createIdentifier(Si(cp(q)));
          }
          return Wa(
            us(he),
            /*includeTrivia*/
            false
          );
        }
      }
      function PH(e, t, n, i, s, o, c, _, u, g) {
        const m = t.program, h = m.getTypeChecker(), S = pa(m.getCompilerOptions()), T = an(u), k = 524545 | (n === 0 ? 268435456 : 0), D = h.signatureToSignatureDeclaration(i, e, u, k, 8, K6(t));
        if (!D)
          return;
        let P = T ? void 0 : D.typeParameters, A = D.parameters, O = T ? void 0 : Wa(D.type);
        if (g) {
          if (P) {
            const U = Gc(P, ($) => {
              let W = $.constraint, _e = $.default;
              if (W) {
                const K = l2(W, S);
                K && (W = K.typeNode, BS(g, K.symbols));
              }
              if (_e) {
                const K = l2(_e, S);
                K && (_e = K.typeNode, BS(g, K.symbols));
              }
              return N.updateTypeParameterDeclaration(
                $,
                $.modifiers,
                $.name,
                W,
                _e
              );
            });
            P !== U && (P = ct(N.createNodeArray(U, P.hasTrailingComma), P));
          }
          const B = Gc(A, (U) => {
            let $ = T ? void 0 : U.type;
            if ($) {
              const W = l2($, S);
              W && ($ = W.typeNode, BS(g, W.symbols));
            }
            return N.updateParameterDeclaration(
              U,
              U.modifiers,
              U.dotDotDotToken,
              U.name,
              T ? void 0 : U.questionToken,
              $,
              U.initializer
            );
          });
          if (A !== B && (A = ct(N.createNodeArray(B, A.hasTrailingComma), A)), O) {
            const U = l2(O, S);
            U && (O = U.typeNode, BS(g, U.symbols));
          }
        }
        const F = _ ? N.createToken(
          58
          /* QuestionToken */
        ) : void 0, R = D.asteriskToken;
        if (mo(D))
          return N.updateFunctionExpression(D, c, D.asteriskToken, Bn(o, Me), P, A, O, s ?? D.body);
        if (bo(D))
          return N.updateArrowFunction(D, c, P, A, O, D.equalsGreaterThanToken, s ?? D.body);
        if (Ko(D))
          return N.updateMethodDeclaration(D, c, R, o ?? N.createIdentifier(""), F, P, A, O, s);
        if (Tc(D))
          return N.updateFunctionDeclaration(D, c, D.asteriskToken, Bn(o, Me), P, A, O, s ?? D.body);
      }
      function Ule(e, t, n, i, s, o, c) {
        const _ = of(t.sourceFile, t.preferences), u = pa(t.program.getCompilerOptions()), g = K6(t), m = t.program.getTypeChecker(), h = an(c), { typeArguments: S, arguments: T, parent: k } = i, D = h ? void 0 : m.getContextualType(i), P = hr(T, (_e) => Me(_e) ? _e.text : wn(_e) && Me(_e.name) ? _e.name.text : void 0), A = h ? [] : hr(T, (_e) => m.getTypeAtLocation(_e)), { argumentTypeNodes: O, argumentTypeParameters: F } = DGe(
          m,
          n,
          A,
          c,
          u,
          1,
          8,
          g
        ), R = o ? N.createNodeArray(N.createModifiersFromModifierFlags(o)) : void 0, B = MN(k) ? N.createToken(
          42
          /* AsteriskToken */
        ) : void 0, U = h ? void 0 : CGe(m, F, S), $ = qle(
          T.length,
          P,
          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 175:
            return N.createMethodDeclaration(
              R,
              B,
              s,
              /*questionToken*/
              void 0,
              U,
              $,
              W,
              Hle(_)
            );
          case 174:
            return N.createMethodSignature(
              R,
              s,
              /*questionToken*/
              void 0,
              U,
              $,
              W === void 0 ? N.createKeywordTypeNode(
                159
                /* UnknownKeyword */
              ) : W
            );
          case 263:
            return E.assert(typeof s == "string" || Me(s), "Unexpected name"), N.createFunctionDeclaration(
              R,
              B,
              s,
              U,
              $,
              W,
              SL(p.Function_not_implemented.message, _)
            );
          default:
            E.fail("Unexpected kind");
        }
      }
      function CGe(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(nEe(_));
        }
        return ns(
          i.values(),
          (o) => {
            var c;
            return N.createTypeParameterDeclaration(
              /*modifiers*/
              void 0,
              o,
              (c = s.get(o)) == null ? void 0 : c.constraint
            );
          }
        );
      }
      function nEe(e) {
        return 84 + e <= 90 ? String.fromCharCode(84 + e) : `T${e}`;
      }
      function NH(e, t, n, i, s, o, c, _) {
        const u = e.typeToTypeNode(n, i, o, c, _);
        if (u)
          return Vle(u, t, s);
      }
      function Vle(e, t, n) {
        const i = l2(e, n);
        return i && (BS(t, i.symbols), e = i.typeNode), Wa(e);
      }
      function EGe(e, t) {
        var n;
        E.assert(t.typeArguments);
        const i = t.typeArguments, s = t.target;
        for (let o = 0; o < i.length; o++) {
          if (((n = s.localTypeParameters) == null ? void 0 : n[o].constraint) === void 0)
            continue;
          const c = i.slice(0, o);
          if (e.fillMissingTypeArguments(
            c,
            s.typeParameters,
            o,
            /*isJavaScriptImplicitAny*/
            false
          ).every((u, g) => u === i[g]))
            return o;
        }
        return i.length;
      }
      function iEe(e, t, n, i, s, o) {
        let c = e.typeToTypeNode(t, n, i, s, o);
        if (c) {
          if (rf(c)) {
            const _ = t;
            if (_.typeArguments && c.typeArguments) {
              const u = EGe(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 sEe(e, t, n, i, s, o, c, _) {
        let u = e.typePredicateToTypePredicateNode(n, i, o, c, _);
        if (u?.type && dm(u.type)) {
          const g = l2(u.type, s);
          g && (BS(t, g.symbols), u = N.updateTypePredicateNode(u, u.assertsModifier, u.parameterName, g.typeNode));
        }
        return Wa(u);
      }
      function aEe(e) {
        return e.isUnionOrIntersection() ? e.types.some(aEe) : e.flags & 262144;
      }
      function DGe(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(aEe)) {
            const P = nEe(m);
            u.push(N.createTypeReferenceNode(P)), g.set(P, void 0);
            continue;
          }
          const S = e.getBaseTypeOfLiteralType(h), T = NH(e, t, S, i, s, o, c, _);
          if (!T)
            continue;
          u.push(T);
          const k = oEe(h), D = h.isTypeParameter() && h.constraint && !wGe(h.constraint) ? NH(e, t, h.constraint, i, s, o, c, _) : void 0;
          k && g.set(k, { argumentType: h, constraint: D });
        }
        return { argumentTypeNodes: u, argumentTypeParameters: ns(g.entries()) };
      }
      function wGe(e) {
        return e.flags & 524288 && e.objectFlags === 16;
      }
      function oEe(e) {
        var t;
        if (e.flags & 3145728)
          for (const n of e.types) {
            const i = oEe(n);
            if (i)
              return i;
          }
        return e.flags & 262144 ? (t = e.getSymbol()) == null ? void 0 : t.getName() : void 0;
      }
      function qle(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 PGe(e, t, n, i, s, o, c, _, u) {
        let g = i[0], m = i[0].minArgumentCount, h = false;
        for (const D of i)
          m = Math.min(D.minArgumentCount, m), wu(D) && (h = true), D.parameters.length >= g.parameters.length && (!wu(D) || wu(g)) && (g = D);
        const S = g.parameters.length - (wu(g) ? 1 : 0), T = g.parameters.map((D) => D.name), k = qle(
          S,
          T,
          /*types*/
          void 0,
          m,
          /*inJs*/
          false
        );
        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 AGe(
          c,
          s,
          o,
          /*typeParameters*/
          void 0,
          k,
          NGe(i, e, t, n),
          _,
          u
        );
      }
      function NGe(e, t, n, i) {
        if (wr(e)) {
          const s = t.getUnionType(hr(e, t.getReturnTypeOfSignature));
          return t.typeToTypeNode(s, i, 1, 8, K6(n));
        }
      }
      function AGe(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,
          _ || Hle(c)
        );
      }
      function Hle(e) {
        return SL(p.Method_not_implemented.message, e);
      }
      function SL(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*/
          true
        );
      }
      function Gle(e, t, n) {
        const i = F4(t);
        if (!i) return;
        const s = cEe(i, "compilerOptions");
        if (s === void 0) {
          e.insertNodeAtObjectStart(
            t,
            i,
            Xle(
              "compilerOptions",
              N.createObjectLiteralExpression(
                n.map(([c, _]) => Xle(c, _)),
                /*multiLine*/
                true
              )
            )
          );
          return;
        }
        const o = s.initializer;
        if (ua(o))
          for (const [c, _] of n) {
            const u = cEe(o, c);
            u === void 0 ? e.insertNodeAtObjectStart(t, o, Xle(c, _)) : e.replaceNode(t, u.initializer, _);
          }
      }
      function $le(e, t, n, i) {
        Gle(e, t, [[n, i]]);
      }
      function Xle(e, t) {
        return N.createPropertyAssignment(N.createStringLiteral(e), t);
      }
      function cEe(e, t) {
        return Nn(e.properties, (n) => Kc(n) && !!n.name && oa(n.name) && n.name.text === t);
      }
      function l2(e, t) {
        let n;
        const i = Qe(e, s, li);
        if (n && i)
          return { typeNode: i, symbols: n };
        function s(o) {
          if (mh(o) && o.qualifier) {
            const c = e_(o.qualifier);
            if (!c.symbol)
              return br(
                o,
                s,
                /*context*/
                void 0
              );
            const _ = U9(c.symbol, t), u = _ !== c.text ? lEe(o.qualifier, N.createIdentifier(_)) : o.qualifier;
            n = Er(n, c.symbol);
            const g = Ar(o.typeArguments, s, li);
            return N.createTypeReferenceNode(u, g);
          }
          return br(
            o,
            s,
            /*context*/
            void 0
          );
        }
      }
      function lEe(e, t) {
        return e.kind === 80 ? t : N.createQualifiedName(lEe(e.left, t), e.right);
      }
      function BS(e, t) {
        t.forEach((n) => e.addImportFromExportedSymbol(
          n,
          /*isValidTypeOnlyUseSite*/
          true
        ));
      }
      function Qle(e, t) {
        const n = Yo(t);
        let i = vi(e, t.start);
        for (; i.end < n; )
          i = i.parent;
        return i;
      }
      function uEe(e, t, n, i, s, o) {
        const c = pEe(e, t, n, i);
        if (!c || lk.isRefactorErrorInfo(c)) return;
        const _ = cn.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 P, A;
        if ($n(k)) {
          const F = lu(D);
          if (Ku(e)) {
            const R = N.createModifiersFromModifierFlags(F);
            P = R, A = R;
          } else
            P = N.createModifiersFromModifierFlags(OGe(F)), A = N.createModifiersFromModifierFlags(LGe(F));
          $b(D) && (A = Bi(hy(D), A));
        }
        JGe(_, e, D, T, m, A);
        const O = MGe(m, h, T, P, u, k);
        if (tf(O), dEe(_, e, O, D, k), g) {
          const F = Ag(k);
          F && zGe(_, e, F, m.text, S);
        } else {
          const F = RGe(m, h, T, P, u, k);
          tf(F), dEe(_, e, F, D, k);
        }
        return _.getChanges();
      }
      function IGe(e) {
        return Me(e) || oa(e);
      }
      function FGe(e) {
        return X_(e, e.parent) || as(e) || Kc(e);
      }
      function _Ee(e, t) {
        return Me(t) ? N.createIdentifier(e) : N.createStringLiteral(e);
      }
      function fEe(e, t, n) {
        const i = t ? n.name : N.createThis();
        return Me(e) ? N.createPropertyAccessExpression(i, e) : N.createElementAccessExpression(i, N.createStringLiteralFromNode(e));
      }
      function OGe(e) {
        return e &= -9, e &= -3, e & 4 || (e |= 1), e;
      }
      function LGe(e) {
        return e &= -2, e &= -5, e |= 2, e;
      }
      function pEe(e, t, n, i, s = true) {
        const o = vi(e, n), c = n === i && s, _ = dr(o.parent, FGe), u = 271;
        if (!_ || !(h9(_.name, e, n, i) || c))
          return {
            error: bs(p.Could_not_find_property_for_which_to_generate_accessor)
          };
        if (!IGe(_.name))
          return {
            error: bs(p.Name_is_not_valid)
          };
        if ((lu(_) & 98303 | u) !== u)
          return {
            error: bs(p.Can_only_convert_property_with_modifier)
          };
        const g = _.name.text, m = fq(g), h = _Ee(m ? g : jS(`_${g}`, e), _.name), S = _Ee(m ? jS(g.substring(1), e) : g, _.name);
        return {
          isStatic: sl(_),
          isReadonly: lS(_),
          type: WGe(_, t),
          container: _.kind === 170 ? _.parent.parent : _.parent,
          originalName: _.name.text,
          declaration: _,
          fieldName: h,
          accessorName: S,
          renameAccessor: m
        };
      }
      function MGe(e, t, n, i, s, o) {
        return N.createGetAccessorDeclaration(
          i,
          t,
          [],
          n,
          N.createBlock(
            [
              N.createReturnStatement(
                fEe(e, s, o)
              )
            ],
            /*multiLine*/
            true
          )
        );
      }
      function RGe(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(
                  fEe(e, s, o),
                  N.createIdentifier("value")
                )
              )
            ],
            /*multiLine*/
            true
          )
        );
      }
      function jGe(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 BGe(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 JGe(e, t, n, i, s, o) {
        as(n) ? jGe(e, t, n, i, s, o) : Kc(n) ? BGe(e, t, n, s) : e.replaceNode(t, n, N.updateParameterDeclaration(n, o, n.dotDotDotToken, Ws(s, Me), n.questionToken, n.type, n.initializer));
      }
      function dEe(e, t, n, i, s) {
        X_(i, i.parent) ? e.insertMemberAtStart(t, s, n) : Kc(i) ? e.insertNodeAfterComma(t, i, n) : e.insertNodeAfter(t, i, n);
      }
      function zGe(e, t, n, i, s) {
        n.body && n.body.forEachChild(function o(c) {
          oo(c) && c.expression.kind === 110 && oa(c.argumentExpression) && c.argumentExpression.text === s && vx(c) && e.replaceNode(t, c.argumentExpression, N.createStringLiteral(i)), wn(c) && c.expression.kind === 110 && c.name.text === s && vx(c) && e.replaceNode(t, c.name, N.createIdentifier(i)), !Cs(c) && !$n(c) && c.forEachChild(o);
        });
      }
      function WGe(e, t) {
        const n = GK(e);
        if (as(e) && n && e.questionToken) {
          const i = t.getTypeChecker(), s = i.getTypeFromTypeNode(n);
          if (!i.isTypeAssignableTo(i.getUndefinedType(), s)) {
            const o = b0(n) ? n.types : [n];
            return N.createUnionTypeNode([...o, N.createKeywordTypeNode(
              157
              /* UndefinedKeyword */
            )]);
          }
        }
        return n;
      }
      var mEe = "invalidImportSyntax";
      function UGe(e, t) {
        const n = xr(t), i = JC(t), s = e.program.getCompilerOptions(), o = [];
        return o.push(gEe(e, n, t, Yy(
          i.name,
          /*namedImports*/
          void 0,
          t.moduleSpecifier,
          of(n, e.preferences)
        ))), Wu(s) === 1 && o.push(gEe(
          e,
          n,
          t,
          N.createImportEqualsDeclaration(
            /*modifiers*/
            void 0,
            /*isTypeOnly*/
            false,
            i.name,
            N.createExternalModuleReference(t.moduleSpecifier)
          )
        )), o;
      }
      function gEe(e, t, n, i) {
        const s = cn.ChangeTracker.with(e, (o) => o.replaceNode(t, n, i));
        return Od(mEe, s, [p.Replace_import_with_0, s[0].textChanges[0].newText]);
      }
      Xs({
        errorCodes: [
          p.This_expression_is_not_callable.code,
          p.This_expression_is_not_constructable.code
        ],
        getCodeActions: VGe
      });
      function VGe(e) {
        const t = e.sourceFile, n = p.This_expression_is_not_callable.code === e.errorCode ? 214 : 215, i = dr(vi(t, e.span.start), (o) => o.kind === n);
        if (!i)
          return [];
        const s = i.expression;
        return hEe(e, s);
      }
      Xs({
        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: qGe
      });
      function qGe(e) {
        const t = e.sourceFile, n = dr(vi(t, e.span.start), (i) => i.getStart() === e.span.start && i.getEnd() === e.span.start + e.span.length);
        return n ? hEe(e, n) : [];
      }
      function hEe(e, t) {
        const n = e.program.getTypeChecker().getTypeAtLocation(t);
        if (!(n.symbol && Cg(n.symbol) && n.symbol.links.originatingImport))
          return [];
        const i = [], s = n.symbol.links.originatingImport;
        if (y_(s) || In(i, UGe(e, s)), ut(t) && !(kl(t.parent) && t.parent.name === t)) {
          const o = e.sourceFile, c = cn.ChangeTracker.with(e, (_) => _.replaceNode(o, t, N.createPropertyAccessExpression(t, "default"), {}));
          i.push(Od(mEe, c, p.Use_synthetic_default_member));
        }
        return i;
      }
      var Yle = "strictClassInitialization", Zle = "addMissingPropertyDefiniteAssignmentAssertions", Kle = "addMissingPropertyUndefinedType", eue = "addMissingPropertyInitializer", yEe = [p.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor.code];
      Xs({
        errorCodes: yEe,
        getCodeActions: function(t) {
          const n = vEe(t.sourceFile, t.span.start);
          if (!n) return;
          const i = [];
          return Er(i, GGe(t, n)), Er(i, HGe(t, n)), Er(i, $Ge(t, n)), i;
        },
        fixIds: [Zle, Kle, eue],
        getAllCodeActions: (e) => Ga(e, yEe, (t, n) => {
          const i = vEe(n.file, n.start);
          if (i)
            switch (e.fixId) {
              case Zle:
                bEe(t, n.file, i.prop);
                break;
              case Kle:
                SEe(t, n.file, i);
                break;
              case eue:
                const s = e.program.getTypeChecker(), o = xEe(s, i.prop);
                if (!o) return;
                TEe(t, n.file, i.prop, o);
                break;
              default:
                E.fail(JSON.stringify(e.fixId));
            }
        })
      });
      function vEe(e, t) {
        const n = vi(e, t);
        if (Me(n) && as(n.parent)) {
          const i = Qc(n.parent);
          if (i)
            return { type: i, prop: n.parent, isJs: an(n.parent) };
        }
      }
      function HGe(e, t) {
        if (t.isJs) return;
        const n = cn.ChangeTracker.with(e, (i) => bEe(i, e.sourceFile, t.prop));
        return Os(Yle, n, [p.Add_definite_assignment_assertion_to_property_0, t.prop.getText()], Zle, p.Add_definite_assignment_assertions_to_all_uninitialized_properties);
      }
      function bEe(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 GGe(e, t) {
        const n = cn.ChangeTracker.with(e, (i) => SEe(i, e.sourceFile, t));
        return Os(Yle, n, [p.Add_undefined_type_to_property_0, t.prop.name.getText()], Kle, p.Add_undefined_type_to_all_uninitialized_properties);
      }
      function SEe(e, t, n) {
        const i = N.createKeywordTypeNode(
          157
          /* UndefinedKeyword */
        ), s = b0(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 $Ge(e, t) {
        if (t.isJs) return;
        const n = e.program.getTypeChecker(), i = xEe(n, t.prop);
        if (!i) return;
        const s = cn.ChangeTracker.with(e, (o) => TEe(o, e.sourceFile, t.prop, i));
        return Os(Yle, s, [p.Add_initializer_to_property_0, t.prop.name.getText()], eue, p.Add_initializers_to_all_uninitialized_properties);
      }
      function TEe(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 xEe(e, t) {
        return kEe(e, e.getTypeFromTypeNode(t.type));
      }
      function kEe(e, t) {
        if (t.flags & 512)
          return t === e.getFalseType() || t === e.getFalseType(
            /*fresh*/
            true
          ) ? 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) => kEe(e, n));
        if (t.isClass()) {
          const n = Sh(t.symbol);
          if (!n || Gn(
            n,
            64
            /* Abstract */
          )) return;
          const i = Ag(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 tue = "requireInTs", CEe = [p.require_call_may_be_converted_to_an_import.code];
      Xs({
        errorCodes: CEe,
        getCodeActions(e) {
          const t = DEe(e.sourceFile, e.program, e.span.start, e.preferences);
          if (!t)
            return;
          const n = cn.ChangeTracker.with(e, (i) => EEe(i, e.sourceFile, t));
          return [Os(tue, n, p.Convert_require_to_import, tue, p.Convert_all_require_to_import)];
        },
        fixIds: [tue],
        getAllCodeActions: (e) => Ga(e, CEe, (t, n) => {
          const i = DEe(n.file, e.program, n.start, e.preferences);
          i && EEe(t, e.sourceFile, i);
        })
      });
      function EEe(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*/
            false,
            s,
            N.createExternalModuleReference(_)
          ) : N.createImportDeclaration(
            /*modifiers*/
            void 0,
            N.createImportClause(
              /*phaseModifier*/
              void 0,
              s,
              o
            ),
            _,
            /*attributes*/
            void 0
          )
        );
      }
      function DEe(e, t, n, i) {
        const { parent: s } = vi(e, n);
        v_(
          s,
          /*requireStringLiteralLikeArgument*/
          true
        ) || E.failBadSyntaxKind(s);
        const o = Ws(s.parent, ei), c = of(e, i), _ = Bn(o.name, Me), u = Nf(o.name) ? XGe(o.name) : void 0;
        if (_ || u) {
          const g = ka(s.arguments);
          return {
            allowSyntheticDefaults: kx(t.getCompilerOptions()),
            defaultImportName: _,
            namedImports: u,
            statement: Ws(o.parent.parent, Pc),
            moduleSpecifier: mS(g) ? N.createStringLiteral(
              g.text,
              c === 0
              /* Single */
            ) : g
          };
        }
      }
      function XGe(e) {
        const t = [];
        for (const n of e.elements) {
          if (!Me(n.name) || n.initializer)
            return;
          t.push(N.createImportSpecifier(
            /*isTypeOnly*/
            false,
            Bn(n.propertyName, Me),
            n.name
          ));
        }
        if (t.length)
          return N.createNamedImports(t);
      }
      var rue = "useDefaultImport", wEe = [p.Import_may_be_converted_to_a_default_import.code];
      Xs({
        errorCodes: wEe,
        getCodeActions(e) {
          const { sourceFile: t, span: { start: n } } = e, i = PEe(t, n);
          if (!i) return;
          const s = cn.ChangeTracker.with(e, (o) => NEe(o, t, i, e.preferences));
          return [Os(rue, s, p.Convert_to_default_import, rue, p.Convert_all_to_default_imports)];
        },
        fixIds: [rue],
        getAllCodeActions: (e) => Ga(e, wEe, (t, n) => {
          const i = PEe(n.file, n.start);
          i && NEe(t, n.file, i, e.preferences);
        })
      });
      function PEe(e, t) {
        const n = vi(e, t);
        if (!Me(n)) return;
        const { parent: i } = n;
        if (cl(i) && xh(i.moduleReference))
          return { importNode: i, name: n, moduleSpecifier: i.moduleReference.expression };
        if (jg(i) && Wo(i.parent.parent)) {
          const s = i.parent.parent;
          return { importNode: s, name: n, moduleSpecifier: s.moduleSpecifier };
        }
      }
      function NEe(e, t, n, i) {
        e.replaceNode(t, n.importNode, Yy(
          n.name,
          /*namedImports*/
          void 0,
          n.moduleSpecifier,
          of(t, i)
        ));
      }
      var nue = "useBigintLiteral", AEe = [
        p.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers.code
      ];
      Xs({
        errorCodes: AEe,
        getCodeActions: function(t) {
          const n = cn.ChangeTracker.with(t, (i) => IEe(i, t.sourceFile, t.span));
          if (n.length > 0)
            return [Os(nue, n, p.Convert_to_a_bigint_numeric_literal, nue, p.Convert_all_to_bigint_numeric_literals)];
        },
        fixIds: [nue],
        getAllCodeActions: (e) => Ga(e, AEe, (t, n) => IEe(t, n.file, n))
      });
      function IEe(e, t, n) {
        const i = Bn(vi(t, n.start), T_);
        if (!i)
          return;
        const s = i.getText(t) + "n";
        e.replaceNode(t, i, N.createBigIntLiteral(s));
      }
      var QGe = "fixAddModuleReferTypeMissingTypeof", iue = QGe, FEe = [p.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code];
      Xs({
        errorCodes: FEe,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = OEe(n, i.start), o = cn.ChangeTracker.with(t, (c) => LEe(c, n, s));
          return [Os(iue, o, p.Add_missing_typeof, iue, p.Add_missing_typeof)];
        },
        fixIds: [iue],
        getAllCodeActions: (e) => Ga(e, FEe, (t, n) => LEe(t, e.sourceFile, OEe(n.file, n.start)))
      });
      function OEe(e, t) {
        const n = vi(e, t);
        return E.assert(n.kind === 102, "This token should be an ImportKeyword"), E.assert(n.parent.kind === 206, "Token parent should be an ImportType"), n.parent;
      }
      function LEe(e, t, n) {
        const i = N.updateImportTypeNode(
          n,
          n.argument,
          n.attributes,
          n.qualifier,
          n.typeArguments,
          /*isTypeOf*/
          true
        );
        e.replaceNode(t, n, i);
      }
      var sue = "wrapJsxInFragment", MEe = [p.JSX_expressions_must_have_one_parent_element.code];
      Xs({
        errorCodes: MEe,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = REe(n, i.start);
          if (!s) return;
          const o = cn.ChangeTracker.with(t, (c) => jEe(c, n, s));
          return [Os(sue, o, p.Wrap_in_JSX_fragment, sue, p.Wrap_all_unparented_JSX_in_JSX_fragment)];
        },
        fixIds: [sue],
        getAllCodeActions: (e) => Ga(e, MEe, (t, n) => {
          const i = REe(e.sourceFile, n.start);
          i && jEe(t, e.sourceFile, i);
        })
      });
      function REe(e, t) {
        let s = vi(e, t).parent.parent;
        if (!(!_n(s) && (s = s.parent, !_n(s))) && ac(s.operatorToken))
          return s;
      }
      function jEe(e, t, n) {
        const i = YGe(n);
        i && e.replaceNode(t, n, N.createJsxFragment(N.createJsxOpeningFragment(), i, N.createJsxJsxClosingFragment()));
      }
      function YGe(e) {
        const t = [];
        let n = e;
        for (; ; )
          if (_n(n) && ac(n.operatorToken) && n.operatorToken.kind === 28) {
            if (t.push(n.left), p3(n.right))
              return t.push(n.right), t;
            if (_n(n.right)) {
              n = n.right;
              continue;
            } else return;
          } else return;
      }
      var aue = "wrapDecoratorInParentheses", BEe = [p.Expression_must_be_enclosed_in_parentheses_to_be_used_as_a_decorator.code];
      Xs({
        errorCodes: BEe,
        getCodeActions: function(t) {
          const n = cn.ChangeTracker.with(t, (i) => JEe(i, t.sourceFile, t.span.start));
          return [Os(aue, n, p.Wrap_in_parentheses, aue, p.Wrap_all_invalid_decorator_expressions_in_parentheses)];
        },
        fixIds: [aue],
        getAllCodeActions: (e) => Ga(e, BEe, (t, n) => JEe(t, n.file, n.start))
      });
      function JEe(e, t, n) {
        const i = vi(t, n), s = dr(i, ol);
        E.assert(!!s, "Expected position to be owned by a decorator.");
        const o = N.createParenthesizedExpression(s.expression);
        e.replaceNode(t, s.expression, o);
      }
      var oue = "fixConvertToMappedObjectType", zEe = [p.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead.code];
      Xs({
        errorCodes: zEe,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i } = t, s = WEe(n, i.start);
          if (!s) return;
          const o = cn.ChangeTracker.with(t, (_) => UEe(_, n, s)), c = An(s.container.name);
          return [Os(oue, o, [p.Convert_0_to_mapped_object_type, c], oue, [p.Convert_0_to_mapped_object_type, c])];
        },
        fixIds: [oue],
        getAllCodeActions: (e) => Ga(e, zEe, (t, n) => {
          const i = WEe(n.file, n.start);
          i && UEe(t, n.file, i);
        })
      });
      function WEe(e, t) {
        const n = vi(e, t), i = Bn(n.parent.parent, Jy);
        if (!i) return;
        const s = Jl(i.parent) ? i.parent : Bn(i.parent.parent, jp);
        if (s)
          return { indexSignature: i, container: s };
      }
      function ZGe(e, t) {
        return N.createTypeAliasDeclaration(e.modifiers, e.name, e.typeParameters, t);
      }
      function UEe(e, t, { indexSignature: n, container: i }) {
        const o = (Jl(i) ? i.members : i.type.members).filter((m) => !Jy(m)), c = ka(n.parameters), _ = N.createTypeParameterDeclaration(
          /*modifiers*/
          void 0,
          Ws(c.name, Me),
          c.type
        ), u = N.createMappedTypeNode(
          lS(n) ? N.createModifier(
            148
            /* ReadonlyKeyword */
          ) : void 0,
          _,
          /*nameType*/
          void 0,
          n.questionToken,
          n.type,
          /*members*/
          void 0
        ), g = N.createIntersectionTypeNode([
          ...U4(i),
          u,
          ...o.length ? [N.createTypeLiteralNode(o)] : Ge
        ]);
        e.replaceNode(t, i, ZGe(i, g));
      }
      var VEe = "removeAccidentalCallParentheses", KGe = [
        p.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without.code
      ];
      Xs({
        errorCodes: KGe,
        getCodeActions(e) {
          const t = dr(vi(e.sourceFile, e.span.start), ws);
          if (!t)
            return;
          const n = cn.ChangeTracker.with(e, (i) => {
            i.deleteRange(e.sourceFile, { pos: t.expression.end, end: t.end });
          });
          return [Od(VEe, n, p.Remove_parentheses)];
        },
        fixIds: [VEe]
      });
      var cue = "removeUnnecessaryAwait", qEe = [
        p.await_has_no_effect_on_the_type_of_this_expression.code
      ];
      Xs({
        errorCodes: qEe,
        getCodeActions: function(t) {
          const n = cn.ChangeTracker.with(t, (i) => HEe(i, t.sourceFile, t.span));
          if (n.length > 0)
            return [Os(cue, n, p.Remove_unnecessary_await, cue, p.Remove_all_unnecessary_uses_of_await)];
        },
        fixIds: [cue],
        getAllCodeActions: (e) => Ga(e, qEe, (t, n) => HEe(t, n.file, n))
      });
      function HEe(e, t, n) {
        const i = Bn(
          vi(t, n.start),
          (_) => _.kind === 135
          /* AwaitKeyword */
        ), s = i && Bn(i.parent, zy);
        if (!s)
          return;
        let o = s;
        if (n_(s.parent)) {
          const _ = ZC(
            s.expression,
            /*stopAtCallExpressions*/
            false
          );
          if (Me(_)) {
            const u = ul(s.parent.pos, t);
            u && u.kind !== 105 && (o = s.parent);
          }
        }
        e.replaceNode(t, o, s.expression);
      }
      var GEe = [p.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code], lue = "splitTypeOnlyImport";
      Xs({
        errorCodes: GEe,
        fixIds: [lue],
        getCodeActions: function(t) {
          const n = cn.ChangeTracker.with(t, (i) => XEe(i, $Ee(t.sourceFile, t.span), t));
          if (n.length)
            return [Os(lue, n, p.Split_into_two_separate_import_declarations, lue, p.Split_all_invalid_type_only_imports)];
        },
        getAllCodeActions: (e) => Ga(e, GEe, (t, n) => {
          XEe(t, $Ee(e.sourceFile, n), e);
        })
      });
      function $Ee(e, t) {
        return dr(vi(e, t.start), Wo);
      }
      function XEe(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.phaseModifier,
              i.name,
              /*namedBindings*/
              void 0
            ),
            t.moduleSpecifier,
            t.attributes
          )
        ), e.insertNodeAfter(
          n.sourceFile,
          t,
          N.createImportDeclaration(
            /*modifiers*/
            void 0,
            N.updateImportClause(
              i,
              i.phaseModifier,
              /*name*/
              void 0,
              i.namedBindings
            ),
            t.moduleSpecifier,
            t.attributes
          )
        );
      }
      var uue = "fixConvertConstToLet", QEe = [p.Cannot_assign_to_0_because_it_is_a_constant.code];
      Xs({
        errorCodes: QEe,
        getCodeActions: function(t) {
          const { sourceFile: n, span: i, program: s } = t, o = YEe(n, i.start, s);
          if (o === void 0) return;
          const c = cn.ChangeTracker.with(t, (_) => ZEe(_, n, o.token));
          return [Sce(uue, c, p.Convert_const_to_let, uue, p.Convert_all_const_to_let)];
        },
        getAllCodeActions: (e) => {
          const { program: t } = e, n = /* @__PURE__ */ new Set();
          return _k(cn.ChangeTracker.with(e, (i) => {
            fk(e, QEe, (s) => {
              const o = YEe(s.file, s.start, t);
              if (o && Mp(n, $s(o.symbol)))
                return ZEe(i, s.file, o.token);
            });
          }));
        },
        fixIds: [uue]
      });
      function YEe(e, t, n) {
        var i;
        const o = n.getTypeChecker().getSymbolAtLocation(vi(e, t));
        if (o === void 0) return;
        const c = Bn((i = o?.valueDeclaration) == null ? void 0 : i.parent, Bl);
        if (c === void 0) return;
        const _ = $a(c, 87, e);
        if (_ !== void 0)
          return { symbol: o, token: _ };
      }
      function ZEe(e, t, n) {
        e.replaceNode(t, n, N.createToken(
          121
          /* LetKeyword */
        ));
      }
      var _ue = "fixExpectedComma", e$e = p._0_expected.code, KEe = [e$e];
      Xs({
        errorCodes: KEe,
        getCodeActions(e) {
          const { sourceFile: t } = e, n = e4e(t, e.span.start, e.errorCode);
          if (!n) return;
          const i = cn.ChangeTracker.with(e, (s) => t4e(s, t, n));
          return [Os(
            _ue,
            i,
            [p.Change_0_to_1, ";", ","],
            _ue,
            [p.Change_0_to_1, ";", ","]
          )];
        },
        fixIds: [_ue],
        getAllCodeActions: (e) => Ga(e, KEe, (t, n) => {
          const i = e4e(n.file, n.start, n.code);
          i && t4e(t, e.sourceFile, i);
        })
      });
      function e4e(e, t, n) {
        const i = vi(e, t);
        return i.kind === 27 && i.parent && (ua(i.parent) || Kl(i.parent)) ? { node: i } : void 0;
      }
      function t4e(e, t, { node: n }) {
        const i = N.createToken(
          28
          /* CommaToken */
        );
        e.replaceNode(t, n, i);
      }
      var t$e = "addVoidToPromise", r4e = "addVoidToPromise", n4e = [
        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
      ];
      Xs({
        errorCodes: n4e,
        fixIds: [r4e],
        getCodeActions(e) {
          const t = cn.ChangeTracker.with(e, (n) => i4e(n, e.sourceFile, e.span, e.program));
          if (t.length > 0)
            return [Os(t$e, t, p.Add_void_to_Promise_resolved_without_a_value, r4e, p.Add_void_to_all_Promises_resolved_without_a_value)];
        },
        getAllCodeActions(e) {
          return Ga(e, n4e, (t, n) => i4e(t, n.file, n, e.program, /* @__PURE__ */ new Set()));
        }
      });
      function i4e(e, t, n, i, s) {
        const o = vi(t, n.start);
        if (!Me(o) || !ws(o.parent) || o.parent.expression !== o || o.parent.arguments.length !== 0) return;
        const c = i.getTypeChecker(), _ = c.getSymbolAtLocation(o), u = _?.valueDeclaration;
        if (!u || !Ii(u) || !Ub(u.parent.parent) || s?.has(u)) return;
        s?.add(u);
        const g = r$e(u.parent.parent);
        if (ot(g)) {
          const m = g[0], h = !b0(m) && !hS(m) && hS(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);
          an(u) ? (!S || S.flags & 3) && (e.insertText(t, u.parent.parent.end, ")"), e.insertText(t, aa(t.text, u.parent.parent.pos), "/** @type {Promise<void>} */(")) : (!S || S.flags & 2) && e.insertText(t, u.parent.parent.expression.end, "<void>");
        }
      }
      function r$e(e) {
        var t;
        if (an(e)) {
          if (n_(e.parent)) {
            const n = (t = M1(e.parent)) == null ? void 0 : t.typeExpression.type;
            if (n && rf(n) && Me(n.typeName) && An(n.typeName) === "Promise")
              return n.typeArguments;
          }
        } else
          return e.typeArguments;
      }
      var mk = {};
      Ec(mk, {
        CompletionKind: () => S4e,
        CompletionSource: () => a4e,
        SortText: () => pu,
        StringCompletions: () => WH,
        SymbolOriginInfoKind: () => o4e,
        createCompletionDetails: () => kL,
        createCompletionDetailsForSymbol: () => bue,
        getCompletionEntriesFromSymbols: () => yue,
        getCompletionEntryDetails: () => F$e,
        getCompletionEntrySymbol: () => L$e,
        getCompletionsAtPosition: () => u$e,
        getDefaultCommitCharacters: () => JS,
        getPropertiesForObjectExpression: () => BH,
        moduleSpecifierResolutionCacheAttemptLimit: () => s4e,
        moduleSpecifierResolutionLimit: () => fue
      });
      var fue = 100, s4e = 1e3, pu = {
        // 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";
        }
      }, Tm = [".", ",", ";"], AH = [".", ";"], a4e = /* @__PURE__ */ ((e) => (e.ThisProperty = "ThisProperty/", e.ClassMemberSnippet = "ClassMemberSnippet/", e.TypeOnlyAlias = "TypeOnlyAlias/", e.ObjectLiteralMethodSnippet = "ObjectLiteralMethodSnippet/", e.SwitchCases = "SwitchCases/", e.ObjectLiteralMemberWithComma = "ObjectLiteralMemberWithComma/", e))(a4e || {}), o4e = /* @__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))(o4e || {});
      function n$e(e) {
        return !!(e.kind & 1);
      }
      function i$e(e) {
        return !!(e.kind & 2);
      }
      function TL(e) {
        return !!(e && e.kind & 4);
      }
      function Fw(e) {
        return !!(e && e.kind === 32);
      }
      function s$e(e) {
        return TL(e) || Fw(e) || pue(e);
      }
      function a$e(e) {
        return (TL(e) || Fw(e)) && !!e.isFromPackageJson;
      }
      function o$e(e) {
        return !!(e.kind & 8);
      }
      function c$e(e) {
        return !!(e.kind & 16);
      }
      function c4e(e) {
        return !!(e && e.kind & 64);
      }
      function l4e(e) {
        return !!(e && e.kind & 128);
      }
      function l$e(e) {
        return !!(e && e.kind & 256);
      }
      function pue(e) {
        return !!(e && e.kind & 512);
      }
      function u4e(e, t, n, i, s, o, c, _, u) {
        var g, m, h, S;
        const T = no(), k = c || _N(i.getCompilerOptions()) || ((g = o.autoImportSpecifierExcludeRegexes) == null ? void 0 : g.length);
        let D = false, P = 0, A = 0, O = 0, F = 0;
        const R = u({
          tryResolve: U,
          skippedAny: () => D,
          resolvedAny: () => A > 0,
          resolvedBeyondLimit: () => A > fue
        }), B = F ? ` (${(O / F * 100).toFixed(1)}% hit rate)` : "";
        return (m = t.log) == null || m.call(t, `${e}: resolved ${A} module specifiers, plus ${P} ambient and ${O} from cache${B}`), (h = t.log) == null || h.call(t, `${e}: response is ${D ? "incomplete" : "complete"}`), (S = t.log) == null || S.call(t, `${e}: ${no() - T}`), R;
        function U($, W) {
          if (W) {
            const ae = n.getModuleSpecifierForBestExportInfo($, s, _);
            return ae && P++, ae || "failed";
          }
          const _e = k || o.allowIncompleteCompletions && A < fue, K = !_e && o.allowIncompleteCompletions && F < s4e, V = _e || K ? n.getModuleSpecifierForBestExportInfo($, s, _, K) : void 0;
          return (!_e && !K || K && !V) && (D = true), A += V?.computedWithoutCacheCount || 0, O += $.length - (V?.computedWithoutCacheCount || 0), K && F++, V || (k ? "failed" : "skipped");
        }
      }
      function JS(e) {
        return e ? [] : Tm;
      }
      function u$e(e, t, n, i, s, o, c, _, u, g, m = false) {
        var h;
        const { previousToken: S } = LH(s, i);
        if (c && !ik(i, s, S) && !H$e(i, c, S, s))
          return;
        if (c === " ")
          return o.includeCompletionsForImportStatements && o.includeCompletionsWithInsertText ? {
            isGlobalCompletion: true,
            isMemberCompletion: false,
            isNewIdentifierLocation: true,
            isIncomplete: true,
            entries: [],
            defaultCommitCharacters: JS(
              /*isNewIdentifierLocation*/
              true
            )
          } : 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 && Me(S)) {
          const O = _$e(D, i, S, t, e, o, u, s);
          if (O)
            return O;
        } else
          D?.clear();
        const P = WH.getStringLiteralCompletions(i, s, S, T, e, t, n, o, m);
        if (P)
          return P;
        if (S && b4(S.parent) && (S.kind === 83 || S.kind === 88 || S.kind === 80))
          return A$e(S.parent);
        const A = T4e(
          t,
          n,
          i,
          T,
          s,
          o,
          /*detailsEntryId*/
          void 0,
          e,
          g,
          u
        );
        if (A)
          switch (A.kind) {
            case 0:
              const O = g$e(i, e, t, T, n, A, o, g, s, m);
              return O?.isIncomplete && D?.set(O), O;
            case 1:
              return due([
                ...Sv.getJSDocTagNameCompletions(),
                ...f4e(
                  i,
                  s,
                  k,
                  T,
                  o,
                  /*tagNameOnly*/
                  true
                )
              ]);
            case 2:
              return due([
                ...Sv.getJSDocTagCompletions(),
                ...f4e(
                  i,
                  s,
                  k,
                  T,
                  o,
                  /*tagNameOnly*/
                  false
                )
              ]);
            case 3:
              return due(Sv.getJSDocParameterNameCompletions(A.tag));
            case 4:
              return d$e(A.keywordCompletions, A.isNewIdentifierLocation);
            default:
              return E.assertNever(A);
          }
      }
      function xL(e, t) {
        var n, i;
        let s = BP(e.sortText, t.sortText);
        return s === 0 && (s = BP(e.name, t.name)), s === 0 && ((n = e.data) != null && n.moduleSpecifier) && ((i = t.data) != null && i.moduleSpecifier) && (s = yN(
          e.data.moduleSpecifier,
          t.data.moduleSpecifier
        )), s === 0 ? -1 : s;
      }
      function _4e(e) {
        return !!e?.moduleSpecifier;
      }
      function _$e(e, t, n, i, s, o, c, _) {
        const u = e.get();
        if (!u) return;
        const g = k_(t, _), m = n.text.toLowerCase(), h = tA(t, s, i, o, c), S = u4e(
          "continuePreviousIncompleteResponse",
          s,
          Nu.createImportSpecifierResolver(t, i, s, o),
          i,
          n.getStart(),
          o,
          /*isForImportStatementCompletion*/
          false,
          $1(n),
          (T) => {
            const k = Fi(u.entries, (D) => {
              var P;
              if (!D.hasAction || !D.source || !D.data || _4e(D.data))
                return D;
              if (!R4e(D.name, m))
                return;
              const { origin: A } = E.checkDefined(x4e(D.name, D.data, i, s)), O = h.get(t.path, D.data.exportMapKey), F = O && T.tryResolve(O, !xl(Lp(A.moduleSymbol.name)));
              if (F === "skipped") return D;
              if (!F || F === "failed") {
                (P = s.log) == null || P.call(s, `Unexpected failure resolving auto import for '${D.name}' from '${D.source}'`);
                return;
              }
              const R = {
                ...A,
                kind: 32,
                moduleSpecifier: F.moduleSpecifier
              };
              return D.data = v4e(R), D.source = hue(R), D.sourceDisplay = [Lf(R.moduleSpecifier)], D;
            });
            return T.skippedAny() || (u.isIncomplete = void 0), k;
          }
        );
        return u.entries = S, u.flags = (u.flags || 0) | 4, u.optionalReplacementSpan = m4e(g), u;
      }
      function due(e) {
        return {
          isGlobalCompletion: false,
          isMemberCompletion: false,
          isNewIdentifierLocation: false,
          entries: e,
          defaultCommitCharacters: JS(
            /*isNewIdentifierLocation*/
            false
          )
        };
      }
      function f4e(e, t, n, i, s, o) {
        const c = vi(e, t);
        if (!PC(c) && !Nd(c))
          return [];
        const _ = Nd(c) ? c : c.parent;
        if (!Nd(_))
          return [];
        const u = _.parent;
        if (!Cs(u))
          return [];
        const g = Ku(e), m = s.includeCompletionsWithSnippetText || void 0, h = i0(_.tags, (S) => Af(S) && S.getEnd() <= t);
        return Fi(u.parameters, (S) => {
          if (!xC(S).length) {
            if (Me(S.name)) {
              const T = { tabstop: 1 }, k = S.name.text;
              let D = hA(
                k,
                S.initializer,
                S.dotDotDotToken,
                g,
                /*isObject*/
                false,
                /*isSnippet*/
                false,
                n,
                i,
                s
              ), P = m ? hA(
                k,
                S.initializer,
                S.dotDotDotToken,
                g,
                /*isObject*/
                false,
                /*isSnippet*/
                true,
                n,
                i,
                s,
                T
              ) : void 0;
              return o && (D = D.slice(1), P && (P = P.slice(1))), {
                name: D,
                kind: "parameter",
                sortText: pu.LocationPriority,
                insertText: m ? P : void 0,
                isSnippet: m
              };
            } else if (S.parent.parameters.indexOf(S) === h) {
              const T = `param${h}`, k = p4e(
                T,
                S.name,
                S.initializer,
                S.dotDotDotToken,
                g,
                /*isSnippet*/
                false,
                n,
                i,
                s
              ), D = m ? p4e(
                T,
                S.name,
                S.initializer,
                S.dotDotDotToken,
                g,
                /*isSnippet*/
                true,
                n,
                i,
                s
              ) : void 0;
              let P = k.join(d0(i) + "* "), A = D?.join(d0(i) + "* ");
              return o && (P = P.slice(1), A && (A = A.slice(1))), {
                name: P,
                kind: "parameter",
                sortText: pu.LocationPriority,
                insertText: m ? A : void 0,
                isSnippet: m
              };
            }
          }
        });
      }
      function p4e(e, t, n, i, s, o, c, _, u) {
        if (!s)
          return [
            hA(
              e,
              n,
              i,
              s,
              /*isObject*/
              false,
              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 = hA(
              h,
              T,
              k,
              s,
              /*isObject*/
              true,
              o,
              c,
              _,
              u,
              A
            );
            let F = [];
            for (const R of S.elements) {
              const B = m(h, R, A);
              if (B)
                F.push(...B);
              else {
                F = void 0;
                break;
              }
            }
            if (F)
              return D.tabstop = A.tabstop, [O, ...F];
          }
          return [
            hA(
              h,
              T,
              k,
              s,
              /*isObject*/
              false,
              o,
              c,
              _,
              u,
              D
            )
          ];
        }
        function m(h, S, T) {
          if (!S.propertyName && Me(S.name) || Me(S.name)) {
            const k = S.propertyName ? N4(S.propertyName) : S.name.text;
            if (!k)
              return;
            const D = `${h}.${k}`;
            return [
              hA(
                D,
                S.initializer,
                S.dotDotDotToken,
                s,
                /*isObject*/
                false,
                o,
                c,
                _,
                u,
                T
              )
            ];
          } else if (S.propertyName) {
            const k = N4(S.propertyName);
            return k && g(`${h}.${k}`, S.name, S.initializer, S.dotDotDotToken, T);
          }
        }
      }
      function hA(e, t, n, i, s, o, c, _, u, g) {
        if (o && E.assertIsDefined(g), t && (e = f$e(e, t)), o && (e = jb(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(), P = of(k, u) === 0 ? 268435456 : 0, A = c.typeToTypeNode(T, dr(t, Cs), P);
                if (A) {
                  const O = o ? OH({
                    removeComments: true,
                    module: _.module,
                    moduleResolution: _.moduleResolution,
                    target: _.target
                  }) : $y({
                    removeComments: true,
                    module: _.module,
                    moduleResolution: _.moduleResolution,
                    target: _.target
                  });
                  un(
                    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 f$e(e, t) {
        const n = t.getText().trim();
        return n.includes(`
`) || n.length > 80 ? `[${e}]` : `[${e}=${n}]`;
      }
      function p$e(e) {
        return {
          name: Vs(e),
          kind: "keyword",
          kindModifiers: "",
          sortText: pu.GlobalsOrKeywords
        };
      }
      function d$e(e, t) {
        return {
          isGlobalCompletion: false,
          isMemberCompletion: false,
          isNewIdentifierLocation: t,
          entries: e.slice(),
          defaultCommitCharacters: JS(t)
        };
      }
      function d4e(e, t, n) {
        return {
          kind: 4,
          keywordCompletions: C4e(e, t),
          isNewIdentifierLocation: n
        };
      }
      function m$e(e) {
        switch (e) {
          case 156:
            return 8;
          default:
            E.fail("Unknown mapping from SyntaxKind to KeywordCompletionFilters");
        }
      }
      function m4e(e) {
        return e?.kind === 80 ? a_(e) : void 0;
      }
      function g$e(e, t, n, i, s, o, c, _, u, g) {
        const {
          symbols: m,
          contextToken: h,
          completionKind: S,
          isInSnippetScope: T,
          isNewIdentifierLocation: k,
          location: D,
          propertyAccessToConvert: P,
          keywordFilters: A,
          symbolToOriginInfoMap: O,
          recommendedCompletion: F,
          isJsxInitializer: R,
          isTypeOnlyLocation: B,
          isJsxIdentifierExpected: U,
          isRightOfOpenTag: $,
          isRightOfDotOrQuestionDot: W,
          importStatementCompletion: _e,
          insideJsDocTagTypeExpression: K,
          symbolToSortTextMap: V,
          hasUnresolvedAutoImports: ae,
          defaultCommitCharacters: se
        } = o;
        let ce = o.literals;
        const fe = n.getTypeChecker();
        if (lN(e.scriptKind) === 1) {
          const Z = y$e(D, e);
          if (Z)
            return Z;
        }
        const he = dr(h, p6);
        if (he && (Fte(h) || wb(h, he.expression))) {
          const Z = G9(fe, he.parent.clauses);
          ce = ce.filter((pe) => !Z.hasValue(pe)), m.forEach((pe, Te) => {
            if (pe.valueDeclaration && kh(pe.valueDeclaration)) {
              const Fe = fe.getConstantValue(pe.valueDeclaration);
              Fe !== void 0 && Z.hasValue(Fe) && (O[Te] = {
                kind: 256
                /* Ignore */
              });
            }
          });
        }
        const q = DR(), be = g4e(e, i);
        if (be && !k && (!m || m.length === 0) && A === 0)
          return;
        const je = yue(
          m,
          q,
          /*replacementToken*/
          void 0,
          h,
          D,
          u,
          e,
          t,
          n,
          pa(i),
          s,
          S,
          c,
          i,
          _,
          B,
          P,
          U,
          R,
          _e,
          F,
          O,
          V,
          U,
          $,
          g
        );
        if (A !== 0)
          for (const Z of C4e(A, !K && Ku(e)))
            (B && mw(U2(Z.name)) || !B && tXe(Z.name) || !je.has(Z.name)) && (je.add(Z.name), ay(
              q,
              Z,
              xL,
              /*equalityComparer*/
              void 0,
              /*allowDuplicates*/
              true
            ));
        for (const Z of z$e(h, u))
          je.has(Z.name) || (je.add(Z.name), ay(
            q,
            Z,
            xL,
            /*equalityComparer*/
            void 0,
            /*allowDuplicates*/
            true
          ));
        for (const Z of ce) {
          const pe = b$e(e, c, Z);
          je.add(pe.name), ay(
            q,
            pe,
            xL,
            /*equalityComparer*/
            void 0,
            /*allowDuplicates*/
            true
          );
        }
        be || v$e(e, D.pos, je, pa(i), q);
        let me;
        if (c.includeCompletionsWithInsertText && h && !$ && !W && (me = dr(h, AD))) {
          const Z = h4e(me, e, c, i, t, n, _);
          Z && q.push(Z.entry);
        }
        return {
          flags: o.flags,
          isGlobalCompletion: T,
          isIncomplete: c.allowIncompleteCompletions && ae ? true : void 0,
          isMemberCompletion: h$e(S),
          isNewIdentifierLocation: k,
          optionalReplacementSpan: m4e(D),
          entries: q,
          defaultCommitCharacters: se ?? JS(k)
        };
      }
      function g4e(e, t) {
        return !Ku(e) || !!_D(e, t);
      }
      function h4e(e, t, n, i, s, o, c) {
        const _ = e.clauses, u = o.getTypeChecker(), g = u.getTypeAtLocation(e.parent.expression);
        if (g && g.isUnion() && Ni(g.types, (m) => m.isLiteral())) {
          const m = G9(u, _), h = pa(i), S = of(t, n), T = Nu.createImportAdder(t, o, n, s), k = [];
          for (const B of g.types)
            if (B.flags & 1024) {
              E.assert(B.symbol, "An enum member type should have a symbol"), E.assert(B.symbol.parent, "An enum member type should have a parent symbol (the enum symbol)");
              const U = B.symbol.valueDeclaration && u.getConstantValue(B.symbol.valueDeclaration);
              if (U !== void 0) {
                if (m.hasValue(U))
                  continue;
                m.addValue(U);
              }
              const $ = Nu.typeToAutoImportableTypeNode(u, T, B, e, h);
              if (!$)
                return;
              const W = IH($, h, S);
              if (!W)
                return;
              k.push(W);
            } else if (!m.hasValue(B.value))
              switch (typeof B.value) {
                case "object":
                  k.push(B.value.negative ? N.createPrefixUnaryExpression(41, N.createBigIntLiteral({ negative: false, base10Value: B.value.base10Value })) : N.createBigIntLiteral(B.value));
                  break;
                case "number":
                  k.push(B.value < 0 ? N.createPrefixUnaryExpression(41, N.createNumericLiteral(-B.value)) : N.createNumericLiteral(B.value));
                  break;
                case "string":
                  k.push(N.createStringLiteral(
                    B.value,
                    S === 0
                    /* Single */
                  ));
                  break;
              }
          if (k.length === 0)
            return;
          const D = hr(k, (B) => N.createCaseClause(B, [])), P = wh(s, c?.options), A = OH({
            removeComments: true,
            module: i.module,
            moduleResolution: i.moduleResolution,
            target: i.target,
            newLine: eA(P)
          }), O = c ? (B) => A.printAndFormatNode(4, B, t, c) : (B) => A.printNode(4, B, t), F = hr(D, (B, U) => n.includeCompletionsWithSnippetText ? `${O(B)}$${U + 1}` : `${O(B)}`).join(P);
          return {
            entry: {
              name: `${A.printNode(4, D[0], t)} ...`,
              kind: "",
              sortText: pu.GlobalsOrKeywords,
              insertText: F,
              hasAction: T.hasFixes() || void 0,
              source: "SwitchCases/",
              isSnippet: n.includeCompletionsWithSnippetText ? true : void 0
            },
            importAdder: T
          };
        }
      }
      function IH(e, t, n) {
        switch (e.kind) {
          case 184:
            const i = e.typeName;
            return FH(i, t, n);
          case 200:
            const s = IH(e.objectType, t, n), o = IH(e.indexType, t, n);
            return s && o && N.createElementAccessExpression(s, o);
          case 202:
            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 197:
            const _ = IH(e.type, t, n);
            return _ && (Me(_) ? _ : N.createParenthesizedExpression(_));
          case 187:
            return FH(e.exprName, t, n);
          case 206:
            E.fail("We should not get an import type after calling 'codefix.typeToAutoImportableTypeNode'.");
        }
      }
      function FH(e, t, n) {
        if (Me(e))
          return e;
        const i = Si(e.right.escapedText);
        return JJ(i, t) ? N.createPropertyAccessExpression(
          FH(e.left, t, n),
          i
        ) : N.createElementAccessExpression(
          FH(e.left, t, n),
          N.createStringLiteral(
            i,
            n === 0
            /* Single */
          )
        );
      }
      function h$e(e) {
        switch (e) {
          case 0:
          case 3:
          case 2:
            return true;
          default:
            return false;
        }
      }
      function y$e(e, t) {
        const n = dr(e, (i) => {
          switch (i.kind) {
            case 288:
              return true;
            case 44:
            case 32:
            case 80:
            case 212:
              return false;
            default:
              return "quit";
          }
        });
        if (n) {
          const i = !!$a(n, 32, t), c = n.parent.openingElement.tagName.getText(t) + (i ? "" : ">"), _ = a_(n.tagName), u = {
            name: c,
            kind: "class",
            kindModifiers: void 0,
            sortText: pu.LocationPriority
          };
          return {
            isGlobalCompletion: false,
            isMemberCompletion: true,
            isNewIdentifierLocation: false,
            optionalReplacementSpan: _,
            entries: [u],
            defaultCommitCharacters: JS(
              /*isNewIdentifierLocation*/
              false
            )
          };
        }
      }
      function v$e(e, t, n, i, s) {
        tH(e).forEach((o, c) => {
          if (o === t)
            return;
          const _ = Si(c);
          !n.has(_) && F_(_, i) && (n.add(_), ay(s, {
            name: _,
            kind: "warning",
            kindModifiers: "",
            sortText: pu.JavascriptIdentifiers,
            isFromUncheckedFile: true,
            commitCharacters: []
          }, xL));
        });
      }
      function mue(e, t, n) {
        return typeof n == "object" ? Rb(n) + "n" : ms(n) ? Sw(e, t, n) : JSON.stringify(n);
      }
      function b$e(e, t, n) {
        return {
          name: mue(e, t, n),
          kind: "string",
          kindModifiers: "",
          sortText: pu.LocationPriority,
          commitCharacters: []
        };
      }
      function S$e(e, t, n, i, s, o, c, _, u, g, m, h, S, T, k, D, P, A, O, F, R, B, U, $) {
        var W, _e;
        let K, V, ae = LV(n, o), se, ce, fe = hue(h), he, q, be;
        const je = u.getTypeChecker(), me = h && c$e(h), Z = h && i$e(h) || m;
        if (h && n$e(h))
          K = m ? `this${me ? "?." : ""}[${gue(c, O, g)}]` : `this${me ? "?." : "."}${g}`;
        else if ((Z || me) && T) {
          K = Z ? m ? `[${gue(c, O, g)}]` : `[${g}]` : g, (me || T.questionDotToken) && (K = `?.${K}`);
          const Ye = $a(T, 25, c) || $a(T, 29, c);
          if (!Ye)
            return;
          const ne = Ui(g, T.name.text) ? T.name.end : Ye.end;
          ae = Dc(Ye.getStart(c), ne);
        }
        if (k && (K === void 0 && (K = g), K = `{${K}}`, typeof k != "boolean" && (ae = a_(k, c))), h && o$e(h) && T) {
          K === void 0 && (K = g);
          const Ye = ul(T.pos, c);
          let ne = "";
          Ye && j9(Ye.end, Ye.parent, c) && (ne = ";"), ne += `(await ${T.expression.getText()})`, K = m ? `${ne}${K}` : `${ne}${me ? "?." : "."}${K}`;
          const ie = Bn(T.parent, zy) ? T.parent : T.expression;
          ae = Dc(ie.getStart(c), T.end);
        }
        if (Fw(h) && (he = [Lf(h.moduleSpecifier)], D && ({ insertText: K, replacementSpan: ae } = P$e(g, D, h, P, c, u, O), ce = O.includeCompletionsWithSnippetText ? true : void 0)), h?.kind === 64 && (q = true), F === 0 && i && ((W = ul(i.pos, c, i)) == null ? void 0 : W.kind) !== 28 && (Ko(i.parent.parent) || lp(i.parent.parent) || R_(i.parent.parent) || Bg(i.parent) || ((_e = dr(i.parent, Kc)) == null ? void 0 : _e.getLastToken(c)) === i || fu(i.parent) && Rs(c, i.getEnd()).line !== Rs(c, o).line) && (fe = "ObjectLiteralMemberWithComma/", q = true), O.includeCompletionsWithClassMemberSnippets && O.includeCompletionsWithInsertText && F === 3 && x$e(e, s, c)) {
          let Ye;
          const ne = y4e(
            _,
            u,
            A,
            O,
            g,
            e,
            s,
            o,
            i,
            R
          );
          if (ne)
            ({ insertText: K, filterText: V, isSnippet: ce, importAdder: Ye } = ne), (Ye?.hasFixes() || ne.eraseRange) && (q = true, fe = "ClassMemberSnippet/");
          else
            return;
        }
        if (h && l4e(h) && ({ insertText: K, isSnippet: ce, labelDetails: be } = h, O.useLabelDetailsInCompletionEntries || (g = g + be.detail, be = void 0), fe = "ObjectLiteralMethodSnippet/", t = pu.SortBelow(t)), B && !U && O.includeCompletionsWithSnippetText && O.jsxAttributeCompletionStyle && O.jsxAttributeCompletionStyle !== "none" && !(ym(s.parent) && s.parent.initializer)) {
          let Ye = O.jsxAttributeCompletionStyle === "braces";
          const ne = je.getTypeOfSymbolAtLocation(e, s);
          O.jsxAttributeCompletionStyle === "auto" && !(ne.flags & 528) && !(ne.flags & 1048576 && Nn(ne.types, (Se) => !!(Se.flags & 528))) && (ne.flags & 402653316 || ne.flags & 1048576 && Ni(ne.types, (Se) => !!(Se.flags & 402686084 || oae(Se))) ? (K = `${jb(g)}=${Sw(c, O, "$1")}`, ce = true) : Ye = true), Ye && (K = `${jb(g)}={$1}`, ce = true);
        }
        if (K !== void 0 && !O.includeCompletionsWithInsertText)
          return;
        (TL(h) || Fw(h)) && (se = v4e(h), q = !D);
        const pe = dr(s, j5);
        if (pe) {
          const Ye = pa(_.getCompilationSettings());
          if (!F_(g, Ye))
            K = gue(c, O, g), pe.kind === 276 && (zl.setText(c.text), zl.resetTokenState(o), zl.scan() === 130 && zl.scan() === 80 || (K += " as " + T$e(g, Ye)));
          else if (pe.kind === 276) {
            const ne = U2(g);
            ne && (ne === 135 || MB(ne)) && (K = `${g} as ${g}_`);
          }
        }
        const Te = P0.getSymbolKind(je, e, s), Fe = Te === "warning" || Te === "string" ? [] : void 0;
        return {
          name: g,
          kind: Te,
          kindModifiers: P0.getSymbolModifiers(je, e),
          sortText: t,
          source: fe,
          hasAction: q ? true : void 0,
          isRecommended: N$e(e, S, je) || void 0,
          insertText: K,
          filterText: V,
          replacementSpan: ae,
          sourceDisplay: he,
          labelDetails: be,
          isSnippet: ce,
          isPackageJsonImport: a$e(h) || void 0,
          isImportStatementCompletion: !!D || void 0,
          data: se,
          commitCharacters: Fe,
          ...$ ? { symbol: e } : void 0
        };
      }
      function T$e(e, t) {
        let n = false, 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 ? Jm(s, t) : fh(s, t)) ? (n && (i += "_"), i += String.fromCodePoint(s), n = false) : n = true;
        return n && (i += "_"), i || "_";
      }
      function x$e(e, t, n) {
        return an(t) ? false : !!(e.flags & 106500) && ($n(t) || t.parent && t.parent.parent && Uc(t.parent) && t === t.parent.name && t.parent.getLastToken(n) === t.parent.name && $n(t.parent.parent) || t.parent && h6(t) && $n(t.parent));
      }
      function y4e(e, t, n, i, s, o, c, _, u, g) {
        const m = dr(c, $n);
        if (!m)
          return;
        let h, S = s;
        const T = s, k = t.getTypeChecker(), D = c.getSourceFile(), P = OH({
          removeComments: true,
          module: n.module,
          moduleResolution: n.moduleResolution,
          target: n.target,
          omitTrailingSemicolon: false,
          newLine: eA(wh(e, g?.options))
        }), A = Nu.createImportAdder(D, t, i, e);
        let O;
        if (i.includeCompletionsWithSnippetText) {
          h = true;
          const _e = N.createEmptyStatement();
          O = N.createBlock(
            [_e],
            /*multiLine*/
            true
          ), sz(_e, { kind: 0, order: 0 });
        } else
          O = N.createBlock(
            [],
            /*multiLine*/
            true
          );
        let F = 0;
        const { modifiers: R, range: B, decorators: U } = k$e(u, D, _), $ = R & 64 && m.modifierFlagsCache & 64;
        let W = [];
        if (Nu.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).
          (_e) => {
            let K = 0;
            $ && (K |= 64), Uc(_e) && k.getMemberOverrideModifierStatus(m, _e, o) === 1 && (K |= 16), W.length || (F = _e.modifierFlagsCache | K), _e = N.replaceModifiers(_e, F), W.push(_e);
          },
          O,
          Nu.PreserveOptionalFlags.Property,
          !!$
        ), W.length) {
          const _e = o.flags & 8192;
          let K = F | 16 | 1;
          _e ? K |= 1024 : K |= 136;
          const V = R & K;
          if (R & ~K)
            return;
          if (F & 4 && V & 1 && (F &= -5), V !== 0 && !(V & 1) && (F &= -2), F |= V, W = W.map((se) => N.replaceModifiers(se, F)), U?.length) {
            const se = W[W.length - 1];
            $b(se) && (W[W.length - 1] = N.replaceDecoratorsAndModifiers(se, U.concat(gb(se) || [])));
          }
          const ae = 131073;
          g ? S = P.printAndFormatSnippetList(
            ae,
            N.createNodeArray(W),
            D,
            g
          ) : S = P.printSnippetList(
            ae,
            N.createNodeArray(W),
            D
          );
        }
        return { insertText: S, filterText: T, isSnippet: h, importAdder: A, eraseRange: B };
      }
      function k$e(e, t, n) {
        if (!e || Rs(t, n).line > Rs(t, e.getEnd()).line)
          return {
            modifiers: 0
            /* None */
          };
        let i = 0, s, o;
        const c = { pos: n, end: n };
        if (as(e.parent) && (o = C$e(e))) {
          e.parent.modifiers && (i |= lm(e.parent.modifiers) & 98303, s = e.parent.modifiers.filter(ol) || [], c.pos = Math.min(...e.parent.modifiers.map((u) => u.getStart(t))));
          const _ = hx(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 C$e(e) {
        if (Ys(e))
          return e.kind;
        if (Me(e)) {
          const t = q2(e);
          if (t && Sy(t))
            return t;
        }
      }
      function E$e(e, t, n, i, s, o, c, _) {
        const u = c.includeCompletionsWithSnippetText || void 0;
        let g = t;
        const m = n.getSourceFile(), h = D$e(e, n, m, i, s, c);
        if (!h)
          return;
        const S = OH({
          removeComments: true,
          module: o.module,
          moduleResolution: o.moduleResolution,
          target: o.target,
          omitTrailingSemicolon: false,
          newLine: eA(wh(s, _?.options))
        });
        _ ? g = S.printAndFormatSnippetList(80, N.createNodeArray(
          [h],
          /*hasTrailingComma*/
          true
        ), m, _) : g = S.printSnippetList(80, N.createNodeArray(
          [h],
          /*hasTrailingComma*/
          true
        ), m);
        const T = $y({
          removeComments: true,
          module: o.module,
          moduleResolution: o.moduleResolution,
          target: o.target,
          omitTrailingSemicolon: true
        }), 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 D$e(e, t, n, i, s, o) {
        const c = e.getDeclarations();
        if (!(c && c.length))
          return;
        const _ = i.getTypeChecker(), u = c[0], g = Wa(
          us(u),
          /*includeTrivia*/
          false
        ), m = _.getWidenedType(_.getTypeOfSymbolAtLocation(e, t)), S = 33554432 | (of(n, o) === 0 ? 268435456 : 0);
        switch (u.kind) {
          case 172:
          case 173:
          case 174:
          case 175: {
            let T = m.flags & 1048576 && m.types.length < 10 ? _.getUnionType(
              m.types,
              2
              /* Subtype */
            ) : m;
            if (T.flags & 1048576) {
              const O = kn(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,
              Nu.getNoopSymbolTrackerWithResolver({ program: i, host: s })
            );
            if (!D || !$m(D))
              return;
            let P;
            if (o.includeCompletionsWithSnippetText) {
              const O = N.createEmptyStatement();
              P = N.createBlock(
                [O],
                /*multiLine*/
                true
              ), sz(O, { kind: 0, order: 0 });
            } else
              P = N.createBlock(
                [],
                /*multiLine*/
                true
              );
            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,
              P
            );
          }
          default:
            return;
        }
      }
      function OH(e) {
        let t;
        const n = cn.createWriter(d0(e)), i = $y(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 = jb(S);
          if (k !== S) {
            const D = n.getTextPos();
            T();
            const P = n.getTextPos();
            t = Er(t || (t = []), { newText: k, span: { start: D, length: P - D } });
          } else
            T();
        }
        function c(S, T, k) {
          const D = _(S, T, k);
          return t ? cn.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 P = {
            text: _(
              S,
              T,
              k
            ),
            getLineAndCharacterOfPosition(R) {
              return Rs(this, R);
            }
          }, A = H9(D, k), O = xa(T, (R) => {
            const B = cn.assignPositionsToNode(R);
            return el.formatNodeGivenIndentation(
              B,
              P,
              k.languageVariant,
              /* indentation */
              0,
              /* delta */
              0,
              { ...D, options: A }
            );
          }), F = t ? q_(Bi(O, t), (R, B) => XI(R.span, B.span)) : O;
          return cn.applyChanges(P.text, F);
        }
        function g(S, T, k) {
          const D = m(S, T, k);
          return t ? cn.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 P = {
            text: m(
              S,
              T,
              k
            ),
            getLineAndCharacterOfPosition(B) {
              return Rs(this, B);
            }
          }, A = H9(D, k), O = cn.assignPositionsToNode(T), F = el.formatNodeGivenIndentation(
            O,
            P,
            k.languageVariant,
            /* indentation */
            0,
            /* delta */
            0,
            { ...D, options: A }
          ), R = t ? q_(Bi(F, t), (B, U) => XI(B.span, U.span)) : F;
          return cn.applyChanges(P.text, R);
        }
      }
      function v4e(e) {
        const t = e.fileName ? void 0 : Lp(e.moduleSymbol.name), n = e.isFromPackageJson ? true : void 0;
        return Fw(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 : Lp(e.moduleSymbol.name),
          isPackageJsonImport: e.isFromPackageJson ? true : void 0
        };
      }
      function w$e(e, t, n) {
        const i = e.exportName === "default", s = !!e.isPackageJsonImport;
        return _4e(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 P$e(e, t, n, i, s, o, c) {
        const _ = t.replacementSpan, u = jb(Sw(s, c, n.moduleSpecifier)), g = n.isDefaultExport ? 1 : n.exportName === "export=" ? 2 : 0, m = c.includeCompletionsWithSnippetText ? "$1" : "", h = Nu.getImportKind(
          s,
          g,
          o,
          /*forceImportKeyword*/
          true
        ), S = t.couldBeTypeOnlyImportSpecifier, T = t.isTopLevelTypeOnly ? ` ${Vs(
          156
          /* TypeKeyword */
        )} ` : " ", k = S ? `${Vs(
          156
          /* TypeKeyword */
        )} ` : "", D = i ? ";" : "";
        switch (h) {
          case 3:
            return { replacementSpan: _, insertText: `import${T}${jb(e)}${m} = require(${u})${D}` };
          case 1:
            return { replacementSpan: _, insertText: `import${T}${jb(e)}${m} from ${u}${D}` };
          case 2:
            return { replacementSpan: _, insertText: `import${T}* as ${jb(e)} from ${u}${D}` };
          case 0:
            return { replacementSpan: _, insertText: `import${T}{ ${k}${jb(e)}${m} } from ${u}${D}` };
        }
      }
      function gue(e, t, n) {
        return /^\d+$/.test(n) ? n : Sw(e, t, n);
      }
      function N$e(e, t, n) {
        return e === t || !!(e.flags & 1048576) && n.getExportSymbolOfSymbol(e) === t;
      }
      function hue(e) {
        if (TL(e))
          return Lp(e.moduleSymbol.name);
        if (Fw(e))
          return e.moduleSpecifier;
        if (e?.kind === 1)
          return "ThisProperty/";
        if (e?.kind === 64)
          return "TypeOnlyAlias/";
      }
      function yue(e, t, n, i, s, o, c, _, u, g, m, h, S, T, k, D, P, A, O, F, R, B, U, $, W, _e = false) {
        const K = no(), V = Y$e(i, s), ae = Q8(c), se = u.getTypeChecker(), ce = /* @__PURE__ */ new Map();
        for (let q = 0; q < e.length; q++) {
          const be = e[q], je = B?.[q], me = MH(be, g, je, h, !!A);
          if (!me || ce.get(me.name) && (!je || !l4e(je)) || h === 1 && U && !fe(be, U) || !D && an(c) && he(be))
            continue;
          const { name: Z, needsConvertPropertyAccess: pe } = me, Te = U?.[$s(be)] ?? pu.LocationPriority, Fe = K$e(be, se) ? pu.Deprecated(Te) : Te, Ye = S$e(
            be,
            Fe,
            n,
            i,
            s,
            o,
            c,
            _,
            u,
            Z,
            pe,
            je,
            R,
            P,
            O,
            F,
            ae,
            T,
            S,
            h,
            k,
            $,
            W,
            _e
          );
          if (!Ye)
            continue;
          const ne = (!je || c4e(je)) && !(be.parent === void 0 && !ot(be.declarations, (Se) => Se.getSourceFile() === s.getSourceFile()));
          ce.set(Z, ne), ay(
            t,
            Ye,
            xL,
            /*equalityComparer*/
            void 0,
            /*allowDuplicates*/
            true
          );
        }
        return m("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (no() - K)), {
          has: (q) => ce.has(q),
          add: (q) => ce.set(q, true)
        };
        function fe(q, be) {
          var je;
          let me = q.flags;
          if (s.parent && Fo(s.parent))
            return true;
          if (V && Bn(V, ei) && (q.valueDeclaration === V || Ds(V.name) && V.name.elements.some((Te) => Te === q.valueDeclaration)))
            return false;
          const Z = q.valueDeclaration ?? ((je = q.declarations) == null ? void 0 : je[0]);
          if (V && Z) {
            if (Ii(V) && Ii(Z)) {
              const Te = V.parent.parameters;
              if (Z.pos >= V.pos && Z.pos < Te.end)
                return false;
            } else if (Io(V) && Io(Z)) {
              if (V === Z && i?.kind === 96)
                return false;
              if (Z$e(i) && !gS(V.parent)) {
                const Te = V.parent.typeParameters;
                if (Te && Z.pos >= V.pos && Z.pos < Te.end)
                  return false;
              }
            }
          }
          const pe = Ql(q, se);
          return c.externalModuleIndicator && !T.allowUmdGlobalAccess && be[$s(q)] === pu.GlobalsOrKeywords && (be[$s(pe)] === pu.AutoImportSuggestions || be[$s(pe)] === pu.LocationPriority) ? false : (me |= QC(pe), p9(s) ? !!(me & 1920) : D ? xue(q, se) : !!(me & 111551));
        }
        function he(q) {
          var be;
          const je = QC(Ql(q, se));
          return !(je & 111551) && (!an((be = q.declarations) == null ? void 0 : be[0]) || !!(je & 788968));
        }
      }
      function A$e(e) {
        const t = I$e(e);
        if (t.length)
          return {
            isGlobalCompletion: false,
            isMemberCompletion: false,
            isNewIdentifierLocation: false,
            entries: t,
            defaultCommitCharacters: JS(
              /*isNewIdentifierLocation*/
              false
            )
          };
      }
      function I$e(e) {
        const t = [], n = /* @__PURE__ */ new Map();
        let i = e;
        for (; i && !Cs(i); ) {
          if (Wy(i)) {
            const s = i.label.text;
            n.has(s) || (n.set(s, true), t.push({
              name: s,
              kindModifiers: "",
              kind: "label",
              sortText: pu.LocationPriority
            }));
          }
          i = i.parent;
        }
        return t;
      }
      function b4e(e, t, n, i, s, o, c) {
        if (s.source === "SwitchCases/")
          return { type: "cases" };
        if (s.data) {
          const F = x4e(s.name, s.data, e, o);
          if (F) {
            const { contextToken: R, previousToken: B } = LH(i, n);
            return {
              type: "symbol",
              symbol: F.symbol,
              location: k_(n, i),
              previousToken: B,
              contextToken: R,
              isJsxInitializer: false,
              isTypeOnlyLocation: false,
              origin: F.origin
            };
          }
        }
        const _ = e.getCompilerOptions(), u = T4e(
          e,
          t,
          n,
          _,
          i,
          { includeCompletionsForModuleExports: true, includeCompletionsWithInsertText: true },
          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: P, isTypeOnlyLocation: A } = u, O = Nn(m, (F) => mue(n, c, F) === s.name);
        return O !== void 0 ? { type: "literal", literal: O } : Ic(g, (F, R) => {
          const B = T[R], U = MH(F, pa(_), B, S, u.isJsxIdentifierExpected);
          return U && U.name === s.name && (s.source === "ClassMemberSnippet/" && F.flags & 106500 || s.source === "ObjectLiteralMethodSnippet/" && F.flags & 8196 || hue(B) === s.source || s.source === "ObjectLiteralMemberWithComma/") ? { type: "symbol", symbol: F, location: h, origin: B, contextToken: k, previousToken: D, isJsxInitializer: P, isTypeOnlyLocation: A } : void 0;
        }) || { type: "none" };
      }
      function F$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 } = LH(i, n);
        if (ik(n, i, k))
          return WH.getStringLiteralCompletionDetails(h, n, i, k, e, o, u, _);
        const P = b4e(e, t, n, i, s, o, _);
        switch (P.type) {
          case "request": {
            const { request: A } = P;
            switch (A.kind) {
              case 1:
                return Sv.getJSDocTagNameCompletionDetails(h);
              case 2:
                return Sv.getJSDocTagCompletionDetails(h);
              case 3:
                return Sv.getJSDocParameterNameCompletionDetails(h);
              case 4:
                return ot(A.keywordCompletions, (O) => O.name === h) ? vue(
                  h,
                  "keyword",
                  5
                  /* keyword */
                ) : void 0;
              default:
                return E.assertNever(A);
            }
          }
          case "symbol": {
            const { symbol: A, location: O, contextToken: F, origin: R, previousToken: B } = P, { codeActions: U, sourceDisplay: $ } = O$e(h, O, F, R, A, e, o, m, n, i, B, c, _, T, S, u), W = pue(R) ? R.symbolName : A.name;
            return bue(A, W, g, n, O, u, U, $);
          }
          case "literal": {
            const { literal: A } = P;
            return vue(
              mue(n, _, A),
              "string",
              typeof A == "string" ? 8 : 7
              /* numericLiteral */
            );
          }
          case "cases": {
            const A = h4e(
              D.parent,
              n,
              _,
              e.getCompilerOptions(),
              o,
              e,
              /*formatContext*/
              void 0
            );
            if (A?.importAdder.hasFixes()) {
              const { entry: O, importAdder: F } = A, R = cn.ChangeTracker.with(
                { host: o, formatContext: c, preferences: _ },
                F.writeFixes
              );
              return {
                name: O.name,
                kind: "",
                kindModifiers: "",
                displayParts: [],
                sourceDisplay: void 0,
                codeActions: [{
                  changes: R,
                  description: n2([p.Includes_imports_of_types_referenced_by_0, h])
                }]
              };
            }
            return {
              name: h,
              kind: "",
              kindModifiers: "",
              displayParts: [],
              sourceDisplay: void 0
            };
          }
          case "none":
            return k4e().some((A) => A.name === h) ? vue(
              h,
              "keyword",
              5
              /* keyword */
            ) : void 0;
          default:
            E.assertNever(P);
        }
      }
      function vue(e, t, n) {
        return kL(e, "", t, [j_(e, n)]);
      }
      function bue(e, t, n, i, s, o, c, _) {
        const { displayParts: u, documentation: g, symbolKind: m, tags: h } = n.runWithCancellationToken(o, (S) => P0.getSymbolDisplayPartsDocumentationAndSymbolKind(
          S,
          e,
          i,
          s,
          s,
          7
          /* All */
        ));
        return kL(t, P0.getSymbolModifiers(n, e), m, u, g, h, c, _);
      }
      function kL(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 O$e(e, t, n, i, s, o, c, _, u, g, m, h, S, T, k, D) {
        if (T?.moduleSpecifier && m && I4e(n || m, u).replacementSpan)
          return { codeActions: void 0, sourceDisplay: [Lf(T.moduleSpecifier)] };
        if (k === "ClassMemberSnippet/") {
          const { importAdder: U, eraseRange: $ } = y4e(
            c,
            o,
            _,
            S,
            e,
            s,
            t,
            g,
            n,
            h
          );
          if (U?.hasFixes() || $)
            return {
              sourceDisplay: void 0,
              codeActions: [{
                changes: cn.ChangeTracker.with(
                  { host: c, formatContext: h, preferences: S },
                  (_e) => {
                    U && U.writeFixes(_e), $ && _e.deleteRange(u, $);
                  }
                ),
                description: U?.hasFixes() ? n2([p.Includes_imports_of_types_referenced_by_0, e]) : n2([p.Update_modifiers_of_0, e])
              }]
            };
        }
        if (c4e(i)) {
          const U = Nu.getPromoteTypeOnlyCompletionAction(
            u,
            i.declaration.name,
            o,
            c,
            h,
            S
          );
          return E.assertIsDefined(U, "Expected to have a code action for promoting type-only alias"), { codeActions: [U], sourceDisplay: void 0 };
        }
        if (k === "ObjectLiteralMemberWithComma/" && n) {
          const U = cn.ChangeTracker.with(
            { host: c, formatContext: h, preferences: S },
            ($) => $.insertText(u, n.end, ",")
          );
          if (U)
            return {
              sourceDisplay: void 0,
              codeActions: [{
                changes: U,
                description: n2([p.Add_missing_comma_for_object_member_completion_0, e])
              }]
            };
        }
        if (!i || !(TL(i) || Fw(i)))
          return { codeActions: void 0, sourceDisplay: void 0 };
        const P = i.isFromPackageJson ? c.getPackageJsonAutoImportProvider().getTypeChecker() : o.getTypeChecker(), { moduleSymbol: A } = i, O = P.getMergedSymbol(Ql(s.exportSymbol || s, P)), F = n?.kind === 30 && ku(n.parent), { moduleSpecifier: R, codeAction: B } = Nu.getImportCompletionAction(
          O,
          A,
          T?.exportMapKey,
          u,
          e,
          F,
          c,
          o,
          h,
          m && Me(m) ? m.getStart(u) : g,
          S,
          D
        );
        return E.assert(!T?.moduleSpecifier || R === T.moduleSpecifier), { sourceDisplay: [Lf(R)], codeActions: [B] };
      }
      function L$e(e, t, n, i, s, o, c) {
        const _ = b4e(e, t, n, i, s, o, c);
        return _.type === "symbol" ? _.symbol : void 0;
      }
      var S4e = /* @__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))(S4e || {});
      function M$e(e, t, n) {
        return Ic(t && (t.isUnion() ? t.types : [t]), (i) => {
          const s = i && i.symbol;
          return s && s.flags & 424 && !pee(s) ? Sue(s, e, n) : void 0;
        });
      }
      function R$e(e, t, n, i) {
        const { parent: s } = e;
        switch (e.kind) {
          case 80:
            return M9(e, i);
          case 64:
            switch (s.kind) {
              case 261:
                return i.getContextualType(s.initializer);
              // TODO: GH#18217
              case 227:
                return i.getTypeAtLocation(s.left);
              case 292:
                return i.getContextualTypeForJsxAttribute(s);
              default:
                return;
            }
          case 105:
            return i.getContextualType(s);
          case 84:
            const o = Bn(s, p6);
            return o ? nq(o, i) : void 0;
          case 19:
            return f6(s) && !hm(s.parent) && !nv(s.parent) ? i.getContextualTypeForJsxAttribute(s.parent) : void 0;
          default:
            const c = kA.getArgumentInfoForCompletions(e, t, n, i);
            return c ? i.getContextualTypeForArgumentAtIndex(c.invocation, c.argumentIndex) : R9(e.kind) && _n(s) && R9(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 Sue(e, t, n) {
        const i = n.getAccessibleSymbolChain(
          e,
          t,
          /*meaning*/
          -1,
          /*useOnlyExternalAliasing*/
          false
        );
        return i ? ka(i) : e.parent && (j$e(e.parent) ? e : Sue(e.parent, t, n));
      }
      function j$e(e) {
        var t;
        return !!((t = e.declarations) != null && t.some(
          (n) => n.kind === 308
          /* SourceFile */
        ));
      }
      function T4e(e, t, n, i, s, o, c, _, u, g) {
        const m = e.getTypeChecker(), h = g4e(n, i);
        let S = no(), T = vi(n, s);
        t("getCompletionData: Get current token: " + (no() - S)), S = no();
        const k = k0(n, s, T);
        t("getCompletionData: Is inside comment: " + (no() - S));
        let D = false, P = false, A = false;
        if (k) {
          if (iae(n, s)) {
            if (n.text.charCodeAt(s - 1) === 64)
              return {
                kind: 1
                /* JsDocTagName */
              };
            {
              const at = Wp(s, n);
              if (!/[^*|\s(/)]/.test(n.text.substring(at, s)))
                return {
                  kind: 2
                  /* JsDocTag */
                };
            }
          }
          const ke = W$e(T, s);
          if (ke) {
            if (ke.tagName.pos <= s && s <= ke.tagName.end)
              return {
                kind: 1
                /* JsDocTagName */
              };
            if (vm(ke))
              P = true;
            else {
              const at = tr(ke);
              if (at && (T = vi(n, s), (!T || !Hm(T) && (T.parent.kind !== 349 || T.parent.name !== T)) && (D = Mt(at))), !D && Af(ke) && (ac(ke.name) || ke.name.pos <= s && s <= ke.name.end))
                return { kind: 3, tag: ke };
            }
          }
          if (!D && !P) {
            t("Returning an empty list because completion was inside a regular comment or plain text part of a JsDoc comment.");
            return;
          }
        }
        S = no();
        const O = !D && !P && Ku(n), F = LH(s, n), R = F.previousToken;
        let B = F.contextToken;
        t("getCompletionData: Get previous token: " + (no() - S));
        let U = T, $, W = false, _e = false, K = false, V = false, ae = false, se = false, ce, fe = k_(n, s), he = 0, q = false, be = 0, je;
        if (B) {
          const ke = I4e(B, n);
          if (ke.keywordCompletion) {
            if (ke.isKeywordOnlyCompletion)
              return {
                kind: 4,
                keywordCompletions: [p$e(ke.keywordCompletion)],
                isNewIdentifierLocation: ke.isNewIdentifierLocation
              };
            he = m$e(ke.keywordCompletion);
          }
          if (ke.replacementSpan && o.includeCompletionsForImportStatements && o.includeCompletionsWithInsertText && (be |= 2, ce = ke, q = ke.isNewIdentifierLocation), !ke.replacementSpan && Es(B))
            return t("Returning an empty list because completion was requested in an invalid position."), he ? d4e(he, O, yr().isNewIdentifierLocation) : void 0;
          let at = B.parent;
          if (B.kind === 25 || B.kind === 29)
            switch (W = B.kind === 25, _e = B.kind === 29, at.kind) {
              case 212:
                $ = at, U = $.expression;
                const wt = YC($);
                if (ac(wt) || (ws(U) || Cs(U)) && U.end === B.pos && U.getChildCount(n) && fa(U.getChildren(n)).kind !== 22)
                  return;
                break;
              case 167:
                U = at.left;
                break;
              case 268:
                U = at.name;
                break;
              case 206:
                U = at;
                break;
              case 237:
                U = at.getFirstToken(n), E.assert(
                  U.kind === 102 || U.kind === 105
                  /* NewKeyword */
                );
                break;
              default:
                return;
            }
          else if (!ce) {
            if (at && at.kind === 212 && (B = at, at = at.parent), T.parent === fe)
              switch (T.kind) {
                case 32:
                  (T.parent.kind === 285 || T.parent.kind === 287) && (fe = T);
                  break;
                case 44:
                  T.parent.kind === 286 && (fe = T);
                  break;
              }
            switch (at.kind) {
              case 288:
                B.kind === 44 && (V = true, fe = B);
                break;
              case 227:
                if (!A4e(at))
                  break;
              // falls through
              case 286:
              case 285:
              case 287:
                se = true, B.kind === 30 && (K = true, fe = B);
                break;
              case 295:
              case 294:
                (R.kind === 20 || R.kind === 80 && R.parent.kind === 292) && (se = true);
                break;
              case 292:
                if (at.initializer === R && R.end < s) {
                  se = true;
                  break;
                }
                switch (R.kind) {
                  case 64:
                    ae = true;
                    break;
                  case 80:
                    se = true, at !== R.parent && !at.initializer && $a(at, 64, n) && (ae = R);
                }
                break;
            }
          }
        }
        const me = no();
        let Z = 5, pe = false, Te = [], Fe;
        const Ye = [], ne = [], Se = /* @__PURE__ */ new Set(), ie = _i(), Ne = Kd((ke) => mv(ke ? _.getPackageJsonAutoImportProvider() : e, _));
        if (W || _e)
          Nr();
        else if (K)
          Te = m.getJsxIntrinsicTagNamesAt(fe), E.assertEachIsDefined(Te, "getJsxIntrinsicTagNames() should all be defined"), ui(), Z = 1, he = 0;
        else if (V) {
          const ke = B.parent.parent.openingElement.tagName, at = m.getSymbolAtLocation(ke);
          at && (Te = [at]), Z = 1, he = 0;
        } else if (!ui())
          return he ? d4e(he, O, q) : void 0;
        t("getCompletionData: Semantic work: " + (no() - me));
        const Ee = R && R$e(R, s, n, m), Ve = !Bn(R, Ma) && !se ? Fi(
          Ee && (Ee.isUnion() ? Ee.types : [Ee]),
          (ke) => ke.isLiteral() && !(ke.flags & 1024) ? ke.value : void 0
        ) : [], St = R && Ee && M$e(R, Ee, m);
        return {
          kind: 0,
          symbols: Te,
          completionKind: Z,
          isInSnippetScope: A,
          propertyAccessToConvert: $,
          isNewIdentifierLocation: q,
          location: fe,
          keywordFilters: he,
          literals: Ve,
          symbolToOriginInfoMap: Ye,
          recommendedCompletion: St,
          previousToken: R,
          contextToken: B,
          isJsxInitializer: ae,
          insideJsDocTagTypeExpression: D,
          symbolToSortTextMap: ne,
          isTypeOnlyLocation: ie,
          isJsxIdentifierExpected: se,
          isRightOfOpenTag: K,
          isRightOfDotOrQuestionDot: W || _e,
          importStatementCompletion: ce,
          hasUnresolvedAutoImports: pe,
          flags: be,
          defaultCommitCharacters: je
        };
        function Bt(ke) {
          switch (ke.kind) {
            case 342:
            case 349:
            case 343:
            case 345:
            case 347:
            case 350:
            case 351:
              return true;
            case 346:
              return !!ke.constraint;
            default:
              return false;
          }
        }
        function tr(ke) {
          if (Bt(ke)) {
            const at = Bp(ke) ? ke.constraint : ke.typeExpression;
            return at && at.kind === 310 ? at : void 0;
          }
          if (Vx(ke) || OF(ke))
            return ke.class;
        }
        function Nr() {
          Z = 2;
          const ke = mh(U), at = ke && !U.isTypeOf || sm(U.parent) || J8(B, n, m), wt = p9(U);
          if (Zu(U) || ke || wn(U)) {
            const Zr = Lc(U.parent);
            Zr && (q = true, je = []);
            let Rr = m.getSymbolAtLocation(U);
            if (Rr && (Rr = Ql(Rr, m), Rr.flags & 1920)) {
              const Pr = m.getExportsOfModule(Rr);
              E.assertEachIsDefined(Pr, "getExportsOfModule() should all be defined");
              const rt = (Jt) => m.isValidPropertyAccess(ke ? U : U.parent, Jt.name), vt = (Jt) => xue(Jt, m), Nt = Zr ? (Jt) => {
                var _r;
                return !!(Jt.flags & 1920) && !((_r = Jt.declarations) != null && _r.every((nr) => nr.parent === U.parent));
              } : wt ? (
                // Any kind is allowed when dotting off namespace in internal import equals declaration
                ((Jt) => vt(Jt) || rt(Jt))
              ) : at || D ? vt : rt;
              for (const Jt of Pr)
                Nt(Jt) && Te.push(Jt);
              if (!at && !D && Rr.declarations && Rr.declarations.some(
                (Jt) => Jt.kind !== 308 && Jt.kind !== 268 && Jt.kind !== 267
                /* EnumDeclaration */
              )) {
                let Jt = m.getTypeOfSymbolAtLocation(Rr, U).getNonOptionalType(), _r = false;
                if (Jt.isNullableType()) {
                  const nr = W && !_e && o.includeAutomaticOptionalChainCompletions !== false;
                  (nr || _e) && (Jt = Jt.getNonNullableType(), nr && (_r = true));
                }
                st(Jt, !!(U.flags & 65536), _r);
              }
              return;
            }
          }
          if (!at || mx(U)) {
            m.tryGetThisTypeAt(
              U,
              /*includeGlobalThis*/
              false
            );
            let Zr = m.getTypeAtLocation(U).getNonOptionalType();
            if (at)
              st(
                Zr.getNonNullableType(),
                /*insertAwait*/
                false,
                /*insertQuestionDot*/
                false
              );
            else {
              let Rr = false;
              if (Zr.isNullableType()) {
                const Pr = W && !_e && o.includeAutomaticOptionalChainCompletions !== false;
                (Pr || _e) && (Zr = Zr.getNonNullableType(), Pr && (Rr = true));
              }
              st(Zr, !!(U.flags & 65536), Rr);
            }
          }
        }
        function st(ke, at, wt) {
          ke.getStringIndexType() && (q = true, je = []), _e && ot(ke.getCallSignatures()) && (q = true, je ?? (je = Tm));
          const Zr = U.kind === 206 ? U : U.parent;
          if (h)
            for (const Rr of ke.getApparentProperties())
              m.isValidPropertyAccessForCompletions(Zr, ke, Rr) && Wt(
                Rr,
                /*insertAwait*/
                false,
                wt
              );
          else
            Te.push(...kn(JH(ke, m), (Rr) => m.isValidPropertyAccessForCompletions(Zr, ke, Rr)));
          if (at && o.includeCompletionsWithInsertText) {
            const Rr = m.getPromisedTypeOfPromise(ke);
            if (Rr)
              for (const Pr of Rr.getApparentProperties())
                m.isValidPropertyAccessForCompletions(Zr, Rr, Pr) && Wt(
                  Pr,
                  /*insertAwait*/
                  true,
                  wt
                );
          }
        }
        function Wt(ke, at, wt) {
          var Zr;
          const Rr = Ic(ke.declarations, (Nt) => Bn(us(Nt), Hs));
          if (Rr) {
            const Nt = Jr(Rr.expression), Jt = Nt && m.getSymbolAtLocation(Nt), _r = Jt && Sue(Jt, B, m), nr = _r && $s(_r);
            if (nr && Mp(Se, nr)) {
              const kt = Te.length;
              Te.push(_r), ne[$s(_r)] = pu.GlobalsOrKeywords;
              const cr = _r.parent;
              if (!cr || !rx(cr) || m.tryGetMemberInModuleExportsAndProperties(_r.name, cr) !== _r)
                Ye[kt] = { kind: vt(
                  2
                  /* SymbolMemberNoExport */
                ) };
              else {
                const fr = xl(Lp(cr.name)) ? (Zr = m3(cr)) == null ? void 0 : Zr.fileName : void 0, { moduleSpecifier: vr } = (Fe || (Fe = Nu.createImportSpecifierResolver(n, e, _, o))).getModuleSpecifierForBestExportInfo(
                  [{
                    exportKind: 0,
                    moduleFileName: fr,
                    isFromPackageJson: false,
                    moduleSymbol: cr,
                    symbol: _r,
                    targetFlags: Ql(_r, m).flags
                  }],
                  s,
                  $1(fe)
                ) || {};
                if (vr) {
                  const Xt = {
                    kind: vt(
                      6
                      /* SymbolMemberExport */
                    ),
                    moduleSymbol: cr,
                    isDefaultExport: false,
                    symbolName: _r.name,
                    exportName: _r.name,
                    fileName: fr,
                    moduleSpecifier: vr
                  };
                  Ye[kt] = Xt;
                }
              }
            } else if (o.includeCompletionsWithInsertText) {
              if (nr && Se.has(nr))
                return;
              rt(ke), Pr(ke), Te.push(ke);
            }
          } else
            rt(ke), Pr(ke), Te.push(ke);
          function Pr(Nt) {
            $$e(Nt) && (ne[$s(Nt)] = pu.LocalDeclarationPriority);
          }
          function rt(Nt) {
            o.includeCompletionsWithInsertText && (at && Mp(Se, $s(Nt)) ? Ye[Te.length] = { kind: vt(
              8
              /* Promise */
            ) } : wt && (Ye[Te.length] = {
              kind: 16
              /* Nullable */
            }));
          }
          function vt(Nt) {
            return wt ? Nt | 16 : Nt;
          }
        }
        function Jr(ke) {
          return Me(ke) ? ke : wn(ke) ? Jr(ke.expression) : void 0;
        }
        function ui() {
          return (Xe() || Et() || Mn() || re() || it() || Y() || Ji() || Ae() || Dt() || (ai(), 1)) === 1;
        }
        function Ji() {
          return Ke(B) ? (Z = 5, q = true, he = 4, 1) : 0;
        }
        function Dt() {
          const ke = Le(B), at = ke && m.getContextualType(ke.attributes);
          if (!at) return 0;
          const wt = ke && m.getContextualType(
            ke.attributes,
            4
            /* Completions */
          );
          return Te = Bi(Te, dt(BH(at, wt, ke.attributes, m), ke.attributes.properties)), ue(), Z = 3, q = false, 1;
        }
        function Mn() {
          return ce ? (q = true, er(), 1) : 0;
        }
        function ai() {
          he = Tt(B) ? 5 : 1, Z = 1, { isNewIdentifierLocation: q, defaultCommitCharacters: je } = yr(), R !== B && E.assert(!!R, "Expected 'contextToken' to be defined when different from 'previousToken'.");
          const ke = R !== B ? R.getStart() : s, at = ki(B, ke, n) || n;
          A = pn(at);
          const wt = (ie ? 0 : 111551) | 788968 | 1920 | 2097152, Zr = R && !$1(R);
          Te = Bi(Te, m.getSymbolsInScope(at, wt)), E.assertEachIsDefined(Te, "getSymbolsInScope() should all be defined");
          for (let Rr = 0; Rr < Te.length; Rr++) {
            const Pr = Te[Rr];
            if (!m.isArgumentsSymbol(Pr) && !ot(Pr.declarations, (rt) => rt.getSourceFile() === n) && (ne[$s(Pr)] = pu.GlobalsOrKeywords), Zr && !(Pr.flags & 111551)) {
              const rt = Pr.declarations && Nn(Pr.declarations, CC);
              if (rt) {
                const vt = { kind: 64, declaration: rt };
                Ye[Rr] = vt;
              }
            }
          }
          if (o.includeCompletionsWithInsertText && at.kind !== 308) {
            const Rr = m.tryGetThisTypeAt(
              at,
              /*includeGlobalThis*/
              false,
              $n(at.parent) ? at : void 0
            );
            if (Rr && !G$e(Rr, n, m))
              for (const Pr of JH(Rr, m))
                Ye[Te.length] = {
                  kind: 1
                  /* ThisType */
                }, Te.push(Pr), ne[$s(Pr)] = pu.SuggestedClassMembers;
          }
          er(), ie && (he = B && bb(B.parent) ? 6 : 7);
        }
        function fi() {
          var ke;
          return ce ? true : o.includeCompletionsForModuleExports ? n.externalModuleIndicator || n.commonJsModuleIndicator || JV(e.getCompilerOptions()) ? true : ((ke = e.getSymlinkCache) == null ? void 0 : ke.call(e).hasAnySymlinks()) || !!e.getCompilerOptions().paths || uae(e) : false;
        }
        function pn(ke) {
          switch (ke.kind) {
            case 308:
            case 229:
            case 295:
            case 242:
              return true;
            default:
              return Ti(ke);
          }
        }
        function _i() {
          return D || P || !!ce && c0(fe.parent) || !Je(B) && (J8(B, n, m) || sm(fe) || ft(B));
        }
        function Je(ke) {
          return ke && (ke.kind === 114 && (ke.parent.kind === 187 || c6(ke.parent)) || ke.kind === 131 && ke.parent.kind === 183);
        }
        function ft(ke) {
          if (ke) {
            const at = ke.parent.kind;
            switch (ke.kind) {
              case 59:
                return at === 173 || at === 172 || at === 170 || at === 261 || ZT(at);
              case 64:
                return at === 266 || at === 169;
              case 130:
                return at === 235;
              case 30:
                return at === 184 || at === 217;
              case 96:
                return at === 169;
              case 152:
                return at === 239;
            }
          }
          return false;
        }
        function er() {
          var ke, at;
          if (!fi() || (E.assert(!c?.data, "Should not run 'collectAutoImports' when faster path is available via `data`"), c && !c.source))
            return;
          be |= 1;
          const Zr = R === B && ce ? "" : R && Me(R) ? R.text.toLowerCase() : "", Rr = (ke = _.getModuleSpecifierCache) == null ? void 0 : ke.call(_), Pr = tA(n, _, e, o, g), rt = (at = _.getPackageJsonAutoImportProvider) == null ? void 0 : at.call(_), vt = c ? void 0 : G6(n, o, _);
          u4e(
            "collectAutoImports",
            _,
            Fe || (Fe = Nu.createImportSpecifierResolver(n, e, _, o)),
            e,
            s,
            o,
            !!ce,
            $1(fe),
            (Jt) => {
              Pr.search(
                n.path,
                /*preferCapitalized*/
                K,
                (_r, nr) => {
                  if (!F_(_r, pa(_.getCompilationSettings())) || !c && dx(_r) || !ie && !ce && !(nr & 111551) || ie && !(nr & 790504)) return false;
                  const kt = _r.charCodeAt(0);
                  return K && (kt < 65 || kt > 90) ? false : c ? true : R4e(_r, Zr);
                },
                (_r, nr, kt, cr) => {
                  if (c && !ot(_r, (Ms) => c.source === Lp(Ms.moduleSymbol.name)) || (_r = kn(_r, Nt), !_r.length))
                    return;
                  const fr = Jt.tryResolve(_r, kt) || {};
                  if (fr === "failed") return;
                  let vr = _r[0], Xt;
                  fr !== "skipped" && ({ exportInfo: vr = _r[0], moduleSpecifier: Xt } = fr);
                  const oi = vr.exportKind === 1, Is = oi && eD(E.checkDefined(vr.symbol)) || E.checkDefined(vr.symbol);
                  qr(Is, {
                    kind: Xt ? 32 : 4,
                    moduleSpecifier: Xt,
                    symbolName: nr,
                    exportMapKey: cr,
                    exportName: vr.exportKind === 2 ? "export=" : E.checkDefined(vr.symbol).name,
                    fileName: vr.moduleFileName,
                    isDefaultExport: oi,
                    moduleSymbol: vr.moduleSymbol,
                    isFromPackageJson: vr.isFromPackageJson
                  });
                }
              ), pe = Jt.skippedAny(), be |= Jt.resolvedAny() ? 8 : 0, be |= Jt.resolvedBeyondLimit() ? 16 : 0;
            }
          );
          function Nt(Jt) {
            return gq(
              Jt.isFromPackageJson ? rt : e,
              n,
              Bn(Jt.moduleSymbol.valueDeclaration, Di),
              Jt.moduleSymbol,
              o,
              vt,
              Ne(Jt.isFromPackageJson),
              Rr
            );
          }
        }
        function qr(ke, at) {
          const wt = $s(ke);
          ne[wt] !== pu.GlobalsOrKeywords && (Ye[Te.length] = at, ne[wt] = ce ? pu.LocationPriority : pu.AutoImportSuggestions, Te.push(ke));
        }
        function Jn(ke, at) {
          an(fe) || ke.forEach((wt) => {
            if (!Un(wt))
              return;
            const Zr = MH(
              wt,
              pa(i),
              /*origin*/
              void 0,
              0,
              /*jsxIdentifierExpected*/
              false
            );
            if (!Zr)
              return;
            const { name: Rr } = Zr, Pr = E$e(
              wt,
              Rr,
              at,
              e,
              _,
              i,
              o,
              u
            );
            if (!Pr)
              return;
            const rt = { kind: 128, ...Pr };
            be |= 32, Ye[Te.length] = rt, Te.push(wt);
          });
        }
        function Un(ke) {
          return !!(ke.flags & 8196);
        }
        function ki(ke, at, wt) {
          let Zr = ke;
          for (; Zr && !CV(Zr, at, wt); )
            Zr = Zr.parent;
          return Zr;
        }
        function Es(ke) {
          const at = no(), wt = vs(ke) || pt(ke) || Lt(ke) || Zs(ke) || s6(ke);
          return t("getCompletionsAtPosition: isCompletionListBlocker: " + (no() - at)), wt;
        }
        function Zs(ke) {
          if (ke.kind === 12)
            return true;
          if (ke.kind === 32 && ke.parent) {
            if (fe === ke.parent && (fe.kind === 287 || fe.kind === 286))
              return false;
            if (ke.parent.kind === 287)
              return fe.parent.kind !== 287;
            if (ke.parent.kind === 288 || ke.parent.kind === 286)
              return !!ke.parent.parent && ke.parent.parent.kind === 285;
          }
          return false;
        }
        function yr() {
          if (B) {
            const ke = B.parent.kind, at = jH(B);
            switch (at) {
              case 28:
                switch (ke) {
                  case 214:
                  // func( a, |
                  case 215: {
                    const wt = B.parent.expression;
                    return Rs(n, wt.end).line !== Rs(n, s).line ? { defaultCommitCharacters: AH, isNewIdentifierLocation: true } : { defaultCommitCharacters: Tm, isNewIdentifierLocation: true };
                  }
                  case 227:
                    return { defaultCommitCharacters: AH, isNewIdentifierLocation: true };
                  case 177:
                  // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */
                  case 185:
                  // var x: (s: string, list|
                  case 211:
                    return { defaultCommitCharacters: [], isNewIdentifierLocation: true };
                  case 210:
                    return { defaultCommitCharacters: Tm, isNewIdentifierLocation: true };
                  default:
                    return { defaultCommitCharacters: Tm, isNewIdentifierLocation: false };
                }
              case 21:
                switch (ke) {
                  case 214:
                  // func( |
                  case 215: {
                    const wt = B.parent.expression;
                    return Rs(n, wt.end).line !== Rs(n, s).line ? { defaultCommitCharacters: AH, isNewIdentifierLocation: true } : { defaultCommitCharacters: Tm, isNewIdentifierLocation: true };
                  }
                  case 218:
                    return { defaultCommitCharacters: AH, isNewIdentifierLocation: true };
                  case 177:
                  // constructor( |
                  case 197:
                    return { defaultCommitCharacters: [], isNewIdentifierLocation: true };
                  default:
                    return { defaultCommitCharacters: Tm, isNewIdentifierLocation: false };
                }
              case 23:
                switch (ke) {
                  case 210:
                  // [ |
                  case 182:
                  // [ | : string ]
                  case 190:
                  // [ | : string ]
                  case 168:
                    return { defaultCommitCharacters: Tm, isNewIdentifierLocation: true };
                  default:
                    return { defaultCommitCharacters: Tm, isNewIdentifierLocation: false };
                }
              case 144:
              // module |
              case 145:
              // namespace |
              case 102:
                return { defaultCommitCharacters: [], isNewIdentifierLocation: true };
              case 25:
                switch (ke) {
                  case 268:
                    return { defaultCommitCharacters: [], isNewIdentifierLocation: true };
                  default:
                    return { defaultCommitCharacters: Tm, isNewIdentifierLocation: false };
                }
              case 19:
                switch (ke) {
                  case 264:
                  // class A { |
                  case 211:
                    return { defaultCommitCharacters: [], isNewIdentifierLocation: true };
                  default:
                    return { defaultCommitCharacters: Tm, isNewIdentifierLocation: false };
                }
              case 64:
                switch (ke) {
                  case 261:
                  // const x = a|
                  case 227:
                    return { defaultCommitCharacters: Tm, isNewIdentifierLocation: true };
                  default:
                    return { defaultCommitCharacters: Tm, isNewIdentifierLocation: false };
                }
              case 16:
                return {
                  defaultCommitCharacters: Tm,
                  isNewIdentifierLocation: ke === 229
                  /* TemplateExpression */
                  // `aa ${|
                };
              case 17:
                return {
                  defaultCommitCharacters: Tm,
                  isNewIdentifierLocation: ke === 240
                  /* TemplateSpan */
                  // `aa ${10} dd ${|
                };
              case 134:
                return ke === 175 || ke === 305 ? { defaultCommitCharacters: [], isNewIdentifierLocation: true } : { defaultCommitCharacters: Tm, isNewIdentifierLocation: false };
              case 42:
                return ke === 175 ? { defaultCommitCharacters: [], isNewIdentifierLocation: true } : { defaultCommitCharacters: Tm, isNewIdentifierLocation: false };
            }
            if (CL(at))
              return { defaultCommitCharacters: [], isNewIdentifierLocation: true };
          }
          return { defaultCommitCharacters: Tm, isNewIdentifierLocation: false };
        }
        function vs(ke) {
          return (oz(ke) || Jj(ke)) && (j8(ke, s) || s === ke.end && (!!ke.isUnterminated || oz(ke)));
        }
        function Xe() {
          const ke = q$e(B);
          if (!ke) return 0;
          const wt = (Bx(ke.parent) ? ke.parent : void 0) || ke, Zr = N4e(wt, m);
          if (!Zr) return 0;
          const Rr = m.getTypeFromTypeNode(wt), Pr = JH(Zr, m), rt = JH(Rr, m), vt = /* @__PURE__ */ new Set();
          return rt.forEach((Nt) => vt.add(Nt.escapedName)), Te = Bi(Te, kn(Pr, (Nt) => !vt.has(Nt.escapedName))), Z = 0, q = true, 1;
        }
        function Et() {
          if (B?.kind === 26) return 0;
          const ke = Te.length, at = B$e(B, s, n);
          if (!at) return 0;
          Z = 0;
          let wt, Zr;
          if (at.kind === 211) {
            const Rr = X$e(at, m);
            if (Rr === void 0)
              return at.flags & 67108864 ? 2 : 0;
            const Pr = m.getContextualType(
              at,
              4
              /* Completions */
            ), rt = (Pr || Rr).getStringIndexType(), vt = (Pr || Rr).getNumberIndexType();
            if (q = !!rt || !!vt, wt = BH(Rr, Pr, at, m), Zr = at.properties, wt.length === 0 && !vt)
              return 0;
          } else {
            E.assert(
              at.kind === 207
              /* ObjectBindingPattern */
            ), q = false;
            const Rr = om(at.parent);
            if (!A4(Rr)) return E.fail("Root declaration is not variable-like.");
            let Pr = l0(Rr) || !!Qc(Rr) || Rr.parent.parent.kind === 251;
            if (!Pr && Rr.kind === 170 && (ut(Rr.parent) ? Pr = !!m.getContextualType(Rr.parent) : (Rr.parent.kind === 175 || Rr.parent.kind === 179) && (Pr = ut(Rr.parent.parent) && !!m.getContextualType(Rr.parent.parent))), Pr) {
              const rt = m.getTypeAtLocation(at);
              if (!rt) return 2;
              wt = m.getPropertiesOfType(rt).filter((vt) => m.isPropertyAccessible(
                at,
                /*isSuper*/
                false,
                /*isWrite*/
                false,
                rt,
                vt
              )), Zr = at.elements;
            }
          }
          if (wt && wt.length > 0) {
            const Rr = Pe(wt, E.checkDefined(Zr));
            Te = Bi(Te, Rr), ue(), at.kind === 211 && o.includeCompletionsWithObjectLiteralMethodSnippets && o.includeCompletionsWithInsertText && (ye(ke), Jn(Rr, at));
          }
          return 1;
        }
        function re() {
          if (!B) return 0;
          const ke = B.kind === 19 || B.kind === 28 ? Bn(B.parent, j5) : w9(B) ? Bn(B.parent.parent, j5) : void 0;
          if (!ke) return 0;
          w9(B) || (he = 8);
          const { moduleSpecifier: at } = ke.kind === 276 ? ke.parent.parent : ke.parent;
          if (!at)
            return q = true, ke.kind === 276 ? 2 : 0;
          const wt = m.getSymbolAtLocation(at);
          if (!wt)
            return q = true, 2;
          Z = 3, q = false;
          const Zr = m.getExportsAndPropertiesOfModule(wt), Rr = new Set(ke.elements.filter((rt) => !Mt(rt)).map((rt) => Tb(rt.propertyName || rt.name))), Pr = Zr.filter((rt) => rt.escapedName !== "default" && !Rr.has(rt.escapedName));
          return Te = Bi(Te, Pr), Pr.length || (he = 0), 1;
        }
        function it() {
          if (B === void 0) return 0;
          const ke = B.kind === 19 || B.kind === 28 ? Bn(B.parent, TS) : B.kind === 59 ? Bn(B.parent.parent, TS) : void 0;
          if (ke === void 0) return 0;
          const at = new Set(ke.elements.map(lF));
          return Te = kn(m.getTypeAtLocation(ke).getApparentProperties(), (wt) => !at.has(wt.escapedName)), 1;
        }
        function Y() {
          var ke;
          const at = B && (B.kind === 19 || B.kind === 28) ? Bn(B.parent, _p) : void 0;
          if (!at)
            return 0;
          const wt = dr(at, H_(Di, Lc));
          return Z = 5, q = false, (ke = wt.locals) == null || ke.forEach((Zr, Rr) => {
            var Pr, rt;
            Te.push(Zr), (rt = (Pr = wt.symbol) == null ? void 0 : Pr.exports) != null && rt.has(Rr) && (ne[$s(Zr)] = pu.OptionalMember);
          }), 1;
        }
        function Ae() {
          const ke = V$e(n, B, fe, s);
          if (!ke) return 0;
          if (Z = 3, q = true, he = B.kind === 42 ? 0 : $n(ke) ? 2 : 3, !$n(ke)) return 1;
          const at = B.kind === 27 ? B.parent.parent : B.parent;
          let wt = Uc(at) ? lu(at) : 0;
          if (B.kind === 80 && !Mt(B))
            switch (B.getText()) {
              case "private":
                wt = wt | 2;
                break;
              case "static":
                wt = wt | 256;
                break;
              case "override":
                wt = wt | 16;
                break;
            }
          if (Sc(at) && (wt |= 256), !(wt & 2)) {
            const Zr = $n(ke) && wt & 16 ? qT(kd(ke)) : U4(ke), Rr = xa(Zr, (Pr) => {
              const rt = m.getTypeAtLocation(Pr);
              return wt & 256 ? rt?.symbol && m.getPropertiesOfType(m.getTypeOfSymbolAtLocation(rt.symbol, ke)) : rt && m.getPropertiesOfType(rt);
            });
            Te = Bi(Te, Q(Rr, ke.members, wt)), lr(Te, (Pr, rt) => {
              const vt = Pr?.valueDeclaration;
              if (vt && Uc(vt) && vt.name && Hs(vt.name)) {
                const Nt = {
                  kind: 512,
                  symbolName: m.symbolToString(Pr)
                };
                Ye[rt] = Nt;
              }
            });
          }
          return 1;
        }
        function $e(ke) {
          return !!ke.parent && Ii(ke.parent) && ec(ke.parent.parent) && (x4(ke.kind) || Hm(ke));
        }
        function Ke(ke) {
          if (ke) {
            const at = ke.parent;
            switch (ke.kind) {
              case 21:
              case 28:
                return ec(ke.parent) ? ke.parent : void 0;
              default:
                if ($e(ke))
                  return at.parent;
            }
          }
        }
        function Tt(ke) {
          if (ke) {
            let at;
            const wt = dr(ke.parent, (Zr) => $n(Zr) ? "quit" : to(Zr) && at === Zr.body ? true : (at = Zr, false));
            return wt && wt;
          }
        }
        function Le(ke) {
          if (ke) {
            const at = ke.parent;
            switch (ke.kind) {
              case 32:
              // End of a type argument list
              case 31:
              case 44:
              case 80:
              case 212:
              case 293:
              case 292:
              case 294:
                if (at && (at.kind === 286 || at.kind === 287)) {
                  if (ke.kind === 32) {
                    const wt = ul(
                      ke.pos,
                      n,
                      /*startNode*/
                      void 0
                    );
                    if (!at.typeArguments || wt && wt.kind === 44) break;
                  }
                  return at;
                } else if (at.kind === 292)
                  return at.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 (at && (at.kind === 292 || at.kind === 294))
                  return at.parent.parent;
                break;
              case 20:
                if (at && at.kind === 295 && at.parent && at.parent.kind === 292)
                  return at.parent.parent.parent;
                if (at && at.kind === 294)
                  return at.parent.parent;
                break;
            }
          }
        }
        function mt(ke, at) {
          return n.getLineEndOfPosition(ke.getEnd()) < at;
        }
        function pt(ke) {
          const at = ke.parent, wt = at.kind;
          switch (ke.kind) {
            case 28:
              return wt === 261 || rn(ke) || wt === 244 || wt === 267 || // enum a { foo, |
              qe(wt) || wt === 265 || // interface A<T, |
              wt === 208 || // var [x, y|
              wt === 266 || // type Map, K, |
              // class A<T, |
              // var C = class D<T, |
              $n(at) && !!at.typeParameters && at.typeParameters.end >= ke.pos;
            case 25:
              return wt === 208;
            // var [.|
            case 59:
              return wt === 209;
            // var {x :html|
            case 23:
              return wt === 208;
            // var [x|
            case 21:
              return wt === 300 || qe(wt);
            case 19:
              return wt === 267;
            // enum a { |
            case 30:
              return wt === 264 || // class A< |
              wt === 232 || // var C = class D< |
              wt === 265 || // interface A< |
              wt === 266 || // type List< |
              ZT(wt);
            case 126:
              return wt === 173 && !$n(at.parent);
            case 26:
              return wt === 170 || !!at.parent && at.parent.kind === 208;
            // var [...z|
            case 125:
            case 123:
            case 124:
              return wt === 170 && !ec(at.parent);
            case 130:
              return wt === 277 || wt === 282 || wt === 275;
            case 139:
            case 153:
              return !zH(ke);
            case 80: {
              if ((wt === 277 || wt === 282) && ke === at.name && ke.text === "type" || dr(
                ke.parent,
                ei
              ) && mt(ke, s))
                return false;
              break;
            }
            case 86:
            case 94:
            case 120:
            case 100:
            case 115:
            case 102:
            case 121:
            case 87:
            case 140:
              return true;
            case 156:
              return wt !== 277;
            case 42:
              return Cs(ke.parent) && !Ko(ke.parent);
          }
          if (CL(jH(ke)) && zH(ke) || $e(ke) && (!Me(ke) || x4(jH(ke)) || Mt(ke)))
            return false;
          switch (jH(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 true;
            case 134:
              return as(ke.parent);
          }
          if (dr(ke.parent, $n) && ke === R && Ct(ke, s))
            return false;
          const Rr = q1(
            ke.parent,
            173
            /* PropertyDeclaration */
          );
          if (Rr && ke !== R && $n(R.parent.parent) && s <= R.end) {
            if (Ct(ke, R.end))
              return false;
            if (ke.kind !== 64 && (_8(Rr) || F7(Rr)))
              return true;
          }
          return Hm(ke) && !fu(ke.parent) && !ym(ke.parent) && !(($n(ke.parent) || Jl(ke.parent) || Io(ke.parent)) && (ke !== R || s > R.end));
        }
        function Ct(ke, at) {
          return ke.kind !== 64 && (ke.kind === 27 || !sp(ke.end, at, n));
        }
        function qe(ke) {
          return ZT(ke) && ke !== 177;
        }
        function Lt(ke) {
          if (ke.kind === 9) {
            const at = ke.getFullText();
            return at.charAt(at.length - 1) === ".";
          }
          return false;
        }
        function rn(ke) {
          return ke.parent.kind === 262 && !J8(ke, n, m);
        }
        function Pe(ke, at) {
          if (at.length === 0)
            return ke;
          const wt = /* @__PURE__ */ new Set(), Zr = /* @__PURE__ */ new Set();
          for (const Pr of at) {
            if (Pr.kind !== 304 && Pr.kind !== 305 && Pr.kind !== 209 && Pr.kind !== 175 && Pr.kind !== 178 && Pr.kind !== 179 && Pr.kind !== 306 || Mt(Pr))
              continue;
            let rt;
            if (Bg(Pr))
              yt(Pr, wt);
            else if (ha(Pr) && Pr.propertyName)
              Pr.propertyName.kind === 80 && (rt = Pr.propertyName.escapedText);
            else {
              const vt = us(Pr);
              rt = vt && am(vt) ? H4(vt) : void 0;
            }
            rt !== void 0 && Zr.add(rt);
          }
          const Rr = ke.filter((Pr) => !Zr.has(Pr.escapedName));
          return M(wt, Rr), Rr;
        }
        function yt(ke, at) {
          const wt = ke.expression, Zr = m.getSymbolAtLocation(wt), Rr = Zr && m.getTypeOfSymbolAtLocation(Zr, wt), Pr = Rr && Rr.properties;
          Pr && Pr.forEach((rt) => {
            at.add(rt.name);
          });
        }
        function ue() {
          Te.forEach((ke) => {
            if (ke.flags & 16777216) {
              const at = $s(ke);
              ne[at] = ne[at] ?? pu.OptionalMember;
            }
          });
        }
        function M(ke, at) {
          if (ke.size !== 0)
            for (const wt of at)
              ke.has(wt.name) && (ne[$s(wt)] = pu.MemberDeclaredBySpreadAssignment);
        }
        function ye(ke) {
          for (let at = ke; at < Te.length; at++) {
            const wt = Te[at], Zr = $s(wt), Rr = Ye?.[at], Pr = pa(i), rt = MH(
              wt,
              Pr,
              Rr,
              0,
              /*jsxIdentifierExpected*/
              false
            );
            if (rt) {
              const vt = ne[Zr] ?? pu.LocationPriority, { name: Nt } = rt;
              ne[Zr] = pu.ObjectLiteralProperty(vt, Nt);
            }
          }
        }
        function Q(ke, at, wt) {
          const Zr = /* @__PURE__ */ new Set();
          for (const Rr of at) {
            if (Rr.kind !== 173 && Rr.kind !== 175 && Rr.kind !== 178 && Rr.kind !== 179 || Mt(Rr) || ef(
              Rr,
              2
              /* Private */
            ) || Bs(Rr) !== !!(wt & 256))
              continue;
            const Pr = oS(Rr.name);
            Pr && Zr.add(Pr);
          }
          return ke.filter(
            (Rr) => !Zr.has(Rr.escapedName) && !!Rr.declarations && !(ap(Rr) & 2) && !(Rr.valueDeclaration && xu(Rr.valueDeclaration))
          );
        }
        function dt(ke, at) {
          const wt = /* @__PURE__ */ new Set(), Zr = /* @__PURE__ */ new Set();
          for (const Pr of at)
            Mt(Pr) || (Pr.kind === 292 ? wt.add(yD(Pr.name)) : Ux(Pr) && yt(Pr, Zr));
          const Rr = ke.filter((Pr) => !wt.has(Pr.escapedName));
          return M(Zr, Rr), Rr;
        }
        function Mt(ke) {
          return ke.getStart(n) <= s && s <= ke.getEnd();
        }
      }
      function B$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 Ko(s) ? Bn(s.parent, ua) : void 0;
            case 134:
              return Bn(s.parent, ua);
            case 80:
              if (e.text === "async" && fu(e.parent))
                return e.parent.parent;
              {
                if (ua(e.parent.parent) && (Bg(e.parent) || fu(e.parent) && Rs(n, e.getEnd()).line !== Rs(n, t).line))
                  return e.parent.parent;
                const c = dr(s, Kc);
                if (c?.getLastToken(n) === e && ua(c.parent))
                  return c.parent;
              }
              break;
            default:
              if ((i = s.parent) != null && i.parent && (Ko(s.parent) || lp(s.parent) || R_(s.parent)) && ua(s.parent.parent))
                return s.parent.parent;
              if (Bg(s) && ua(s.parent))
                return s.parent;
              const o = dr(s, Kc);
              if (e.kind !== 59 && o?.getLastToken(n) === e && ua(o.parent))
                return o.parent;
          }
        }
      }
      function LH(e, t) {
        const n = ul(e, t);
        return n && e <= n.end && (xg(n) || b_(n.kind)) ? { contextToken: ul(
          n.getFullStart(),
          t,
          /*startNode*/
          void 0
        ), previousToken: n } : { contextToken: n, previousToken: n };
      }
      function x4e(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" && eD(_) || _, { symbol: _, origin: w$e(t, e, c) }) : void 0;
      }
      function MH(e, t, n, i, s) {
        if (l$e(n))
          return;
        const o = s$e(n) ? n.symbolName : e.name;
        if (o === void 0 || e.flags & 1536 && O3(o.charCodeAt(0)) || G4(e))
          return;
        const c = { name: o, needsConvertPropertyAccess: false };
        if (F_(
          o,
          t,
          s ? 1 : 0
          /* Standard */
        ) || e.valueDeclaration && xu(e.valueDeclaration))
          return c;
        if (e.flags & 2097152)
          return { name: o, needsConvertPropertyAccess: true };
        switch (i) {
          case 3:
            return pue(n) ? { name: n.symbolName, needsConvertPropertyAccess: false } : void 0;
          case 0:
            return { name: JSON.stringify(o), needsConvertPropertyAccess: false };
          case 2:
          case 1:
            return o.charCodeAt(0) === 32 ? void 0 : { name: o, needsConvertPropertyAccess: true };
          case 5:
          case 4:
            return c;
          default:
            E.assertNever(i);
        }
      }
      var RH = [], k4e = Bu(() => {
        const e = [];
        for (let t = 83; t <= 166; t++)
          e.push({
            name: Vs(t),
            kind: "keyword",
            kindModifiers: "",
            sortText: pu.GlobalsOrKeywords
          });
        return e;
      });
      function C4e(e, t) {
        if (!t) return E4e(e);
        const n = e + 8 + 1;
        return RH[n] || (RH[n] = E4e(e).filter((i) => !J$e(U2(i.name))));
      }
      function E4e(e) {
        return RH[e] || (RH[e] = k4e().filter((t) => {
          const n = U2(t.name);
          switch (e) {
            case 0:
              return false;
            case 1:
              return w4e(n) || n === 138 || n === 144 || n === 156 || n === 145 || n === 128 || mw(n) && n !== 157;
            case 5:
              return w4e(n);
            case 2:
              return CL(n);
            case 3:
              return D4e(n);
            case 4:
              return x4(n);
            case 6:
              return mw(n) || n === 87;
            case 7:
              return mw(n);
            case 8:
              return n === 156;
            default:
              return E.assertNever(e);
          }
        }));
      }
      function J$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 true;
          default:
            return false;
        }
      }
      function D4e(e) {
        return e === 148;
      }
      function CL(e) {
        switch (e) {
          case 128:
          case 129:
          case 137:
          case 139:
          case 153:
          case 134:
          case 138:
          case 164:
            return true;
          default:
            return zj(e);
        }
      }
      function w4e(e) {
        return e === 134 || e === 135 || e === 160 || e === 130 || e === 152 || e === 156 || !g5(e) && !CL(e);
      }
      function jH(e) {
        return Me(e) ? q2(e) ?? 0 : e.kind;
      }
      function z$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;
          (Wo(s) || Mc(s) && s.moduleSpecifier) && e === s.moduleSpecifier && o === c && n.push({
            name: Vs(
              132
              /* AssertKeyword */
            ),
            kind: "keyword",
            kindModifiers: "",
            sortText: pu.GlobalsOrKeywords
          });
        }
        return n;
      }
      function W$e(e, t) {
        return dr(e, (n) => PC(n) && J6(n, t) ? true : Nd(n) ? "quit" : false);
      }
      function BH(e, t, n, i) {
        const s = t && t !== e, o = i.getUnionType(
          kn(
            e.flags & 1048576 ? e.types : [e],
            (g) => !i.getPromisedTypeOfPromise(g)
          )
        ), c = s && !(t.flags & 3) ? i.getUnionType([o, t]) : o, _ = U$e(c, n, i);
        return c.isClass() && P4e(_) ? [] : s ? kn(_, u) : _;
        function u(g) {
          return wr(g.declarations) ? ot(g.declarations, (m) => m.parent !== n) : true;
        }
      }
      function U$e(e, t, n) {
        return e.isUnion() ? n.getAllPossiblePropertiesOfTypes(kn(e.types, (i) => !(i.flags & 402784252 || n.isArrayLikeType(i) || n.isTypeInvalidDueToUnionDiscriminant(i, t) || n.typeHasCallOrConstructSignatures(i) || i.isClass() && P4e(i.getApparentProperties())))) : e.getApparentProperties();
      }
      function P4e(e) {
        return ot(e, (t) => !!(ap(t) & 6));
      }
      function JH(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 V$e(e, t, n, i) {
        switch (n.kind) {
          case 353:
            return Bn(n.parent, bx);
          case 1:
            const s = Bn(ko(Ws(n.parent, Di).statements), bx);
            if (s && !$a(s, 20, e))
              return s;
            break;
          case 81:
            if (Bn(n.parent, as))
              return dr(n, $n);
            break;
          case 80: {
            if (q2(n) || as(n.parent) && n.parent.initializer === n)
              return;
            if (zH(n))
              return dr(n, bx);
          }
        }
        if (t) {
          if (n.kind === 137 || Me(t) && as(t.parent) && $n(n))
            return dr(t, $n);
          switch (t.kind) {
            case 64:
              return;
            case 27:
            // class c {getValue(): number; | }
            case 20:
              return zH(n) && n.parent.name === n ? n.parent.parent : Bn(n, bx);
            case 19:
            // class c { |
            case 28:
              return Bn(t.parent, bx);
            default:
              if (bx(n)) {
                if (Rs(e, t.getEnd()).line !== Rs(e, i).line)
                  return n;
                const s = $n(t.parent.parent) ? CL : D4e;
                return s(t.kind) || t.kind === 42 || Me(t) && s(
                  q2(t) ?? 0
                  /* Unknown */
                ) ? t.parent.parent : void 0;
              }
              return;
          }
        }
      }
      function q$e(e) {
        if (!e) return;
        const t = e.parent;
        switch (e.kind) {
          case 19:
            if (r_(t))
              return t;
            break;
          case 27:
          case 28:
          case 80:
            if (t.kind === 172 && r_(t.parent))
              return t.parent;
            break;
        }
      }
      function N4e(e, t) {
        if (!e) return;
        if (li(e) && O7(e.parent))
          return t.getTypeArgumentConstraint(e);
        const n = N4e(e.parent, t);
        if (n)
          switch (e.kind) {
            case 172:
              return t.getTypeOfPropertyOfContextualType(n, e.symbol.escapedName);
            case 194:
            case 188:
            case 193:
              return n;
          }
      }
      function zH(e) {
        return e.parent && E7(e.parent) && bx(e.parent.parent);
      }
      function H$e(e, t, n, i) {
        switch (t) {
          case ".":
          case "@":
            return true;
          case '"':
          case "'":
          case "`":
            return !!n && Cae(n) && i === n.getStart(e) + 1;
          case "#":
            return !!n && Ai(n) && !!jl(n);
          case "<":
            return !!n && n.kind === 30 && (!_n(n.parent) || A4e(n.parent));
          case "/":
            return !!n && (Ma(n) ? !!J3(n) : n.kind === 44 && Vb(n.parent));
          case " ":
            return !!n && ED(n) && n.parent.kind === 308;
          default:
            return E.assertNever(t);
        }
      }
      function A4e({ left: e }) {
        return ac(e);
      }
      function G$e(e, t, n) {
        const i = n.resolveName(
          "self",
          /*location*/
          void 0,
          111551,
          /*excludeGlobals*/
          false
        );
        if (i && n.getTypeOfSymbolAtLocation(i, t) === e)
          return true;
        const s = n.resolveName(
          "global",
          /*location*/
          void 0,
          111551,
          /*excludeGlobals*/
          false
        );
        if (s && n.getTypeOfSymbolAtLocation(s, t) === e)
          return true;
        const o = n.resolveName(
          "globalThis",
          /*location*/
          void 0,
          111551,
          /*excludeGlobals*/
          false
        );
        return !!(o && n.getTypeOfSymbolAtLocation(o, t) === e);
      }
      function $$e(e) {
        return !!(e.valueDeclaration && lu(e.valueDeclaration) & 256 && $n(e.valueDeclaration.parent));
      }
      function X$e(e, t) {
        const n = t.getContextualType(e);
        if (n)
          return n;
        const i = rd(e.parent);
        if (_n(i) && i.operatorToken.kind === 64 && e === i.left)
          return t.getTypeAtLocation(i);
        if (ut(i))
          return t.getContextualType(i);
      }
      function I4e(e, t) {
        var n, i, s;
        let o, c = false;
        const _ = u();
        return {
          isKeywordOnlyCompletion: c,
          keywordCompletion: o,
          isNewIdentifierLocation: !!(_ || o === 156),
          isTopLevelTypeOnly: !!((i = (n = Bn(_, Wo)) == null ? void 0 : n.importClause) != null && i.isTypeOnly) || !!((s = Bn(_, cl)) != null && s.isTypeOnly),
          couldBeTypeOnlyImportSpecifier: !!_ && O4e(_, e),
          replacementSpan: Q$e(_)
        };
        function u() {
          const g = e.parent;
          if (cl(g)) {
            const m = g.getLastToken(t);
            if (Me(e) && m !== e) {
              o = 161, c = true;
              return;
            }
            return o = e.kind === 156 ? void 0 : 156, Tue(g.moduleReference) ? g : void 0;
          }
          if (O4e(g, e) && L4e(g.parent))
            return g;
          if (gm(g) || jg(g)) {
            if (!g.parent.isTypeOnly && (e.kind === 19 || e.kind === 102 || e.kind === 28) && (o = 156), L4e(g))
              if (e.kind === 20 || e.kind === 80)
                c = true, o = 161;
              else
                return g.parent.parent;
            return;
          }
          if (Mc(g) && e.kind === 42 || _p(g) && e.kind === 20) {
            c = true, o = 161;
            return;
          }
          if (ED(e) && Di(g))
            return o = 156, e;
          if (ED(e) && Wo(g))
            return o = 156, Tue(g.moduleSpecifier) ? g : void 0;
        }
      }
      function Q$e(e) {
        var t;
        if (!e) return;
        const n = dr(e, H_(Wo, cl, vm)) ?? e, i = n.getSourceFile();
        if (uS(n, i))
          return a_(n, i);
        E.assert(
          n.kind !== 102 && n.kind !== 277
          /* ImportSpecifier */
        );
        const s = n.kind === 273 || n.kind === 352 ? F4e((t = n.importClause) == null ? void 0 : t.namedBindings) ?? n.moduleSpecifier : n.moduleReference, o = {
          pos: n.getFirstToken().getStart(),
          end: s.pos
        };
        if (uS(o, i))
          return E0(o);
      }
      function F4e(e) {
        var t;
        return Nn(
          (t = Bn(e, gm)) == null ? void 0 : t.elements,
          (n) => {
            var i;
            return !n.propertyName && dx(n.name.text) && ((i = ul(n.name.pos, e.getSourceFile(), e)) == null ? void 0 : i.kind) !== 28;
          }
        );
      }
      function O4e(e, t) {
        return qu(e) && (e.isTypeOnly || t === e.name && w9(t));
      }
      function L4e(e) {
        if (!Tue(e.parent.parent.moduleSpecifier) || e.parent.name)
          return false;
        if (gm(e)) {
          const t = F4e(e);
          return (t ? e.elements.indexOf(t) : e.elements.length) < 2;
        }
        return true;
      }
      function Tue(e) {
        var t;
        return ac(e) ? true : !((t = Bn(xh(e) ? e.expression : e, Ma)) != null && t.text);
      }
      function Y$e(e, t) {
        if (!e) return;
        let n = dr(e, (i) => kb(i) || M4e(i) || Ds(i) ? "quit" : (Ii(i) || Io(i)) && !Jy(i.parent));
        return n || (n = dr(t, (i) => kb(i) || M4e(i) || Ds(i) ? "quit" : ei(i))), n;
      }
      function Z$e(e) {
        if (!e)
          return false;
        let t = e, n = e.parent;
        for (; n; ) {
          if (Io(n))
            return n.default === t || t.kind === 64;
          t = n, n = n.parent;
        }
        return false;
      }
      function M4e(e) {
        return e.parent && bo(e.parent) && (e.parent.body === e || // const a = () => /**/;
        e.kind === 39);
      }
      function xue(e, t, n = /* @__PURE__ */ new Set()) {
        return i(e) || i(Ql(e.exportSymbol || e, t));
        function i(s) {
          return !!(s.flags & 788968) || t.isUnknownSymbol(s) || !!(s.flags & 1536) && Mp(n, s) && t.getExportsOfModule(s).some((o) => xue(o, t, n));
        }
      }
      function K$e(e, t) {
        const n = Ql(e, t).declarations;
        return !!wr(n) && Ni(n, V9);
      }
      function R4e(e, t) {
        if (t.length === 0)
          return true;
        let n = false, i, s = 0;
        const o = e.length;
        for (let c = 0; c < o; c++) {
          const _ = e.charCodeAt(c), u = t.charCodeAt(s);
          if ((_ === u || _ === eXe(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 true;
          i = _;
        }
        return false;
      }
      function eXe(e) {
        return 97 <= e && e <= 122 ? e - 32 : e;
      }
      function tXe(e) {
        return e === "abstract" || e === "async" || e === "await" || e === "declare" || e === "module" || e === "namespace" || e === "type" || e === "satisfies" || e === "as";
      }
      var WH = {};
      Ec(WH, {
        getStringLiteralCompletionDetails: () => iXe,
        getStringLiteralCompletions: () => rXe
      });
      var j4e = {
        directory: 0,
        script: 1,
        "external module name": 2
      };
      function kue() {
        const e = /* @__PURE__ */ new Map();
        function t(n) {
          const i = e.get(n.name);
          (!i || j4e[i.kind] < j4e[n.kind]) && e.set(n.name, n);
        }
        return {
          add: t,
          has: e.has.bind(e),
          values: e.values.bind(e)
        };
      }
      function rXe(e, t, n, i, s, o, c, _, u) {
        if (cae(e, t)) {
          const g = yXe(e, t, o, s, mv(o, s));
          return g && B4e(g);
        }
        if (ik(e, t, n)) {
          if (!n || !Ma(n)) return;
          const g = z4e(e, n, t, o, s, _);
          return nXe(g, n, e, s, o, c, i, _, t, u);
        }
      }
      function nXe(e, t, n, i, s, o, c, _, u, g) {
        if (e === void 0)
          return;
        const m = MV(t, u);
        switch (e.kind) {
          case 0:
            return B4e(e.paths);
          case 1: {
            const h = DR();
            return yue(
              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: false,
              isMemberCompletion: true,
              isNewIdentifierLocation: e.hasIndexSignature,
              optionalReplacementSpan: m,
              entries: h,
              defaultCommitCharacters: JS(e.hasIndexSignature)
            };
          }
          case 2: {
            const h = t.kind === 15 ? 96 : Ui(Go(t), "'") ? 39 : 34, S = e.types.map((T) => ({
              name: Gm(T.value, h),
              kindModifiers: "",
              kind: "string",
              sortText: pu.LocationPriority,
              replacementSpan: LV(t, u),
              commitCharacters: []
            }));
            return {
              isGlobalCompletion: false,
              isMemberCompletion: false,
              isNewIdentifierLocation: e.isNewIdentifier,
              optionalReplacementSpan: m,
              entries: S,
              defaultCommitCharacters: JS(e.isNewIdentifier)
            };
          }
          default:
            return E.assertNever(e);
        }
      }
      function iXe(e, t, n, i, s, o, c, _) {
        if (!i || !Ma(i)) return;
        const u = z4e(t, i, n, s, o, _);
        return u && sXe(e, i, u, t, s.getTypeChecker(), c);
      }
      function sXe(e, t, n, i, s, o) {
        switch (n.kind) {
          case 0: {
            const c = Nn(n.paths, (_) => _.name === e);
            return c && kL(e, J4e(c.extension), c.kind, [Lf(e)]);
          }
          case 1: {
            const c = Nn(n.symbols, (_) => _.name === e);
            return c && bue(c, c.name, s, i, t, o);
          }
          case 2:
            return Nn(n.types, (c) => c.value === e) ? kL(e, "", "string", [Lf(e)]) : void 0;
          default:
            return E.assertNever(n);
        }
      }
      function B4e(e) {
        return {
          isGlobalCompletion: false,
          isMemberCompletion: false,
          isNewIdentifierLocation: true,
          entries: e.map(({ name: s, kind: o, span: c, extension: _ }) => ({ name: s, kind: o, kindModifiers: J4e(_), sortText: pu.LocationPriority, replacementSpan: c })),
          defaultCommitCharacters: JS(true)
        };
      }
      function J4e(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 z4e(e, t, n, i, s, o) {
        const c = i.getTypeChecker(), _ = Cue(t.parent);
        switch (_.kind) {
          case 202: {
            const R = Cue(_.parent);
            return R.kind === 206 ? { kind: 0, paths: V4e(e, t, i, s, o) } : u(R);
          }
          case 304:
            return ua(_.parent) && _.name === t ? cXe(c, _.parent) : g() || g(
              0
              /* None */
            );
          case 213: {
            const { expression: R, argumentExpression: B } = _;
            return t === Ra(B) ? W4e(c.getTypeAtLocation(R)) : void 0;
          }
          case 214:
          case 215:
          case 292:
            if (!kXe(t) && !y_(_)) {
              const R = kA.getArgumentInfoForCompletions(_.kind === 292 ? _.parent : t, n, e, c);
              return R && oXe(R.invocation, t, R, c) || g(
                0
                /* None */
              );
            }
          // falls through (is `require("")` or `require(""` or `import("")`)
          case 273:
          case 279:
          case 284:
          case 352:
            return { kind: 0, paths: V4e(e, t, i, s, o) };
          case 297:
            const m = G9(c, _.parent.clauses), h = g();
            return h ? { kind: 2, types: h.types.filter((R) => !m.hasValue(R.value)), isNewIdentifier: false } : void 0;
          case 277:
          case 282:
            const T = _;
            if (T.propertyName && t !== T.propertyName)
              return;
            const k = T.parent, { moduleSpecifier: D } = k.kind === 276 ? k.parent.parent : k.parent;
            if (!D) return;
            const P = c.getSymbolAtLocation(D);
            if (!P) return;
            const A = c.getExportsAndPropertiesOfModule(P), O = new Set(k.elements.map((R) => Tb(R.propertyName || R.name)));
            return { kind: 1, symbols: A.filter((R) => R.escapedName !== "default" && !O.has(R.escapedName)), hasIndexSignature: false };
          case 227:
            if (_.operatorToken.kind === 103) {
              const R = c.getTypeAtLocation(_.right);
              return {
                kind: 1,
                symbols: (R.isUnion() ? c.getAllPossiblePropertiesOfTypes(R.types) : R.getApparentProperties()).filter((U) => !U.valueDeclaration || !xu(U.valueDeclaration)),
                hasIndexSignature: false
              };
            }
            return g(
              0
              /* None */
            );
          default:
            return g() || g(
              0
              /* None */
            );
        }
        function u(m) {
          switch (m.kind) {
            case 234:
            case 184: {
              const T = dr(_, (k) => k.parent === m);
              return T ? { kind: 2, types: UH(c.getTypeArgumentConstraint(T)), isNewIdentifier: false } : void 0;
            }
            case 200:
              const { indexType: h, objectType: S } = m;
              return J6(h, n) ? W4e(c.getTypeFromTypeNode(S)) : void 0;
            case 193: {
              const T = u(Cue(m.parent));
              if (!T)
                return;
              const k = aXe(m, _);
              return T.kind === 1 ? { kind: 1, symbols: T.symbols.filter((D) => !ds(k, D.name)), hasIndexSignature: T.hasIndexSignature } : { kind: 2, types: T.types.filter((D) => !ds(k, D.value)), isNewIdentifier: false };
            }
            default:
              return;
          }
        }
        function g(m = 4) {
          const h = UH(M9(t, c, m));
          if (h.length)
            return { kind: 2, types: h, isNewIdentifier: false };
        }
      }
      function Cue(e) {
        switch (e.kind) {
          case 197:
            return q3(e);
          case 218:
            return rd(e);
          default:
            return e;
        }
      }
      function aXe(e, t) {
        return Fi(e.types, (n) => n !== t && S0(n) && oa(n.literal) ? n.literal.text : void 0);
      }
      function oXe(e, t, n, i) {
        let s = false;
        const o = /* @__PURE__ */ new Set(), c = ku(e) ? E.checkDefined(dr(t.parent, ym)) : t, _ = i.getCandidateSignaturesForStringLiteralCompletions(e, c), u = xa(_, (g) => {
          if (!wu(g) && n.argumentCount > g.parameters.length) return;
          let m = g.getTypeParameterAtPosition(n.argumentIndex);
          if (ku(e)) {
            const h = i.getTypeOfPropertyOfType(m, kN(c.name));
            h && (m = h);
          }
          return s = s || !!(m.flags & 4), UH(m, o);
        });
        return wr(u) ? { kind: 2, types: u, isNewIdentifier: s } : void 0;
      }
      function W4e(e) {
        return e && {
          kind: 1,
          symbols: kn(e.getApparentProperties(), (t) => !(t.valueDeclaration && xu(t.valueDeclaration))),
          hasIndexSignature: rq(e)
        };
      }
      function cXe(e, t) {
        const n = e.getContextualType(t);
        if (!n) return;
        const i = e.getContextualType(
          t,
          4
          /* Completions */
        );
        return {
          kind: 1,
          symbols: BH(
            n,
            i,
            t,
            e
          ),
          hasIndexSignature: rq(n)
        };
      }
      function UH(e, t = /* @__PURE__ */ new Set()) {
        return e ? (e = BV(e), e.isUnion() ? xa(e.types, (n) => UH(n, t)) : e.isStringLiteral() && !(e.flags & 1024) && Mp(t, e.value) ? [e] : Ge) : Ge;
      }
      function Ow(e, t, n) {
        return { name: e, kind: t, extension: n };
      }
      function Eue(e) {
        return Ow(
          e,
          "directory",
          /*extension*/
          void 0
        );
      }
      function U4e(e, t, n) {
        const i = bXe(e, t), s = e.length === 0 ? void 0 : Xl(t, e.length);
        return n.map(({ name: o, kind: c, extension: _ }) => o.includes(yo) || o.includes(a7) ? { name: o, kind: c, extension: _, span: s } : { name: o, kind: c, extension: _, span: i });
      }
      function V4e(e, t, n, i, s) {
        return U4e(t.text, t.getStart(e) + 1, lXe(e, t, n, i, s));
      }
      function lXe(e, t, n, i, s) {
        const o = Rl(t.text), c = Ma(t) ? n.getModeForUsageLocation(e, t) : void 0, _ = e.path, u = Hn(_), g = n.getCompilerOptions(), m = n.getTypeChecker(), h = mv(n, i), S = Due(g, 1, e, m, s, c);
        return SXe(o) || !g.baseUrl && !g.paths && ($_(o) || IY(o)) ? uXe(o, u, n, i, h, _, S) : dXe(o, u, c, n, i, h, S);
      }
      function Due(e, t, n, i, s, o) {
        return {
          extensionsToSearch: wp(_Xe(e, i)),
          referenceKind: t,
          importingSourceFile: n,
          endingPreference: s?.importModuleSpecifierEnding,
          resolutionMode: o
        };
      }
      function uXe(e, t, n, i, s, o, c) {
        const _ = n.getCompilerOptions();
        return _.rootDirs ? pXe(
          _.rootDirs,
          e,
          t,
          c,
          n,
          i,
          s,
          o
        ) : ns(yA(
          e,
          t,
          c,
          n,
          i,
          s,
          /*moduleSpecifierIsRelative*/
          true,
          o
        ).values());
      }
      function _Xe(e, t) {
        const n = t ? Fi(t.getAmbientModules(), (o) => {
          const c = o.name.slice(1, -1);
          if (!(!c.startsWith("*.") || c.includes("/")))
            return c.slice(1);
        }) : [], i = [...cD(e), n], s = Cu(e);
        return P9(s) ? hN(e, i) : i;
      }
      function fXe(e, t, n, i) {
        e = e.map((o) => pl(qs($_(o) ? o : On(t, o))));
        const s = Ic(e, (o) => Kf(o, n, t, i) ? n.substr(o.length) : void 0);
        return _b(
          [...e.map((o) => On(o, s)), n].map((o) => a0(o)),
          db,
          ou
        );
      }
      function pXe(e, t, n, i, s, o, c, _) {
        const g = s.getCompilerOptions().project || o.getCurrentDirectory(), m = !(o.useCaseSensitiveFileNames && o.useCaseSensitiveFileNames()), h = fXe(e, g, n, m);
        return _b(
          xa(h, (S) => ns(yA(
            t,
            S,
            i,
            s,
            o,
            c,
            /*moduleSpecifierIsRelative*/
            true,
            _
          ).values())),
          (S, T) => S.name === T.name && S.kind === T.kind && S.extension === T.extension
        );
      }
      function yA(e, t, n, i, s, o, c, _, u = kue()) {
        var g;
        e === void 0 && (e = ""), e = Rl(e), dy(e) || (e = Hn(e)), e === "" && (e = "." + yo), e = pl(e);
        const m = my(t, e), h = dy(m) ? m : Hn(m);
        if (!c) {
          const D = Pae(h, s);
          if (D) {
            const A = XC(D, s).typesVersions;
            if (typeof A == "object") {
              const O = (g = oO(A)) == null ? void 0 : g.paths;
              if (O) {
                const F = Hn(D), R = m.slice(pl(F).length);
                if (H4e(u, R, F, n, i, s, o, O))
                  return u;
              }
            }
          }
        }
        const S = !(s.useCaseSensitiveFileNames && s.useCaseSensitiveFileNames());
        if (!J9(s, h)) return u;
        const T = sq(
          s,
          h,
          n.extensionsToSearch,
          /*exclude*/
          void 0,
          /*include*/
          ["./*"]
        );
        if (T)
          for (let D of T) {
            if (D = qs(D), _ && _h(D, _, t, S) === 0)
              continue;
            const { name: P, extension: A } = q4e(
              Xc(D),
              i,
              n,
              /*isExportsOrImportsWildcard*/
              false
            );
            u.add(Ow(P, "script", A));
          }
        const k = B9(s, h);
        if (k)
          for (const D of k) {
            const P = Xc(qs(D));
            P !== "@types" && u.add(Eue(P));
          }
        return u;
      }
      function q4e(e, t, n, i) {
        const s = Dh.tryGetRealFileNameForNonJsDeclarationFileName(e);
        if (s)
          return { name: s, extension: Lg(s) };
        if (n.referenceKind === 0)
          return { name: e, extension: Lg(e) };
        let o = Dh.getModuleSpecifierPreferences(
          { importModuleSpecifierEnding: n.endingPreference },
          t,
          t.getCompilerOptions(),
          n.importingSourceFile
        ).getAllowedEndingsInPreferredOrder(n.resolutionMode);
        if (i && (o = o.filter(
          (_) => _ !== 0 && _ !== 1
          /* Index */
        )), o[0] === 3) {
          if (bc(e, gN))
            return { name: e, extension: Lg(e) };
          const _ = Dh.tryGetJSExtensionForFile(e, t.getCompilerOptions());
          return _ ? { name: g0(e, _), extension: _ } : { name: e, extension: Lg(e) };
        }
        if (!i && (o[0] === 0 || o[0] === 1) && bc(e, [
          ".js",
          ".jsx",
          ".ts",
          ".tsx",
          ".d.ts"
          /* Dts */
        ]))
          return { name: Uu(e), extension: Lg(e) };
        const c = Dh.tryGetJSExtensionForFile(e, t.getCompilerOptions());
        return c ? { name: g0(e, c), extension: c } : { name: e, extension: Lg(e) };
      }
      function H4e(e, t, n, i, s, o, c, _) {
        const u = (m) => _[m], g = (m, h) => {
          const S = Cx(m), T = Cx(h), k = typeof S == "object" ? S.prefix.length : m.length, D = typeof T == "object" ? T.prefix.length : h.length;
          return po(D, k);
        };
        return G4e(
          e,
          /*isExports*/
          false,
          /*isImports*/
          false,
          t,
          n,
          i,
          s,
          o,
          c,
          Zd(_),
          u,
          g
        );
      }
      function G4e(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) && Co(k, "/") ? "*" : ""), P = m(k);
          if (P) {
            const A = Cx(D);
            if (!A) continue;
            const O = typeof A == "object" && QI(A, i);
            O && (T === void 0 || h(D, T) === -1) && (T = D, S = S.filter((R) => !R.matchedPattern)), (typeof A == "string" || T === void 0 || h(D, T) !== 1) && S.push({
              matchedPattern: O,
              results: mXe(D, P, i, s, o, t, n, c, _, u).map(({ name: R, kind: B, extension: U }) => Ow(R, B, U))
            });
          }
        }
        return S.forEach((k) => k.results.forEach((D) => e.add(D))), T !== void 0;
      }
      function dXe(e, t, n, i, s, o, c) {
        const _ = i.getTypeChecker(), u = i.getCompilerOptions(), { baseUrl: g, paths: m } = u, h = kue(), S = Cu(u);
        if (g) {
          const D = qs(On(s.getCurrentDirectory(), g));
          yA(
            e,
            D,
            c,
            i,
            s,
            o,
            /*moduleSpecifierIsRelative*/
            false,
            /*exclude*/
            void 0,
            h
          );
        }
        if (m) {
          const D = k5(u, s);
          H4e(h, e, D, c, i, s, o, m);
        }
        const T = X4e(e);
        for (const D of hXe(e, T, _))
          h.add(Ow(
            D,
            "external module name",
            /*extension*/
            void 0
          ));
        if (Z4e(i, s, o, t, T, c, h), P9(S)) {
          let D = false;
          if (T === void 0)
            for (const P of vXe(s, t)) {
              const A = Ow(
                P,
                "external module name",
                /*extension*/
                void 0
              );
              h.has(A.name) || (D = true, h.add(A));
            }
          if (!D) {
            const P = _N(u), A = fN(u);
            let O = false;
            const F = (B) => {
              if (A && !O) {
                const U = On(B, "package.json");
                if (O = xw(s, U)) {
                  const $ = XC(U, s);
                  k(
                    $.imports,
                    e,
                    B,
                    /*isExports*/
                    false,
                    /*isImports*/
                    true
                  );
                }
              }
            };
            let R = (B) => {
              const U = On(B, "node_modules");
              J9(s, U) && yA(
                e,
                U,
                c,
                i,
                s,
                o,
                /*moduleSpecifierIsRelative*/
                false,
                /*exclude*/
                void 0,
                h
              ), F(B);
            };
            if (T && P) {
              const B = R;
              R = (U) => {
                const $ = cu(e);
                $.shift();
                let W = $.shift();
                if (!W)
                  return B(U);
                if (Ui(W, "@")) {
                  const V = $.shift();
                  if (!V)
                    return B(U);
                  W = On(W, V);
                }
                if (A && Ui(W, "#"))
                  return F(U);
                const _e = On(U, "node_modules", W), K = On(_e, "package.json");
                if (xw(s, K)) {
                  const V = XC(K, s), ae = $.join("/") + ($.length && dy(e) ? "/" : "");
                  k(
                    V.exports,
                    ae,
                    _e,
                    /*isExports*/
                    true,
                    /*isImports*/
                    false
                  );
                  return;
                }
                return B(U);
              };
            }
            Qm(s, t, R);
          }
        }
        return ns(h.values());
        function k(D, P, A, O, F) {
          if (typeof D != "object" || D === null)
            return;
          const R = Zd(D), B = qy(u, n);
          G4e(
            h,
            O,
            F,
            P,
            A,
            c,
            i,
            s,
            o,
            R,
            (U) => {
              const $ = $4e(D[U], B);
              if ($ !== void 0)
                return qT(Co(U, "/") && Co($, "/") ? $ + "*" : $);
            },
            vW
          );
        }
      }
      function $4e(e, t) {
        if (typeof e == "string")
          return e;
        if (e && typeof e == "object" && !ss(e)) {
          for (const n in e)
            if (n === "default" || t.includes(n) || o8(t, n)) {
              const i = e[n];
              return $4e(i, t);
            }
        }
      }
      function X4e(e) {
        return wue(e) ? dy(e) ? e : Hn(e) : void 0;
      }
      function mXe(e, t, n, i, s, o, c, _, u, g) {
        const m = Cx(e);
        if (!m)
          return Ge;
        if (typeof m == "string")
          return S(
            e,
            "script"
            /* scriptElement */
          );
        const h = UR(n, m.prefix);
        if (h === void 0)
          return Co(e, "/*") ? S(
            m.prefix,
            "directory"
            /* directory */
          ) : xa(t, (k) => {
            var D;
            return (D = Q4e("", i, k, s, o, c, _, u, g)) == null ? void 0 : D.map(({ name: P, ...A }) => ({ name: m.prefix + P + m.suffix, ...A }));
          });
        return xa(t, (T) => Q4e(h, i, T, s, o, c, _, u, g));
        function S(T, k) {
          return Ui(T, n) ? [{ name: a0(T), kind: k, extension: void 0 }] : Ge;
        }
      }
      function Q4e(e, t, n, i, s, o, c, _, u) {
        if (!_.readDirectory)
          return;
        const g = Cx(n);
        if (g === void 0 || ms(g))
          return;
        const m = my(g.prefix), h = dy(g.prefix) ? m : Hn(m), S = dy(g.prefix) ? "" : Xc(m), T = wue(e), k = T ? dy(e) ? e : Hn(e) : void 0, D = () => u.getCommonSourceDirectory(), P = !cS(u), A = c.getCompilerOptions().outDir, O = c.getCompilerOptions().declarationDir, F = T ? On(h, S + k) : h, R = qs(On(t, F)), B = o && A && QB(R, P, A, D), U = o && O && QB(R, P, O, D), $ = qs(g.suffix), W = $ && x5("_" + $), _e = $ ? XB("_" + $) : void 0, K = [
          W && g0($, W),
          ..._e ? _e.map((q) => g0($, q)) : [],
          $
        ].filter(ms), V = $ ? K.map((q) => "**/*" + q) : ["./*"], ae = (s || o) && Co(n, "/*");
        let se = ce(R);
        return B && (se = Bi(se, ce(B))), U && (se = Bi(se, ce(U))), $ || (se = Bi(se, fe(R)), B && (se = Bi(se, fe(B))), U && (se = Bi(se, fe(U)))), se;
        function ce(q) {
          const be = T ? q : pl(q) + S;
          return Fi(sq(
            _,
            q,
            i.extensionsToSearch,
            /*exclude*/
            void 0,
            V
          ), (je) => {
            const me = he(je, be);
            if (me) {
              if (wue(me))
                return Eue(cu(Y4e(me))[1]);
              const { name: Z, extension: pe } = q4e(me, c, i, ae);
              return Ow(Z, "script", pe);
            }
          });
        }
        function fe(q) {
          return Fi(B9(_, q), (be) => be === "node_modules" ? void 0 : Eue(be));
        }
        function he(q, be) {
          return Ic(K, (je) => {
            const me = gXe(qs(q), be, je);
            return me === void 0 ? void 0 : Y4e(me);
          });
        }
      }
      function gXe(e, t, n) {
        return Ui(e, t) && Co(e, n) ? e.slice(t.length, e.length - n.length) : void 0;
      }
      function Y4e(e) {
        return e[0] === yo ? e.slice(1) : e;
      }
      function hXe(e, t, n) {
        const s = n.getAmbientModules().map((o) => Lp(o.name)).filter((o) => Ui(o, e) && !o.includes("*"));
        if (t !== void 0) {
          const o = pl(t);
          return s.map((c) => e4(c, o));
        }
        return s;
      }
      function yXe(e, t, n, i, s) {
        const o = n.getCompilerOptions(), c = vi(e, t), _ = Sg(e.text, c.pos), u = _ && Nn(_, (P) => t >= P.pos && t <= P.end);
        if (!u)
          return;
        const g = e.text.slice(u.pos, t), m = TXe.exec(g);
        if (!m)
          return;
        const [, h, S, T] = m, k = Hn(e.path), D = S === "path" ? yA(
          T,
          k,
          Due(o, 0, e),
          n,
          i,
          s,
          /*moduleSpecifierIsRelative*/
          true,
          e.path
        ) : S === "types" ? Z4e(n, i, s, k, X4e(T), Due(o, 1, e)) : E.fail();
        return U4e(T, u.pos + h.length, ns(D.values()));
      }
      function Z4e(e, t, n, i, s, o, c = kue()) {
        const _ = e.getCompilerOptions(), u = /* @__PURE__ */ new Map(), g = z9(() => WD(_, t)) || Ge;
        for (const h of g)
          m(h);
        for (const h of aq(i, t)) {
          const S = On(Hn(h), "node_modules/@types");
          m(S);
        }
        return c;
        function m(h) {
          if (J9(t, h))
            for (const S of B9(t, h)) {
              const T = c8(S);
              if (!(_.types && !ds(_.types, T)))
                if (s === void 0)
                  u.has(T) || (c.add(Ow(
                    T,
                    "external module name",
                    /*extension*/
                    void 0
                  )), u.set(T, true));
                else {
                  const k = On(h, S), D = CJ(s, T, yh(t));
                  D !== void 0 && yA(
                    D,
                    k,
                    o,
                    e,
                    t,
                    n,
                    /*moduleSpecifierIsRelative*/
                    false,
                    /*exclude*/
                    void 0,
                    c
                  );
                }
            }
        }
      }
      function vXe(e, t) {
        if (!e.readFile || !e.fileExists) return Ge;
        const n = [];
        for (const i of aq(t, e)) {
          const s = XC(i, e);
          for (const o of xXe) {
            const c = s[o];
            if (c)
              for (const _ in c)
                Ya(c, _) && !Ui(_, "@types/") && n.push(_);
          }
        }
        return n;
      }
      function bXe(e, t) {
        const n = Math.max(e.lastIndexOf(yo), e.lastIndexOf(a7)), i = n !== -1 ? n + 1 : 0, s = e.length - i;
        return s === 0 || F_(
          e.substr(i, s),
          99
          /* ESNext */
        ) ? void 0 : Xl(t + i, s);
      }
      function SXe(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 false;
      }
      var TXe = /^(\/\/\/\s*<reference\s+(path|types)\s*=\s*(?:'|"))([^\x03"]*)$/, xXe = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"];
      function wue(e) {
        return e.includes(yo);
      }
      function kXe(e) {
        return ws(e.parent) && $c(e.parent.arguments) === e && Me(e.parent.expression) && e.parent.expression.escapedText === "require";
      }
      var So = {};
      Ec(So, {
        Core: () => gk,
        DefinitionKind: () => sDe,
        EntryKind: () => aDe,
        ExportKind: () => K4e,
        FindReferencesUse: () => oDe,
        ImportExport: () => eDe,
        createImportTracker: () => Pue,
        findModuleReferences: () => tDe,
        findReferenceOrRenameEntries: () => jXe,
        findReferencedSymbols: () => LXe,
        getContextNode: () => zS,
        getExportInfo: () => Nue,
        getImplementationsAtPosition: () => RXe,
        getImportOrExportSymbol: () => iDe,
        getReferenceEntriesForNode: () => lDe,
        isContextWithStartAndEndNode: () => Iue,
        isDeclarationOfSymbol: () => dDe,
        isWriteAccessForReference: () => Oue,
        toContextSpan: () => Fue,
        toHighlightSpan: () => qXe,
        toReferenceEntry: () => fDe,
        toRenameLocation: () => JXe
      });
      function Pue(e, t, n, i) {
        const s = wXe(e, n, i);
        return (o, c, _) => {
          const { directImports: u, indirectUsers: g } = CXe(e, t, s, c, n, i);
          return { indirectUsers: g, ...EXe(u, o, c.exportKind, n, _) };
        };
      }
      var K4e = /* @__PURE__ */ ((e) => (e[e.Named = 0] = "Named", e[e.Default = 1] = "Default", e[e.ExportEquals = 2] = "ExportEquals", e))(K4e || {}), eDe = /* @__PURE__ */ ((e) => (e[e.Import = 0] = "Import", e[e.Export = 1] = "Export", e))(eDe || {});
      function CXe(e, t, n, { exportingModuleSymbol: i, exportKind: s }, o, c) {
        const _ = W6(), u = W6(), 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)
              xb(F) && t.has(F.getSourceFile().fileName) && A(F);
          return h.map(xr);
        }
        function T(F) {
          const R = O(F);
          if (R) {
            for (const B of R)
              if (_(B))
                switch (c && c.throwIfCancellationRequested(), B.kind) {
                  case 214:
                    if (y_(B)) {
                      k(B);
                      break;
                    }
                    if (!m) {
                      const $ = B.parent;
                      if (s === 2 && $.kind === 261) {
                        const { name: W } = $;
                        if (W.kind === 80) {
                          g.push(W);
                          break;
                        }
                      }
                    }
                    break;
                  case 80:
                    break;
                  // TODO: GH#23879
                  case 272:
                    P(
                      B,
                      B.name,
                      Gn(
                        B,
                        32
                        /* Export */
                      ),
                      /*alreadyAddedDirect*/
                      false
                    );
                    break;
                  case 273:
                  case 352:
                    g.push(B);
                    const U = B.importClause && B.importClause.namedBindings;
                    U && U.kind === 275 ? P(
                      B,
                      U.name,
                      /*isReExport*/
                      false,
                      /*alreadyAddedDirect*/
                      true
                    ) : !m && sS(B) && A(EL(B));
                    break;
                  case 279:
                    B.exportClause ? B.exportClause.kind === 281 ? A(
                      EL(B),
                      /*addTransitiveDependencies*/
                      true
                    ) : g.push(B) : T(FXe(B, o));
                    break;
                  case 206:
                    !m && B.isTypeOf && !B.qualifier && D(B) && A(
                      B.getSourceFile(),
                      /*addTransitiveDependencies*/
                      true
                    ), g.push(B);
                    break;
                  default:
                    E.failBadSyntaxKind(B, "Unexpected import kind.");
                }
          }
        }
        function k(F) {
          const R = dr(F, VH) || F.getSourceFile();
          A(
            R,
            /** addTransitiveDependencies */
            !!D(
              F,
              /*stopAtAmbientModule*/
              true
            )
          );
        }
        function D(F, R = false) {
          return dr(F, (B) => R && VH(B) ? "quit" : Jp(B) && ot(B.modifiers, Ox));
        }
        function P(F, R, B, U) {
          if (s === 2)
            U || g.push(F);
          else if (!m) {
            const $ = EL(F);
            E.assert(
              $.kind === 308 || $.kind === 268
              /* ModuleDeclaration */
            ), B || DXe($, R, o) ? A(
              $,
              /*addTransitiveDependencies*/
              true
            ) : A($);
          }
        }
        function A(F, R = false) {
          if (E.assert(!m), !u(F) || (h.push(F), !R)) return;
          const U = o.getMergedSymbol(F.symbol);
          if (!U) return;
          E.assert(!!(U.flags & 1536));
          const $ = O(U);
          if ($)
            for (const W of $)
              dm(W) || A(
                EL(W),
                /*addTransitiveDependencies*/
                true
              );
        }
        function O(F) {
          return n.get($s(F).toString());
        }
      }
      function EXe(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 === 272) {
            Aue(S) && g(S.name);
            return;
          }
          if (S.kind === 80) {
            g(S);
            return;
          }
          if (S.kind === 206) {
            if (S.qualifier) {
              const D = e_(S.qualifier);
              D.escapedText === sc(t) && c.push(D);
            } else n === 2 && c.push(S.argument.literal);
            return;
          }
          if (S.moduleSpecifier.kind !== 11)
            return;
          if (S.kind === 279) {
            S.exportClause && _p(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 275:
                g(k.name);
                break;
              case 276:
                (n === 0 || n === 1) && m(k);
                break;
              default:
                E.assertNever(k);
            }
          if (T && (n === 1 || n === 2) && (!s || T.escapedText === N9(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(Tb(D || k)))
                if (D)
                  c.push(D), (!s || Tb(k) === t.escapedName) && _(k, i.getSymbolAtLocation(k));
                else {
                  const P = T.kind === 282 && T.propertyName ? i.getExportSpecifierLocalTargetSymbol(T) : i.getSymbolAtLocation(k);
                  _(k, P);
                }
            }
        }
        function h(S) {
          return S === t.escapedName || n !== 0 && S === "default";
        }
      }
      function DXe(e, t, n) {
        const i = n.getSymbolAtLocation(t);
        return !!rDe(e, (s) => {
          if (!Mc(s)) return;
          const { exportClause: o, moduleSpecifier: c } = s;
          return !c && o && _p(o) && o.elements.some((_) => n.getExportSpecifierLocalTargetSymbol(_) === i);
        });
      }
      function tDe(e, t, n) {
        var i;
        const s = [], o = e.getTypeChecker();
        for (const c of t) {
          const _ = n.valueDeclaration;
          if (_?.kind === 308) {
            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 });
            }
          }
          nDe(c, (u, g) => {
            o.getSymbolAtLocation(g) === n && s.push(ao(u) ? { kind: "implicit", literal: g, referencingFile: c } : { kind: "import", literal: g });
          });
        }
        return s;
      }
      function wXe(e, t, n) {
        const i = /* @__PURE__ */ new Map();
        for (const s of e)
          n && n.throwIfCancellationRequested(), nDe(s, (o, c) => {
            const _ = t.getSymbolAtLocation(c);
            if (_) {
              const u = $s(_).toString();
              let g = i.get(u);
              g || i.set(u, g = []), g.push(o);
            }
          });
        return i;
      }
      function rDe(e, t) {
        return lr(e.kind === 308 ? e.statements : e.body.statements, (n) => (
          // TODO: GH#18217
          t(n) || VH(n) && lr(n.body && n.body.statements, t)
        ));
      }
      function nDe(e, t) {
        if (e.externalModuleIndicator || e.imports !== void 0)
          for (const n of e.imports)
            t(J4(n), n);
        else
          rDe(e, (n) => {
            switch (n.kind) {
              case 279:
              case 273: {
                const i = n;
                i.moduleSpecifier && oa(i.moduleSpecifier) && t(i, i.moduleSpecifier);
                break;
              }
              case 272: {
                const i = n;
                Aue(i) && t(i, i.moduleReference.expression);
                break;
              }
            }
          });
      }
      function iDe(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 === 212 ? (u = t.declarations) != null && u.some((T) => T === g) && _n(m) ? S(
              m,
              /*useLhsSymbol*/
              false
            ) : void 0 : c(t.exportSymbol, _(g));
          {
            const T = NXe(g, e);
            if (T && Gn(
              T,
              32
              /* Export */
            ))
              return cl(T) && T.moduleReference === e ? i ? void 0 : { kind: 0, symbol: n.getSymbolAtLocation(T.name) } : c(t, _(T));
            if (Xm(g))
              return c(
                t,
                0
                /* Named */
              );
            if (Fo(g))
              return h(g);
            if (Fo(m))
              return h(m);
            if (_n(g))
              return S(
                g,
                /*useLhsSymbol*/
                true
              );
            if (_n(m))
              return S(
                m,
                /*useLhsSymbol*/
                true
              );
            if (CS(g) || vz(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 (wc(T)) {
              case 1:
                D = 0;
                break;
              case 2:
                D = 2;
                break;
              default:
                return;
            }
            const P = k ? n.getSymbolAtLocation(hJ(Ws(T.left, vo))) : t;
            return P && c(P, D);
          }
        }
        function o() {
          if (!AXe(e)) return;
          let g = n.getImmediateAliasedSymbol(t);
          if (!g || (g = IXe(g, n), g.escapedName === "export=" && (g = PXe(g, n), g === void 0)))
            return;
          const m = N9(g);
          if (m === void 0 || m === "default" || m === t.escapedName)
            return { kind: 0, symbol: g };
        }
        function c(u, g) {
          const m = Nue(u, g, n);
          return m && { kind: 1, symbol: u, exportInfo: m };
        }
        function _(u) {
          return Gn(
            u,
            2048
            /* Default */
          ) ? 1 : 0;
        }
      }
      function PXe(e, t) {
        var n, i;
        if (e.flags & 2097152)
          return t.getImmediateAliasedSymbol(e);
        const s = E.checkDefined(e.valueDeclaration);
        if (Fo(s))
          return (n = Bn(s.expression, Td)) == null ? void 0 : n.symbol;
        if (_n(s))
          return (i = Bn(s.right, Td)) == null ? void 0 : i.symbol;
        if (Di(s))
          return s.symbol;
      }
      function NXe(e, t) {
        const n = ei(e) ? e : ha(e) ? V2(e) : void 0;
        return n ? e.name !== t || Hb(n.parent) ? void 0 : Pc(n.parent.parent) ? n.parent.parent : void 0 : e;
      }
      function AXe(e) {
        const { parent: t } = e;
        switch (t.kind) {
          case 272:
            return t.name === e && Aue(t);
          case 277:
            return !t.propertyName;
          case 274:
          case 275:
            return E.assert(t.name === e), true;
          case 209:
            return an(e) && Cb(t.parent.parent);
          default:
            return false;
        }
      }
      function Nue(e, t, n) {
        const i = e.parent;
        if (!i) return;
        const s = n.getMergedSymbol(i);
        return rx(s) ? { exportingModuleSymbol: s, exportKind: t } : void 0;
      }
      function IXe(e, t) {
        if (e.declarations)
          for (const n of e.declarations) {
            if (Eu(n) && !n.propertyName && !n.parent.parent.moduleSpecifier)
              return t.getExportSpecifierLocalTargetSymbol(n) || e;
            if (wn(n) && Ng(n.expression) && !Ai(n.name))
              return t.getSymbolAtLocation(n);
            if (fu(n) && _n(n.parent.parent) && wc(n.parent.parent) === 2)
              return t.getExportSpecifierLocalTargetSymbol(n.name);
          }
        return e;
      }
      function FXe(e, t) {
        return t.getMergedSymbol(EL(e).symbol);
      }
      function EL(e) {
        if (e.kind === 214 || e.kind === 352)
          return e.getSourceFile();
        const { parent: t } = e;
        return t.kind === 308 ? t : (E.assert(
          t.kind === 269
          /* ModuleBlock */
        ), Ws(t.parent, VH));
      }
      function VH(e) {
        return e.kind === 268 && e.name.kind === 11;
      }
      function Aue(e) {
        return e.moduleReference.kind === 284 && e.moduleReference.expression.kind === 11;
      }
      var sDe = /* @__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))(sDe || {}), aDe = /* @__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))(aDe || {});
      function Nh(e, t = 1) {
        return {
          kind: t,
          node: e.name || e,
          context: OXe(e)
        };
      }
      function Iue(e) {
        return e && e.kind === void 0;
      }
      function OXe(e) {
        if (Cl(e))
          return zS(e);
        if (e.parent) {
          if (!Cl(e.parent) && !Fo(e.parent)) {
            if (an(e)) {
              const n = _n(e.parent) ? e.parent : vo(e.parent) && _n(e.parent.parent) && e.parent.parent.left === e.parent ? e.parent.parent : void 0;
              if (n && wc(n) !== 0)
                return zS(n);
            }
            if (wd(e.parent) || Vb(e.parent))
              return e.parent.parent;
            if (xS(e.parent) || Wy(e.parent) || b4(e.parent))
              return e.parent;
            if (Ma(e)) {
              const n = J3(e);
              if (n) {
                const i = dr(n, (s) => Cl(s) || Ti(s) || PC(s));
                return Cl(i) ? zS(i) : i;
              }
            }
            const t = dr(e, Hs);
            return t ? zS(t.parent) : void 0;
          }
          if (e.parent.name === e || // node is name of declaration, use parent
          ec(e.parent) || Fo(e.parent) || // Property name of the import export specifier or binding pattern, use parent
          (by(e.parent) || ha(e.parent)) && e.parent.propertyName === e || // Is default export
          e.kind === 90 && Gn(
            e.parent,
            2080
            /* ExportDefault */
          ))
            return zS(e.parent);
        }
      }
      function zS(e) {
        if (e)
          switch (e.kind) {
            case 261:
              return !Bl(e.parent) || e.parent.declarations.length !== 1 ? e : Pc(e.parent.parent) ? e.parent.parent : Q2(e.parent.parent) ? zS(e.parent.parent) : e.parent;
            case 209:
              return zS(e.parent.parent);
            case 277:
              return e.parent.parent.parent;
            case 282:
            case 275:
              return e.parent.parent;
            case 274:
            case 281:
              return e.parent;
            case 227:
              return Dl(e.parent) ? e.parent : e;
            case 251:
            case 250:
              return {
                start: e.initializer,
                end: e.expression
              };
            case 304:
            case 305:
              return C0(e.parent) ? zS(
                dr(e.parent, (t) => _n(t) || Q2(t))
              ) : e;
            case 256:
              return {
                start: Nn(
                  e.getChildren(e.getSourceFile()),
                  (t) => t.kind === 109
                  /* SwitchKeyword */
                ),
                end: e.caseBlock
              };
            default:
              return e;
          }
      }
      function Fue(e, t, n) {
        if (!n) return;
        const i = Iue(n) ? wL(n.start, t, n.end) : wL(n, t);
        return i.start !== e.start || i.length !== e.length ? { contextSpan: i } : void 0;
      }
      var oDe = /* @__PURE__ */ ((e) => (e[e.Other = 0] = "Other", e[e.References = 1] = "References", e[e.Rename = 2] = "Rename", e))(oDe || {});
      function LXe(e, t, n, i, s) {
        const o = k_(i, s), c = {
          use: 1
          /* References */
        }, _ = gk.getReferencedSymbolsForNode(s, o, e, n, t, c), u = e.getTypeChecker(), g = gk.getAdjustedNode(o, c), m = MXe(g) ? u.getSymbolAtLocation(g) : void 0;
        return !_ || !_.length ? void 0 : Fi(_, ({ definition: h, references: S }) => (
          // Only include referenced symbols that have a valid definition.
          h && {
            definition: u.runWithCancellationToken(t, (T) => BXe(h, T, o)),
            references: S.map((T) => zXe(T, m))
          }
        ));
      }
      function MXe(e) {
        return e.kind === 90 || !!W4(e) || H3(e) || e.kind === 137 && ec(e.parent);
      }
      function RXe(e, t, n, i, s) {
        const o = k_(i, s);
        let c;
        const _ = cDe(e, t, n, o, s);
        if (o.parent.kind === 212 || o.parent.kind === 209 || o.parent.kind === 213 || o.kind === 108)
          c = _ && [..._];
        else if (_) {
          const g = RP(_), m = /* @__PURE__ */ new Set();
          for (; !g.isEmpty(); ) {
            const h = g.dequeue();
            if (!Mp(m, Oa(h.node)))
              continue;
            c = Er(c, h);
            const S = cDe(e, t, n, h.node, h.node.pos);
            S && g.enqueue(...S);
          }
        }
        const u = e.getTypeChecker();
        return hr(c, (g) => UXe(g, u));
      }
      function cDe(e, t, n, i, s) {
        if (i.kind === 308)
          return;
        const o = e.getTypeChecker();
        if (i.parent.kind === 305) {
          const c = [];
          return gk.getReferenceEntriesForShorthandPropertyAssignment(i, o, (_) => c.push(Nh(_))), c;
        } else if (i.kind === 108 || O_(i.parent)) {
          const c = o.getSymbolAtLocation(i);
          return c.valueDeclaration && [Nh(c.valueDeclaration)];
        } else
          return lDe(s, i, e, n, t, {
            implementations: true,
            use: 1
            /* References */
          });
      }
      function jXe(e, t, n, i, s, o, c) {
        return hr(uDe(gk.getReferencedSymbolsForNode(s, i, e, n, t, o)), (_) => c(_, i, e.getTypeChecker()));
      }
      function lDe(e, t, n, i, s, o = {}, c = new Set(i.map((_) => _.fileName))) {
        return uDe(gk.getReferencedSymbolsForNode(e, t, n, i, s, o, c));
      }
      function uDe(e) {
        return e && xa(e, (t) => t.references);
      }
      function BXe(e, t, n) {
        const i = (() => {
          switch (e.type) {
            case 0: {
              const { symbol: m } = e, { displayParts: h, kind: S } = _De(m, t, n), T = h.map((P) => P.text).join(""), k = m.declarations && $c(m.declarations), D = k ? us(k) || k : n;
              return {
                ...DL(D),
                name: T,
                kind: S,
                displayParts: h,
                context: zS(k)
              };
            }
            case 1: {
              const { node: m } = e;
              return { ...DL(m), name: m.text, kind: "label", displayParts: [j_(
                m.text,
                17
                /* text */
              )] };
            }
            case 2: {
              const { node: m } = e, h = Vs(m.kind);
              return { ...DL(m), name: h, kind: "keyword", displayParts: [{
                text: h,
                kind: "keyword"
                /* keyword */
              }] };
            }
            case 3: {
              const { node: m } = e, h = t.getSymbolAtLocation(m), S = h && P0.getSymbolDisplayPartsDocumentationAndSymbolKind(
                t,
                h,
                m.getSourceFile(),
                MS(m),
                m
              ).displayParts || [Lf("this")];
              return { ...DL(m), name: "this", kind: "var", displayParts: S };
            }
            case 4: {
              const { node: m } = e;
              return {
                ...DL(m),
                name: m.text,
                kind: "var",
                displayParts: [j_(
                  Go(m),
                  8
                  /* stringLiteral */
                )]
              };
            }
            case 5:
              return {
                textSpan: E0(e.reference),
                sourceFile: e.file,
                name: e.reference.fileName,
                kind: "string",
                displayParts: [j_(
                  `"${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,
          ...Fue(o, s, g)
        };
      }
      function DL(e) {
        const t = e.getSourceFile();
        return {
          sourceFile: t,
          textSpan: wL(Hs(e) ? e.expression : e, t)
        };
      }
      function _De(e, t, n) {
        const i = gk.getIntersectingMeaningFromDeclarations(n, e), s = e.declarations && $c(e.declarations) || n, { displayParts: o, symbolKind: c } = P0.getSymbolDisplayPartsDocumentationAndSymbolKind(t, e, s.getSourceFile(), s, s, i);
        return { displayParts: o, kind: c };
      }
      function JXe(e, t, n, i, s) {
        return { ...qH(e), ...i && WXe(e, t, n, s) };
      }
      function zXe(e, t) {
        const n = fDe(e);
        return t ? {
          ...n,
          isDefinition: e.kind !== 0 && dDe(e.node, t)
        } : n;
      }
      function fDe(e) {
        const t = qH(e);
        if (e.kind === 0)
          return { ...t, isWriteAccess: false };
        const { kind: n, node: i } = e;
        return {
          ...t,
          isWriteAccess: Oue(i),
          isInString: n === 2 ? true : void 0
        };
      }
      function qH(e) {
        if (e.kind === 0)
          return { textSpan: e.textSpan, fileName: e.fileName };
        {
          const t = e.node.getSourceFile(), n = wL(e.node, t);
          return {
            textSpan: n,
            fileName: t.fileName,
            ...Fue(n, t, e.context)
          };
        }
      }
      function WXe(e, t, n, i) {
        if (e.kind !== 0 && (Me(t) || Ma(t))) {
          const { node: s, kind: o } = e, c = s.parent, _ = t.text, u = fu(c);
          if (u || q8(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) && Ng(h.parent.left) ? g : m;
            } else
              return g;
          } else if (qu(c) && !c.propertyName) {
            const g = Eu(t.parent) ? n.getExportSpecifierLocalTargetSymbol(t.parent) : n.getSymbolAtLocation(t);
            return ds(g.declarations, c) ? { prefixText: _ + " as " } : zp;
          } else if (Eu(c) && !c.propertyName)
            return t === e.node || n.getSymbolAtLocation(t) === n.getSymbolAtLocation(e.node) ? { prefixText: _ + " as " } : { suffixText: " as " + _ };
        }
        if (e.kind !== 0 && T_(e.node) && vo(e.node.parent)) {
          const s = UV(i);
          return { prefixText: s, suffixText: s };
        }
        return zp;
      }
      function UXe(e, t) {
        const n = qH(e);
        if (e.kind !== 0) {
          const { node: i } = e;
          return {
            ...n,
            ...VXe(i, t)
          };
        } else
          return { ...n, kind: "", displayParts: [] };
      }
      function VXe(e, t) {
        const n = t.getSymbolAtLocation(Cl(e) && e.name ? e.name : e);
        return n ? _De(n, t, e) : e.kind === 211 ? {
          kind: "interface",
          displayParts: [Pu(
            21
            /* OpenParenToken */
          ), Lf("object literal"), Pu(
            22
            /* CloseParenToken */
          )]
        } : e.kind === 232 ? {
          kind: "local class",
          displayParts: [Pu(
            21
            /* OpenParenToken */
          ), Lf("anonymous local class"), Pu(
            22
            /* CloseParenToken */
          )]
        } : { kind: t2(e), displayParts: [] };
      }
      function qXe(e) {
        const t = qH(e);
        if (e.kind === 0)
          return {
            fileName: t.fileName,
            span: {
              textSpan: t.textSpan,
              kind: "reference"
              /* reference */
            }
          };
        const n = Oue(e.node), i = {
          textSpan: t.textSpan,
          kind: n ? "writtenReference" : "reference",
          isInString: e.kind === 2 ? true : void 0,
          ...t.contextSpan && { contextSpan: t.contextSpan }
        };
        return { fileName: t.fileName, span: i };
      }
      function wL(e, t, n) {
        let i = e.getStart(t), s = (n || e).getEnd();
        return Ma(e) && s - i > 2 && (E.assert(n === void 0), i += 1, s -= 1), n?.kind === 270 && (s = n.getFullStart()), Dc(i, s);
      }
      function pDe(e) {
        return e.kind === 0 ? e.textSpan : wL(e.node, e.node.getSourceFile());
      }
      function Oue(e) {
        const t = W4(e);
        return !!t && HXe(t) || e.kind === 90 || vx(e);
      }
      function dDe(e, t) {
        var n;
        if (!t) return false;
        const i = W4(e) || (e.kind === 90 ? e.parent : H3(e) || e.kind === 137 && ec(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 HXe(e) {
        if (e.flags & 33554432) return true;
        switch (e.kind) {
          case 227:
          case 209:
          case 264:
          case 232:
          case 90:
          case 267:
          case 307:
          case 282:
          case 274:
          // default import
          case 272:
          case 277:
          case 265:
          case 339:
          case 347:
          case 292:
          case 268:
          case 271:
          case 275:
          case 281:
          case 170:
          case 305:
          case 266:
          case 169:
            return true;
          case 304:
            return !C0(e.parent);
          case 263:
          case 219:
          case 177:
          case 175:
          case 178:
          case 179:
            return !!e.body;
          case 261:
          case 173:
            return !!e.initializer || Hb(e.parent);
          case 174:
          case 172:
          case 349:
          case 342:
            return false;
          default:
            return E.failBadSyntaxKind(e);
        }
      }
      var gk;
      ((e) => {
        function t(Xe, Et, re, it, Y, Ae = {}, $e = new Set(it.map((Ke) => Ke.fileName))) {
          var Ke, Tt;
          if (Et = n(Et, Ae), Di(Et)) {
            const rn = eE.getReferenceAtPosition(Et, Xe, re);
            if (!rn?.file)
              return;
            const Pe = re.getTypeChecker().getMergedSymbol(rn.file.symbol);
            if (Pe)
              return g(
                re,
                Pe,
                /*excludeImportTypeOfExportEquals*/
                false,
                it,
                $e
              );
            const yt = re.getFileIncludeReasons();
            return yt ? [{
              definition: { type: 5, reference: rn.reference, file: Et },
              references: s(rn.file, yt, re) || Ge
            }] : void 0;
          }
          if (!Ae.implementations) {
            const rn = h(Et, it, Y);
            if (rn)
              return rn;
          }
          const Le = re.getTypeChecker(), mt = Le.getSymbolAtLocation(ec(Et) && Et.parent.name || Et);
          if (!mt) {
            if (!Ae.implementations && Ma(Et)) {
              if (A9(Et)) {
                const rn = re.getFileIncludeReasons(), Pe = (Tt = (Ke = re.getResolvedModuleFromModuleSpecifier(Et)) == null ? void 0 : Ke.resolvedModule) == null ? void 0 : Tt.resolvedFileName, yt = Pe ? re.getSourceFile(Pe) : void 0;
                if (yt)
                  return [{ definition: { type: 4, node: Et }, references: s(yt, rn, re) || Ge }];
              }
              return fi(Et, it, Le, Y);
            }
            return;
          }
          if (mt.escapedName === "export=")
            return g(
              re,
              mt.parent,
              /*excludeImportTypeOfExportEquals*/
              false,
              it,
              $e
            );
          const pt = c(mt, re, it, Y, Ae, $e);
          if (pt && !(mt.flags & 33554432))
            return pt;
          const Ct = o(Et, mt, Le), qe = Ct && c(Ct, re, it, Y, Ae, $e), Lt = S(mt, Et, it, $e, Le, Y, Ae);
          return _(re, pt, Lt, qe);
        }
        e.getReferencedSymbolsForNode = t;
        function n(Xe, Et) {
          return Et.use === 1 ? Xe = wV(Xe) : Et.use === 2 && (Xe = S9(Xe)), Xe;
        }
        e.getAdjustedNode = n;
        function i(Xe, Et, re, it = new Set(re.map((Y) => Y.fileName))) {
          var Y, Ae;
          const $e = (Y = Et.getSourceFile(Xe)) == null ? void 0 : Y.symbol;
          if ($e)
            return ((Ae = g(
              Et,
              $e,
              /*excludeImportTypeOfExportEquals*/
              false,
              re,
              it
            )[0]) == null ? void 0 : Ae.references) || Ge;
          const Ke = Et.getFileIncludeReasons(), Tt = Et.getSourceFile(Xe);
          return Tt && Ke && s(Tt, Ke, Et) || Ge;
        }
        e.getReferencesForFileName = i;
        function s(Xe, Et, re) {
          let it;
          const Y = Et.get(Xe.path) || Ge;
          for (const Ae of Y)
            if (pv(Ae)) {
              const $e = re.getSourceFileByPath(Ae.file), Ke = aw(re, Ae);
              F6(Ke) && (it = Er(it, {
                kind: 0,
                fileName: $e.fileName,
                textSpan: E0(Ke)
              }));
            }
          return it;
        }
        function o(Xe, Et, re) {
          if (Xe.parent && jN(Xe.parent)) {
            const it = re.getAliasedSymbol(Et), Y = re.getMergedSymbol(it);
            if (it !== Y)
              return Y;
          }
        }
        function c(Xe, Et, re, it, Y, Ae) {
          const $e = Xe.flags & 1536 && Xe.declarations && Nn(Xe.declarations, Di);
          if (!$e) return;
          const Ke = Xe.exports.get(
            "export="
            /* ExportEquals */
          ), Tt = g(Et, Xe, !!Ke, re, Ae);
          if (!Ke || !Ae.has($e.fileName)) return Tt;
          const Le = Et.getTypeChecker();
          return Xe = Ql(Ke, Le), _(Et, Tt, S(
            Xe,
            /*node*/
            void 0,
            re,
            Ae,
            Le,
            it,
            Y
          ));
        }
        function _(Xe, ...Et) {
          let re;
          for (const it of Et)
            if (!(!it || !it.length)) {
              if (!re) {
                re = it;
                continue;
              }
              for (const Y of it) {
                if (!Y.definition || Y.definition.type !== 0) {
                  re.push(Y);
                  continue;
                }
                const Ae = Y.definition.symbol, $e = ic(re, (Tt) => !!Tt.definition && Tt.definition.type === 0 && Tt.definition.symbol === Ae);
                if ($e === -1) {
                  re.push(Y);
                  continue;
                }
                const Ke = re[$e];
                re[$e] = {
                  definition: Ke.definition,
                  references: Ke.references.concat(Y.references).sort((Tt, Le) => {
                    const mt = u(Xe, Tt), pt = u(Xe, Le);
                    if (mt !== pt)
                      return po(mt, pt);
                    const Ct = pDe(Tt), qe = pDe(Le);
                    return Ct.start !== qe.start ? po(Ct.start, qe.start) : po(Ct.length, qe.length);
                  })
                };
              }
            }
          return re;
        }
        function u(Xe, Et) {
          const re = Et.kind === 0 ? Xe.getSourceFile(Et.fileName) : Et.node.getSourceFile();
          return Xe.getSourceFiles().indexOf(re);
        }
        function g(Xe, Et, re, it, Y) {
          E.assert(!!Et.valueDeclaration);
          const Ae = Fi(tDe(Xe, it, Et), (Ke) => {
            if (Ke.kind === "import") {
              const Tt = Ke.literal.parent;
              if (S0(Tt)) {
                const Le = Ws(Tt.parent, dm);
                if (re && !Le.qualifier)
                  return;
              }
              return Nh(Ke.literal);
            } else if (Ke.kind === "implicit") {
              const Tt = Ke.literal.text !== ky && Hx(
                Ke.referencingFile,
                (Le) => Le.transformFlags & 2 ? hm(Le) || xS(Le) || nv(Le) ? Le : void 0 : "skip"
              ) || Ke.referencingFile.statements[0] || Ke.referencingFile;
              return Nh(Tt);
            } else
              return {
                kind: 0,
                fileName: Ke.referencingFile.fileName,
                textSpan: E0(Ke.ref)
              };
          });
          if (Et.declarations)
            for (const Ke of Et.declarations)
              switch (Ke.kind) {
                case 308:
                  break;
                case 268:
                  Y.has(Ke.getSourceFile().fileName) && Ae.push(Nh(Ke.name));
                  break;
                default:
                  E.assert(!!(Et.flags & 33554432), "Expected a module symbol to be declared by a SourceFile or ModuleDeclaration.");
              }
          const $e = Et.exports.get(
            "export="
            /* ExportEquals */
          );
          if ($e?.declarations)
            for (const Ke of $e.declarations) {
              const Tt = Ke.getSourceFile();
              if (Y.has(Tt.fileName)) {
                const Le = _n(Ke) && wn(Ke.left) ? Ke.left.expression : Fo(Ke) ? E.checkDefined($a(Ke, 95, Tt)) : us(Ke) || Ke;
                Ae.push(Nh(Le));
              }
            }
          return Ae.length ? [{ definition: { type: 0, symbol: Et }, references: Ae }] : Ge;
        }
        function m(Xe) {
          return Xe.kind === 148 && Y1(Xe.parent) && Xe.parent.operator === 148;
        }
        function h(Xe, Et, re) {
          if (mw(Xe.kind))
            return Xe.kind === 116 && Jx(Xe.parent) || Xe.kind === 148 && !m(Xe) ? void 0 : je(
              Et,
              Xe.kind,
              re,
              Xe.kind === 148 ? m : void 0
            );
          if (LC(Xe.parent) && Xe.parent.name === Xe)
            return be(Et, re);
          if (Lx(Xe) && Sc(Xe.parent))
            return [{ definition: { type: 2, node: Xe }, references: [Nh(Xe)] }];
          if (R8(Xe)) {
            const it = m9(Xe.parent, Xe.text);
            return it && he(it.parent, it);
          } else if (vV(Xe))
            return he(Xe.parent, Xe);
          if (B6(Xe))
            return ai(Xe, Et, re);
          if (Xe.kind === 108)
            return Dt(Xe);
        }
        function S(Xe, Et, re, it, Y, Ae, $e) {
          const Ke = Et && D(
            Xe,
            Et,
            Y,
            /*useLocalSymbolForExportSpecifier*/
            !vs($e)
          ) || Xe, Tt = Et && $e.use !== 2 ? Jn(Et, Ke) : 7, Le = [], mt = new O(re, it, Et ? k(Et) : 0, Y, Ae, Tt, $e, Le), pt = !vs($e) || !Ke.declarations ? void 0 : Nn(Ke.declarations, Eu);
          if (pt)
            Ye(
              pt.name,
              Ke,
              pt,
              mt.createSearch(
                Et,
                Xe,
                /*comingFrom*/
                void 0
              ),
              mt,
              /*addReferencesHere*/
              true,
              /*alwaysGetReferences*/
              true
            );
          else if (Et && Et.kind === 90 && Ke.escapedName === "default" && Ke.parent)
            Ee(Et, Ke, mt), F(Et, Ke, {
              exportingModuleSymbol: Ke.parent,
              exportKind: 1
              /* Default */
            }, mt);
          else {
            const Ct = mt.createSearch(
              Et,
              Ke,
              /*comingFrom*/
              void 0,
              { allSearchSymbols: Et ? _i(Ke, Et, Y, $e.use === 2, !!$e.providePrefixAndSuffixTextForRename, !!$e.implementations) : [Ke] }
            );
            T(Ke, mt, Ct);
          }
          return Le;
        }
        function T(Xe, Et, re) {
          const it = _e(Xe);
          if (it)
            Z(
              it,
              it.getSourceFile(),
              re,
              Et,
              /*addReferencesHere*/
              !(Di(it) && !ds(Et.sourceFiles, it))
            );
          else
            for (const Y of Et.sourceFiles)
              Et.cancellationToken.throwIfCancellationRequested(), $(Y, re, Et);
        }
        function k(Xe) {
          switch (Xe.kind) {
            case 177:
            case 137:
              return 1;
            case 80:
              if ($n(Xe.parent))
                return E.assert(Xe.parent.name === Xe), 2;
            // falls through
            default:
              return 0;
          }
        }
        function D(Xe, Et, re, it) {
          const { parent: Y } = Et;
          return Eu(Y) && it ? ne(Et, Xe, Y, re) : Ic(Xe.declarations, (Ae) => {
            if (!Ae.parent) {
              if (Xe.flags & 33554432) return;
              E.fail(`Unexpected symbol at ${E.formatSyntaxKind(Et.kind)}: ${E.formatSymbol(Xe)}`);
            }
            return r_(Ae.parent) && b0(Ae.parent.parent) ? re.getPropertyOfType(re.getTypeFromTypeNode(Ae.parent.parent), Xe.name) : void 0;
          });
        }
        let P;
        ((Xe) => {
          Xe[Xe.None = 0] = "None", Xe[Xe.Constructor = 1] = "Constructor", Xe[Xe.Class = 2] = "Class";
        })(P || (P = {}));
        function A(Xe) {
          if (!(Xe.flags & 33555968)) return;
          const Et = Xe.declarations && Nn(Xe.declarations, (re) => !Di(re) && !Lc(re));
          return Et && Et.symbol;
        }
        class O {
          constructor(Et, re, it, Y, Ae, $e, Ke, Tt) {
            this.sourceFiles = Et, this.sourceFilesSet = re, this.specialSearchKind = it, this.checker = Y, this.cancellationToken = Ae, this.searchMeaning = $e, this.options = Ke, this.result = Tt, this.inheritsFromCache = /* @__PURE__ */ new Map(), this.markSeenContainingTypeReference = W6(), this.markSeenReExportRHS = W6(), 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, re) {
            return this.importTracker || (this.importTracker = Pue(this.sourceFiles, this.sourceFilesSet, this.checker, this.cancellationToken)), this.importTracker(
              Et,
              re,
              this.options.use === 2
              /* Rename */
            );
          }
          /** @param allSearchSymbols set of additional symbols for use by `includes`. */
          createSearch(Et, re, it, Y = {}) {
            const {
              text: Ae = Lp(sc(eD(re) || A(re) || re)),
              allSearchSymbols: $e = [re]
            } = Y, Ke = Zo(Ae), Tt = this.options.implementations && Et ? yr(Et, re, this.checker) : void 0;
            return { symbol: re, comingFrom: it, text: Ae, escapedText: Ke, parents: Tt, allSearchSymbols: $e, includes: (Le) => ds($e, Le) };
          }
          /**
           * 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 re = $s(Et);
            let it = this.symbolIdToReferences[re];
            return it || (it = this.symbolIdToReferences[re] = [], this.result.push({ definition: { type: 0, symbol: Et }, references: it })), (Y, Ae) => it.push(Nh(Y, Ae));
          }
          /** Add a reference with no associated definition. */
          addStringOrCommentReference(Et, re) {
            this.result.push({
              definition: void 0,
              references: [{ kind: 0, fileName: Et, textSpan: re }]
            });
          }
          /** Returns `true` the first time we search for a symbol in a file and `false` afterwards. */
          markSearchedSymbols(Et, re) {
            const it = Oa(Et), Y = this.sourceFileToSeenSymbols[it] || (this.sourceFileToSeenSymbols[it] = /* @__PURE__ */ new Set());
            let Ae = false;
            for (const $e of re)
              Ae = s0(Y, $s($e)) || Ae;
            return Ae;
          }
        }
        function F(Xe, Et, re, it) {
          const { importSearches: Y, singleReferences: Ae, indirectUsers: $e } = it.getImportSearches(Et, re);
          if (Ae.length) {
            const Ke = it.referenceAdder(Et);
            for (const Tt of Ae)
              B(Tt, it) && Ke(Tt);
          }
          for (const [Ke, Tt] of Y)
            me(Ke.getSourceFile(), it.createSearch(
              Ke,
              Tt,
              1
              /* Export */
            ), it);
          if ($e.length) {
            let Ke;
            switch (re.exportKind) {
              case 0:
                Ke = it.createSearch(
                  Xe,
                  Et,
                  1
                  /* Export */
                );
                break;
              case 1:
                Ke = it.options.use === 2 ? void 0 : it.createSearch(Xe, Et, 1, { text: "default" });
                break;
            }
            if (Ke)
              for (const Tt of $e)
                $(Tt, Ke, it);
          }
        }
        function R(Xe, Et, re, it, Y, Ae, $e, Ke) {
          const Tt = Pue(Xe, new Set(Xe.map((Ct) => Ct.fileName)), Et, re), { importSearches: Le, indirectUsers: mt, singleReferences: pt } = Tt(
            it,
            { exportKind: $e ? 1 : 0, exportingModuleSymbol: Y },
            /*isForRename*/
            false
          );
          for (const [Ct] of Le)
            Ke(Ct);
          for (const Ct of pt)
            Me(Ct) && dm(Ct.parent) && Ke(Ct);
          for (const Ct of mt)
            for (const qe of ce(Ct, $e ? "default" : Ae)) {
              const Lt = Et.getSymbolAtLocation(qe), rn = ot(Lt?.declarations, (Pe) => !!Bn(Pe, Fo));
              Me(qe) && !by(qe.parent) && (Lt === it || rn) && Ke(qe);
            }
        }
        e.eachExportReference = R;
        function B(Xe, Et) {
          return pe(Xe, Et) ? Et.options.use !== 2 ? true : !Me(Xe) && !by(Xe.parent) ? false : !(by(Xe.parent) && Um(Xe)) : false;
        }
        function U(Xe, Et) {
          if (Xe.declarations)
            for (const re of Xe.declarations) {
              const it = re.getSourceFile();
              me(it, Et.createSearch(
                re,
                Xe,
                0
                /* Import */
              ), Et, Et.includesSourceFile(it));
            }
        }
        function $(Xe, Et, re) {
          tH(Xe).get(Et.escapedText) !== void 0 && me(Xe, Et, re);
        }
        function W(Xe, Et) {
          return C0(Xe.parent.parent) ? Et.getPropertySymbolOfDestructuringAssignment(Xe) : void 0;
        }
        function _e(Xe) {
          const { declarations: Et, flags: re, parent: it, valueDeclaration: Y } = Xe;
          if (Y && (Y.kind === 219 || Y.kind === 232))
            return Y;
          if (!Et)
            return;
          if (re & 8196) {
            const Ke = Nn(Et, (Tt) => ef(
              Tt,
              2
              /* Private */
            ) || xu(Tt));
            return Ke ? q1(
              Ke,
              264
              /* ClassDeclaration */
            ) : void 0;
          }
          if (Et.some(q8))
            return;
          const Ae = it && !(Xe.flags & 262144);
          if (Ae && !(rx(it) && !it.globalExports))
            return;
          let $e;
          for (const Ke of Et) {
            const Tt = MS(Ke);
            if ($e && $e !== Tt || !Tt || Tt.kind === 308 && !Y_(Tt))
              return;
            if ($e = Tt, mo($e)) {
              let Le;
              for (; Le = PB($e); )
                $e = Le;
            }
          }
          return Ae ? $e.getSourceFile() : $e;
        }
        function K(Xe, Et, re, it = re) {
          return V(Xe, Et, re, () => true, it) || false;
        }
        e.isSymbolReferencedInFile = K;
        function V(Xe, Et, re, it, Y = re) {
          const Ae = X_(Xe.parent, Xe.parent.parent) ? ka(Et.getSymbolsOfParameterPropertyDeclaration(Xe.parent, Xe.text)) : Et.getSymbolAtLocation(Xe);
          if (Ae)
            for (const $e of ce(re, Ae.name, Y)) {
              if (!Me($e) || $e === Xe || $e.escapedText !== Xe.escapedText) continue;
              const Ke = Et.getSymbolAtLocation($e);
              if (Ke === Ae || Et.getShorthandAssignmentValueSymbol($e.parent) === Ae || Eu($e.parent) && ne($e, Ke, $e.parent, Et) === Ae) {
                const Tt = it($e);
                if (Tt) return Tt;
              }
            }
        }
        e.eachSymbolReferenceInFile = V;
        function ae(Xe, Et) {
          return kn(ce(Et, Xe), (Y) => !!W4(Y)).reduce((Y, Ae) => {
            const $e = it(Ae);
            return !ot(Y.declarationNames) || $e === Y.depth ? (Y.declarationNames.push(Ae), Y.depth = $e) : $e < Y.depth && (Y.declarationNames = [Ae], Y.depth = $e), Y;
          }, { depth: 1 / 0, declarationNames: [] }).declarationNames;
          function it(Y) {
            let Ae = 0;
            for (; Y; )
              Y = MS(Y), Ae++;
            return Ae;
          }
        }
        e.getTopMostDeclarationNamesInFile = ae;
        function se(Xe, Et, re, it) {
          if (!Xe.name || !Me(Xe.name)) return false;
          const Y = E.checkDefined(re.getSymbolAtLocation(Xe.name));
          for (const Ae of Et)
            for (const $e of ce(Ae, Y.name)) {
              if (!Me($e) || $e === Xe.name || $e.escapedText !== Xe.name.escapedText) continue;
              const Ke = d9($e), Tt = ws(Ke.parent) && Ke.parent.expression === Ke ? Ke.parent : void 0, Le = re.getSymbolAtLocation($e);
              if (Le && re.getRootSymbols(Le).some((mt) => mt === Y) && it($e, Tt))
                return true;
            }
          return false;
        }
        e.someSignatureUsage = se;
        function ce(Xe, Et, re = Xe) {
          return Fi(fe(Xe, Et, re), (it) => {
            const Y = k_(Xe, it);
            return Y === Xe ? void 0 : Y;
          });
        }
        function fe(Xe, Et, re = Xe) {
          const it = [];
          if (!Et || !Et.length)
            return it;
          const Y = Xe.text, Ae = Y.length, $e = Et.length;
          let Ke = Y.indexOf(Et, re.pos);
          for (; Ke >= 0 && !(Ke > re.end); ) {
            const Tt = Ke + $e;
            (Ke === 0 || !fh(
              Y.charCodeAt(Ke - 1),
              99
              /* Latest */
            )) && (Tt === Ae || !fh(
              Y.charCodeAt(Tt),
              99
              /* Latest */
            )) && it.push(Ke), Ke = Y.indexOf(Et, Ke + $e + 1);
          }
          return it;
        }
        function he(Xe, Et) {
          const re = Xe.getSourceFile(), it = Et.text, Y = Fi(ce(re, it, Xe), (Ae) => (
            // Only pick labels that are either the target label, or have a target that is the target label
            Ae === Et || R8(Ae) && m9(Ae, it) === Et ? Nh(Ae) : void 0
          ));
          return [{ definition: { type: 1, node: Et }, references: Y }];
        }
        function q(Xe, Et) {
          switch (Xe.kind) {
            case 81:
              if (sv(Xe.parent))
                return true;
            // falls through I guess
            case 80:
              return Xe.text.length === Et.length;
            case 15:
            case 11: {
              const re = Xe;
              return re.text.length === Et.length && (g9(re) || xV(Xe) || Qse(Xe) || ws(Xe.parent) && nS(Xe.parent) && Xe.parent.arguments[1] === Xe || by(Xe.parent));
            }
            case 9:
              return g9(Xe) && Xe.text.length === Et.length;
            case 90:
              return Et.length === 7;
            default:
              return false;
          }
        }
        function be(Xe, Et) {
          const re = xa(Xe, (it) => (Et.throwIfCancellationRequested(), Fi(ce(it, "meta", it), (Y) => {
            const Ae = Y.parent;
            if (LC(Ae))
              return Nh(Ae);
          })));
          return re.length ? [{ definition: { type: 2, node: re[0].node }, references: re }] : void 0;
        }
        function je(Xe, Et, re, it) {
          const Y = xa(Xe, (Ae) => (re.throwIfCancellationRequested(), Fi(ce(Ae, Vs(Et), Ae), ($e) => {
            if ($e.kind === Et && (!it || it($e)))
              return Nh($e);
          })));
          return Y.length ? [{ definition: { type: 2, node: Y[0].node }, references: Y }] : void 0;
        }
        function me(Xe, Et, re, it = true) {
          return re.cancellationToken.throwIfCancellationRequested(), Z(Xe, Xe, Et, re, it);
        }
        function Z(Xe, Et, re, it, Y) {
          if (it.markSearchedSymbols(Et, re.allSearchSymbols))
            for (const Ae of fe(Et, re.text, Xe))
              Te(Et, Ae, re, it, Y);
        }
        function pe(Xe, Et) {
          return !!(LS(Xe) & Et.searchMeaning);
        }
        function Te(Xe, Et, re, it, Y) {
          const Ae = k_(Xe, Et);
          if (!q(Ae, re.text)) {
            !it.options.implementations && (it.options.findInStrings && ik(Xe, Et) || it.options.findInComments && lae(Xe, Et)) && it.addStringOrCommentReference(Xe.fileName, Xl(Et, re.text.length));
            return;
          }
          if (!pe(Ae, it)) return;
          let $e = it.checker.getSymbolAtLocation(Ae);
          if (!$e)
            return;
          const Ke = Ae.parent;
          if (qu(Ke) && Ke.propertyName === Ae)
            return;
          if (Eu(Ke)) {
            E.assert(
              Ae.kind === 80 || Ae.kind === 11
              /* StringLiteral */
            ), Ye(Ae, $e, Ke, re, it, Y);
            return;
          }
          if (S4(Ke) && Ke.isNameFirst && Ke.typeExpression && kS(Ke.typeExpression.type) && Ke.typeExpression.type.jsDocPropertyTags && wr(Ke.typeExpression.type.jsDocPropertyTags)) {
            Fe(Ke.typeExpression.type.jsDocPropertyTags, Ae, re, it);
            return;
          }
          const Tt = qr(re, $e, Ae, it);
          if (!Tt) {
            Ne($e, re, it);
            return;
          }
          switch (it.specialSearchKind) {
            case 0:
              Y && Ee(Ae, Tt, it);
              break;
            case 1:
              Ce(Ae, Xe, re, it);
              break;
            case 2:
              Ve(Ae, re, it);
              break;
            default:
              E.assertNever(it.specialSearchKind);
          }
          an(Ae) && ha(Ae.parent) && Cb(Ae.parent.parent.parent) && ($e = Ae.parent.symbol, !$e) || ie(Ae, $e, re, it);
        }
        function Fe(Xe, Et, re, it) {
          const Y = it.referenceAdder(re.symbol);
          Ee(Et, re.symbol, it), lr(Xe, (Ae) => {
            t_(Ae.name) && Y(Ae.name.left);
          });
        }
        function Ye(Xe, Et, re, it, Y, Ae, $e) {
          E.assert(!$e || !!Y.options.providePrefixAndSuffixTextForRename, "If alwaysGetReferences is true, then prefix/suffix text must be enabled");
          const { parent: Ke, propertyName: Tt, name: Le } = re, mt = Ke.parent, pt = ne(Xe, Et, re, Y.checker);
          if (!$e && !it.includes(pt))
            return;
          if (Tt ? Xe === Tt ? (mt.moduleSpecifier || Ct(), Ae && Y.options.use !== 2 && Y.markSeenReExportRHS(Le) && Ee(Le, E.checkDefined(re.symbol), Y)) : Y.markSeenReExportRHS(Xe) && Ct() : Y.options.use === 2 && Um(Le) || Ct(), !vs(Y.options) || $e) {
            const Lt = Um(Xe) || Um(re.name) ? 1 : 0, rn = E.checkDefined(re.symbol), Pe = Nue(rn, Lt, Y.checker);
            Pe && F(Xe, rn, Pe, Y);
          }
          if (it.comingFrom !== 1 && mt.moduleSpecifier && !Tt && !vs(Y.options)) {
            const qe = Y.checker.getExportSpecifierLocalTargetSymbol(re);
            qe && U(qe, Y);
          }
          function Ct() {
            Ae && Ee(Xe, pt, Y);
          }
        }
        function ne(Xe, Et, re, it) {
          return Se(Xe, re) && it.getExportSpecifierLocalTargetSymbol(re) || Et;
        }
        function Se(Xe, Et) {
          const { parent: re, propertyName: it, name: Y } = Et;
          return E.assert(it === Xe || Y === Xe), it ? it === Xe : !re.parent.moduleSpecifier;
        }
        function ie(Xe, Et, re, it) {
          const Y = iDe(
            Xe,
            Et,
            it.checker,
            re.comingFrom === 1
            /* Export */
          );
          if (!Y) return;
          const { symbol: Ae } = Y;
          Y.kind === 0 ? vs(it.options) || U(Ae, it) : F(Xe, Ae, Y.exportInfo, it);
        }
        function Ne({ flags: Xe, valueDeclaration: Et }, re, it) {
          const Y = it.checker.getShorthandAssignmentValueSymbol(Et), Ae = Et && us(Et);
          !(Xe & 33554432) && Ae && re.includes(Y) && Ee(Ae, Y, it);
        }
        function Ee(Xe, Et, re) {
          const { kind: it, symbol: Y } = "kind" in Et ? Et : { kind: void 0, symbol: Et };
          if (re.options.use === 2 && Xe.kind === 90)
            return;
          const Ae = re.referenceAdder(Y);
          re.options.implementations ? Wt(Xe, Ae, re) : Ae(Xe, it);
        }
        function Ce(Xe, Et, re, it) {
          _w(Xe) && Ee(Xe, re.symbol, it);
          const Y = () => it.referenceAdder(re.symbol);
          if ($n(Xe.parent))
            E.assert(Xe.kind === 90 || Xe.parent.name === Xe), St(re.symbol, Et, Y());
          else {
            const Ae = Zs(Xe);
            Ae && (tr(Ae, Y()), st(Ae, it));
          }
        }
        function Ve(Xe, Et, re) {
          Ee(Xe, Et.symbol, re);
          const it = Xe.parent;
          if (re.options.use === 2 || !$n(it)) return;
          E.assert(it.name === Xe);
          const Y = re.referenceAdder(Et.symbol);
          for (const Ae of it.members)
            KT(Ae) && Bs(Ae) && Ae.body && Ae.body.forEachChild(function $e(Ke) {
              Ke.kind === 110 ? Y(Ke) : !Cs(Ke) && !$n(Ke) && Ke.forEachChild($e);
            });
        }
        function St(Xe, Et, re) {
          const it = Bt(Xe);
          if (it && it.declarations)
            for (const Y of it.declarations) {
              const Ae = $a(Y, 137, Et);
              E.assert(Y.kind === 177 && !!Ae), re(Ae);
            }
          Xe.exports && Xe.exports.forEach((Y) => {
            const Ae = Y.valueDeclaration;
            if (Ae && Ae.kind === 175) {
              const $e = Ae.body;
              $e && Es($e, 110, (Ke) => {
                _w(Ke) && re(Ke);
              });
            }
          });
        }
        function Bt(Xe) {
          return Xe.members && Xe.members.get(
            "__constructor"
            /* Constructor */
          );
        }
        function tr(Xe, Et) {
          const re = Bt(Xe.symbol);
          if (re && re.declarations)
            for (const it of re.declarations) {
              E.assert(
                it.kind === 177
                /* Constructor */
              );
              const Y = it.body;
              Y && Es(Y, 108, (Ae) => {
                gV(Ae) && Et(Ae);
              });
            }
        }
        function Nr(Xe) {
          return !!Bt(Xe.symbol);
        }
        function st(Xe, Et) {
          if (Nr(Xe)) return;
          const re = Xe.symbol, it = Et.createSearch(
            /*location*/
            void 0,
            re,
            /*comingFrom*/
            void 0
          );
          T(re, Et, it);
        }
        function Wt(Xe, Et, re) {
          if (Hm(Xe) && Un(Xe.parent)) {
            Et(Xe);
            return;
          }
          if (Xe.kind !== 80)
            return;
          Xe.parent.kind === 305 && ki(Xe, re.checker, Et);
          const it = Jr(Xe);
          if (it) {
            Et(it);
            return;
          }
          const Y = dr(Xe, (Ke) => !t_(Ke.parent) && !li(Ke.parent) && !yb(Ke.parent)), Ae = Y.parent;
          if (F7(Ae) && Ae.type === Y && re.markSeenContainingTypeReference(Ae))
            if (l0(Ae))
              $e(Ae.initializer);
            else if (Cs(Ae) && Ae.body) {
              const Ke = Ae.body;
              Ke.kind === 242 ? wy(Ke, (Tt) => {
                Tt.expression && $e(Tt.expression);
              }) : $e(Ke);
            } else (bb(Ae) || u6(Ae)) && $e(Ae.expression);
          function $e(Ke) {
            ui(Ke) && Et(Ke);
          }
        }
        function Jr(Xe) {
          return Me(Xe) || wn(Xe) ? Jr(Xe.parent) : Th(Xe) ? Bn(Xe.parent.parent, H_($n, Jl)) : void 0;
        }
        function ui(Xe) {
          switch (Xe.kind) {
            case 218:
              return ui(Xe.expression);
            case 220:
            case 219:
            case 211:
            case 232:
            case 210:
              return true;
            default:
              return false;
          }
        }
        function Ji(Xe, Et, re, it) {
          if (Xe === Et)
            return true;
          const Y = $s(Xe) + "," + $s(Et), Ae = re.get(Y);
          if (Ae !== void 0)
            return Ae;
          re.set(Y, false);
          const $e = !!Xe.declarations && Xe.declarations.some(
            (Ke) => U4(Ke).some((Tt) => {
              const Le = it.getTypeAtLocation(Tt);
              return !!Le && !!Le.symbol && Ji(Le.symbol, Et, re, it);
            })
          );
          return re.set(Y, $e), $e;
        }
        function Dt(Xe) {
          let Et = D3(
            Xe,
            /*stopOnFunctions*/
            false
          );
          if (!Et)
            return;
          let re = 256;
          switch (Et.kind) {
            case 173:
            case 172:
            case 175:
            case 174:
            case 177:
            case 178:
            case 179:
              re &= f0(Et), Et = Et.parent;
              break;
            default:
              return;
          }
          const it = Et.getSourceFile(), Y = Fi(ce(it, "super", Et), (Ae) => {
            if (Ae.kind !== 108)
              return;
            const $e = D3(
              Ae,
              /*stopOnFunctions*/
              false
            );
            return $e && Bs($e) === !!re && $e.parent.symbol === Et.symbol ? Nh(Ae) : void 0;
          });
          return [{ definition: { type: 0, symbol: Et.symbol }, references: Y }];
        }
        function Mn(Xe) {
          return Xe.kind === 80 && Xe.parent.kind === 170 && Xe.parent.name === Xe;
        }
        function ai(Xe, Et, re) {
          let it = zu(
            Xe,
            /*includeArrowFunctions*/
            false,
            /*includeClassComputedPropertyName*/
            false
          ), Y = 256;
          switch (it.kind) {
            case 175:
            case 174:
              if (Fp(it)) {
                Y &= f0(it), it = it.parent;
                break;
              }
            // falls through
            case 173:
            case 172:
            case 177:
            case 178:
            case 179:
              Y &= f0(it), it = it.parent;
              break;
            case 308:
              if (ll(it) || Mn(Xe))
                return;
            // falls through
            case 263:
            case 219:
              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 Ae = xa(it.kind === 308 ? Et : [it.getSourceFile()], (Ke) => (re.throwIfCancellationRequested(), ce(Ke, "this", Di(it) ? Ke : it).filter((Tt) => {
            if (!B6(Tt))
              return false;
            const Le = zu(
              Tt,
              /*includeArrowFunctions*/
              false,
              /*includeClassComputedPropertyName*/
              false
            );
            if (!Td(Le)) return false;
            switch (it.kind) {
              case 219:
              case 263:
                return it.symbol === Le.symbol;
              case 175:
              case 174:
                return Fp(it) && it.symbol === Le.symbol;
              case 232:
              case 264:
              case 211:
                return Le.parent && Td(Le.parent) && it.symbol === Le.parent.symbol && Bs(Le) === !!Y;
              case 308:
                return Le.kind === 308 && !ll(Le) && !Mn(Tt);
            }
          }))).map((Ke) => Nh(Ke));
          return [{
            definition: { type: 3, node: Ic(Ae, (Ke) => Ii(Ke.node.parent) ? Ke.node : void 0) || Xe },
            references: Ae
          }];
        }
        function fi(Xe, Et, re, it) {
          const Y = b9(Xe, re), Ae = xa(Et, ($e) => (it.throwIfCancellationRequested(), Fi(ce($e, Xe.text), (Ke) => {
            if (Ma(Ke) && Ke.text === Xe.text)
              if (Y) {
                const Tt = b9(Ke, re);
                if (Y !== re.getStringType() && (Y === Tt || pn(Ke, re)))
                  return Nh(
                    Ke,
                    2
                    /* StringLiteral */
                  );
              } else
                return mS(Ke) && !uS(Ke, $e) ? void 0 : Nh(
                  Ke,
                  2
                  /* StringLiteral */
                );
          })));
          return [{
            definition: { type: 4, node: Xe },
            references: Ae
          }];
        }
        function pn(Xe, Et) {
          if (Vu(Xe.parent))
            return Et.getPropertyOfType(Et.getTypeAtLocation(Xe.parent.parent), Xe.text);
        }
        function _i(Xe, Et, re, it, Y, Ae) {
          const $e = [];
          return Je(
            Xe,
            Et,
            re,
            it,
            !(it && Y),
            (Ke, Tt, Le) => {
              Le && er(Xe) !== er(Le) && (Le = void 0), $e.push(Le || Tt || Ke);
            },
            // when try to find implementation, implementations is true, and not allowed to find base class
            /*allowBaseTypes*/
            () => !Ae
          ), $e;
        }
        function Je(Xe, Et, re, it, Y, Ae, $e) {
          const Ke = lA(Et);
          if (Ke) {
            const Lt = re.getShorthandAssignmentValueSymbol(Et.parent);
            if (Lt && it)
              return Ae(
                Lt,
                /*rootSymbol*/
                void 0,
                /*baseSymbol*/
                void 0,
                3
                /* SearchedLocalFoundProperty */
              );
            const rn = re.getContextualType(Ke.parent), Pe = rn && Ic(
              dL(
                Ke,
                re,
                rn,
                /*unionSymbolOk*/
                true
              ),
              (ye) => Ct(
                ye,
                4
                /* SearchedPropertyFoundLocal */
              )
            );
            if (Pe) return Pe;
            const yt = W(Et, re), ue = yt && Ae(
              yt,
              /*rootSymbol*/
              void 0,
              /*baseSymbol*/
              void 0,
              4
              /* SearchedPropertyFoundLocal */
            );
            if (ue) return ue;
            const M = Lt && Ae(
              Lt,
              /*rootSymbol*/
              void 0,
              /*baseSymbol*/
              void 0,
              3
              /* SearchedLocalFoundProperty */
            );
            if (M) return M;
          }
          const Tt = o(Et, Xe, re);
          if (Tt) {
            const Lt = Ae(
              Tt,
              /*rootSymbol*/
              void 0,
              /*baseSymbol*/
              void 0,
              1
              /* Node */
            );
            if (Lt) return Lt;
          }
          const Le = Ct(Xe);
          if (Le) return Le;
          if (Xe.valueDeclaration && X_(Xe.valueDeclaration, Xe.valueDeclaration.parent)) {
            const Lt = re.getSymbolsOfParameterPropertyDeclaration(Ws(Xe.valueDeclaration, Ii), Xe.name);
            return E.assert(Lt.length === 2 && !!(Lt[0].flags & 1) && !!(Lt[1].flags & 4)), Ct(Xe.flags & 1 ? Lt[1] : Lt[0]);
          }
          const mt = Ao(
            Xe,
            282
            /* ExportSpecifier */
          );
          if (!it || mt && !mt.propertyName) {
            const Lt = mt && re.getExportSpecifierLocalTargetSymbol(mt);
            if (Lt) {
              const rn = Ae(
                Lt,
                /*rootSymbol*/
                void 0,
                /*baseSymbol*/
                void 0,
                1
                /* Node */
              );
              if (rn) return rn;
            }
          }
          if (!it) {
            let Lt;
            return Y ? Lt = q8(Et.parent) ? I9(re, Et.parent) : void 0 : Lt = qe(Xe, re), Lt && Ct(
              Lt,
              4
              /* SearchedPropertyFoundLocal */
            );
          }
          if (E.assert(it), Y) {
            const Lt = qe(Xe, re);
            return Lt && Ct(
              Lt,
              4
              /* SearchedPropertyFoundLocal */
            );
          }
          function Ct(Lt, rn) {
            return Ic(re.getRootSymbols(Lt), (Pe) => Ae(
              Lt,
              Pe,
              /*baseSymbol*/
              void 0,
              rn
            ) || (Pe.parent && Pe.parent.flags & 96 && $e(Pe) ? ft(Pe.parent, Pe.name, re, (yt) => Ae(Lt, Pe, yt, rn)) : void 0));
          }
          function qe(Lt, rn) {
            const Pe = Ao(
              Lt,
              209
              /* BindingElement */
            );
            if (Pe && q8(Pe))
              return I9(rn, Pe);
          }
        }
        function ft(Xe, Et, re, it) {
          const Y = /* @__PURE__ */ new Set();
          return Ae(Xe);
          function Ae($e) {
            if (!(!($e.flags & 96) || !Mp(Y, $e)))
              return Ic($e.declarations, (Ke) => Ic(U4(Ke), (Tt) => {
                const Le = re.getTypeAtLocation(Tt), mt = Le.symbol && re.getPropertyOfType(Le, Et);
                return mt && Ic(re.getRootSymbols(mt), it) || Le.symbol && Ae(Le.symbol);
              }));
          }
        }
        function er(Xe) {
          return Xe.valueDeclaration ? !!(lu(Xe.valueDeclaration) & 256) : false;
        }
        function qr(Xe, Et, re, it) {
          const { checker: Y } = it;
          return Je(
            Et,
            re,
            Y,
            /*isForRenamePopulateSearchSymbolSet*/
            false,
            /*onlyIncludeBindingElementAtReferenceLocation*/
            it.options.use !== 2 || !!it.options.providePrefixAndSuffixTextForRename,
            (Ae, $e, Ke, Tt) => (Ke && er(Et) !== er(Ke) && (Ke = void 0), Xe.includes(Ke || $e || Ae) ? { symbol: $e && !(oc(Ae) & 6) ? $e : Ae, kind: Tt } : void 0),
            /*allowBaseTypes*/
            (Ae) => !(Xe.parents && !Xe.parents.some(($e) => Ji(Ae.parent, $e, it.inheritsFromCache, Y)))
          );
        }
        function Jn(Xe, Et) {
          let re = LS(Xe);
          const { declarations: it } = Et;
          if (it) {
            let Y;
            do {
              Y = re;
              for (const Ae of it) {
                const $e = f9(Ae);
                $e & re && (re |= $e);
              }
            } while (re !== Y);
          }
          return re;
        }
        e.getIntersectingMeaningFromDeclarations = Jn;
        function Un(Xe) {
          return Xe.flags & 33554432 ? !(Jl(Xe) || jp(Xe)) : A4(Xe) ? l0(Xe) : to(Xe) ? !!Xe.body : $n(Xe) || _3(Xe);
        }
        function ki(Xe, Et, re) {
          const it = Et.getSymbolAtLocation(Xe), Y = Et.getShorthandAssignmentValueSymbol(it.valueDeclaration);
          if (Y)
            for (const Ae of Y.getDeclarations())
              f9(Ae) & 1 && re(Ae);
        }
        e.getReferenceEntriesForShorthandPropertyAssignment = ki;
        function Es(Xe, Et, re) {
          Ts(Xe, (it) => {
            it.kind === Et && re(it), Es(it, Et, re);
          });
        }
        function Zs(Xe) {
          return iJ(d9(Xe).parent);
        }
        function yr(Xe, Et, re) {
          const it = j6(Xe) ? Xe.parent : void 0, Y = it && re.getTypeAtLocation(it.expression), Ae = Fi(Y && (Y.isUnionOrIntersection() ? Y.types : Y.symbol === Et.parent ? void 0 : [Y]), ($e) => $e.symbol && $e.symbol.flags & 96 ? $e.symbol : void 0);
          return Ae.length === 0 ? void 0 : Ae;
        }
        function vs(Xe) {
          return Xe.use === 2 && Xe.providePrefixAndSuffixTextForRename;
        }
      })(gk || (gk = {}));
      var eE = {};
      Ec(eE, {
        createDefinitionInfo: () => bA,
        getDefinitionAndBoundSpan: () => KXe,
        getDefinitionAtPosition: () => mDe,
        getReferenceAtPosition: () => hDe,
        getTypeDefinitionAtPosition: () => YXe
      });
      function mDe(e, t, n, i, s) {
        var o;
        const c = hDe(t, n, e), _ = c && [iQe(c.reference.fileName, c.fileName, c.unverified)] || Ge;
        if (c?.file)
          return _;
        const u = k_(t, n);
        if (u === t)
          return;
        const { parent: g } = u, m = e.getTypeChecker();
        if (u.kind === 164 || Me(u) && IF(g) && g.tagName === u) {
          const A = $Xe(m, u);
          if (A !== void 0 || u.kind !== 164)
            return A || Ge;
        }
        if (R8(u)) {
          const A = m9(u.parent, u.text);
          return A ? [Lue(
            m,
            A,
            "label",
            u.text,
            /*containerName*/
            void 0
          )] : void 0;
        }
        switch (u.kind) {
          case 90:
            if (!ID(u.parent))
              break;
          // falls through
          case 84:
            const A = dr(u.parent, ND);
            if (A)
              return [nQe(A, t)];
            break;
        }
        let h;
        switch (u.kind) {
          case 107:
          case 135:
          case 127:
            h = to;
            const A = dr(u, h);
            return A ? [Rue(m, A)] : void 0;
        }
        if (Lx(u) && Sc(u.parent)) {
          const A = u.parent.parent, { symbol: O, failedAliasResolution: F } = HH(A, m, s), R = kn(A.members, Sc), B = O ? m.symbolToString(O, A) : "", U = u.getSourceFile();
          return hr(R, ($) => {
            let { pos: W } = um($);
            return W = aa(U.text, W), Lue(
              m,
              $,
              "constructor",
              "static {}",
              B,
              /*unverified*/
              false,
              F,
              { start: W, length: 6 }
            );
          });
        }
        let { symbol: S, failedAliasResolution: T } = HH(u, m, s), k = u;
        if (i && T) {
          const A = lr([u, ...S?.declarations || Ge], (F) => dr(F, KZ)), O = A && lx(A);
          O && ({ symbol: S, failedAliasResolution: T } = HH(O, m, s), k = O);
        }
        if (!S && A9(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: Xl(0, 0),
              failedAliasResolution: T,
              isAmbient: wl(A.resolvedFileName),
              unverified: k !== u
            }];
        }
        if (Ys(u) && (Uc(g) || kl(g)) && (S = g.symbol), !S)
          return Bi(_, eQe(u, m));
        if (i && Ni(S.declarations, (A) => A.getSourceFile().fileName === t.fileName)) return;
        const D = aQe(m, u);
        if (D && !(ku(u.parent) && oQe(D))) {
          const A = Rue(m, D, T);
          let O = (R) => R !== D;
          if (m.getRootSymbols(S).some((R) => GXe(R, D))) {
            if (!ec(D)) return [A];
            O = (R) => R !== D && (Zc(R) || Oc(R));
          }
          const F = Lw(m, S, u, T, O) || Ge;
          return u.kind === 108 ? [A, ...F] : [...F, A];
        }
        if (u.parent.kind === 305) {
          const A = m.getShorthandAssignmentValueSymbol(S.valueDeclaration), O = A?.declarations ? A.declarations.map((F) => bA(
            F,
            m,
            A,
            u,
            /*unverified*/
            false,
            T
          )) : Ge;
          return Bi(O, gDe(m, u));
        }
        if (Wc(u) && ha(g) && Nf(g.parent) && u === (g.propertyName || g.name)) {
          const A = V8(u), O = m.getTypeAtLocation(g.parent);
          return A === void 0 ? Ge : xa(O.isUnion() ? O.types : [O], (F) => {
            const R = F.getProperty(A);
            return R && Lw(m, R, u);
          });
        }
        const P = gDe(m, u);
        return Bi(_, P.length ? P : Lw(m, S, u, T));
      }
      function GXe(e, t) {
        var n;
        return e === t.symbol || e === t.symbol.parent || El(t.parent) || !vb(t.parent) && e === ((n = Bn(t.parent, Td)) == null ? void 0 : n.symbol);
      }
      function gDe(e, t) {
        const n = lA(t);
        if (n) {
          const i = n && e.getContextualType(n.parent);
          if (i)
            return xa(dL(
              n,
              e,
              i,
              /*unionSymbolOk*/
              false
            ), (s) => Lw(e, s, t));
        }
        return Ge;
      }
      function $Xe(e, t) {
        const n = dr(t, Uc);
        if (!(n && n.name)) return;
        const i = dr(n, $n);
        if (!i) return;
        const s = kd(i);
        if (!s) return;
        const o = Ra(s.expression), c = Oc(o) ? o.symbol : e.getSymbolAtLocation(o);
        if (!c) return;
        const _ = sl(n) ? e.getTypeOfSymbol(c) : e.getDeclaredTypeOfSymbol(c);
        let u;
        if (Hs(n.name)) {
          const g = e.getSymbolAtLocation(n.name);
          if (!g)
            return;
          G4(g) ? u = Nn(e.getPropertiesOfType(_), (m) => m.escapedName === g.escapedName) : u = e.getPropertyOfType(_, Si(g.escapedName));
        } else
          u = e.getPropertyOfType(_, Si(ox(n.name)));
        if (u)
          return Lw(e, u, t);
      }
      function hDe(e, t, n) {
        var i, s;
        const o = SA(e.referencedFiles, t);
        if (o) {
          const u = n.getSourceFileFromReference(e, o);
          return u && { reference: o, fileName: u.fileName, file: u, unverified: false };
        }
        const c = SA(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: false };
        }
        const _ = SA(e.libReferenceDirectives, t);
        if (_) {
          const u = n.getLibFileFromReference(_);
          return u && { reference: _, fileName: u.fileName, file: u, unverified: false };
        }
        if (e.imports.length || e.moduleAugmentations.length) {
          const u = z6(e, t);
          let g;
          if (A9(u) && xl(u.text) && (g = n.getResolvedModuleFromModuleSpecifier(u, e))) {
            const m = (s = g.resolvedModule) == null ? void 0 : s.resolvedFileName, h = m || my(Hn(e.fileName), u.text);
            return {
              file: n.getSourceFile(h),
              fileName: h,
              reference: {
                pos: u.getStart(),
                end: u.getEnd(),
                fileName: u.text
              },
              unverified: !m
            };
          }
        }
      }
      var yDe = /* @__PURE__ */ new Set([
        "Array",
        "ArrayLike",
        "ReadonlyArray",
        "Promise",
        "PromiseLike",
        "Iterable",
        "IterableIterator",
        "AsyncIterable",
        "Set",
        "WeakSet",
        "ReadonlySet",
        "Map",
        "WeakMap",
        "ReadonlyMap",
        "Partial",
        "Required",
        "Readonly",
        "Pick",
        "Omit"
      ]);
      function XXe(e, t) {
        const n = t.symbol.name;
        if (!yDe.has(n))
          return false;
        const i = e.resolveName(
          n,
          /*location*/
          void 0,
          788968,
          /*excludeGlobals*/
          false
        );
        return !!i && i === t.target.symbol;
      }
      function vDe(e, t) {
        if (!t.aliasSymbol)
          return false;
        const n = t.aliasSymbol.name;
        if (!yDe.has(n))
          return false;
        const i = e.resolveName(
          n,
          /*location*/
          void 0,
          788968,
          /*excludeGlobals*/
          false
        );
        return !!i && i === t.aliasSymbol;
      }
      function QXe(e, t, n, i) {
        var s, o;
        if (Dn(t) & 4 && XXe(e, t))
          return vA(e.getTypeArguments(t)[0], e, n, i);
        if (vDe(e, t) && t.aliasTypeArguments)
          return vA(t.aliasTypeArguments[0], e, n, i);
        if (Dn(t) & 32 && t.target && vDe(e, t.target)) {
          const c = (o = (s = t.aliasSymbol) == null ? void 0 : s.declarations) == null ? void 0 : o[0];
          if (c && jp(c) && rf(c.type) && c.type.typeArguments)
            return vA(e.getTypeAtLocation(c.type.typeArguments[0]), e, n, i);
        }
        return [];
      }
      function YXe(e, t, n) {
        const i = k_(t, n);
        if (i === t)
          return;
        if (LC(i.parent) && i.parent.name === i)
          return vA(
            e.getTypeAtLocation(i.parent),
            e,
            i.parent,
            /*failedAliasResolution*/
            false
          );
        let { symbol: s, failedAliasResolution: o } = HH(
          i,
          e,
          /*stopAtAlias*/
          false
        );
        if (Ys(i) && (Uc(i.parent) || kl(i.parent)) && (s = i.parent.symbol, o = false), !s) return;
        const c = e.getTypeOfSymbolAtLocation(s, i), _ = ZXe(s, c, e), u = _ && vA(_, e, i, o), [g, m] = u && u.length !== 0 ? [_, u] : [c, vA(c, e, i, o)];
        return m.length ? [...QXe(e, g, i, o), ...m] : !(s.flags & 111551) && s.flags & 788968 ? Lw(e, Ql(s, e), i, o) : void 0;
      }
      function vA(e, t, n, i) {
        return xa(e.isUnion() && !(e.flags & 32) ? e.types : [e], (s) => s.symbol && Lw(t, s.symbol, n, i));
      }
      function ZXe(e, t, n) {
        if (t.symbol === e || // At `const f = () => {}`, the symbol is `f` and the type symbol is at `() => {}`
        e.valueDeclaration && t.symbol && ei(e.valueDeclaration) && e.valueDeclaration.initializer === t.symbol.valueDeclaration) {
          const i = t.getCallSignatures();
          if (i.length === 1) return n.getReturnTypeOfSignature(ka(i));
        }
      }
      function KXe(e, t, n) {
        const i = mDe(e, t, n);
        if (!i || i.length === 0)
          return;
        const s = SA(t.referencedFiles, n) || SA(t.typeReferenceDirectives, n) || SA(t.libReferenceDirectives, n);
        if (s)
          return { definitions: i, textSpan: E0(s) };
        const o = k_(t, n), c = Xl(o.getStart(), o.getWidth());
        return { definitions: i, textSpan: c };
      }
      function eQe(e, t) {
        return Fi(t.getIndexInfosAtLocation(e), (n) => n.declaration && Rue(t, n.declaration));
      }
      function HH(e, t, n) {
        const i = t.getSymbolAtLocation(e);
        let s = false;
        if (i?.declarations && i.flags & 2097152 && !n && tQe(e, i.declarations[0])) {
          const o = t.getAliasedSymbol(i);
          if (o.declarations)
            return { symbol: o };
          s = true;
        }
        return { symbol: i, failedAliasResolution: s };
      }
      function tQe(e, t) {
        return e.kind !== 80 && (e.kind !== 11 || !by(e.parent)) ? false : e.parent === t ? true : t.kind !== 275;
      }
      function rQe(e) {
        if (!R4(e)) return false;
        const t = dr(e, (n) => El(n) ? true : R4(n) ? false : "quit");
        return !!t && wc(t) === 5;
      }
      function Lw(e, t, n, i, s) {
        const o = s !== void 0 ? kn(t.declarations, s) : t.declarations, c = !s && (g() || m());
        if (c)
          return c;
        const _ = kn(o, (S) => !rQe(S)), u = ot(_) ? _ : o;
        return hr(u, (S) => bA(
          S,
          e,
          t,
          n,
          /*unverified*/
          false,
          i
        ));
        function g() {
          if (t.flags & 32 && !(t.flags & 19) && (_w(n) || n.kind === 137)) {
            const S = Nn(o, $n);
            return S && h(
              S.members,
              /*selectConstructors*/
              true
            );
          }
        }
        function m() {
          return hV(n) || kV(n) ? h(
            o,
            /*selectConstructors*/
            false
          ) : void 0;
        }
        function h(S, T) {
          if (!S)
            return;
          const k = S.filter(T ? ec : Cs), D = k.filter((P) => !!P.body);
          return k.length ? D.length !== 0 ? D.map((P) => bA(P, e, t, n)) : [bA(
            fa(k),
            e,
            t,
            n,
            /*unverified*/
            false,
            i
          )] : void 0;
        }
      }
      function bA(e, t, n, i, s, o) {
        const c = t.symbolToString(n), _ = P0.getSymbolKind(t, n, i), u = n.parent ? t.symbolToString(n.parent, i) : "";
        return Lue(t, e, _, c, u, s, o);
      }
      function Lue(e, t, n, i, s, o, c, _) {
        const u = t.getSourceFile();
        if (!_) {
          const g = us(t) || t;
          _ = a_(g, u);
        }
        return {
          fileName: u.fileName,
          textSpan: _,
          kind: n,
          name: i,
          containerKind: void 0,
          // TODO: GH#18217
          containerName: s,
          ...So.toContextSpan(
            _,
            u,
            So.getContextNode(t)
          ),
          isLocal: !Mue(e, t),
          isAmbient: !!(t.flags & 33554432),
          unverified: o,
          failedAliasResolution: c
        };
      }
      function nQe(e, t) {
        const n = So.getContextNode(e), i = a_(Iue(n) ? n.start : n, t);
        return {
          fileName: t.fileName,
          textSpan: i,
          kind: "keyword",
          name: "switch",
          containerKind: void 0,
          containerName: "",
          ...So.toContextSpan(i, t, n),
          isLocal: true,
          isAmbient: false,
          unverified: false,
          failedAliasResolution: void 0
        };
      }
      function Mue(e, t) {
        if (e.isDeclarationVisible(t)) return true;
        if (!t.parent) return false;
        if (l0(t.parent) && t.parent.initializer === t) return Mue(e, t.parent);
        switch (t.kind) {
          case 173:
          case 178:
          case 179:
          case 175:
            if (ef(
              t,
              2
              /* Private */
            )) return false;
          // Public properties/methods are visible if its parents are visible, so:
          // falls through
          case 177:
          case 304:
          case 305:
          case 211:
          case 232:
          case 220:
          case 219:
            return Mue(e, t.parent);
          default:
            return false;
        }
      }
      function Rue(e, t, n) {
        return bA(
          t,
          e,
          t.symbol,
          t,
          /*unverified*/
          false,
          n
        );
      }
      function SA(e, t) {
        return Nn(e, (n) => QP(n, t));
      }
      function iQe(e, t, n) {
        return {
          fileName: t,
          textSpan: Dc(0, 0),
          kind: "script",
          name: e,
          containerName: void 0,
          containerKind: void 0,
          // TODO: GH#18217
          unverified: n
        };
      }
      function sQe(e) {
        const t = dr(e, (i) => !j6(i)), n = t?.parent;
        return n && vb(n) && i5(n) === t ? n : void 0;
      }
      function aQe(e, t) {
        const n = sQe(t), i = n && e.getResolvedSignature(n);
        return Bn(i && i.declaration, (s) => Cs(s) && !$m(s));
      }
      function oQe(e) {
        switch (e.kind) {
          case 177:
          case 186:
          case 180:
          case 181:
            return true;
          default:
            return false;
        }
      }
      var GH = {};
      Ec(GH, {
        provideInlayHints: () => _Qe
      });
      var cQe = (e) => new RegExp(`^\\s?/\\*\\*?\\s?${e}\\s?\\*\\/\\s?$`);
      function lQe(e) {
        return e.includeInlayParameterNameHints === "literals" || e.includeInlayParameterNameHints === "all";
      }
      function uQe(e) {
        return e.includeInlayParameterNameHints === "literals";
      }
      function jue(e) {
        return e.interactiveInlayHints === true;
      }
      function _Qe(e) {
        const { file: t, program: n, span: i, cancellationToken: s, preferences: o } = e, c = t.text, _ = n.getCompilerOptions(), u = of(t, o), g = n.getTypeChecker(), m = [];
        return h(t), m;
        function h(me) {
          if (!(!me || me.getFullWidth() === 0)) {
            switch (me.kind) {
              case 268:
              case 264:
              case 265:
              case 263:
              case 232:
              case 219:
              case 175:
              case 220:
                s.throwIfCancellationRequested();
            }
            if (YP(i, me.pos, me.getFullWidth()) && !(li(me) && !Th(me)))
              return o.includeInlayVariableTypeHints && ei(me) || o.includeInlayPropertyDeclarationTypeHints && as(me) ? O(me) : o.includeInlayEnumMemberValueHints && kh(me) ? P(me) : lQe(o) && (ws(me) || Ub(me)) ? F(me) : (o.includeInlayFunctionParameterTypeHints && to(me) && sF(me) && _e(me), o.includeInlayFunctionLikeReturnTypeHints && S(me) && $(me)), Ts(me, h);
          }
        }
        function S(me) {
          return bo(me) || mo(me) || Tc(me) || Ko(me) || lp(me);
        }
        function T(me, Z, pe, Te) {
          let Fe = `${Te ? "..." : ""}${me}`, Ye;
          jue(o) ? (Ye = [je(Fe, Z), { text: ":" }], Fe = "") : Fe += ":", m.push({
            text: Fe,
            position: pe,
            kind: "Parameter",
            whitespaceAfter: true,
            displayParts: Ye
          });
        }
        function k(me, Z) {
          m.push({
            text: typeof me == "string" ? `: ${me}` : "",
            displayParts: typeof me == "string" ? void 0 : [{ text: ": " }, ...me],
            position: Z,
            kind: "Type",
            whitespaceBefore: true
          });
        }
        function D(me, Z) {
          m.push({
            text: `= ${me}`,
            position: Z,
            kind: "Enum",
            whitespaceBefore: true
          });
        }
        function P(me) {
          if (me.initializer)
            return;
          const Z = g.getConstantValue(me);
          Z !== void 0 && D(Z.toString(), me.end);
        }
        function A(me) {
          return me.symbol && me.symbol.flags & 1536;
        }
        function O(me) {
          if (me.initializer === void 0 && !(as(me) && !(g.getTypeAtLocation(me).flags & 1)) || Ds(me.name) || ei(me) && !be(me) || Qc(me))
            return;
          const pe = g.getTypeAtLocation(me);
          if (A(pe))
            return;
          const Te = ce(pe);
          if (Te) {
            const Fe = typeof Te == "string" ? Te : Te.map((ne) => ne.text).join("");
            if (o.includeInlayVariableTypeHintsWhenTypeMatchesName === false && fy(me.name.getText(), Fe))
              return;
            k(Te, me.name.end);
          }
        }
        function F(me) {
          const Z = me.arguments;
          if (!Z || !Z.length)
            return;
          const pe = g.getResolvedSignature(me);
          if (pe === void 0) return;
          let Te = 0;
          for (const Fe of Z) {
            const Ye = Ra(Fe);
            if (uQe(o) && !U(Ye)) {
              Te++;
              continue;
            }
            let ne = 0;
            if (up(Ye)) {
              const ie = g.getTypeAtLocation(Ye.expression);
              if (g.isTupleType(ie)) {
                const { elementFlags: Ne, fixedLength: Ee } = ie.target;
                if (Ee === 0)
                  continue;
                const Ce = ic(Ne, (St) => !(St & 1));
                (Ce < 0 ? Ee : Ce) > 0 && (ne = Ce < 0 ? Ee : Ce);
              }
            }
            const Se = g.getParameterIdentifierInfoAtPosition(pe, Te);
            if (Te = Te + (ne || 1), Se) {
              const { parameter: ie, parameterName: Ne, isRestParameter: Ee } = Se;
              if (!(o.includeInlayParameterNameHintsWhenArgumentMatchesName || !R(Ye, Ne)) && !Ee)
                continue;
              const Ve = Si(Ne);
              if (B(Ye, Ve))
                continue;
              T(Ve, ie, Fe.getStart(), Ee);
            }
          }
        }
        function R(me, Z) {
          return Me(me) ? me.text === Z : wn(me) ? me.name.text === Z : false;
        }
        function B(me, Z) {
          if (!F_(Z, pa(_), lN(t.scriptKind)))
            return false;
          const pe = Sg(c, me.pos);
          if (!pe?.length)
            return false;
          const Te = cQe(Z);
          return ot(pe, (Fe) => Te.test(c.substring(Fe.pos, Fe.end)));
        }
        function U(me) {
          switch (me.kind) {
            case 225: {
              const Z = me.operand;
              return G2(Z) || Me(Z) && gD(Z.escapedText);
            }
            case 112:
            case 97:
            case 106:
            case 15:
            case 229:
              return true;
            case 80: {
              const Z = me.escapedText;
              return q(Z) || gD(Z);
            }
          }
          return G2(me);
        }
        function $(me) {
          if (bo(me) && !$a(me, 21, t) || K_(me) || !me.body)
            return;
          const pe = g.getSignatureFromDeclaration(me);
          if (!pe)
            return;
          const Te = g.getTypePredicateOfSignature(pe);
          if (Te?.type) {
            const ne = fe(Te);
            if (ne) {
              k(ne, W(me));
              return;
            }
          }
          const Fe = g.getReturnTypeOfSignature(pe);
          if (A(Fe))
            return;
          const Ye = ce(Fe);
          Ye && k(Ye, W(me));
        }
        function W(me) {
          const Z = $a(me, 22, t);
          return Z ? Z.end : me.parameters.end;
        }
        function _e(me) {
          const Z = g.getSignatureFromDeclaration(me);
          if (!Z)
            return;
          let pe = 0;
          for (const Te of me.parameters)
            be(Te) && K(Te, Ay(Te) ? Z.thisParameter : Z.parameters[pe]), !Ay(Te) && pe++;
        }
        function K(me, Z) {
          if (Qc(me) || Z === void 0) return;
          const Te = V(Z);
          Te !== void 0 && k(Te, me.questionToken ? me.questionToken.end : me.name.end);
        }
        function V(me) {
          const Z = me.valueDeclaration;
          if (!Z || !Ii(Z))
            return;
          const pe = g.getTypeOfSymbolAtLocation(me, Z);
          if (!A(pe))
            return ce(pe);
        }
        function ae(me) {
          const pe = Zb();
          return NC((Te) => {
            const Fe = g.typeToTypeNode(
              me,
              /*enclosingDeclaration*/
              void 0,
              71286784
            );
            E.assertIsDefined(Fe, "should always get typenode"), pe.writeNode(
              4,
              Fe,
              /*sourceFile*/
              t,
              Te
            );
          });
        }
        function se(me) {
          const pe = Zb();
          return NC((Te) => {
            const Fe = g.typePredicateToTypePredicateNode(
              me,
              /*enclosingDeclaration*/
              void 0,
              71286784
            );
            E.assertIsDefined(Fe, "should always get typePredicateNode"), pe.writeNode(
              4,
              Fe,
              /*sourceFile*/
              t,
              Te
            );
          });
        }
        function ce(me) {
          if (!jue(o))
            return ae(me);
          const pe = g.typeToTypeNode(
            me,
            /*enclosingDeclaration*/
            void 0,
            71286784
          );
          return E.assertIsDefined(pe, "should always get typeNode"), he(pe);
        }
        function fe(me) {
          if (!jue(o))
            return se(me);
          const pe = g.typePredicateToTypePredicateNode(
            me,
            /*enclosingDeclaration*/
            void 0,
            71286784
          );
          return E.assertIsDefined(pe, "should always get typenode"), he(pe);
        }
        function he(me) {
          const Z = [];
          return pe(me), Z;
          function pe(ne) {
            var Se, ie;
            if (!ne)
              return;
            const Ne = Vs(ne.kind);
            if (Ne) {
              Z.push({ text: Ne });
              return;
            }
            if (G2(ne)) {
              Z.push({ text: Ye(ne) });
              return;
            }
            switch (ne.kind) {
              case 80:
                E.assertNode(ne, Me);
                const Ee = An(ne), Ce = ne.symbol && ne.symbol.declarations && ne.symbol.declarations.length && us(ne.symbol.declarations[0]);
                Ce ? Z.push(je(Ee, Ce)) : Z.push({ text: Ee });
                break;
              case 167:
                E.assertNode(ne, t_), pe(ne.left), Z.push({ text: "." }), pe(ne.right);
                break;
              case 183:
                E.assertNode(ne, Rx), ne.assertsModifier && Z.push({ text: "asserts " }), pe(ne.parameterName), ne.type && (Z.push({ text: " is " }), pe(ne.type));
                break;
              case 184:
                E.assertNode(ne, rf), pe(ne.typeName), ne.typeArguments && (Z.push({ text: "<" }), Fe(ne.typeArguments, ", "), Z.push({ text: ">" }));
                break;
              case 169:
                E.assertNode(ne, Io), ne.modifiers && Fe(ne.modifiers, " "), pe(ne.name), ne.constraint && (Z.push({ text: " extends " }), pe(ne.constraint)), ne.default && (Z.push({ text: " = " }), pe(ne.default));
                break;
              case 170:
                E.assertNode(ne, Ii), ne.modifiers && Fe(ne.modifiers, " "), ne.dotDotDotToken && Z.push({ text: "..." }), pe(ne.name), ne.questionToken && Z.push({ text: "?" }), ne.type && (Z.push({ text: ": " }), pe(ne.type));
                break;
              case 186:
                E.assertNode(ne, a6), Z.push({ text: "new " }), Te(ne), Z.push({ text: " => " }), pe(ne.type);
                break;
              case 187:
                E.assertNode(ne, Jb), Z.push({ text: "typeof " }), pe(ne.exprName), ne.typeArguments && (Z.push({ text: "<" }), Fe(ne.typeArguments, ", "), Z.push({ text: ">" }));
                break;
              case 188:
                E.assertNode(ne, r_), Z.push({ text: "{" }), ne.members.length && (Z.push({ text: " " }), Fe(ne.members, "; "), Z.push({ text: " " })), Z.push({ text: "}" });
                break;
              case 189:
                E.assertNode(ne, LN), pe(ne.elementType), Z.push({ text: "[]" });
                break;
              case 190:
                E.assertNode(ne, jx), Z.push({ text: "[" }), Fe(ne.elements, ", "), Z.push({ text: "]" });
                break;
              case 203:
                E.assertNode(ne, o6), ne.dotDotDotToken && Z.push({ text: "..." }), pe(ne.name), ne.questionToken && Z.push({ text: "?" }), Z.push({ text: ": " }), pe(ne.type);
                break;
              case 191:
                E.assertNode(ne, kF), pe(ne.type), Z.push({ text: "?" });
                break;
              case 192:
                E.assertNode(ne, CF), Z.push({ text: "..." }), pe(ne.type);
                break;
              case 193:
                E.assertNode(ne, b0), Fe(ne.types, " | ");
                break;
              case 194:
                E.assertNode(ne, Bx), Fe(ne.types, " & ");
                break;
              case 195:
                E.assertNode(ne, zb), pe(ne.checkType), Z.push({ text: " extends " }), pe(ne.extendsType), Z.push({ text: " ? " }), pe(ne.trueType), Z.push({ text: " : " }), pe(ne.falseType);
                break;
              case 196:
                E.assertNode(ne, gS), Z.push({ text: "infer " }), pe(ne.typeParameter);
                break;
              case 197:
                E.assertNode(ne, hS), Z.push({ text: "(" }), pe(ne.type), Z.push({ text: ")" });
                break;
              case 199:
                E.assertNode(ne, Y1), Z.push({ text: `${Vs(ne.operator)} ` }), pe(ne.type);
                break;
              case 200:
                E.assertNode(ne, Wb), pe(ne.objectType), Z.push({ text: "[" }), pe(ne.indexType), Z.push({ text: "]" });
                break;
              case 201:
                E.assertNode(ne, yS), Z.push({ text: "{ " }), ne.readonlyToken && (ne.readonlyToken.kind === 40 ? Z.push({ text: "+" }) : ne.readonlyToken.kind === 41 && Z.push({ text: "-" }), Z.push({ text: "readonly " })), Z.push({ text: "[" }), pe(ne.typeParameter), ne.nameType && (Z.push({ text: " as " }), pe(ne.nameType)), Z.push({ text: "]" }), ne.questionToken && (ne.questionToken.kind === 40 ? Z.push({ text: "+" }) : ne.questionToken.kind === 41 && Z.push({ text: "-" }), Z.push({ text: "?" })), Z.push({ text: ": " }), ne.type && pe(ne.type), Z.push({ text: "; }" });
                break;
              case 202:
                E.assertNode(ne, S0), pe(ne.literal);
                break;
              case 185:
                E.assertNode(ne, $m), Te(ne), Z.push({ text: " => " }), pe(ne.type);
                break;
              case 206:
                E.assertNode(ne, dm), ne.isTypeOf && Z.push({ text: "typeof " }), Z.push({ text: "import(" }), pe(ne.argument), ne.assertions && (Z.push({ text: ", { assert: " }), Fe(ne.assertions.assertClause.elements, ", "), Z.push({ text: " }" })), Z.push({ text: ")" }), ne.qualifier && (Z.push({ text: "." }), pe(ne.qualifier)), ne.typeArguments && (Z.push({ text: "<" }), Fe(ne.typeArguments, ", "), Z.push({ text: ">" }));
                break;
              case 172:
                E.assertNode(ne, Vu), (Se = ne.modifiers) != null && Se.length && (Fe(ne.modifiers, " "), Z.push({ text: " " })), pe(ne.name), ne.questionToken && Z.push({ text: "?" }), ne.type && (Z.push({ text: ": " }), pe(ne.type));
                break;
              case 182:
                E.assertNode(ne, Jy), Z.push({ text: "[" }), Fe(ne.parameters, ", "), Z.push({ text: "]" }), ne.type && (Z.push({ text: ": " }), pe(ne.type));
                break;
              case 174:
                E.assertNode(ne, id), (ie = ne.modifiers) != null && ie.length && (Fe(ne.modifiers, " "), Z.push({ text: " " })), pe(ne.name), ne.questionToken && Z.push({ text: "?" }), Te(ne), ne.type && (Z.push({ text: ": " }), pe(ne.type));
                break;
              case 180:
                E.assertNode(ne, Mx), Te(ne), ne.type && (Z.push({ text: ": " }), pe(ne.type));
                break;
              case 181:
                E.assertNode(ne, DD), Z.push({ text: "new " }), Te(ne), ne.type && (Z.push({ text: ": " }), pe(ne.type));
                break;
              case 208:
                E.assertNode(ne, T0), Z.push({ text: "[" }), Fe(ne.elements, ", "), Z.push({ text: "]" });
                break;
              case 207:
                E.assertNode(ne, Nf), Z.push({ text: "{" }), ne.elements.length && (Z.push({ text: " " }), Fe(ne.elements, ", "), Z.push({ text: " " })), Z.push({ text: "}" });
                break;
              case 209:
                E.assertNode(ne, ha), pe(ne.name);
                break;
              case 225:
                E.assertNode(ne, K1), Z.push({ text: Vs(ne.operator) }), pe(ne.operand);
                break;
              case 204:
                E.assertNode(ne, Ote), pe(ne.head), ne.templateSpans.forEach(pe);
                break;
              case 16:
                E.assertNode(ne, Fx), Z.push({ text: Ye(ne) });
                break;
              case 205:
                E.assertNode(ne, pz), pe(ne.type), pe(ne.literal);
                break;
              case 17:
                E.assertNode(ne, cz), Z.push({ text: Ye(ne) });
                break;
              case 18:
                E.assertNode(ne, bF), Z.push({ text: Ye(ne) });
                break;
              case 198:
                E.assertNode(ne, wD), Z.push({ text: "this" });
                break;
              case 168:
                E.assertNode(ne, Hs), Z.push({ text: "[" }), pe(ne.expression), Z.push({ text: "]" });
                break;
              default:
                E.failBadSyntaxKind(ne);
            }
          }
          function Te(ne) {
            ne.typeParameters && (Z.push({ text: "<" }), Fe(ne.typeParameters, ", "), Z.push({ text: ">" })), Z.push({ text: "(" }), Fe(ne.parameters, ", "), Z.push({ text: ")" });
          }
          function Fe(ne, Se) {
            ne.forEach((ie, Ne) => {
              Ne > 0 && Z.push({ text: Se }), pe(ie);
            });
          }
          function Ye(ne) {
            switch (ne.kind) {
              case 11:
                return u === 0 ? `'${Gm(
                  ne.text,
                  39
                  /* singleQuote */
                )}'` : `"${Gm(
                  ne.text,
                  34
                  /* doubleQuote */
                )}"`;
              case 16:
              case 17:
              case 18: {
                const Se = ne.rawText ?? UB(Gm(
                  ne.text,
                  96
                  /* backtick */
                ));
                switch (ne.kind) {
                  case 16:
                    return "`" + Se + "${";
                  case 17:
                    return "}" + Se + "${";
                  case 18:
                    return "}" + Se + "`";
                }
              }
            }
            return ne.text;
          }
        }
        function q(me) {
          return me === "undefined";
        }
        function be(me) {
          if ((H1(me) || ei(me) && OC(me)) && me.initializer) {
            const Z = Ra(me.initializer);
            return !(U(Z) || Ub(Z) || ua(Z) || bb(Z));
          }
          return true;
        }
        function je(me, Z) {
          const pe = Z.getSourceFile();
          return {
            text: me,
            span: a_(Z, pe),
            file: pe.fileName
          };
        }
      }
      var Sv = {};
      Ec(Sv, {
        getDocCommentTemplateAtPosition: () => TQe,
        getJSDocParameterNameCompletionDetails: () => SQe,
        getJSDocParameterNameCompletions: () => bQe,
        getJSDocTagCompletionDetails: () => EDe,
        getJSDocTagCompletions: () => vQe,
        getJSDocTagNameCompletionDetails: () => yQe,
        getJSDocTagNameCompletions: () => hQe,
        getJsDocCommentsFromDeclarations: () => fQe,
        getJsDocTagsFromDeclarations: () => mQe
      });
      var bDe = [
        "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"
      ], SDe, TDe;
      function fQe(e, t) {
        const n = [];
        return XV(e, (i) => {
          for (const s of dQe(i)) {
            const o = Nd(s) && s.tags && Nn(s.tags, (_) => _.kind === 328 && (_.tagName.escapedText === "inheritDoc" || _.tagName.escapedText === "inheritdoc"));
            if (s.comment === void 0 && !o || Nd(s) && i.kind !== 347 && i.kind !== 339 && s.tags && s.tags.some(
              (_) => _.kind === 347 || _.kind === 339
              /* JSDocCallbackTag */
            ) && !s.tags.some(
              (_) => _.kind === 342 || _.kind === 343
              /* JSDocReturnTag */
            ))
              continue;
            let c = s.comment ? tE(s.comment, t) : [];
            o && o.comment && (c = c.concat(tE(o.comment, t))), ds(n, c, pQe) || n.push(c);
          }
        }), wp(SR(n, [q6()]));
      }
      function pQe(e, t) {
        return yf(e, t, (n, i) => n.kind === i.kind && n.text === i.text);
      }
      function dQe(e) {
        switch (e.kind) {
          case 342:
          case 349:
            return [e];
          case 339:
          case 347:
            return [e, e.parent];
          case 324:
            if (g6(e.parent))
              return [e.parent.parent];
          // falls through
          default:
            return wB(e);
        }
      }
      function mQe(e, t) {
        const n = [];
        return XV(e, (i) => {
          const s = R1(i);
          if (!(s.some(
            (o) => o.kind === 347 || o.kind === 339
            /* JSDocCallbackTag */
          ) && !s.some(
            (o) => o.kind === 342 || o.kind === 343
            /* JSDocReturnTag */
          )))
            for (const o of s)
              n.push({ name: o.tagName.text, text: CDe(o, t) }), n.push(...xDe(kDe(o), t));
        }), n;
      }
      function xDe(e, t) {
        return xa(e, (n) => Bi([{ name: n.tagName.text, text: CDe(n, t) }], xDe(kDe(n), t)));
      }
      function kDe(e) {
        return S4(e) && e.isNameFirst && e.typeExpression && kS(e.typeExpression.type) ? e.typeExpression.type.jsDocPropertyTags : void 0;
      }
      function tE(e, t) {
        return typeof e == "string" ? [Lf(e)] : xa(
          e,
          (n) => n.kind === 322 ? [Lf(n.text)] : bae(n, t)
        );
      }
      function CDe(e, t) {
        const { comment: n, kind: i } = e, s = gQe(i);
        switch (i) {
          case 350:
            const _ = e.typeExpression;
            return _ ? o(_) : n === void 0 ? void 0 : tE(n, t);
          case 330:
            return o(e.class);
          case 329:
            return o(e.class);
          case 346:
            const u = e, g = [];
            if (u.constraint && g.push(Lf(u.constraint.getText())), wr(u.typeParameters)) {
              wr(g) && g.push(lc());
              const h = u.typeParameters[u.typeParameters.length - 1];
              lr(u.typeParameters, (S) => {
                g.push(s(S.getText())), h !== S && g.push(Pu(
                  28
                  /* CommaToken */
                ), lc());
              });
            }
            return n && g.push(lc(), ...tE(n, t)), g;
          case 345:
          case 351:
            return o(e.typeExpression);
          case 347:
          case 339:
          case 349:
          case 342:
          case 348:
            const { name: m } = e;
            return m ? o(m) : n === void 0 ? void 0 : tE(n, t);
          default:
            return n === void 0 ? void 0 : tE(n, t);
        }
        function o(_) {
          return c(_.getText());
        }
        function c(_) {
          return n ? _.match(/^https?$/) ? [Lf(_), ...tE(n, t)] : [s(_), lc(), ...tE(n, t)] : [Lf(_)];
        }
      }
      function gQe(e) {
        switch (e) {
          case 342:
            return mae;
          case 349:
            return gae;
          case 346:
            return yae;
          case 347:
          case 339:
            return hae;
          default:
            return Lf;
        }
      }
      function hQe() {
        return SDe || (SDe = hr(bDe, (e) => ({
          name: e,
          kind: "keyword",
          kindModifiers: "",
          sortText: mk.SortText.LocationPriority
        })));
      }
      var yQe = EDe;
      function vQe() {
        return TDe || (TDe = hr(bDe, (e) => ({
          name: `@${e}`,
          kind: "keyword",
          kindModifiers: "",
          sortText: mk.SortText.LocationPriority
        })));
      }
      function EDe(e) {
        return {
          name: e,
          kind: "",
          // TODO: should have its own kind?
          kindModifiers: "",
          displayParts: [Lf(e)],
          documentation: Ge,
          tags: void 0,
          codeActions: void 0
        };
      }
      function bQe(e) {
        if (!Me(e.name))
          return Ge;
        const t = e.name.text, n = e.parent, i = n.parent;
        return Cs(i) ? Fi(i.parameters, (s) => {
          if (!Me(s.name)) return;
          const o = s.name.text;
          if (!(n.tags.some((c) => c !== e && Af(c) && Me(c.name) && c.name.escapedText === o) || t !== void 0 && !Ui(o, t)))
            return { name: o, kind: "parameter", kindModifiers: "", sortText: mk.SortText.LocationPriority };
        }) : [];
      }
      function SQe(e) {
        return {
          name: e,
          kind: "parameter",
          kindModifiers: "",
          displayParts: [Lf(e)],
          documentation: Ge,
          tags: void 0,
          codeActions: void 0
        };
      }
      function TQe(e, t, n, i) {
        const s = vi(t, n), o = dr(s, Nd);
        if (o && (o.comment !== void 0 || wr(o.tags)))
          return;
        const c = s.getStart(t);
        if (!o && c < n)
          return;
        const _ = EQe(s, i);
        if (!_)
          return;
        const { commentOwner: u, parameters: g, hasReturn: m } = _, h = bf(u) && u.jsDoc ? u.jsDoc : void 0, S = ko(h);
        if (u.getStart(t) < n || S && o && S !== o)
          return;
        const T = xQe(t, n), k = Og(t.fileName), D = (g ? kQe(g || [], k, T, e) : "") + (m ? CQe(T, e) : ""), P = "/**", A = " */", O = wr(R1(u)) > 0;
        if (D && !O) {
          const F = P + e + T + " * ", R = c === n ? e + T : "";
          return { newText: F + e + D + T + A + R, caretOffset: F.length };
        }
        return { newText: P + A, caretOffset: 3 };
      }
      function xQe(e, t) {
        const { text: n } = e, i = Wp(t, e);
        let s = i;
        for (; s <= t && em(n.charCodeAt(s)); s++) ;
        return n.slice(i, s);
      }
      function kQe(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 CQe(e, t) {
        return `${e} * @returns${t}`;
      }
      function EQe(e, t) {
        return zZ(e, (n) => Bue(n, t));
      }
      function Bue(e, t) {
        switch (e.kind) {
          case 263:
          case 219:
          case 175:
          case 177:
          case 174:
          case 220:
            const n = e;
            return { commentOwner: e, parameters: n.parameters, hasReturn: PL(n, t) };
          case 304:
            return Bue(e.initializer, t);
          case 264:
          case 265:
          case 267:
          case 307:
          case 266:
            return { commentOwner: e };
          case 172: {
            const s = e;
            return s.type && $m(s.type) ? { commentOwner: e, parameters: s.type.parameters, hasReturn: PL(s.type, t) } : { commentOwner: e };
          }
          case 244: {
            const o = e.declarationList.declarations, c = o.length === 1 && o[0].initializer ? DQe(o[0].initializer) : void 0;
            return c ? { commentOwner: e, parameters: c.parameters, hasReturn: PL(c, t) } : { commentOwner: e };
          }
          case 308:
            return "quit";
          case 268:
            return e.parent.kind === 268 ? void 0 : { commentOwner: e };
          case 245:
            return Bue(e.expression, t);
          case 227: {
            const s = e;
            return wc(s) === 0 ? "quit" : Cs(s.right) ? { commentOwner: e, parameters: s.right.parameters, hasReturn: PL(s.right, t) } : { commentOwner: e };
          }
          case 173:
            const i = e.initializer;
            if (i && (mo(i) || bo(i)))
              return { commentOwner: e, parameters: i.parameters, hasReturn: PL(i, t) };
        }
      }
      function PL(e, t) {
        return !!t?.generateReturnInDocTemplate && ($m(e) || bo(e) && ut(e.body) || to(e) && e.body && Ps(e.body) && !!wy(e.body, (n) => n));
      }
      function DQe(e) {
        for (; e.kind === 218; )
          e = e.expression;
        switch (e.kind) {
          case 219:
          case 220:
            return e;
          case 232:
            return Nn(e.members, ec);
        }
      }
      var $H = {};
      Ec($H, {
        mapCode: () => wQe
      });
      function wQe(e, t, n, i, s, o) {
        return cn.ChangeTracker.with(
          { host: i, formatContext: s, preferences: o },
          (c) => {
            const _ = t.map((g) => PQe(e, g)), u = n && wp(n);
            for (const g of _)
              NQe(
                e,
                c,
                g,
                u
              );
          }
        );
      }
      function PQe(e, t) {
        const n = [
          {
            parse: () => Gx(
              "__mapcode_content_nodes.ts",
              t,
              e.languageVersion,
              /*setParentNodes*/
              true,
              e.scriptKind
            ),
            body: (o) => o.statements
          },
          {
            parse: () => Gx(
              "__mapcode_class_content_nodes.ts",
              `class __class {
${t}
}`,
              e.languageVersion,
              /*setParentNodes*/
              true,
              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 NQe(e, t, n, i) {
        Uc(n[0]) || yb(n[0]) ? AQe(
          e,
          t,
          n,
          i
        ) : IQe(
          e,
          t,
          n,
          i
        );
      }
      function AQe(e, t, n, i) {
        let s;
        if (!i || !i.length ? s = Nn(e.statements, H_($n, Jl)) : s = lr(i, (c) => dr(
          vi(e, c.start),
          H_($n, Jl)
        )), !s)
          return;
        const o = s.members.find((c) => n.some((_) => NL(_, c)));
        if (o) {
          const c = ub(
            s.members,
            (_) => n.some((u) => NL(u, _))
          );
          lr(n, XH), t.replaceNodeRangeWithNodes(
            e,
            o,
            c,
            n
          );
          return;
        }
        lr(n, XH), t.insertNodesAfter(
          e,
          s.members[s.members.length - 1],
          n
        );
      }
      function IQe(e, t, n, i) {
        if (!i?.length) {
          t.insertNodesAtEndOfFile(
            e,
            n,
            /*blankLineBetween*/
            false
          );
          return;
        }
        for (const o of i) {
          const c = dr(
            vi(e, o.start),
            (_) => H_(Ps, Di)(_) && ot(_.statements, (u) => n.some((g) => NL(g, u)))
          );
          if (c) {
            const _ = c.statements.find((u) => n.some((g) => NL(g, u)));
            if (_) {
              const u = ub(c.statements, (g) => n.some((m) => NL(m, g)));
              lr(n, XH), t.replaceNodeRangeWithNodes(
                e,
                _,
                u,
                n
              );
              return;
            }
          }
        }
        let s = e.statements;
        for (const o of i) {
          const c = dr(
            vi(e, o.start),
            Ps
          );
          if (c) {
            s = c.statements;
            break;
          }
        }
        lr(n, XH), t.insertNodesAfter(
          e,
          s[s.length - 1],
          n
        );
      }
      function NL(e, t) {
        var n, i, s, o, c, _;
        return e.kind !== t.kind ? false : e.kind === 177 ? e.kind === t.kind : kl(e) && kl(t) ? e.name.getText() === t.name.getText() : ev(e) && ev(t) || gz(e) && gz(t) ? e.expression.getText() === t.expression.getText() : tv(e) && tv(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()) : Q2(e) && Q2(t) ? e.expression.getText() === t.expression.getText() && e.initializer.getText() === t.initializer.getText() : Wy(e) && Wy(t) ? e.label.getText() === t.label.getText() : e.getText() === t.getText();
      }
      function XH(e) {
        DDe(e), e.parent = void 0;
      }
      function DDe(e) {
        e.pos = -1, e.end = -1, e.forEachChild(DDe);
      }
      var Tv = {};
      Ec(Tv, {
        compareImportsOrRequireStatements: () => Gue,
        compareModuleSpecifiers: () => YQe,
        getImportDeclarationInsertionIndex: () => GQe,
        getImportSpecifierInsertionIndex: () => $Qe,
        getNamedImportSpecifierComparerWithDetection: () => HQe,
        getOrganizeImportsStringComparerWithDetection: () => qQe,
        organizeImports: () => FQe,
        testCoalesceExports: () => QQe,
        testCoalesceImports: () => XQe
      });
      function FQe(e, t, n, i, s, o) {
        const c = cn.ChangeTracker.fromContext({ host: n, formatContext: t, preferences: s }), _ = o === "SortAndCombine" || o === "All", u = _, g = o === "RemoveUnused" || o === "All", m = e.statements.filter(Wo), h = zue(e, m), { comparersToTest: S, typeOrdersToTest: T } = Jue(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 } = NDe(h, S)), !D.typeOrder || typeof s.organizeImportsIgnoreCase != "boolean") {
          const F = que(m, S, T);
          if (F) {
            const { namedImportComparer: R, typeOrder: B } = F;
            D.namedImportComparer = D.namedImportComparer ?? R, D.typeOrder = D.typeOrder ?? B;
          }
        }
        h.forEach((F) => A(F, D)), o !== "RemoveUnused" && LQe(e).forEach((F) => O(F, D.namedImportComparer));
        for (const F of e.statements.filter(Ju)) {
          if (!F.body) continue;
          if (zue(e, F.body.statements.filter(Wo)).forEach((B) => A(B, D)), o !== "RemoveUnused") {
            const B = F.body.statements.filter(Mc);
            O(B, D.namedImportComparer);
          }
        }
        return c.getChanges();
        function P(F, R) {
          if (wr(F) === 0)
            return;
          un(
            F[0],
            1024
            /* NoLeadingComments */
          );
          const B = u ? pC(F, (W) => AL(W.moduleSpecifier)) : [F], U = _ ? q_(B, (W, _e) => Uue(W[0].moduleSpecifier, _e[0].moduleSpecifier, D.moduleSpecifierComparer ?? k)) : B, $ = xa(U, (W) => AL(W[0].moduleSpecifier) || W[0].moduleSpecifier === void 0 ? R(W) : W);
          if ($.length === 0)
            c.deleteNodes(
              e,
              F,
              {
                leadingTriviaOption: cn.LeadingTriviaOption.Exclude,
                trailingTriviaOption: cn.TrailingTriviaOption.Include
              },
              /*hasTrailingComment*/
              true
            );
          else {
            const W = {
              leadingTriviaOption: cn.LeadingTriviaOption.Exclude,
              // Leave header comment in place
              trailingTriviaOption: cn.TrailingTriviaOption.Include,
              suffix: wh(n, t.options)
            };
            c.replaceNodeWithNodes(e, F[0], $, W);
            const _e = c.nodeHasTrailingComment(e, F[0], W);
            c.deleteNodes(e, F.slice(1), {
              trailingTriviaOption: cn.TrailingTriviaOption.Include
            }, _e);
          }
        }
        function A(F, R) {
          const B = R.moduleSpecifierComparer ?? k, U = R.namedImportComparer ?? k, $ = R.typeOrder ?? "last", W = xA({ organizeImportsTypeOrder: $ }, U);
          P(F, (K) => (g && (K = MQe(K, e, i)), u && (K = wDe(K, B, W, e)), _ && (K = q_(K, (V, ae) => Gue(V, ae, B))), K));
        }
        function O(F, R) {
          const B = xA(s, R);
          P(F, (U) => PDe(U, B));
        }
      }
      function Jue(e) {
        return {
          comparersToTest: typeof e.organizeImportsIgnoreCase == "boolean" ? [Hue(e, e.organizeImportsIgnoreCase)] : [Hue(
            e,
            /*ignoreCase*/
            true
          ), Hue(
            e,
            /*ignoreCase*/
            false
          )],
          typeOrdersToTest: e.organizeImportsTypeOrder ? [e.organizeImportsTypeOrder] : ["last", "inline", "first"]
        };
      }
      function zue(e, t) {
        const n = Tg(
          e.languageVersion,
          /*skipTrivia*/
          false,
          e.languageVariant
        ), i = [];
        let s = 0;
        for (const o of t)
          i[s] && OQe(e, o, n) && s++, i[s] || (i[s] = []), i[s].push(o);
        return i;
      }
      function OQe(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 true;
        return false;
      }
      function LQe(e) {
        const t = [], n = e.statements, i = wr(n);
        let s = 0, o = 0;
        for (; s < i; )
          if (Mc(n[s])) {
            t[o] === void 0 && (t[o] = []);
            const c = n[s];
            if (c.moduleSpecifier)
              t[o].push(c), s++;
            else {
              for (; s < i && Mc(n[s]); )
                t[o].push(n[s++]);
              o++;
            }
          } else
            s++;
        return xa(t, (c) => zue(e, c));
      }
      function MQe(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 (jg(k))
              g(k.name) || (k = void 0);
            else {
              const D = k.elements.filter((P) => g(P.name));
              D.length < k.elements.length && (k = D.length ? N.updateNamedImports(k, D) : void 0);
            }
          T || k ? u.push(TA(m, T, k)) : BQe(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) && pq(s.jsx) || So.Core.isSymbolReferencedInFile(m, i, t);
        }
      }
      function AL(e) {
        return e !== void 0 && Ma(e) ? e.text : void 0;
      }
      function RQe(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), _ && (jg(_) ? o.namespaceImports.push(s) : o.namedImports.push(s));
        }
        return {
          importWithoutClause: t,
          typeOnlyImports: n,
          regularImports: i
        };
      }
      function wDe(e, t, n, i) {
        if (e.length === 0)
          return e;
        const s = FR(e, (c) => {
          if (c.attributes) {
            let _ = c.attributes.token + " ";
            for (const u of q_(c.attributes.elements, (g, m) => ou(g.name.text, m.name.text)))
              _ += u.name.text + ":", _ += Ma(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 } = RQe(_);
          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(
                TA(W, W.importClause.name, k[0].importClause.namedBindings)
              );
              continue;
            }
            const P = q_(k, (W, _e) => t(W.importClause.namedBindings.name.text, _e.importClause.namedBindings.name.text));
            for (const W of P)
              o.push(
                TA(
                  W,
                  /*name*/
                  void 0,
                  W.importClause.namedBindings
                )
              );
            const A = $c(T), O = $c(D), F = A ?? O;
            if (!F)
              continue;
            let R;
            const B = [];
            if (T.length === 1)
              R = T[0].importClause.name;
            else
              for (const W of T)
                B.push(
                  N.createImportSpecifier(
                    /*isTypeOnly*/
                    false,
                    N.createIdentifier("default"),
                    W.importClause.name
                  )
                );
            B.push(...JQe(D));
            const U = N.createNodeArray(
              q_(B, n),
              O?.importClause.namedBindings.elements.hasTrailingComma
            ), $ = U.length === 0 ? R ? void 0 : N.createNamedImports(Ge) : O ? N.updateNamedImports(O.importClause.namedBindings, U) : N.createNamedImports(U);
            i && $ && O?.importClause.namedBindings && !uS(O.importClause.namedBindings, i) && un(
              $,
              2
              /* MultiLine */
            ), S && R && $ ? (o.push(
              TA(
                F,
                R,
                /*namedBindings*/
                void 0
              )
            ), o.push(
              TA(
                O ?? F,
                /*name*/
                void 0,
                $
              )
            )) : o.push(
              TA(F, R, $)
            );
          }
        }
        return o;
      }
      function PDe(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(...xa(_, (h) => h.exportClause && _p(h.exportClause) ? h.exportClause.elements : Ge));
          const g = q_(u, t), m = _[0];
          o.push(
            N.updateExportDeclaration(
              m,
              m.modifiers,
              m.isTypeOnly,
              m.exportClause && (_p(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 TA(e, t, n) {
        return N.updateImportDeclaration(
          e,
          e.modifiers,
          N.updateImportClause(e.importClause, e.importClause.phaseModifier, t, n),
          // TODO: GH#18217
          e.moduleSpecifier,
          e.attributes
        );
      }
      function Wue(e, t, n, i) {
        switch (i?.organizeImportsTypeOrder) {
          case "first":
            return F1(t.isTypeOnly, e.isTypeOnly) || n(e.name.text, t.name.text);
          case "inline":
            return n(e.name.text, t.name.text);
          default:
            return F1(e.isTypeOnly, t.isTypeOnly) || n(e.name.text, t.name.text);
        }
      }
      function Uue(e, t, n) {
        const i = e === void 0 ? void 0 : AL(e), s = t === void 0 ? void 0 : AL(t);
        return F1(i === void 0, s === void 0) || F1(xl(i), xl(s)) || n(i, s);
      }
      function jQe(e) {
        return e.map((t) => AL(Vue(t)) || "");
      }
      function Vue(e) {
        var t;
        switch (e.kind) {
          case 272:
            return (t = Bn(e.moduleReference, xh)) == null ? void 0 : t.expression;
          case 273:
            return e.moduleSpecifier;
          case 244:
            return e.declarationList.declarations[0].initializer.arguments[0];
        }
      }
      function BQe(e, t) {
        const n = oa(t) && t.text;
        return ms(n) && ot(e.moduleAugmentations, (i) => oa(i) && i.text === n);
      }
      function JQe(e) {
        return xa(e, (t) => hr(zQe(t), (n) => n.name && n.propertyName && Tb(n.name) === Tb(n.propertyName) ? N.updateImportSpecifier(
          n,
          n.isTypeOnly,
          /*propertyName*/
          void 0,
          n.name
        ) : n));
      }
      function zQe(e) {
        var t;
        return (t = e.importClause) != null && t.namedBindings && gm(e.importClause.namedBindings) ? e.importClause.namedBindings.elements : void 0;
      }
      function NDe(e, t) {
        const n = [];
        return e.forEach((i) => {
          n.push(jQe(i));
        }), IDe(n, t);
      }
      function que(e, t, n) {
        let i = false;
        const s = e.filter((u) => {
          var g, m;
          const h = (m = Bn((g = u.importClause) == null ? void 0 : g.namedBindings, gm)) == null ? void 0 : m.elements;
          return h?.length ? (!i && h.some((S) => S.isTypeOnly) && h.some((S) => !S.isTypeOnly) && (i = true), true) : false;
        });
        if (s.length === 0) return;
        const o = s.map((u) => {
          var g, m;
          return (m = Bn((g = u.importClause) == null ? void 0 : g.namedBindings, gm)) == null ? void 0 : m.elements;
        }).filter((u) => u !== void 0);
        if (!i || n.length === 0) {
          const u = IDe(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) + ADe(m, (S, T) => Wue(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 ADe(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 IDe(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 _ = ADe(c, s);
            o += _;
          }
          o < i && (i = o, n = s);
        }
        return {
          comparer: n ?? t[0],
          isSorted: i === 0
        };
      }
      function WQe(e, t) {
        return po(FDe(e), FDe(t));
      }
      function FDe(e) {
        var t;
        switch (e.kind) {
          case 273:
            return e.importClause ? e.importClause.isTypeOnly ? 1 : ((t = e.importClause.namedBindings) == null ? void 0 : t.kind) === 275 ? 2 : e.importClause.name ? 3 : 4 : 0;
          case 272:
            return 5;
          case 244:
            return 6;
        }
      }
      function IL(e) {
        return e ? oQ : ou;
      }
      function UQe(e, t) {
        const n = VQe(t), i = t.organizeImportsCaseFirst ?? false, s = t.organizeImportsNumericCollation ?? false, o = t.organizeImportsAccentCollation ?? true, c = e ? o ? "accent" : "base" : o ? "variant" : "case";
        return new Intl.Collator(n, {
          usage: "sort",
          caseFirst: i || "false",
          sensitivity: c,
          numeric: s
        }).compare;
      }
      function VQe(e) {
        let t = e.organizeImportsLocale;
        t === "auto" && (t = cQ()), t === void 0 && (t = "en");
        const n = Intl.Collator.supportedLocalesOf(t);
        return n.length ? n[0] : "en";
      }
      function Hue(e, t) {
        return (e.organizeImportsCollation ?? "ordinal") === "unicode" ? UQe(t, e) : IL(t);
      }
      function qQe(e, t) {
        return NDe([e], Jue(t).comparersToTest);
      }
      function xA(e, t) {
        const n = t ?? IL(!!e.organizeImportsIgnoreCase);
        return (i, s) => Wue(i, s, n, e);
      }
      function HQe(e, t, n) {
        const { comparersToTest: i, typeOrdersToTest: s } = Jue(t), o = que([e], i, s);
        let c = xA(t, i[0]), _;
        if (typeof t.organizeImportsIgnoreCase != "boolean" || !t.organizeImportsTypeOrder) {
          if (o) {
            const { namedImportComparer: u, typeOrder: g, isSorted: m } = o;
            _ = m, c = xA({ organizeImportsTypeOrder: g }, u);
          } else if (n) {
            const u = que(n.statements.filter(Wo), i, s);
            if (u) {
              const { namedImportComparer: g, typeOrder: m, isSorted: h } = u;
              _ = h, c = xA({ organizeImportsTypeOrder: m }, g);
            }
          }
        }
        return { specifierComparer: c, isSorted: _ };
      }
      function GQe(e, t, n) {
        const i = cy(e, t, fo, (s, o) => Gue(s, o, n));
        return i < 0 ? ~i : i;
      }
      function $Qe(e, t, n) {
        const i = cy(e, t, fo, n);
        return i < 0 ? ~i : i;
      }
      function Gue(e, t, n) {
        return Uue(Vue(e), Vue(t), n) || WQe(e, t);
      }
      function XQe(e, t, n, i) {
        const s = IL(t), o = xA({ organizeImportsTypeOrder: i?.organizeImportsTypeOrder }, s);
        return wDe(e, s, o, n);
      }
      function QQe(e, t, n) {
        return PDe(e, (s, o) => Wue(s, o, IL(t), { organizeImportsTypeOrder: n?.organizeImportsTypeOrder ?? "last" }));
      }
      function YQe(e, t, n) {
        const i = IL(!!n);
        return Uue(e, t, i);
      }
      var QH = {};
      Ec(QH, {
        collectElements: () => ZQe
      });
      function ZQe(e, t) {
        const n = [];
        return KQe(e, t, n), eYe(e, n), n.sort((i, s) => i.textSpan.start - s.textSpan.start), n;
      }
      function KQe(e, t, n) {
        let i = 40, s = 0;
        const o = e.statements, c = o.length;
        for (; s < c; ) {
          for (; s < c && !ax(o[s]); )
            _(o[s]), s++;
          if (s === c) break;
          const u = s;
          for (; s < c && ax(o[s]); )
            _(o[s]), s++;
          const g = s - 1;
          g !== u && n.push(FL(
            $a(o[u], 102, e).getStart(e),
            o[g].getEnd(),
            "imports"
            /* Imports */
          ));
        }
        _(e.endOfFileToken);
        function _(u) {
          var g;
          if (i === 0) return;
          t.throwIfCancellationRequested(), (Cl(u) || Pc(u) || Sf(u) || tm(u) || u.kind === 1) && LDe(u, e, t, n), Cs(u) && _n(u.parent) && wn(u.parent.left) && LDe(u.parent.left, e, t, n), (Ps(u) || mm(u)) && $ue(u.statements.end, e, t, n), ($n(u) || Jl(u)) && $ue(u.members.end, e, t, n);
          const m = rYe(u, e);
          m && n.push(m), i--, ws(u) ? (i++, _(u.expression), i--, u.arguments.forEach(_), (g = u.typeArguments) == null || g.forEach(_)) : ev(u) && u.elseStatement && ev(u.elseStatement) ? (_(u.expression), _(u.thenStatement), i++, _(u.elseStatement), i--) : u.forEachChild(_), i++;
        }
      }
      function eYe(e, t) {
        const n = [], i = e.getLineStarts();
        for (const s of i) {
          const o = e.getLineEndOfPosition(s), c = e.text.substring(s, o), _ = ODe(c);
          if (!(!_ || k0(e, s)))
            if (_.isStart) {
              const u = Dc(e.text.indexOf("//", s), o);
              n.push(hk(
                u,
                "region",
                u,
                /*autoCollapse*/
                false,
                _.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 tYe = /^#(end)?region(.*)\r?$/;
      function ODe(e) {
        if (e = e.trimStart(), !Ui(e, "//"))
          return null;
        e = e.slice(2).trim();
        const t = tYe.exec(e);
        if (t)
          return { isStart: !t[1], name: t[2].trim() };
      }
      function $ue(e, t, n, i) {
        const s = Sg(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 (ODe(T)) {
                g(), _ = 0;
                break;
              }
              _ === 0 && (o = h), c = S, _++;
              break;
            case 3:
              g(), i.push(FL(
                h,
                S,
                "comment"
                /* Comment */
              )), _ = 0;
              break;
            default:
              E.assertNever(m);
          }
        g();
        function g() {
          _ > 1 && i.push(FL(
            o,
            c,
            "comment"
            /* Comment */
          ));
        }
      }
      function LDe(e, t, n, i) {
        Ix(e) || $ue(e.pos, t, n, i);
      }
      function FL(e, t, n) {
        return hk(Dc(e, t), n);
      }
      function rYe(e, t) {
        switch (e.kind) {
          case 242:
            if (Cs(e.parent))
              return nYe(e.parent, e, t);
            switch (e.parent.kind) {
              case 247:
              case 250:
              case 251:
              case 249:
              case 246:
              case 248:
              case 255:
              case 300:
                return m(e.parent);
              case 259:
                const T = e.parent;
                if (T.tryBlock === e)
                  return m(e.parent);
                if (T.finallyBlock === e) {
                  const k = $a(T, 98, t);
                  if (k) return m(k);
                }
              // falls through
              default:
                return hk(
                  a_(e, t),
                  "code"
                  /* Code */
                );
            }
          case 269:
            return m(e.parent);
          case 264:
          case 232:
          case 265:
          case 267:
          case 270:
          case 188:
          case 207:
            return m(e);
          case 190:
            return m(
              e,
              /*autoCollapse*/
              false,
              /*useFullStart*/
              !jx(e.parent),
              23
              /* OpenBracketToken */
            );
          case 297:
          case 298:
            return h(e.statements);
          case 211:
            return g(e);
          case 210:
            return g(
              e,
              23
              /* OpenBracketToken */
            );
          case 285:
            return o(e);
          case 289:
            return c(e);
          case 286:
          case 287:
            return _(e.attributes);
          case 229:
          case 15:
            return u(e);
          case 208:
            return m(
              e,
              /*autoCollapse*/
              false,
              /*useFullStart*/
              !ha(e.parent),
              23
              /* OpenBracketToken */
            );
          case 220:
            return s(e);
          case 214:
            return i(e);
          case 218:
            return S(e);
          case 276:
          case 280:
          case 301:
            return n(e);
        }
        function n(T) {
          if (!T.elements.length)
            return;
          const k = $a(T, 19, t), D = $a(T, 20, t);
          if (!(!k || !D || sp(k.pos, D.pos, t)))
            return YH(
              k,
              D,
              T,
              t,
              /*autoCollapse*/
              false,
              /*useFullStart*/
              false
            );
        }
        function i(T) {
          if (!T.arguments.length)
            return;
          const k = $a(T, 21, t), D = $a(T, 22, t);
          if (!(!k || !D || sp(k.pos, D.pos, t)))
            return YH(
              k,
              D,
              T,
              t,
              /*autoCollapse*/
              false,
              /*useFullStart*/
              true
            );
        }
        function s(T) {
          if (Ps(T.body) || n_(T.body) || sp(T.body.getFullStart(), T.body.getEnd(), t))
            return;
          const k = Dc(T.body.getFullStart(), T.body.getEnd());
          return hk(k, "code", a_(T));
        }
        function o(T) {
          const k = Dc(T.openingElement.getStart(t), T.closingElement.getEnd()), D = T.openingElement.tagName.getText(t), P = "<" + D + ">...</" + D + ">";
          return hk(
            k,
            "code",
            k,
            /*autoCollapse*/
            false,
            P
          );
        }
        function c(T) {
          const k = Dc(T.openingFragment.getStart(t), T.closingFragment.getEnd());
          return hk(
            k,
            "code",
            k,
            /*autoCollapse*/
            false,
            "<>...</>"
          );
        }
        function _(T) {
          if (T.properties.length !== 0)
            return FL(
              T.getStart(t),
              T.getEnd(),
              "code"
              /* Code */
            );
        }
        function u(T) {
          if (!(T.kind === 15 && T.text.length === 0))
            return FL(
              T.getStart(t),
              T.getEnd(),
              "code"
              /* Code */
            );
        }
        function g(T, k = 19) {
          return m(
            T,
            /*autoCollapse*/
            false,
            /*useFullStart*/
            !Kl(T.parent) && !ws(T.parent),
            k
          );
        }
        function m(T, k = false, D = true, P = 19, A = P === 19 ? 20 : 24) {
          const O = $a(e, P, t), F = $a(e, A, t);
          return O && F && YH(O, F, T, t, k, D);
        }
        function h(T) {
          return T.length ? hk(
            E0(T),
            "code"
            /* Code */
          ) : void 0;
        }
        function S(T) {
          if (sp(T.getStart(), T.getEnd(), t)) return;
          const k = Dc(T.getStart(), T.getEnd());
          return hk(k, "code", a_(T));
        }
      }
      function nYe(e, t, n) {
        const i = iYe(e, t, n), s = $a(t, 20, n);
        return i && s && YH(
          i,
          s,
          e,
          n,
          /*autoCollapse*/
          e.kind !== 220
          /* ArrowFunction */
        );
      }
      function YH(e, t, n, i, s = false, o = true) {
        const c = Dc(o ? e.getFullStart() : e.getStart(i), t.getEnd());
        return hk(c, "code", a_(n, i), s);
      }
      function hk(e, t, n = e, i = false, s = "...") {
        return { textSpan: e, kind: t, hintSpan: n, bannerText: s, autoCollapse: i };
      }
      function iYe(e, t, n) {
        if (uee(e.parameters, n)) {
          const i = $a(e, 21, n);
          if (i)
            return i;
        }
        return $a(t, 19, n);
      }
      var OL = {};
      Ec(OL, {
        getRenameInfo: () => sYe,
        nodeIsEligibleForRename: () => RDe
      });
      function sYe(e, t, n, i) {
        const s = S9(k_(t, n));
        if (RDe(s)) {
          const o = aYe(s, e.getTypeChecker(), t, e, i);
          if (o)
            return o;
        }
        return ZH(p.You_cannot_rename_this_element);
      }
      function aYe(e, t, n, i, s) {
        const o = t.getSymbolAtLocation(e);
        if (!o) {
          if (Ma(e)) {
            const S = b9(e, t);
            if (S && (S.flags & 128 || S.flags & 1048576 && Ni(S.types, (T) => !!(T.flags & 128))))
              return Xue(e.text, e.text, "string", "", e, n);
          } else if (bV(e)) {
            const S = Go(e);
            return Xue(S, S, "label", "", e, n);
          }
          return;
        }
        const { declarations: c } = o;
        if (!c || c.length === 0) return;
        if (c.some((S) => oYe(i, S)))
          return ZH(p.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library);
        if (Me(e) && e.escapedText === "default" && o.parent && o.parent.flags & 1536)
          return;
        if (Ma(e) && J3(e))
          return s.allowRenameOfImportPath ? lYe(e, n, o) : void 0;
        const _ = cYe(n, o, t, s);
        if (_)
          return ZH(_);
        const u = P0.getSymbolKind(t, o, e), g = Sae(e) || wf(e) && e.parent.kind === 168 ? Lp(np(e)) : void 0, m = g || t.symbolToString(o), h = g || t.getFullyQualifiedName(o);
        return Xue(m, h, u, P0.getSymbolModifiers(t, o), e, n);
      }
      function oYe(e, t) {
        const n = t.getSourceFile();
        return e.isSourceFileDefaultLibrary(n) && Ho(
          n.fileName,
          ".d.ts"
          /* Dts */
        );
      }
      function cYe(e, t, n, i) {
        if (!i.providePrefixAndSuffixTextForRename && t.flags & 2097152) {
          const c = t.declarations && Nn(t.declarations, (_) => qu(_));
          c && !c.propertyName && (t = n.getAliasedSymbol(t));
        }
        const { declarations: s } = t;
        if (!s)
          return;
        const o = MDe(e.path);
        if (o === void 0)
          return ot(s, (c) => Y8(c.getSourceFile().path)) ? p.You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder : void 0;
        for (const c of s) {
          const _ = MDe(c.getSourceFile().path);
          if (_) {
            const u = Math.min(o.length, _.length);
            for (let g = 0; g <= u; g++)
              if (ou(o[g], _[g]) !== 0)
                return p.You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder;
          }
        }
      }
      function MDe(e) {
        const t = cu(e), n = t.lastIndexOf("node_modules");
        if (n !== -1)
          return t.slice(0, n + 2);
      }
      function lYe(e, t, n) {
        if (!xl(e.text))
          return ZH(p.You_cannot_rename_a_module_via_a_global_import);
        const i = n.declarations && Nn(n.declarations, Di);
        if (!i) return;
        const s = Co(e.text, "/index") || Co(e.text, "/index.js") ? void 0 : _Q(Uu(i.fileName), "/index"), o = s === void 0 ? i.fileName : s, c = s === void 0 ? "module" : "directory", _ = e.text.lastIndexOf("/") + 1, u = Xl(e.getStart(t) + 1 + _, e.text.length - _);
        return {
          canRename: true,
          fileToRename: o,
          kind: c,
          displayName: o,
          fullDisplayName: e.text,
          kindModifiers: "",
          triggerSpan: u
        };
      }
      function Xue(e, t, n, i, s, o) {
        return {
          canRename: true,
          fileToRename: void 0,
          kind: n,
          displayName: e,
          fullDisplayName: t,
          kindModifiers: i,
          triggerSpan: uYe(s, o)
        };
      }
      function ZH(e) {
        return { canRename: false, localizedErrorMessage: bs(e) };
      }
      function uYe(e, t) {
        let n = e.getStart(t), i = e.getWidth(t);
        return Ma(e) && (n += 1, i -= 2), Xl(n, i);
      }
      function RDe(e) {
        switch (e.kind) {
          case 80:
          case 81:
          case 11:
          case 15:
          case 110:
            return true;
          case 9:
            return g9(e);
          default:
            return false;
        }
      }
      var kA = {};
      Ec(kA, {
        getArgumentInfoForCompletions: () => mYe,
        getSignatureHelpItems: () => _Ye
      });
      function _Ye(e, t, n, i, s) {
        const o = e.getTypeChecker(), c = pw(t, n);
        if (!c)
          return;
        const _ = !!i && i.kind === "characterTyped";
        if (_ && (ik(t, n, c) || k0(t, n)))
          return;
        const u = !!i && i.kind === "invoked", g = wYe(c, n, t, o, u);
        if (!g) return;
        s.throwIfCancellationRequested();
        const m = fYe(g, o, t, c, _);
        return s.throwIfCancellationRequested(), m ? o.runWithCancellationToken(s, (h) => m.kind === 0 ? qDe(m.candidates, m.resolvedSignature, g, t, h) : NYe(m.symbol, g, t, h)) : Ku(t) ? dYe(g, e, s) : void 0;
      }
      function fYe({ invocation: e, argumentCount: t }, n, i, s, o) {
        switch (e.kind) {
          case 0: {
            if (o && !pYe(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 && !jDe(s, i, Me(c) ? c.parent : c))
              return;
            const _ = NV(c, t, n);
            if (_.length !== 0) return { kind: 0, candidates: _, resolvedSignature: ka(_) };
            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 pYe(e, t, n) {
        if (!tm(t)) return false;
        const i = t.getChildren(n);
        switch (e.kind) {
          case 21:
            return ds(i, e);
          case 28: {
            const s = v9(e);
            return !!s && ds(i, s);
          }
          case 30:
            return jDe(e, n, t.expression);
          default:
            return false;
        }
      }
      function dYe(e, t, n) {
        if (e.invocation.kind === 2) return;
        const i = UDe(e.invocation), s = wn(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) => qDe(
                g,
                g[0],
                e,
                c,
                m,
                /*useFullPrefix*/
                true
              )
            );
        }));
      }
      function jDe(e, t, n) {
        const i = e.getFullStart();
        let s = e.parent;
        for (; s; ) {
          const o = ul(
            i,
            t,
            s,
            /*excludeJsdoc*/
            true
          );
          if (o)
            return S_(n, o);
          s = s.parent;
        }
        return E.fail("Could not find preceding token");
      }
      function mYe(e, t, n, i) {
        const s = JDe(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 BDe(e, t, n, i) {
        const s = gYe(e, n, i);
        if (!s) return;
        const { list: o, argumentIndex: c } = s, _ = kYe(i, o), u = EYe(o, n);
        return { list: o, argumentIndex: c, argumentCount: _, argumentsSpan: u };
      }
      function gYe(e, t, n) {
        if (e.kind === 30 || e.kind === 21)
          return { list: PYe(e.parent, e, t), argumentIndex: 0 };
        {
          const i = v9(e);
          return i && { list: i, argumentIndex: xYe(n, i, e) };
        }
      }
      function JDe(e, t, n, i) {
        const { parent: s } = e;
        if (tm(s)) {
          const o = s, c = BDe(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 (mS(e) && Z1(s))
            return z8(e, t, n) ? Yue(
              s,
              /*argumentIndex*/
              0,
              n
            ) : void 0;
          if (Fx(e) && s.parent.kind === 216) {
            const o = s, c = o.parent;
            E.assert(
              o.kind === 229
              /* TemplateExpression */
            );
            const _ = z8(e, t, n) ? 0 : 1;
            return Yue(c, _, n);
          } else if (_6(s) && Z1(s.parent.parent)) {
            const o = s, c = s.parent.parent;
            if (bF(e) && !z8(e, t, n))
              return;
            const _ = o.parent.templateSpans.indexOf(o), u = CYe(_, e, t, n);
            return Yue(c, u, n);
          } else if (ku(s)) {
            const o = s.attributes.pos, c = aa(
              n.text,
              s.attributes.end,
              /*stopAfterLineBreak*/
              false
            );
            return {
              isTypeParameterList: false,
              invocation: { kind: 0, node: s },
              argumentsSpan: Xl(o, c - o),
              argumentIndex: 0,
              argumentCount: 1
            };
          } else {
            const o = AV(e, n);
            if (o) {
              const { called: c, nTypeArguments: _ } = o, u = { kind: 1, called: c }, g = Dc(c.getStart(n), e.end);
              return { isTypeParameterList: true, invocation: u, argumentsSpan: g, argumentIndex: _, argumentCount: _ + 1 };
            }
            return;
          }
        }
      }
      function hYe(e, t, n, i) {
        return yYe(e, t, n, i) || JDe(e, t, n, i);
      }
      function zDe(e) {
        return _n(e.parent) ? zDe(e.parent) : e;
      }
      function Que(e) {
        return _n(e.left) ? Que(e.left) + 1 : 2;
      }
      function yYe(e, t, n, i) {
        const s = vYe(e);
        if (s === void 0) return;
        const o = bYe(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 = ko(m.getCallSignatures());
        return S === void 0 ? void 0 : { isTypeParameterList: false, invocation: { kind: 2, signature: S, node: e, symbol: SYe(h) }, argumentsSpan: g, argumentIndex: _, argumentCount: u };
      }
      function vYe(e) {
        switch (e.kind) {
          case 21:
          case 28:
            return e;
          default:
            return dr(e.parent, (t) => Ii(t) ? true : ha(t) || Nf(t) || T0(t) ? false : "quit");
        }
      }
      function bYe(e, t, n, i) {
        const { parent: s } = e;
        switch (s.kind) {
          case 218:
          case 175:
          case 219:
          case 220:
            const o = BDe(e, n, t, i);
            if (!o) return;
            const { argumentIndex: c, argumentCount: _, argumentsSpan: u } = o, g = Ko(s) ? i.getContextualTypeForObjectLiteralElement(s) : i.getContextualType(s);
            return g && { contextualType: g, argumentIndex: c, argumentCount: _, argumentsSpan: u };
          case 227: {
            const m = zDe(s), h = i.getContextualType(m), S = e.kind === 21 ? 0 : Que(s) - 1, T = Que(m);
            return h && { contextualType: h, argumentIndex: S, argumentCount: T, argumentsSpan: a_(s) };
          }
          default:
            return;
        }
      }
      function SYe(e) {
        return e.name === "__type" && Ic(e.declarations, (t) => {
          var n;
          return $m(t) ? (n = Bn(t.parent, Td)) == null ? void 0 : n.symbol : void 0;
        }) || e;
      }
      function TYe(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 = ic(i, (c) => !(c & 1));
          return o < 0 ? s : o;
        }
        return 0;
      }
      function xYe(e, t, n) {
        return WDe(e, t, n);
      }
      function kYe(e, t) {
        return WDe(
          e,
          t,
          /*node*/
          void 0
        );
      }
      function WDe(e, t, n) {
        const i = t.getChildren();
        let s = 0, o = false;
        for (const c of i) {
          if (n && c === n)
            return !o && c.kind === 28 && s++, s;
          if (up(c)) {
            s += TYe(c, e), o = true;
            continue;
          }
          if (c.kind !== 28) {
            s++, o = true;
            continue;
          }
          if (o) {
            o = false;
            continue;
          }
          s++;
        }
        return n ? s : i.length && fa(i).kind === 28 ? s + 1 : s;
      }
      function CYe(e, t, n, i) {
        return E.assert(n >= t.getStart(), "Assumed 'position' could not occur before node."), hZ(t) ? z8(t, n, i) ? 0 : e + 2 : e + 1;
      }
      function Yue(e, t, n) {
        const i = mS(e.template) ? 1 : e.template.templateSpans.length + 1;
        return t !== 0 && E.assertLessThan(t, i), {
          isTypeParameterList: false,
          invocation: { kind: 0, node: e },
          argumentsSpan: DYe(e, n),
          argumentIndex: t,
          argumentCount: i
        };
      }
      function EYe(e, t) {
        const n = e.getFullStart(), i = aa(
          t.text,
          e.getEnd(),
          /*stopAfterLineBreak*/
          false
        );
        return Xl(n, i - n);
      }
      function DYe(e, t) {
        const n = e.template, i = n.getStart();
        let s = n.getEnd();
        return n.kind === 229 && fa(n.templateSpans).literal.getFullWidth() === 0 && (s = aa(
          t.text,
          s,
          /*stopAfterLineBreak*/
          false
        )), Xl(i, s - i);
      }
      function wYe(e, t, n, i, s) {
        for (let o = e; !Di(o) && (s || !Ps(o)); o = o.parent) {
          E.assert(S_(o.parent, o), "Not a subspan", () => `Child: ${E.formatSyntaxKind(o.kind)}, parent: ${E.formatSyntaxKind(o.parent.kind)}`);
          const c = hYe(o, t, n, i);
          if (c)
            return c;
        }
      }
      function PYe(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 UDe(e) {
        return e.kind === 0 ? i5(e.node) : e.called;
      }
      function VDe(e) {
        return e.kind === 0 ? e.node : e.kind === 1 ? e.called : e.node;
      }
      var LL = 70246400;
      function qDe(e, t, { isTypeParameterList: n, argumentCount: i, argumentsSpan: s, invocation: o, argumentIndex: c }, _, u, g) {
        var m;
        const h = VDe(o), S = o.kind === 2 ? o.symbol : u.getSymbolAtLocation(UDe(o)) || g && ((m = t.declaration) == null ? void 0 : m.symbol), T = S ? vw(
          u,
          S,
          g ? _ : void 0,
          /*meaning*/
          void 0
        ) : Ge, k = hr(e, (F) => IYe(F, T, n, u, h, _));
        let D = 0, P = 0;
        for (let F = 0; F < k.length; F++) {
          const R = k[F];
          if (e[F] === t && (D = P, R.length > 1)) {
            let B = 0;
            for (const U of R) {
              if (U.isVariadic || U.parameters.length >= i) {
                D = P + B;
                break;
              }
              B++;
            }
          }
          P += R.length;
        }
        E.assert(D !== -1);
        const A = { items: QE(k, fo), applicableSpan: s, selectedItemIndex: D, argumentIndex: c, argumentCount: i }, O = A.items[D];
        if (O.isVariadic) {
          const F = ic(O.parameters, (R) => !!R.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 NYe(e, { argumentCount: t, argumentsSpan: n, invocation: i, argumentIndex: s }, o, c) {
        const _ = c.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);
        return _ ? { items: [AYe(e, _, c, VDe(i), o)], applicableSpan: n, selectedItemIndex: 0, argumentIndex: s, argumentCount: t } : void 0;
      }
      function AYe(e, t, n, i, s) {
        const o = vw(n, e), c = Zb(), _ = t.map((h) => GDe(h, n, i, s, c)), u = e.getDocumentationComment(n), g = e.getJsDocTags(n);
        return { isVariadic: false, prefixDisplayParts: [...o, Pu(
          30
          /* LessThanToken */
        )], suffixDisplayParts: [Pu(
          32
          /* GreaterThanToken */
        )], separatorDisplayParts: HDe, parameters: _, documentation: u, tags: g };
      }
      var HDe = [Pu(
        28
        /* CommaToken */
      ), lc()];
      function IYe(e, t, n, i, s, o) {
        const c = (n ? OYe : LYe)(e, i, s, o);
        return hr(c, ({ isVariadic: _, parameters: u, prefix: g, suffix: m }) => {
          const h = [...t, ...g], S = [...m, ...FYe(e, s, i)], T = e.getDocumentationComment(i), k = e.getJsDocTags();
          return { isVariadic: _, prefixDisplayParts: h, suffixDisplayParts: S, separatorDisplayParts: HDe, parameters: u, documentation: T, tags: k };
        });
      }
      function FYe(e, t, n) {
        return Zy((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 OYe(e, t, n, i) {
        const s = (e.target || e).typeParameters, o = Zb(), c = (s || Ge).map((u) => GDe(u, t, n, i, o)), _ = e.thisParameter ? [t.symbolToParameterDeclaration(e.thisParameter, n, LL)] : [];
        return t.getExpandedParameters(e).map((u) => {
          const g = N.createNodeArray([..._, ...hr(u, (h) => t.symbolToParameterDeclaration(h, n, LL))]), m = Zy((h) => {
            o.writeList(2576, g, i, h);
          });
          return { isVariadic: false, parameters: c, prefix: [Pu(
            30
            /* LessThanToken */
          )], suffix: [Pu(
            32
            /* GreaterThanToken */
          ), ...m] };
        });
      }
      function LYe(e, t, n, i) {
        const s = Zb(), o = Zy((u) => {
          if (e.typeParameters && e.typeParameters.length) {
            const g = N.createNodeArray(e.typeParameters.map((m) => t.typeParameterToDeclaration(m, n, LL)));
            s.writeList(53776, g, i, u);
          }
        }), c = t.getExpandedParameters(e), _ = t.hasEffectiveRestParameter(e) ? c.length === 1 ? (u) => true : (u) => {
          var g;
          return !!(u.length && ((g = Bn(u[u.length - 1], Cg)) == null ? void 0 : g.links.checkFlags) & 32768);
        } : (u) => false;
        return c.map((u) => ({
          isVariadic: _(u),
          parameters: u.map((g) => MYe(g, t, n, i, s)),
          prefix: [...o, Pu(
            21
            /* OpenParenToken */
          )],
          suffix: [Pu(
            22
            /* CloseParenToken */
          )]
        }));
      }
      function MYe(e, t, n, i, s) {
        const o = Zy((u) => {
          const g = t.symbolToParameterDeclaration(e, n, LL);
          s.writeNode(4, g, i, u);
        }), c = t.isOptionalParameter(e.valueDeclaration), _ = Cg(e) && !!(e.links.checkFlags & 32768);
        return { name: e.name, documentation: e.getDocumentationComment(t), displayParts: o, isOptional: c, isRest: _ };
      }
      function GDe(e, t, n, i, s) {
        const o = Zy((c) => {
          const _ = t.typeParameterToDeclaration(e, n, LL);
          s.writeNode(4, _, i, c);
        });
        return { name: e.symbol.name, documentation: e.symbol.getDocumentationComment(t), displayParts: o, isOptional: false, isRest: false };
      }
      var KH = {};
      Ec(KH, {
        getSmartSelectionRange: () => RYe
      });
      function RYe(e, t) {
        var n, i;
        let s = {
          textSpan: Dc(t.getFullStart(), t.getEnd())
        }, o = t;
        e:
          for (; ; ) {
            const u = JYe(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 (Ey(
                h,
                t,
                /*includeJsDoc*/
                true
              ) > e)
                break e;
              const T = yg(gy(t.text, h.end));
              if (T && T.kind === 2 && _(T.pos, T.end), jYe(t, e, h)) {
                if (Gj(h) && to(o) && !sp(h.getStart(t), h.getEnd(), t) && c(h.getStart(t), h.getEnd()), Ps(h) || _6(h) || Fx(h) || bF(h) || m && Fx(m) || Bl(h) && Pc(o) || h6(h) && Bl(o) || ei(h) && h6(o) && u.length === 1 || iv(h) || x0(h) || kS(h)) {
                  o = h;
                  break;
                }
                if (_6(o) && S && C7(S)) {
                  const A = h.getFullStart() - 2, O = S.getStart() + 1;
                  c(A, O);
                }
                const k = h6(h) && zYe(m) && WYe(S) && !sp(m.getStart(), S.getStart(), t);
                let D = k ? m.getEnd() : h.getStart();
                const P = k ? S.getStart() : UYe(t, h);
                if (bf(h) && ((n = h.jsDoc) != null && n.length) && c(ka(h.jsDoc).getStart(), P), h6(h)) {
                  const A = h.getChildren()[0];
                  A && bf(A) && ((i = A.jsDoc) != null && i.length) && A.getStart() !== h.pos && (D = Math.min(D, ka(A.jsDoc).getStart()));
                }
                c(D, P), (oa(h) || ex(h)) && c(D + 1, P - 1), o = h;
                break;
              }
              if (g === u.length - 1)
                break e;
            }
          }
        return s;
        function c(u, g) {
          if (u !== g) {
            const m = Dc(u, g);
            (!s || // Skip ranges that are identical to the parent
            !V6(m, s.textSpan) && // Skip ranges that don't contain the original position
            $Y(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 jYe(e, t, n) {
        return E.assert(n.pos <= t), t < n.end ? true : n.getEnd() === t ? k_(e, t).pos < n.end : false;
      }
      var BYe = H_(Wo, cl);
      function JYe(e) {
        var t;
        if (Di(e))
          return CA(e.getChildAt(0).getChildren(), BYe);
        if (yS(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 = CA(
            i,
            (_) => _ === e.readonlyToken || _.kind === 148 || _ === e.questionToken || _.kind === 58
            /* QuestionToken */
          ), c = CA(
            o,
            ({ kind: _ }) => _ === 23 || _ === 169 || _ === 24
            /* CloseBracketToken */
          );
          return [
            n,
            // Pivot on `:`
            EA(eG(
              c,
              ({ kind: _ }) => _ === 59
              /* ColonToken */
            )),
            s
          ];
        }
        if (Vu(e)) {
          const n = CA(e.getChildren(), (c) => c === e.name || ds(e.modifiers, c)), i = ((t = n[0]) == null ? void 0 : t.kind) === 321 ? n[0] : void 0, s = i ? n.slice(1) : n, o = eG(
            s,
            ({ kind: c }) => c === 59
            /* ColonToken */
          );
          return i ? [i, EA(o)] : o;
        }
        if (Ii(e)) {
          const n = CA(e.getChildren(), (s) => s === e.dotDotDotToken || s === e.name), i = CA(n, (s) => s === n[0] || s === e.questionToken);
          return eG(
            i,
            ({ kind: s }) => s === 64
            /* EqualsToken */
          );
        }
        return ha(e) ? eG(
          e.getChildren(),
          ({ kind: n }) => n === 64
          /* EqualsToken */
        ) : e.getChildren();
      }
      function CA(e, t) {
        const n = [];
        let i;
        for (const s of e)
          t(s) ? (i = i || [], i.push(s)) : (i && (n.push(EA(i)), i = void 0), n.push(s));
        return i && n.push(EA(i)), n;
      }
      function eG(e, t, n = true) {
        if (e.length < 2)
          return e;
        const i = ic(e, t);
        if (i === -1)
          return e;
        const s = e.slice(0, i), o = e[i], c = fa(e), _ = n && c.kind === 27, u = e.slice(i + 1, _ ? e.length - 1 : void 0), g = OP([
          s.length ? EA(s) : void 0,
          o,
          u.length ? EA(u) : void 0
        ]);
        return _ ? g.concat(c) : g;
      }
      function EA(e) {
        return E.assertGreaterThanOrEqual(e.length, 1), Dd(ov.createSyntaxList(e), e[0].pos, fa(e).end);
      }
      function zYe(e) {
        const t = e && e.kind;
        return t === 19 || t === 23 || t === 21 || t === 287;
      }
      function WYe(e) {
        const t = e && e.kind;
        return t === 20 || t === 24 || t === 22 || t === 288;
      }
      function UYe(e, t) {
        switch (t.kind) {
          case 342:
          case 339:
          case 349:
          case 347:
          case 344:
            return e.getLineEndOfPosition(t.getStart());
          default:
            return t.getEnd();
        }
      }
      var P0 = {};
      Ec(P0, {
        getSymbolDisplayPartsDocumentationAndSymbolKind: () => qYe,
        getSymbolKind: () => XDe,
        getSymbolModifiers: () => VYe
      });
      var $De = 70246400;
      function XDe(e, t, n) {
        const i = QDe(e, t, n);
        if (i !== "")
          return i;
        const s = QC(t);
        return s & 32 ? Ao(
          t,
          232
          /* 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 QDe(e, t, n) {
        const i = e.getRootSymbols(t);
        if (i.length === 1 && ka(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 && ut(n) || Ib(n))
          return "parameter";
        const s = QC(t);
        if (s & 3)
          return YV(t) ? "parameter" : t.valueDeclaration && OC(t.valueDeclaration) ? "const" : t.valueDeclaration && k3(t.valueDeclaration) ? "using" : t.valueDeclaration && x3(t.valueDeclaration) ? "await using" : lr(t.declarations, $7) ? "let" : KDe(t) ? "local var" : "var";
        if (s & 16) return KDe(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 = lr(e.getRootSymbols(t), (c) => {
              if (c.getFlags() & 98311)
                return "property";
            });
            return o || (e.getTypeOfSymbolAtLocation(t, n).getCallSignatures().length ? "method" : "property");
          }
          return "property";
        }
        return "";
      }
      function YDe(e) {
        if (e.declarations && e.declarations.length) {
          const [t, ...n] = e.declarations, i = wr(n) && V9(t) && ot(n, (o) => !V9(o)) ? 65536 : 0, s = dw(t, i);
          if (s)
            return s.split(",");
        }
        return [];
      }
      function VYe(e, t) {
        if (!t)
          return "";
        const n = new Set(YDe(t));
        if (t.flags & 2097152) {
          const i = e.getAliasedSymbol(t);
          i !== t && lr(YDe(i), (s) => {
            n.add(s);
          });
        }
        return t.flags & 16777216 && n.add(
          "optional"
          /* optionalModifier */
        ), n.size > 0 ? ns(n.values()).join(",") : "";
      }
      function ZDe(e, t, n, i, s, o, c, _, u, g) {
        var m;
        const h = [];
        let S = [], T = [];
        const k = QC(t);
        let D = c & 1 ? QDe(e, t, s) : "", P = false;
        const A = s.kind === 110 && s5(s) || Ib(s);
        let O, F, R = false;
        const B = { canIncreaseExpansionDepth: false, truncated: false };
        let U = false;
        if (s.kind === 110 && !A)
          return { displayParts: [cf(
            110
            /* ThisKeyword */
          )], documentation: [], symbolKind: "primitive type", tags: void 0 };
        if (D !== "" || k & 32 || k & 2097152) {
          if (D === "getter" || D === "setter") {
            const pe = Nn(
              t.declarations,
              (Te) => Te.name === s && Te.kind !== 212
              /* PropertyAccessExpression */
            );
            if (pe)
              switch (pe.kind) {
                case 178:
                  D = "getter";
                  break;
                case 179:
                  D = "setter";
                  break;
                case 173:
                  D = "accessor";
                  break;
                default:
                  E.assertNever(pe);
              }
            else
              D = "property";
          }
          let me;
          if (o ?? (o = A ? e.getTypeAtLocation(s) : e.getTypeOfSymbolAtLocation(t, s)), s.parent && s.parent.kind === 212) {
            const pe = s.parent.name;
            (pe === s || pe && pe.getFullWidth() === 0) && (s = s.parent);
          }
          let Z;
          if (tm(s) ? Z = s : (gV(s) || _w(s) || s.parent && (ku(s.parent) || Z1(s.parent)) && Cs(t.valueDeclaration)) && (Z = s.parent), Z) {
            me = e.getResolvedSignature(Z);
            const pe = Z.kind === 215 || ws(Z) && Z.expression.kind === 108, Te = pe ? o.getConstructSignatures() : o.getCallSignatures();
            if (me && !ds(Te, me.target) && !ds(Te, me) && (me = Te.length ? Te[0] : void 0), me) {
              switch (pe && k & 32 ? (D = "constructor", he(o.symbol, D)) : k & 2097152 ? (D = "alias", q(D), h.push(lc()), pe && (me.flags & 4 && (h.push(cf(
                128
                /* AbstractKeyword */
              )), h.push(lc())), h.push(cf(
                105
                /* NewKeyword */
              )), h.push(lc())), fe(t)) : he(t, D), D) {
                case "JSX attribute":
                case "property":
                case "var":
                case "const":
                case "let":
                case "parameter":
                case "local var":
                  h.push(Pu(
                    59
                    /* ColonToken */
                  )), h.push(lc()), !(Dn(o) & 16) && o.symbol && (In(h, vw(
                    e,
                    o.symbol,
                    i,
                    /*meaning*/
                    void 0,
                    5
                    /* WriteTypeParametersOrArguments */
                  )), h.push(q6())), pe && (me.flags & 4 && (h.push(cf(
                    128
                    /* AbstractKeyword */
                  )), h.push(lc())), h.push(cf(
                    105
                    /* NewKeyword */
                  )), h.push(lc())), be(
                    me,
                    Te,
                    262144
                    /* WriteArrowStyleSignature */
                  );
                  break;
                default:
                  be(me, Te);
              }
              P = true, R = Te.length > 1;
            }
          } else if (kV(s) && !(k & 98304) || // name of function declaration
          s.kind === 137 && s.parent.kind === 177) {
            const pe = s.parent;
            if (t.declarations && Nn(t.declarations, (Fe) => Fe === (s.kind === 137 ? pe.parent : pe))) {
              const Fe = pe.kind === 177 ? o.getNonNullableType().getConstructSignatures() : o.getNonNullableType().getCallSignatures();
              e.isImplementationOfOverload(pe) ? me = Fe[0] : me = e.getSignatureFromDeclaration(pe), pe.kind === 177 ? (D = "constructor", he(o.symbol, D)) : he(
                pe.kind === 180 && !(o.symbol.flags & 2048 || o.symbol.flags & 4096) ? o.symbol : t,
                D
              ), me && be(me, Fe), P = true, R = Fe.length > 1;
            }
          }
        }
        if (k & 32 && !P && !A) {
          K();
          const me = Ao(
            t,
            232
            /* ClassExpression */
          );
          me && (q(
            "local class"
            /* localClassElement */
          ), h.push(lc())), ce(t, c) || (me || (h.push(cf(
            86
            /* ClassKeyword */
          )), h.push(lc())), fe(t), je(t, n));
        }
        if (k & 64 && c & 2 && (_e(), ce(t, c) || (h.push(cf(
          120
          /* InterfaceKeyword */
        )), h.push(lc()), fe(t), je(t, n))), k & 524288 && c & 2 && (_e(), h.push(cf(
          156
          /* TypeKeyword */
        )), h.push(lc()), fe(t), je(t, n), h.push(lc()), h.push(yw(
          64
          /* EqualsToken */
        )), h.push(lc()), In(
          h,
          G8(
            e,
            s.parent && Kp(s.parent) ? e.getTypeAtLocation(s.parent) : e.getDeclaredTypeOfSymbol(t),
            i,
            8388608,
            u,
            g,
            B
          )
        )), k & 384 && (_e(), ce(t, c) || (ot(t.declarations, (me) => rv(me) && B1(me)) && (h.push(cf(
          87
          /* ConstKeyword */
        )), h.push(lc())), h.push(cf(
          94
          /* EnumKeyword */
        )), h.push(lc()), fe(
          t,
          /*enclosingDeclaration*/
          void 0
        ))), k & 1536 && !A && (_e(), !ce(t, c))) {
          const me = Ao(
            t,
            268
            /* ModuleDeclaration */
          ), Z = me && me.name && me.name.kind === 80;
          h.push(cf(
            Z ? 145 : 144
            /* ModuleKeyword */
          )), h.push(lc()), fe(t);
        }
        if (k & 262144 && c & 2)
          if (_e(), h.push(Pu(
            21
            /* OpenParenToken */
          )), h.push(Lf("type parameter")), h.push(Pu(
            22
            /* CloseParenToken */
          )), h.push(lc()), fe(t), t.parent)
            V(), fe(t.parent, i), je(t.parent, i);
          else {
            const me = Ao(
              t,
              169
              /* TypeParameter */
            );
            if (me === void 0) return E.fail();
            const Z = me.parent;
            if (Z)
              if (Cs(Z)) {
                V();
                const pe = e.getSignatureFromDeclaration(Z);
                Z.kind === 181 ? (h.push(cf(
                  105
                  /* NewKeyword */
                )), h.push(lc())) : Z.kind !== 180 && Z.name && fe(Z.symbol), In(h, KV(
                  e,
                  pe,
                  n,
                  32
                  /* WriteTypeArgumentsOfSignature */
                ));
              } else jp(Z) && (V(), h.push(cf(
                156
                /* TypeKeyword */
              )), h.push(lc()), fe(Z.symbol), je(Z.symbol, n));
          }
        if (k & 8) {
          D = "enum member", he(t, "enum member");
          const me = (m = t.declarations) == null ? void 0 : m[0];
          if (me?.kind === 307) {
            const Z = e.getConstantValue(me);
            Z !== void 0 && (h.push(lc()), h.push(yw(
              64
              /* EqualsToken */
            )), h.push(lc()), h.push(j_(
              QZ(Z),
              typeof Z == "number" ? 7 : 8
              /* stringLiteral */
            )));
          }
        }
        if (t.flags & 2097152) {
          if (_e(), !P || S.length === 0 && T.length === 0) {
            const me = e.getAliasedSymbol(t);
            if (me !== t && me.declarations && me.declarations.length > 0) {
              const Z = me.declarations[0], pe = us(Z);
              if (pe && !P) {
                const Te = V7(Z) && Gn(
                  Z,
                  128
                  /* Ambient */
                ), Fe = t.name !== "default" && !Te, Ye = ZDe(
                  e,
                  me,
                  xr(Z),
                  i,
                  pe,
                  o,
                  c,
                  Fe ? t : me,
                  u,
                  g
                );
                h.push(...Ye.displayParts), h.push(q6()), O = Ye.documentation, F = Ye.tags, B && Ye.canIncreaseVerbosityLevel && (B.canIncreaseExpansionDepth = true);
              } else
                O = me.getContextualDocumentationComment(Z, e), F = me.getJsDocTags(e);
            }
          }
          if (t.declarations)
            switch (t.declarations[0].kind) {
              case 271:
                h.push(cf(
                  95
                  /* ExportKeyword */
                )), h.push(lc()), h.push(cf(
                  145
                  /* NamespaceKeyword */
                ));
                break;
              case 278:
                h.push(cf(
                  95
                  /* ExportKeyword */
                )), h.push(lc()), h.push(cf(
                  t.declarations[0].isExportEquals ? 64 : 90
                  /* DefaultKeyword */
                ));
                break;
              case 282:
                h.push(cf(
                  95
                  /* ExportKeyword */
                ));
                break;
              default:
                h.push(cf(
                  102
                  /* ImportKeyword */
                ));
            }
          h.push(lc()), fe(t), lr(t.declarations, (me) => {
            if (me.kind === 272) {
              const Z = me;
              if (z1(Z))
                h.push(lc()), h.push(yw(
                  64
                  /* EqualsToken */
                )), h.push(lc()), h.push(cf(
                  149
                  /* RequireKeyword */
                )), h.push(Pu(
                  21
                  /* OpenParenToken */
                )), h.push(j_(
                  Go(L4(Z)),
                  8
                  /* stringLiteral */
                )), h.push(Pu(
                  22
                  /* CloseParenToken */
                ));
              else {
                const pe = e.getSymbolAtLocation(Z.moduleReference);
                pe && (h.push(lc()), h.push(yw(
                  64
                  /* EqualsToken */
                )), h.push(lc()), fe(pe, i));
              }
              return true;
            }
          });
        }
        if (!P)
          if (D !== "") {
            if (o) {
              if (A ? (_e(), h.push(cf(
                110
                /* ThisKeyword */
              ))) : he(t, D), D === "property" || D === "accessor" || D === "getter" || D === "setter" || D === "JSX attribute" || k & 3 || D === "local var" || D === "index" || D === "using" || D === "await using" || A) {
                if (h.push(Pu(
                  59
                  /* ColonToken */
                )), h.push(lc()), o.symbol && o.symbol.flags & 262144 && D !== "index") {
                  const me = Zy((Z) => {
                    const pe = e.typeParameterToDeclaration(
                      o,
                      i,
                      $De,
                      /*internalFlags*/
                      void 0,
                      /*tracker*/
                      void 0,
                      u,
                      g,
                      B
                    );
                    W().writeNode(4, pe, xr(ys(i)), Z);
                  }, u);
                  In(h, me);
                } else
                  In(
                    h,
                    G8(
                      e,
                      o,
                      i,
                      /*flags*/
                      void 0,
                      u,
                      g,
                      B
                    )
                  );
                if (Cg(t) && t.links.target && Cg(t.links.target) && t.links.target.links.tupleLabelDeclaration) {
                  const me = t.links.target.links.tupleLabelDeclaration;
                  E.assertNode(me.name, Me), h.push(lc()), h.push(Pu(
                    21
                    /* OpenParenToken */
                  )), h.push(Lf(An(me.name))), h.push(Pu(
                    22
                    /* CloseParenToken */
                  ));
                }
              } else if (k & 16 || k & 8192 || k & 16384 || k & 131072 || k & 98304 || D === "method") {
                const me = o.getNonNullableType().getCallSignatures();
                me.length && (be(me[0], me), R = me.length > 1);
              }
            }
          } else
            D = XDe(e, t, s);
        if (S.length === 0 && !R && (S = t.getContextualDocumentationComment(i, e)), S.length === 0 && k & 4 && t.parent && t.declarations && lr(
          t.parent.declarations,
          (me) => me.kind === 308
          /* SourceFile */
        ))
          for (const me of t.declarations) {
            if (!me.parent || me.parent.kind !== 227)
              continue;
            const Z = e.getSymbolAtLocation(me.parent.right);
            if (Z && (S = Z.getDocumentationComment(e), T = Z.getJsDocTags(e), S.length > 0))
              break;
          }
        if (S.length === 0 && Me(s) && t.valueDeclaration && ha(t.valueDeclaration)) {
          const me = t.valueDeclaration, Z = me.parent, pe = me.propertyName || me.name;
          if (Me(pe) && Nf(Z)) {
            const Te = np(pe), Fe = e.getTypeAtLocation(Z);
            S = Ic(Fe.isUnion() ? Fe.types : [Fe], (Ye) => {
              const ne = Ye.getProperty(Te);
              return ne ? ne.getDocumentationComment(e) : void 0;
            }) || Ge;
          }
        }
        T.length === 0 && !R && !M4(s) && (T = t.getContextualJsDocTags(i, e)), S.length === 0 && O && (S = O), T.length === 0 && F && (T = F);
        const $ = !B.truncated && B.canIncreaseExpansionDepth;
        return {
          displayParts: h,
          documentation: S,
          symbolKind: D,
          tags: T.length === 0 ? void 0 : T,
          canIncreaseVerbosityLevel: g !== void 0 ? $ : void 0
        };
        function W() {
          return Zb();
        }
        function _e() {
          h.length && h.push(q6()), K();
        }
        function K() {
          _ && (q(
            "alias"
            /* alias */
          ), h.push(lc()));
        }
        function V() {
          h.push(lc()), h.push(cf(
            103
            /* InKeyword */
          )), h.push(lc());
        }
        function ae(me, Z) {
          if (g === void 0)
            return false;
          const pe = me.flags & 96 ? e.getDeclaredTypeOfSymbol(me) : e.getTypeOfSymbolAtLocation(me, s);
          return !pe || e.isLibType(pe) ? false : 0 < g ? true : (Z && (Z.canIncreaseExpansionDepth = true), false);
        }
        function se(me) {
          let Z = 0;
          return me & 1 && (Z |= 111551), me & 2 && (Z |= 788968), me & 4 && (Z |= 1920), Z;
        }
        function ce(me, Z) {
          if (U)
            return true;
          if (ae(me, B)) {
            const pe = se(Z), Te = Zy((Fe) => {
              const Ye = e.getEmitResolver().symbolToDeclarations(
                me,
                pe,
                17408,
                u,
                g !== void 0 ? g - 1 : void 0,
                B
              ), ne = W(), Se = me.valueDeclaration && xr(me.valueDeclaration);
              Ye.forEach((ie, Ne) => {
                Ne > 0 && Fe.writeLine(), ne.writeNode(4, ie, Se, Fe);
              });
            }, u);
            return In(h, Te), U = true, true;
          }
          return false;
        }
        function fe(me, Z) {
          let pe;
          _ && me === t && (me = _), D === "index" && (pe = e.getIndexInfosOfIndexSymbol(me));
          let Te = [];
          me.flags & 131072 && pe ? (me.parent && (Te = vw(e, me.parent)), Te.push(Pu(
            23
            /* OpenBracketToken */
          )), pe.forEach((Fe, Ye) => {
            Te.push(...G8(e, Fe.keyType)), Ye !== pe.length - 1 && (Te.push(lc()), Te.push(Pu(
              52
              /* BarToken */
            )), Te.push(lc()));
          }), Te.push(Pu(
            24
            /* CloseBracketToken */
          ))) : Te = vw(
            e,
            me,
            Z || n,
            /*meaning*/
            void 0,
            7
            /* AllowAnyNodeKind */
          ), In(h, Te), t.flags & 16777216 && h.push(Pu(
            58
            /* QuestionToken */
          ));
        }
        function he(me, Z) {
          _e(), Z && (q(Z), me && !ot(me.declarations, (pe) => bo(pe) || (mo(pe) || Oc(pe)) && !pe.name) && (h.push(lc()), fe(me)));
        }
        function q(me) {
          switch (me) {
            case "var":
            case "function":
            case "let":
            case "const":
            case "constructor":
            case "using":
            case "await using":
              h.push(ZV(me));
              return;
            default:
              h.push(Pu(
                21
                /* OpenParenToken */
              )), h.push(ZV(me)), h.push(Pu(
                22
                /* CloseParenToken */
              ));
              return;
          }
        }
        function be(me, Z, pe = 0) {
          In(h, KV(e, me, i, pe | 32, u, g, B)), Z.length > 1 && (h.push(lc()), h.push(Pu(
            21
            /* OpenParenToken */
          )), h.push(yw(
            40
            /* PlusToken */
          )), h.push(j_(
            (Z.length - 1).toString(),
            7
            /* numericLiteral */
          )), h.push(lc()), h.push(Lf(Z.length === 2 ? "overload" : "overloads")), h.push(Pu(
            22
            /* CloseParenToken */
          ))), S = me.getDocumentationComment(e), T = me.getJsDocTags(), Z.length > 1 && S.length === 0 && T.length === 0 && (S = Z[0].getDocumentationComment(e), T = Z[0].getJsDocTags().filter((Te) => Te.name !== "deprecated"));
        }
        function je(me, Z) {
          const pe = Zy((Te) => {
            const Fe = e.symbolToTypeParameterDeclarations(me, Z, $De);
            W().writeList(53776, Fe, xr(ys(Z)), Te);
          });
          In(h, pe);
        }
      }
      function qYe(e, t, n, i, s, o = LS(s), c, _, u) {
        return ZDe(
          e,
          t,
          n,
          i,
          s,
          /*type*/
          void 0,
          o,
          c,
          _,
          u
        );
      }
      function KDe(e) {
        return e.parent ? false : lr(e.declarations, (t) => {
          if (t.kind === 219)
            return true;
          if (t.kind !== 261 && t.kind !== 263)
            return false;
          for (let n = t.parent; !kb(n); n = n.parent)
            if (n.kind === 308 || n.kind === 269)
              return false;
          return true;
        });
      }
      var cn = {};
      Ec(cn, {
        ChangeTracker: () => $Ye,
        LeadingTriviaOption: () => rwe,
        TrailingTriviaOption: () => nwe,
        applyChanges: () => r_e,
        assignPositionsToNode: () => iG,
        createWriter: () => swe,
        deleteNode: () => Ah,
        getAdjustedEndPosition: () => yk,
        isThisTypeAnnotatable: () => GYe,
        isValidLocationToAddComment: () => awe
      });
      function ewe(e) {
        const t = e.__pos;
        return E.assert(typeof t == "number"), t;
      }
      function Zue(e, t) {
        E.assert(typeof t == "number"), e.__pos = t;
      }
      function twe(e) {
        const t = e.__end;
        return E.assert(typeof t == "number"), t;
      }
      function Kue(e, t) {
        E.assert(typeof t == "number"), e.__end = t;
      }
      var rwe = /* @__PURE__ */ ((e) => (e[e.Exclude = 0] = "Exclude", e[e.IncludeAll = 1] = "IncludeAll", e[e.JSDoc = 2] = "JSDoc", e[e.StartLine = 3] = "StartLine", e))(rwe || {}), nwe = /* @__PURE__ */ ((e) => (e[e.Exclude = 0] = "Exclude", e[e.ExcludeWhitespace = 1] = "ExcludeWhitespace", e[e.Include = 2] = "Include", e))(nwe || {});
      function iwe(e, t) {
        return aa(
          e,
          t,
          /*stopAfterLineBreak*/
          false,
          /*stopAtComments*/
          true
        );
      }
      function HYe(e, t) {
        let n = t;
        for (; n < e.length; ) {
          const i = e.charCodeAt(n);
          if (em(i)) {
            n++;
            continue;
          }
          return i === 47;
        }
        return false;
      }
      var DA = {
        leadingTriviaOption: 0,
        trailingTriviaOption: 0
        /* Exclude */
      };
      function wA(e, t, n, i) {
        return { pos: WS(e, t, i), end: yk(e, n, i) };
      }
      function WS(e, t, n, i = false) {
        var s, o;
        const { leadingTriviaOption: c } = n;
        if (c === 0)
          return t.getStart(e);
        if (c === 3) {
          const T = t.getStart(e), k = Wp(T, e);
          return J6(t, k) ? k : T;
        }
        if (c === 2) {
          const T = yB(t, e.text);
          if (T?.length)
            return Wp(T[0].pos, e);
        }
        const _ = t.getFullStart(), u = t.getStart(e);
        if (_ === u)
          return u;
        const g = Wp(_, e);
        if (Wp(u, e) === g)
          return c === 1 ? _ : u;
        if (i) {
          const T = ((s = Sg(e.text, _)) == null ? void 0 : s[0]) || ((o = gy(e.text, _)) == null ? void 0 : o[0]);
          if (T)
            return aa(
              e.text,
              T.end,
              /*stopAfterLineBreak*/
              true,
              /*stopAtComments*/
              true
            );
        }
        const h = _ > 0 ? 1 : 0;
        let S = Cy(Q4(e, g) + h, e);
        return S = iwe(e.text, S), Cy(Q4(e, S), e);
      }
      function e_e(e, t, n) {
        const { end: i } = t, { trailingTriviaOption: s } = n;
        if (s === 2) {
          const o = gy(e.text, i);
          if (o) {
            const c = Q4(e, t.end);
            for (const _ of o) {
              if (_.kind === 2 || Q4(e, _.pos) > c)
                break;
              if (Q4(e, _.end) > c)
                return aa(
                  e.text,
                  _.end,
                  /*stopAfterLineBreak*/
                  true,
                  /*stopAtComments*/
                  true
                );
            }
          }
        }
      }
      function yk(e, t, n) {
        var i;
        const { end: s } = t, { trailingTriviaOption: o } = n;
        if (o === 0)
          return s;
        if (o === 1) {
          const u = Bi(gy(e.text, s), Sg(e.text, s)), g = (i = u?.[u.length - 1]) == null ? void 0 : i.end;
          return g || s;
        }
        const c = e_e(e, t, n);
        if (c)
          return c;
        const _ = aa(
          e.text,
          s,
          /*stopAfterLineBreak*/
          true
        );
        return _ !== s && (o === 2 || Su(e.text.charCodeAt(_ - 1))) ? _ : s;
      }
      function tG(e, t) {
        return !!t && !!e.parent && (t.kind === 28 || t.kind === 27 && e.parent.kind === 211);
      }
      function GYe(e) {
        return mo(e) || Tc(e);
      }
      var $Ye = class ige {
        /** 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 ige(wh(t.host, t.formatContext.options), t.formatContext);
        }
        static with(t, n) {
          const i = ige.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: E9(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, wA(t, n, n, i));
        }
        deleteNodes(t, n, i = {
          leadingTriviaOption: 1
          /* IncludeAll */
        }, s) {
          for (const o of n) {
            const c = WS(t, o, i, s), _ = yk(t, o, i);
            this.deleteRange(t, { pos: c, end: _ }), s = !!e_e(t, o, i);
          }
        }
        deleteModifier(t, n) {
          this.deleteRange(t, { pos: n.getStart(t), end: aa(
            t.text,
            n.end,
            /*stopAfterLineBreak*/
            true
          ) });
        }
        deleteNodeRange(t, n, i, s = {
          leadingTriviaOption: 1
          /* IncludeAll */
        }) {
          const o = WS(t, n, s), c = yk(t, i, s);
          this.deleteRange(t, { pos: o, end: c });
        }
        deleteNodeRangeExcludingEnd(t, n, i, s = {
          leadingTriviaOption: 1
          /* IncludeAll */
        }) {
          const o = WS(t, n, s), c = i === void 0 ? t.text.length : WS(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 = DA) {
          this.replaceRange(t, wA(t, n, n, s), i, s);
        }
        replaceNodeRange(t, n, i, s, o = DA) {
          this.replaceRange(t, wA(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 = DA) {
          this.replaceRangeWithNodes(t, wA(t, n, n, s), i, s);
        }
        replaceNodeWithText(t, n, i) {
          this.replaceRangeWithText(t, wA(t, n, n, DA), i);
        }
        replaceNodeRangeWithNodes(t, n, i, s, o = DA) {
          this.replaceRangeWithNodes(t, wA(t, n, i, o), s, o);
        }
        nodeHasTrailingComment(t, n, i = DA) {
          return !!e_e(t, n, i);
        }
        nextCommaToken(t, n) {
          const i = r2(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, ip(n), i, s);
        }
        insertNodesAt(t, n, i, s = {}) {
          this.replaceRangeWithNodes(t, ip(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 = rZe(t), o = {
            prefix: s === 0 ? void 0 : this.newLineCharacter,
            suffix: (Su(t.text.charCodeAt(s)) ? "" : this.newLineCharacter) + (i ? this.newLineCharacter : "")
          };
          ss(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 = Pp()), this.newFileChanges.add(t, { oldFile: i, statements: n });
        }
        insertFirstParameter(t, n, i) {
          const s = $c(n);
          s ? this.insertNodeBefore(t, s, i) : this.insertNodeAt(t, n.pos, i);
        }
        insertNodeBefore(t, n, i, s = false, o = {}) {
          this.insertNodeAt(t, WS(t, n, o), i, this.getOptionsForInsertNodeBefore(n, i, s));
        }
        insertNodesBefore(t, n, i, s = false, o = {}) {
          this.insertNodesAt(t, WS(t, n, o), i, this.getOptionsForInsertNodeBefore(n, ka(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 = Cy(n, t), c = xae(t.text, o), _ = awe(t, c), u = z6(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: Wp(_.getStart(t), t),
                end: yk(
                  t,
                  _,
                  /*options*/
                  {}
                )
              });
          const o = O9(t.text, s - 1), c = t.text.slice(o, s);
          this.insertNodeAt(t, s, i, { suffix: this.newLineCharacter + c });
        }
        createJSDocText(t, n) {
          const i = xa(n.jsDoc, (o) => ms(o.comment) ? N.createJSDocText(o.comment) : o.comment), s = yg(n.jsDoc);
          return s && sp(s.pos, s.end, t) && wr(i) === 0 ? void 0 : N.createNodeArray(SR(i, N.createJSDocText(`
`)));
        }
        replaceJSDocComment(t, n, i) {
          this.insertJsdocCommentBefore(t, XYe(n), N.createJSDocComment(this.createJSDocText(t, n), N.createNodeArray(i)));
        }
        addJSDocTags(t, n, i) {
          const s = QE(n.jsDoc, (c) => c.tags), o = i.filter(
            (c) => !s.some((_, u) => {
              const g = QYe(_, c);
              return g && (s[u] = g), !!g;
            })
          );
          this.replaceJSDocComment(t, n, [...s, ...o]);
        }
        filterJSDocTags(t, n, i) {
          this.replaceJSDocComment(t, n, kn(QE(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, ip(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 (Cs(n)) {
            if (s = $a(n, 22, t), !s) {
              if (!bo(n)) return false;
              s = ka(n.parameters);
            }
          } else
            s = (n.kind === 261 ? n.exclamationToken : n.questionToken) ?? n.name;
          return this.insertNodeAt(t, s.end, i, { prefix: ": " }), true;
        }
        tryInsertThisTypeAnnotation(t, n, i) {
          const s = $a(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 = ($a(n, 21, t) || ka(n.parameters)).getStart(t);
          this.insertNodesAt(t, s, i, { prefix: "<", suffix: ">", joiner: ", " });
        }
        getOptionsForInsertNodeBefore(t, n, i) {
          return Ti(t) || Uc(t) ? { suffix: i ? this.newLineCharacter + this.newLineCharacter : this.newLineCharacter } : ei(t) ? { suffix: ", " } : Ii(t) ? Ii(n) ? { suffix: ", " } : {} : oa(t) && Wo(t.parent) || gm(t) ? { suffix: ", " } : qu(t) ? { suffix: "," + (i ? this.newLineCharacter : " ") } : E.failBadSyntaxKind(t);
        }
        insertNodeAtConstructorStart(t, n, i) {
          const s = $c(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 = Nn(n.body.statements, (o) => Dl(o) && eS(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 = ko(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*/
            true
          ));
        }
        insertNodeAtEndOfScope(t, n, i) {
          const s = WS(t, n.getLastToken(), {});
          this.insertNodeAt(t, s, i, {
            prefix: Su(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, rG(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 rG(n)) {
            if (L5(s, o, t))
              return;
            const c = o.getStart(t), _ = el.SmartIndenter.findFirstNonWhitespaceColumn(Wp(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 el.SmartIndenter.findFirstNonWhitespaceColumn(Wp(i, t), i, t, this.formatContext.options) + (this.formatContext.options.indentSize ?? 4);
        }
        getInsertNodeAtStartInsertOptions(t, n, i) {
          const o = rG(n).length === 0, c = !this.classesWithNodesInsertedAtStart.has(Oa(n));
          c && this.classesWithNodesInsertedAtStart.set(Oa(n), { node: n, sourceFile: t });
          const _ = ua(n) && (!rp(t) || !o), u = ua(n) && rp(t) && o && !c;
          return {
            indentation: i,
            prefix: (u ? "," : "") + this.newLineCharacter,
            suffix: _ ? "," : Jl(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, ka(i));
          this.insertNodesAt(t, s, i, this.getInsertNodeAfterOptions(t, n));
        }
        insertNodeAfterWorker(t, n, i) {
          return nZe(n, i) && t.text.charCodeAt(n.end - 1) !== 59 && this.replaceRange(t, ip(n.end), N.createToken(
            27
            /* SemicolonToken */
          )), yk(t, n, {});
        }
        getInsertNodeAfterOptions(t, n) {
          const i = this.getInsertNodeAfterOptionsWorker(n);
          return {
            ...i,
            prefix: n.end === t.end && Ti(n) ? i.prefix ? `
${i.prefix}` : `
` : i.prefix
          };
        }
        getInsertNodeAfterOptionsWorker(t) {
          switch (t.kind) {
            case 264:
            case 268:
              return { prefix: this.newLineCharacter, suffix: this.newLineCharacter };
            case 261:
            case 11:
            case 80:
              return { prefix: ", " };
            case 304:
              return { suffix: "," + this.newLineCharacter };
            case 95:
              return { prefix: " " };
            case 170:
              return {};
            default:
              return E.assert(Ti(t) || E7(t)), { suffix: this.newLineCharacter };
          }
        }
        insertName(t, n, i) {
          if (E.assert(!n.name), n.kind === 220) {
            const s = $a(n, 39, t), o = $a(n, 21, t);
            o ? (this.insertNodesAt(t, o.getStart(t), [N.createToken(
              100
              /* FunctionKeyword */
            ), N.createIdentifier(i)], { joiner: " " }), Ah(this, t, s)) : (this.insertText(t, ka(n.parameters).getStart(t), `function ${i}(`), this.replaceRange(t, s, N.createToken(
              22
              /* CloseParenToken */
            ))), n.body.kind !== 242 && (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 = $a(n, n.kind === 219 ? 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,
            !sp(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 = el.SmartIndenter.getContainingList(n, t)) {
          if (!s) {
            E.fail("node is not a list element");
            return;
          }
          const o = AC(s, n);
          if (o < 0)
            return;
          const c = n.getEnd();
          if (o !== s.length - 1) {
            const _ = vi(t, n.end);
            if (_ && tG(n, _)) {
              const u = s[o + 1], g = iwe(t.text, u.getFullStart()), m = `${Vs(_.kind)}${t.text.substring(_.end, g)}`;
              this.insertNodesAt(t, g, [i], { suffix: m });
            }
          } else {
            const _ = n.getStart(t), u = Wp(_, t);
            let g, m = false;
            if (s.length === 1)
              g = 28;
            else {
              const h = ul(n.pos, t);
              g = tG(n, h) ? h.kind : 28, m = Wp(s[o - 1].getStart(t), t) !== u;
            }
            if ((HYe(t.text, n.end) || !sp(s.pos, s.end, t)) && (m = true), m) {
              this.replaceRange(t, ip(c), N.createToken(g));
              const h = el.SmartIndenter.findFirstNonWhitespaceColumn(u, _, t, this.formatContext.options);
              let S = aa(
                t.text,
                c,
                /*stopAfterLineBreak*/
                true,
                /*stopAtComments*/
                false
              );
              for (; S !== c && Su(t.text.charCodeAt(S - 1)); )
                S--;
              this.replaceRange(t, ip(S), i, { indentation: h, prefix: this.newLineCharacter });
            } else
              this.replaceRange(t, ip(c), i, { prefix: `${Vs(g)} ` });
          }
        }
        parenthesizeExpression(t, n) {
          this.replaceRange(t, LJ(n), N.createParenthesizedExpression(n));
        }
        finishClassesWithNodesInsertedAtStart() {
          this.classesWithNodesInsertedAtStart.forEach(({ node: t, sourceFile: n }) => {
            const [i, s] = ZYe(t, n);
            if (i !== void 0 && s !== void 0) {
              const o = rG(t).length === 0, c = sp(i, s, n);
              o && c && i !== s - 1 && this.deleteRange(n, ip(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 && Yse(s.node, i)) || (ss(i) ? this.deleteRange(n, MJ(n, i)) : n_e.deleteDeclaration(this, t, n, i));
          t.forEach((n) => {
            const i = n.getSourceFile(), s = el.SmartIndenter.getContainingList(n, i);
            if (n !== fa(s)) return;
            const o = HI(s, (c) => !t.has(c), s.length - 2);
            o !== -1 && this.deleteRange(i, { pos: s[o].end, end: t_e(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 = nG.getTextChangesFromChanges(this.changes, this.newLineCharacter, this.formatContext, t);
          return this.newFileChanges && this.newFileChanges.forEach((i, s) => {
            n.push(nG.newFileChanges(s, i, this.newLineCharacter, this.formatContext));
          }), n;
        }
        createNewFile(t, n, i) {
          this.insertStatementsInNewFile(n, i, t);
        }
      };
      function XYe(e) {
        if (e.kind !== 220)
          return e;
        const t = e.parent.kind === 173 ? e.parent : e.parent.parent;
        return t.jsDoc = e.jsDoc, t;
      }
      function QYe(e, t) {
        if (e.kind === t.kind)
          switch (e.kind) {
            case 342: {
              const n = e, i = t;
              return Me(n.name) && Me(i.name) && n.name.escapedText === i.name.escapedText ? N.createJSDocParameterTag(
                /*tagName*/
                void 0,
                i.name,
                /*isBracketed*/
                false,
                i.typeExpression,
                i.isNameFirst,
                n.comment
              ) : void 0;
            }
            case 343:
              return N.createJSDocReturnTag(
                /*tagName*/
                void 0,
                t.typeExpression,
                e.comment
              );
            case 345:
              return N.createJSDocTypeTag(
                /*tagName*/
                void 0,
                t.typeExpression,
                e.comment
              );
          }
      }
      function t_e(e, t) {
        return aa(
          e.text,
          WS(e, t, {
            leadingTriviaOption: 1
            /* IncludeAll */
          }),
          /*stopAfterLineBreak*/
          false,
          /*stopAtComments*/
          true
        );
      }
      function YYe(e, t, n, i) {
        const s = t_e(e, i);
        if (n === void 0 || sp(yk(e, t, {}), s, e))
          return s;
        const o = ul(i.getStart(e), e);
        if (tG(t, o)) {
          const c = ul(t.getStart(e), e);
          if (tG(n, c)) {
            const _ = aa(
              e.text,
              o.getEnd(),
              /*stopAfterLineBreak*/
              true,
              /*stopAtComments*/
              true
            );
            if (sp(c.getStart(e), o.getStart(e), e))
              return Su(e.text.charCodeAt(_ - 1)) ? _ - 1 : _;
            if (Su(e.text.charCodeAt(_)))
              return _;
          }
        }
        return s;
      }
      function ZYe(e, t) {
        const n = $a(e, 19, t), i = $a(e, 20, t);
        return [n?.end, i?.end];
      }
      function rG(e) {
        return ua(e) ? e.properties : e.members;
      }
      var nG;
      ((e) => {
        function t(_, u, g, m) {
          return Fi(pC(_, (h) => h.sourceFile.path), (h) => {
            const S = h[0].sourceFile, T = q_(h, (D, P) => D.range.pos - P.range.pos || D.range.end - P.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 = Fi(T, (D) => {
              const P = E0(D.range), A = D.kind === 1 ? xr(zo(D.node)) ?? D.sourceFile : D.kind === 2 ? xr(zo(D.nodes[0])) ?? D.sourceFile : D.sourceFile, O = s(D, A, S, u, g, m);
              if (!(P.length === O.length && Iae(A.text, O, P.start)))
                return W8(P, O);
            });
            return k.length > 0 ? { fileName: S.fileName, textChanges: k } : void 0;
          });
        }
        e.getTextChangesFromChanges = t;
        function n(_, u, g, m) {
          const h = i(Z5(_), u, g, m);
          return { fileName: _, textChanges: [W8(Xl(0, 0), h)], isNewFile: true };
        }
        e.newFileChanges = n;
        function i(_, u, g, m) {
          const h = xa(u, (k) => k.statements.map((D) => D === 4 ? "" : c(D, k.oldFile, g).text)).join(g), S = Gx(
            "any file name",
            h,
            {
              languageVersion: 99,
              jsDocParsingMode: 1
              /* ParseNone */
            },
            /*setParentNodes*/
            true,
            _
          ), T = el.formatDocument(S, m);
          return r_e(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 } } = _, P = (F) => o(F, u, g, D, k, m, h, S), A = _.kind === 2 ? _.nodes.map((F) => mC(P(F), m)).join(((T = _.options) == null ? void 0 : T.joiner) || m) : P(_.node), O = k.indentation !== void 0 || Wp(D, u) === D ? A : A.replace(/^\s+/, "");
          return (k.prefix || "") + O + (!k.suffix || Co(O, k.suffix) ? "" : k.suffix);
        }
        function o(_, u, g, m, { indentation: h, prefix: S, delta: T }, k, D, P) {
          const { node: A, text: O } = c(_, u, k);
          P && P(A, O);
          const F = H9(D, u), R = h !== void 0 ? h : el.SmartIndenter.getIndentation(m, g, F, S === k || Wp(m, u) === m);
          T === void 0 && (T = el.SmartIndenter.shouldIndentChildNode(F, _) && F.indentSize || 0);
          const B = {
            text: O,
            getLineAndCharacterOfPosition($) {
              return Rs(this, $);
            }
          }, U = el.formatNodeGivenIndentation(A, B, u.languageVariant, R, T, { ...D, options: F });
          return r_e(O, U);
        }
        function c(_, u, g) {
          const m = swe(g), h = eA(g);
          return $y({
            newLine: h,
            neverAsciiEscape: true,
            preserveSourceNewlines: true,
            terminateUnterminatedLiterals: true
          }, m).writeNode(4, _, u, m), { text: m.getText(), node: iG(_) };
        }
        e.getNonformattedText = c;
      })(nG || (nG = {}));
      function r_e(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(Yo(i))}`;
        }
        return e;
      }
      function KYe(e) {
        return aa(e, 0) === e.length;
      }
      var eZe = {
        ...y8,
        factory: DN(
          y8.factory.flags | 1,
          y8.factory.baseFactory
        )
      };
      function iG(e) {
        const t = br(e, iG, eZe, tZe, iG), n = ao(t) ? t : Object.create(t);
        return Dd(n, ewe(e), twe(e)), n;
      }
      function tZe(e, t, n, i, s) {
        const o = Ar(e, t, n, i, s);
        if (!o)
          return o;
        E.assert(e);
        const c = o === e ? N.createNodeArray(o.slice(0)) : o;
        return Dd(c, ewe(e), twe(e)), c;
      }
      function swe(e) {
        let t = 0;
        const n = eN(e), i = (q) => {
          q && Zue(q, t);
        }, s = (q) => {
          q && Kue(q, t);
        }, o = (q) => {
          q && Zue(q, t);
        }, c = (q) => {
          q && Kue(q, t);
        }, _ = (q) => {
          q && Zue(q, t);
        }, u = (q) => {
          q && Kue(q, t);
        };
        function g(q, be) {
          if (be || !KYe(q)) {
            t = n.getTextPos();
            let je = 0;
            for (; bg(q.charCodeAt(q.length - je - 1)); )
              je++;
            t -= je;
          }
        }
        function m(q) {
          n.write(q), g(
            q,
            /*force*/
            false
          );
        }
        function h(q) {
          n.writeComment(q);
        }
        function S(q) {
          n.writeKeyword(q), g(
            q,
            /*force*/
            false
          );
        }
        function T(q) {
          n.writeOperator(q), g(
            q,
            /*force*/
            false
          );
        }
        function k(q) {
          n.writePunctuation(q), g(
            q,
            /*force*/
            false
          );
        }
        function D(q) {
          n.writeTrailingSemicolon(q), g(
            q,
            /*force*/
            false
          );
        }
        function P(q) {
          n.writeParameter(q), g(
            q,
            /*force*/
            false
          );
        }
        function A(q) {
          n.writeProperty(q), g(
            q,
            /*force*/
            false
          );
        }
        function O(q) {
          n.writeSpace(q), g(
            q,
            /*force*/
            false
          );
        }
        function F(q) {
          n.writeStringLiteral(q), g(
            q,
            /*force*/
            false
          );
        }
        function R(q, be) {
          n.writeSymbol(q, be), g(
            q,
            /*force*/
            false
          );
        }
        function B(q) {
          n.writeLine(q);
        }
        function U() {
          n.increaseIndent();
        }
        function $() {
          n.decreaseIndent();
        }
        function W() {
          return n.getText();
        }
        function _e(q) {
          n.rawWrite(q), g(
            q,
            /*force*/
            false
          );
        }
        function K(q) {
          n.writeLiteral(q), g(
            q,
            /*force*/
            true
          );
        }
        function V() {
          return n.getTextPos();
        }
        function ae() {
          return n.getLine();
        }
        function se() {
          return n.getColumn();
        }
        function ce() {
          return n.getIndent();
        }
        function fe() {
          return n.isAtStartOfLine();
        }
        function he() {
          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: P,
          writeProperty: A,
          writeSpace: O,
          writeStringLiteral: F,
          writeSymbol: R,
          writeLine: B,
          increaseIndent: U,
          decreaseIndent: $,
          getText: W,
          rawWrite: _e,
          writeLiteral: K,
          getTextPos: V,
          getLine: ae,
          getColumn: se,
          getIndent: ce,
          isAtStartOfLine: fe,
          hasTrailingComment: () => n.hasTrailingComment(),
          hasTrailingWhitespace: () => n.hasTrailingWhitespace(),
          clear: he
        };
      }
      function rZe(e) {
        let t;
        for (const g of e.statements)
          if (im(g))
            t = g;
          else
            break;
        let n = 0;
        const i = e.text;
        if (t)
          return n = t.end, u(), n;
        const s = d7(i);
        s !== void 0 && (n = s.length, u());
        const o = Sg(i, n);
        if (!o) return n;
        let c, _;
        for (const g of o) {
          if (g.kind === 3) {
            if (W7(i, g.pos)) {
              c = { range: g, pinnedOrTripleSlash: true };
              continue;
            }
          } else if (nB(i, g.pos, g.end)) {
            c = { range: g, pinnedOrTripleSlash: true };
            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: false };
        }
        return c && (n = c.range.end, u()), n;
        function u() {
          if (n < i.length) {
            const g = i.charCodeAt(n);
            Su(g) && (n++, n < i.length && g === 13 && i.charCodeAt(n) === 10 && n++);
          }
        }
      }
      function awe(e, t) {
        return !k0(e, t) && !ik(e, t) && !PV(e, t) && !nae(e, t);
      }
      function nZe(e, t) {
        return (Vu(e) || as(e)) && E7(t) && t.name.kind === 168 || f3(e) && f3(t);
      }
      var n_e;
      ((e) => {
        function t(o, c, _, u) {
          switch (u.kind) {
            case 170: {
              const T = u.parent;
              bo(T) && T.parameters.length === 1 && !$a(T, 21, _) ? o.replaceNodeWithText(_, u, "()") : PA(o, c, _, u);
              break;
            }
            case 273:
            case 272:
              const g = _.imports.length && u === ka(_.imports).parent || u === Nn(_.statements, ax);
              Ah(o, _, u, {
                leadingTriviaOption: g ? 0 : bf(u) ? 2 : 3
                /* StartLine */
              });
              break;
            case 209:
              const m = u.parent;
              m.kind === 208 && u !== fa(m.elements) ? Ah(o, _, u) : PA(o, c, _, u);
              break;
            case 261:
              s(o, c, _, u);
              break;
            case 169:
              PA(o, c, _, u);
              break;
            case 277:
              const S = u.parent;
              S.elements.length === 1 ? i(o, _, S) : PA(o, c, _, u);
              break;
            case 275:
              i(o, _, u);
              break;
            case 27:
              Ah(o, _, u, {
                trailingTriviaOption: 0
                /* Exclude */
              });
              break;
            case 100:
              Ah(o, _, u, {
                leadingTriviaOption: 0
                /* Exclude */
              });
              break;
            case 264:
            case 263:
              Ah(o, _, u, {
                leadingTriviaOption: bf(u) ? 2 : 3
                /* StartLine */
              });
              break;
            default:
              u.parent ? sd(u.parent) && u.parent.name === u ? n(o, _, u.parent) : ws(u.parent) && ds(u.parent.arguments, u) ? PA(o, c, _, u) : Ah(o, _, u) : Ah(o, _, u);
          }
        }
        e.deleteDeclaration = t;
        function n(o, c, _) {
          if (!_.namedBindings)
            Ah(o, c, _.parent);
          else {
            const u = _.name.getStart(c), g = vi(c, _.name.end);
            if (g && g.kind === 28) {
              const m = aa(
                c.text,
                g.end,
                /*stopAfterLineBreak*/
                false,
                /*stopAtComments*/
                true
              );
              o.deleteRange(c, { pos: u, end: m });
            } else
              Ah(o, c, _.name);
          }
        }
        function i(o, c, _) {
          if (_.parent.name) {
            const u = E.checkDefined(vi(c, _.pos - 1));
            o.deleteRange(c, { pos: u.getStart(c), end: _.end });
          } else {
            const u = q1(
              _,
              273
              /* ImportDeclaration */
            );
            Ah(o, c, u);
          }
        }
        function s(o, c, _, u) {
          const { parent: g } = u;
          if (g.kind === 300) {
            o.deleteNodeRange(_, $a(g, 21, _), $a(g, 22, _));
            return;
          }
          if (g.declarations.length !== 1) {
            PA(o, c, _, u);
            return;
          }
          const m = g.parent;
          switch (m.kind) {
            case 251:
            case 250:
              o.replaceNode(_, u, N.createObjectLiteralExpression());
              break;
            case 249:
              Ah(o, _, g);
              break;
            case 244:
              Ah(o, _, m, {
                leadingTriviaOption: bf(m) ? 2 : 3
                /* StartLine */
              });
              break;
            default:
              E.assertNever(m);
          }
        }
      })(n_e || (n_e = {}));
      function Ah(e, t, n, i = {
        leadingTriviaOption: 1
        /* IncludeAll */
      }) {
        const s = WS(t, n, i), o = yk(t, n, i);
        e.deleteRange(t, { pos: s, end: o });
      }
      function PA(e, t, n, i) {
        const s = E.checkDefined(el.SmartIndenter.getContainingList(i, n)), o = AC(s, i);
        if (E.assert(o !== -1), s.length === 1) {
          Ah(e, n, i);
          return;
        }
        E.assert(!t.has(i), "Deleting a node twice"), t.add(i), e.deleteRange(n, {
          pos: t_e(n, i),
          end: o === s.length - 1 ? yk(n, i, {}) : YYe(n, i, s[o - 1], s[o + 1])
        });
      }
      var el = {};
      Ec(el, {
        FormattingContext: () => cwe,
        FormattingRequestKind: () => owe,
        RuleAction: () => lwe,
        RuleFlags: () => uwe,
        SmartIndenter: () => km,
        anyContext: () => sG,
        createTextRangeWithKind: () => lG,
        formatDocument: () => $Ze,
        formatNodeGivenIndentation: () => tKe,
        formatOnClosingCurly: () => GZe,
        formatOnEnter: () => VZe,
        formatOnOpeningCurly: () => HZe,
        formatOnSemicolon: () => qZe,
        formatSelection: () => XZe,
        getAllRules: () => _we,
        getFormatContext: () => MZe,
        getFormattingScanner: () => i_e,
        getIndentationString: () => y_e,
        getRangeOfEnclosingComment: () => Mwe
      });
      var owe = /* @__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))(owe || {}), cwe = 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 = $a(e, 19, this.sourceFile), n = $a(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 false;
        }
      }, iZe = Tg(
        99,
        /*skipTrivia*/
        false,
        0
        /* Standard */
      ), sZe = Tg(
        99,
        /*skipTrivia*/
        false,
        1
        /* JSX */
      );
      function i_e(e, t, n, i, s) {
        const o = t === 1 ? sZe : iZe;
        o.setText(e), o.resetTokenState(n);
        let c = true, _, u, g, m, h;
        const S = s({
          advance: T,
          readTokenInfo: B,
          readEOFTokenRange: $,
          isOnToken: W,
          isOnEOF: _e,
          getCurrentLeadingTrivia: () => _,
          lastTrailingTriviaWasNewLine: () => c,
          skipToEndOf: V,
          skipToStartOf: ae,
          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 && fa(u).kind === 4 : o.scan(), _ = void 0, u = void 0;
          let ce = o.getTokenFullStart();
          for (; ce < i; ) {
            const fe = o.getToken();
            if (!VC(fe))
              break;
            o.scan();
            const he = {
              pos: ce,
              end: o.getTokenFullStart(),
              kind: fe
            };
            ce = o.getTokenFullStart(), _ = Er(_, he);
          }
          g = o.getTokenFullStart();
        }
        function k(se) {
          switch (se.kind) {
            case 34:
            case 72:
            case 73:
            case 50:
            case 49:
              return true;
          }
          return false;
        }
        function D(se) {
          if (se.parent)
            switch (se.parent.kind) {
              case 292:
              case 287:
              case 288:
              case 286:
                return b_(se.kind) || se.kind === 80;
            }
          return false;
        }
        function P(se) {
          return Ix(se) || hm(se) && h?.token.kind === 12;
        }
        function A(se) {
          return se.kind === 14;
        }
        function O(se) {
          return se.kind === 17 || se.kind === 18;
        }
        function F(se) {
          return se.parent && ym(se.parent) && se.parent.initializer === se;
        }
        function R(se) {
          return se === 44 || se === 69;
        }
        function B(se) {
          E.assert(W());
          const ce = k(se) ? 1 : A(se) ? 2 : O(se) ? 3 : D(se) ? 4 : P(se) ? 5 : F(se) ? 6 : 0;
          if (h && ce === m)
            return K(h, se);
          o.getTokenFullStart() !== g && (E.assert(h !== void 0), o.resetTokenState(g), o.scan());
          let fe = U(se, ce);
          const he = lG(
            o.getTokenFullStart(),
            o.getTokenEnd(),
            fe
          );
          for (u && (u = void 0); o.getTokenFullStart() < i && (fe = o.scan(), !!VC(fe)); ) {
            const q = lG(
              o.getTokenFullStart(),
              o.getTokenEnd(),
              fe
            );
            if (u || (u = []), u.push(q), fe === 4) {
              o.scan();
              break;
            }
          }
          return h = { leadingTrivia: _, trailingTrivia: u, token: he }, K(h, se);
        }
        function U(se, ce) {
          const fe = o.getToken();
          switch (m = 0, ce) {
            case 1:
              if (fe === 32) {
                m = 1;
                const he = o.reScanGreaterToken();
                return E.assert(se.kind === he), he;
              }
              break;
            case 2:
              if (R(fe)) {
                m = 2;
                const he = o.reScanSlashToken();
                return E.assert(se.kind === he), he;
              }
              break;
            case 3:
              if (fe === 20)
                return m = 3, o.reScanTemplateToken(
                  /*isTaggedTemplate*/
                  false
                );
              break;
            case 4:
              return m = 4, o.scanJsxIdentifier();
            case 5:
              return m = 5, o.reScanJsxToken(
                /*allowMultilineJsxText*/
                false
              );
            case 6:
              return m = 6, o.reScanJsxAttributeValue();
            case 0:
              break;
            default:
              E.assertNever(ce);
          }
          return fe;
        }
        function $() {
          return E.assert(_e()), lG(
            o.getTokenFullStart(),
            o.getTokenEnd(),
            1
            /* EndOfFileToken */
          );
        }
        function W() {
          const se = h ? h.token.kind : o.getToken();
          return se !== 1 && !VC(se);
        }
        function _e() {
          return (h ? h.token.kind : o.getToken()) === 1;
        }
        function K(se, ce) {
          return YT(ce) && se.token.kind !== ce.kind && (se.token.kind = ce.kind), se;
        }
        function V(se) {
          o.resetTokenState(se.end), g = o.getTokenFullStart(), m = void 0, h = void 0, c = false, _ = void 0, u = void 0;
        }
        function ae(se) {
          o.resetTokenState(se.pos), g = o.getTokenFullStart(), m = void 0, h = void 0, c = false, _ = void 0, u = void 0;
        }
      }
      var sG = Ge, lwe = /* @__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))(lwe || {}), uwe = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.CanDeleteNewLines = 1] = "CanDeleteNewLines", e))(uwe || {});
      function _we() {
        const e = [];
        for (let U = 0; U <= 166; U++)
          U !== 1 && e.push(U);
        function t(...U) {
          return { tokens: e.filter(($) => !U.some((W) => W === $)), isSpecific: false };
        }
        const n = { tokens: e, isSpecific: false }, i = Mw([
          ...e,
          3
          /* MultiLineCommentTrivia */
        ]), s = Mw([
          ...e,
          1
          /* EndOfFileToken */
        ]), o = pwe(
          83,
          166
          /* LastKeyword */
        ), c = pwe(
          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, ...jV], P = i, A = Mw([
          80,
          32,
          3,
          86,
          95,
          102
          /* ImportKeyword */
        ]), O = Mw([
          22,
          3,
          92,
          113,
          98,
          93,
          85
          /* CatchKeyword */
        ]), F = [
          // Leave comments alone
          Wn(
            "IgnoreBeforeComment",
            n,
            k,
            sG,
            1
            /* StopProcessingSpaceActions */
          ),
          Wn(
            "IgnoreAfterLineComment",
            2,
            n,
            sG,
            1
            /* StopProcessingSpaceActions */
          ),
          Wn(
            "NotSpaceBeforeColon",
            n,
            59,
            [Oi, ML, gwe],
            16
            /* DeleteSpace */
          ),
          Wn(
            "SpaceAfterColon",
            59,
            n,
            [Oi, ML, TZe],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBeforeQuestionMark",
            n,
            58,
            [Oi, ML, gwe],
            16
            /* DeleteSpace */
          ),
          // insert space after '?' only when it is used in conditional operator
          Wn(
            "SpaceAfterQuestionMarkInConditionalOperator",
            58,
            n,
            [Oi, lZe],
            4
            /* InsertSpace */
          ),
          // in other cases there should be no space between '?' and next token
          Wn(
            "NoSpaceAfterQuestionMark",
            58,
            n,
            [Oi, cZe],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceBeforeDot",
            n,
            [
              25,
              29
              /* QuestionDotToken */
            ],
            [Oi, LZe],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterDot",
            [
              25,
              29
              /* QuestionDotToken */
            ],
            n,
            [Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceBetweenImportParenInImportType",
            102,
            21,
            [Oi, bZe],
            16
            /* DeleteSpace */
          ),
          // Special handling of unary operators.
          // Prefix operators generally shouldn't have a space between
          // them and their target unary expression.
          Wn(
            "NoSpaceAfterUnaryPrefixOperator",
            u,
            g,
            [Oi, ML],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterUnaryPreincrementOperator",
            46,
            m,
            [Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterUnaryPredecrementOperator",
            47,
            S,
            [Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceBeforeUnaryPostincrementOperator",
            h,
            46,
            [Oi, Iwe],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceBeforeUnaryPostdecrementOperator",
            T,
            47,
            [Oi, Iwe],
            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
          Wn(
            "SpaceAfterPostincrementWhenFollowedByAdd",
            46,
            40,
            [Oi, Ky],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceAfterAddWhenFollowedByUnaryPlus",
            40,
            40,
            [Oi, Ky],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceAfterAddWhenFollowedByPreincrement",
            40,
            46,
            [Oi, Ky],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceAfterPostdecrementWhenFollowedBySubtract",
            47,
            41,
            [Oi, Ky],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceAfterSubtractWhenFollowedByUnaryMinus",
            41,
            41,
            [Oi, Ky],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceAfterSubtractWhenFollowedByPredecrement",
            41,
            47,
            [Oi, Ky],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceAfterCloseBrace",
            20,
            [
              28,
              27
              /* SemicolonToken */
            ],
            [Oi],
            16
            /* DeleteSpace */
          ),
          // For functions and control block place } on a new line [multi-line rule]
          Wn(
            "NewLineBeforeCloseBraceInBlockContext",
            i,
            20,
            [ywe],
            8
            /* InsertNewLine */
          ),
          // Space/new line after }.
          Wn(
            "SpaceAfterCloseBrace",
            20,
            t(
              22
              /* CloseParenToken */
            ),
            [Oi, fZe],
            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 })
          Wn(
            "SpaceBetweenCloseBraceAndElse",
            20,
            93,
            [Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceBetweenCloseBraceAndWhile",
            20,
            117,
            [Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBetweenEmptyBraceBrackets",
            19,
            20,
            [Oi, kwe],
            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];'
          Wn(
            "SpaceAfterConditionalClosingParen",
            22,
            23,
            [RL],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBetweenFunctionKeywordAndStar",
            100,
            42,
            [Swe],
            16
            /* DeleteSpace */
          ),
          Wn(
            "SpaceAfterStarInGeneratorDeclaration",
            42,
            80,
            [Swe],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceAfterFunctionInFuncDecl",
            100,
            n,
            [US],
            4
            /* InsertSpace */
          ),
          // Insert new line after { and before } in multi-line contexts.
          Wn(
            "NewLineAfterOpenBraceInBlockContext",
            19,
            n,
            [ywe],
            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) {}
          Wn(
            "SpaceAfterGetSetInMember",
            [
              139,
              153
              /* SetKeyword */
            ],
            80,
            [US],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBetweenYieldKeywordAndStar",
            127,
            42,
            [Oi, Awe],
            16
            /* DeleteSpace */
          ),
          Wn(
            "SpaceBetweenYieldOrYieldStarAndOperand",
            [
              127,
              42
              /* AsteriskToken */
            ],
            n,
            [Oi, Awe],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBetweenReturnAndSemicolon",
            107,
            27,
            [Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "SpaceAfterCertainKeywords",
            [
              115,
              111,
              105,
              91,
              107,
              114,
              135
              /* AwaitKeyword */
            ],
            n,
            [Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceAfterLetConstInVariableDeclaration",
            [
              121,
              87
              /* ConstKeyword */
            ],
            n,
            [Oi, CZe],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBeforeOpenParenInFuncCall",
            n,
            21,
            [Oi, mZe, gZe],
            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.
          Wn(
            "SpaceBeforeBinaryKeywordOperator",
            n,
            _,
            [Oi, Ky],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceAfterBinaryKeywordOperator",
            _,
            n,
            [Oi, Ky],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceAfterVoidOperator",
            116,
            n,
            [Oi, NZe],
            4
            /* InsertSpace */
          ),
          // Async-await
          Wn(
            "SpaceBetweenAsyncAndOpenParen",
            134,
            21,
            [vZe, Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceBetweenAsyncAndFunctionKeyword",
            134,
            [
              100,
              80
              /* Identifier */
            ],
            [Oi],
            4
            /* InsertSpace */
          ),
          // Template string
          Wn(
            "NoSpaceBetweenTagAndTemplateString",
            [
              80,
              22
              /* CloseParenToken */
            ],
            [
              15,
              16
              /* TemplateHead */
            ],
            [Oi],
            16
            /* DeleteSpace */
          ),
          // JSX opening elements
          Wn(
            "SpaceBeforeJsxAttribute",
            n,
            80,
            [SZe, Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceBeforeSlashInJsxOpeningElement",
            n,
            44,
            [wwe, Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBeforeGreaterThanTokenInJsxOpeningElement",
            44,
            32,
            [wwe, Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceBeforeEqualInJsxAttribute",
            n,
            64,
            [Ewe, Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterEqualInJsxAttribute",
            64,
            n,
            [Ewe, Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceBeforeJsxNamespaceColon",
            80,
            59,
            [Dwe],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterJsxNamespaceColon",
            59,
            80,
            [Dwe],
            16
            /* DeleteSpace */
          ),
          // TypeScript-specific rules
          // Use of module as a function call. e.g.: import m2 = module("m2");
          Wn(
            "NoSpaceAfterModuleImport",
            [
              144,
              149
              /* RequireKeyword */
            ],
            21,
            [Oi],
            16
            /* DeleteSpace */
          ),
          // Add a space around certain TypeScript keywords
          Wn(
            "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,
            [Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceBeforeCertainTypeScriptKeywords",
            n,
            [
              96,
              119,
              161
              /* FromKeyword */
            ],
            [Oi],
            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" {
          Wn(
            "SpaceAfterModuleName",
            11,
            19,
            [EZe],
            4
            /* InsertSpace */
          ),
          // Lambda expressions
          Wn(
            "SpaceBeforeArrow",
            n,
            39,
            [Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceAfterArrow",
            39,
            n,
            [Oi],
            4
            /* InsertSpace */
          ),
          // Optional parameters and let args
          Wn(
            "NoSpaceAfterEllipsis",
            26,
            80,
            [Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterOptionalParameters",
            58,
            [
              22,
              28
              /* CommaToken */
            ],
            [Oi, ML],
            16
            /* DeleteSpace */
          ),
          // Remove spaces in empty interface literals. e.g.: x: {}
          Wn(
            "NoSpaceBetweenEmptyInterfaceBraceBrackets",
            19,
            20,
            [Oi, DZe],
            16
            /* DeleteSpace */
          ),
          // generics and type assertions
          Wn(
            "NoSpaceBeforeOpenAngularBracket",
            D,
            30,
            [Oi, jL],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceBetweenCloseParenAndAngularBracket",
            22,
            30,
            [Oi, jL],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterOpenAngularBracket",
            30,
            n,
            [Oi, jL],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceBeforeCloseAngularBracket",
            n,
            32,
            [Oi, jL],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterCloseAngularBracket",
            32,
            [
              21,
              23,
              32,
              28
              /* CommaToken */
            ],
            [
              Oi,
              jL,
              _Ze,
              /*To prevent an interference with the SpaceBeforeOpenParenInFuncDecl rule*/
              PZe
            ],
            16
            /* DeleteSpace */
          ),
          // decorators
          Wn(
            "SpaceBeforeAt",
            [
              22,
              80
              /* Identifier */
            ],
            60,
            [Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceAfterAt",
            60,
            n,
            [Oi],
            16
            /* DeleteSpace */
          ),
          // Insert space after @ in decorator
          Wn(
            "SpaceAfterDecorator",
            n,
            [
              128,
              80,
              95,
              90,
              86,
              126,
              125,
              123,
              124,
              139,
              153,
              23,
              42
              /* AsteriskToken */
            ],
            [kZe],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBeforeNonNullAssertionOperator",
            n,
            54,
            [Oi, AZe],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterNewKeywordOnConstructorSignature",
            105,
            21,
            [Oi, wZe],
            16
            /* DeleteSpace */
          ),
          Wn(
            "SpaceLessThanAndNonJSXTypeAnnotation",
            30,
            30,
            [Oi],
            4
            /* InsertSpace */
          )
        ], R = [
          // Treat constructor as an identifier in a function declaration, and remove spaces between constructor and following left parentheses
          Wn(
            "SpaceAfterConstructor",
            137,
            21,
            [Mf("insertSpaceAfterConstructor"), Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceAfterConstructor",
            137,
            21,
            [xm("insertSpaceAfterConstructor"), Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "SpaceAfterComma",
            28,
            n,
            [Mf("insertSpaceAfterCommaDelimiter"), Oi, __e, hZe, yZe],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceAfterComma",
            28,
            n,
            [xm("insertSpaceAfterCommaDelimiter"), Oi, __e],
            16
            /* DeleteSpace */
          ),
          // Insert space after function keyword for anonymous functions
          Wn(
            "SpaceAfterAnonymousFunctionKeyword",
            [
              100,
              42
              /* AsteriskToken */
            ],
            21,
            [Mf("insertSpaceAfterFunctionKeywordForAnonymousFunctions"), US],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceAfterAnonymousFunctionKeyword",
            [
              100,
              42
              /* AsteriskToken */
            ],
            21,
            [xm("insertSpaceAfterFunctionKeywordForAnonymousFunctions"), US],
            16
            /* DeleteSpace */
          ),
          // Insert space after keywords in control flow statements
          Wn(
            "SpaceAfterKeywordInControl",
            o,
            21,
            [Mf("insertSpaceAfterKeywordsInControlFlowStatements"), RL],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceAfterKeywordInControl",
            o,
            21,
            [xm("insertSpaceAfterKeywordsInControlFlowStatements"), RL],
            16
            /* DeleteSpace */
          ),
          // Insert space after opening and before closing nonempty parenthesis
          Wn(
            "SpaceAfterOpenParen",
            21,
            n,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceBeforeCloseParen",
            n,
            22,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceBetweenOpenParens",
            21,
            21,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBetweenParens",
            21,
            22,
            [Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterOpenParen",
            21,
            n,
            [xm("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceBeforeCloseParen",
            n,
            22,
            [xm("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), Oi],
            16
            /* DeleteSpace */
          ),
          // Insert space after opening and before closing nonempty brackets
          Wn(
            "SpaceAfterOpenBracket",
            23,
            n,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceBeforeCloseBracket",
            n,
            24,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBetweenBrackets",
            23,
            24,
            [Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterOpenBracket",
            23,
            n,
            [xm("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceBeforeCloseBracket",
            n,
            24,
            [xm("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), Oi],
            16
            /* DeleteSpace */
          ),
          // Insert a space after { and before } in single-line contexts, but remove space from empty object literals {}.
          Wn(
            "SpaceAfterOpenBrace",
            19,
            n,
            [mwe("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), hwe],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceBeforeCloseBrace",
            n,
            20,
            [mwe("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), hwe],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBetweenEmptyBraceBrackets",
            19,
            20,
            [Oi, kwe],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterOpenBrace",
            19,
            n,
            [s_e("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceBeforeCloseBrace",
            n,
            20,
            [s_e("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), Oi],
            16
            /* DeleteSpace */
          ),
          // Insert a space after opening and before closing empty brace brackets
          Wn(
            "SpaceBetweenEmptyBraceBrackets",
            19,
            20,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces")],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBetweenEmptyBraceBrackets",
            19,
            20,
            [s_e("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces"), Oi],
            16
            /* DeleteSpace */
          ),
          // Insert space after opening and before closing template string braces
          Wn(
            "SpaceAfterTemplateHeadAndMiddle",
            [
              16,
              17
              /* TemplateMiddle */
            ],
            n,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), Cwe],
            4,
            1
            /* CanDeleteNewLines */
          ),
          Wn(
            "SpaceBeforeTemplateMiddleAndTail",
            n,
            [
              17,
              18
              /* TemplateTail */
            ],
            [Mf("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), Oi],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceAfterTemplateHeadAndMiddle",
            [
              16,
              17
              /* TemplateMiddle */
            ],
            n,
            [xm("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), Cwe],
            16,
            1
            /* CanDeleteNewLines */
          ),
          Wn(
            "NoSpaceBeforeTemplateMiddleAndTail",
            n,
            [
              17,
              18
              /* TemplateTail */
            ],
            [xm("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), Oi],
            16
            /* DeleteSpace */
          ),
          // No space after { and before } in JSX expression
          Wn(
            "SpaceAfterOpenBraceInJsxExpression",
            19,
            n,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), Oi, oG],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceBeforeCloseBraceInJsxExpression",
            n,
            20,
            [Mf("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), Oi, oG],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceAfterOpenBraceInJsxExpression",
            19,
            n,
            [xm("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), Oi, oG],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceBeforeCloseBraceInJsxExpression",
            n,
            20,
            [xm("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), Oi, oG],
            16
            /* DeleteSpace */
          ),
          // Insert space after semicolon in for statement
          Wn(
            "SpaceAfterSemicolonInFor",
            27,
            n,
            [Mf("insertSpaceAfterSemicolonInForStatements"), Oi, o_e],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceAfterSemicolonInFor",
            27,
            n,
            [xm("insertSpaceAfterSemicolonInForStatements"), Oi, o_e],
            16
            /* DeleteSpace */
          ),
          // Insert space before and after binary operators
          Wn(
            "SpaceBeforeBinaryOperator",
            n,
            c,
            [Mf("insertSpaceBeforeAndAfterBinaryOperators"), Oi, Ky],
            4
            /* InsertSpace */
          ),
          Wn(
            "SpaceAfterBinaryOperator",
            c,
            n,
            [Mf("insertSpaceBeforeAndAfterBinaryOperators"), Oi, Ky],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBeforeBinaryOperator",
            n,
            c,
            [xm("insertSpaceBeforeAndAfterBinaryOperators"), Oi, Ky],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterBinaryOperator",
            c,
            n,
            [xm("insertSpaceBeforeAndAfterBinaryOperators"), Oi, Ky],
            16
            /* DeleteSpace */
          ),
          Wn(
            "SpaceBeforeOpenParenInFuncDecl",
            n,
            21,
            [Mf("insertSpaceBeforeFunctionParenthesis"), Oi, US],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBeforeOpenParenInFuncDecl",
            n,
            21,
            [xm("insertSpaceBeforeFunctionParenthesis"), Oi, US],
            16
            /* DeleteSpace */
          ),
          // Open Brace braces after control block
          Wn(
            "NewLineBeforeOpenBraceInControl",
            O,
            19,
            [Mf("placeOpenBraceOnNewLineForControlBlocks"), RL, u_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
          Wn(
            "NewLineBeforeOpenBraceInFunction",
            P,
            19,
            [Mf("placeOpenBraceOnNewLineForFunctions"), US, u_e],
            8,
            1
            /* CanDeleteNewLines */
          ),
          // Open Brace braces after TypeScript module/class/interface
          Wn(
            "NewLineBeforeOpenBraceInTypeScriptDeclWithBlock",
            A,
            19,
            [Mf("placeOpenBraceOnNewLineForFunctions"), Twe, u_e],
            8,
            1
            /* CanDeleteNewLines */
          ),
          Wn(
            "SpaceAfterTypeAssertion",
            32,
            n,
            [Mf("insertSpaceAfterTypeAssertion"), Oi, p_e],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceAfterTypeAssertion",
            32,
            n,
            [xm("insertSpaceAfterTypeAssertion"), Oi, p_e],
            16
            /* DeleteSpace */
          ),
          Wn(
            "SpaceBeforeTypeAnnotation",
            n,
            [
              58,
              59
              /* ColonToken */
            ],
            [Mf("insertSpaceBeforeTypeAnnotation"), Oi, c_e],
            4
            /* InsertSpace */
          ),
          Wn(
            "NoSpaceBeforeTypeAnnotation",
            n,
            [
              58,
              59
              /* ColonToken */
            ],
            [xm("insertSpaceBeforeTypeAnnotation"), Oi, c_e],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoOptionalSemicolon",
            27,
            s,
            [dwe(
              "semicolons",
              "remove"
              /* Remove */
            ), FZe],
            32
            /* DeleteToken */
          ),
          Wn(
            "OptionalSemicolon",
            n,
            s,
            [dwe(
              "semicolons",
              "insert"
              /* Insert */
            ), OZe],
            64
            /* InsertTrailingSemicolon */
          )
        ], B = [
          // Space after keyword but not before ; or : or ?
          Wn(
            "NoSpaceBeforeSemicolon",
            n,
            27,
            [Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "SpaceBeforeOpenBraceInControl",
            O,
            19,
            [a_e("placeOpenBraceOnNewLineForControlBlocks"), RL, f_e, l_e],
            4,
            1
            /* CanDeleteNewLines */
          ),
          Wn(
            "SpaceBeforeOpenBraceInFunction",
            P,
            19,
            [a_e("placeOpenBraceOnNewLineForFunctions"), US, aG, f_e, l_e],
            4,
            1
            /* CanDeleteNewLines */
          ),
          Wn(
            "SpaceBeforeOpenBraceInTypeScriptDeclWithBlock",
            A,
            19,
            [a_e("placeOpenBraceOnNewLineForFunctions"), Twe, f_e, l_e],
            4,
            1
            /* CanDeleteNewLines */
          ),
          Wn(
            "NoSpaceBeforeComma",
            n,
            28,
            [Oi],
            16
            /* DeleteSpace */
          ),
          // No space before and after indexer `x[]`
          Wn(
            "NoSpaceBeforeOpenBracket",
            t(
              134,
              84
              /* CaseKeyword */
            ),
            23,
            [Oi],
            16
            /* DeleteSpace */
          ),
          Wn(
            "NoSpaceAfterCloseBracket",
            24,
            n,
            [Oi, xZe],
            16
            /* DeleteSpace */
          ),
          Wn(
            "SpaceAfterSemicolon",
            27,
            n,
            [Oi],
            4
            /* InsertSpace */
          ),
          // Remove extra space between for and await
          Wn(
            "SpaceBetweenForAndAwaitKeyword",
            99,
            135,
            [Oi],
            4
            /* InsertSpace */
          ),
          // Remove extra spaces between ... and type name in tuple spread
          Wn(
            "SpaceBetweenDotDotDotAndTypeName",
            26,
            D,
            [Oi],
            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]
          Wn(
            "SpaceBetweenStatements",
            [
              22,
              92,
              93,
              84
              /* CaseKeyword */
            ],
            n,
            [Oi, __e, aZe],
            4
            /* InsertSpace */
          ),
          // This low-pri rule takes care of "try {", "catch {" and "finally {" in case the rule SpaceBeforeOpenBraceInControl didn't execute on FormatOnEnter.
          Wn(
            "SpaceAfterTryCatchFinally",
            [
              113,
              85,
              98
              /* FinallyKeyword */
            ],
            19,
            [Oi],
            4
            /* InsertSpace */
          )
        ];
        return [
          ...F,
          ...R,
          ...B
        ];
      }
      function Wn(e, t, n, i, s, o = 0) {
        return { leftTokenRange: fwe(t), rightTokenRange: fwe(n), rule: { debugName: e, context: i, action: s, flags: o } };
      }
      function Mw(e) {
        return { tokens: e, isSpecific: true };
      }
      function fwe(e) {
        return typeof e == "number" ? Mw([e]) : ss(e) ? Mw(e) : e;
      }
      function pwe(e, t, n = []) {
        const i = [];
        for (let s = e; s <= t; s++)
          ds(n, s) || i.push(s);
        return Mw(i);
      }
      function dwe(e, t) {
        return (n) => n.options && n.options[e] === t;
      }
      function Mf(e) {
        return (t) => t.options && Ya(t.options, e) && !!t.options[e];
      }
      function s_e(e) {
        return (t) => t.options && Ya(t.options, e) && !t.options[e];
      }
      function xm(e) {
        return (t) => !t.options || !Ya(t.options, e) || !t.options[e];
      }
      function a_e(e) {
        return (t) => !t.options || !Ya(t.options, e) || !t.options[e] || t.TokensAreOnSameLine();
      }
      function mwe(e) {
        return (t) => !t.options || !Ya(t.options, e) || !!t.options[e];
      }
      function o_e(e) {
        return e.contextNode.kind === 249;
      }
      function aZe(e) {
        return !o_e(e);
      }
      function Ky(e) {
        switch (e.contextNode.kind) {
          case 227:
            return e.contextNode.operatorToken.kind !== 28;
          case 228:
          case 195:
          case 235:
          case 282:
          case 277:
          case 183:
          case 193:
          case 194:
          case 239:
            return true;
          // equals in binding elements: function foo([[x, y] = [1, 2]])
          case 209:
          // equals in type X = ...
          // falls through
          case 266:
          // equal in import a = module('a');
          // falls through
          case 272:
          // equal in export = 1
          // falls through
          case 278:
          // equal in let a = 0
          // falls through
          case 261:
          // equal in p = 0
          // falls through
          case 170:
          case 307:
          case 173:
          case 172:
            return e.currentTokenSpan.kind === 64 || e.nextTokenSpan.kind === 64;
          // "in" keyword in for (let x in []) { }
          case 250:
          // "in" keyword in [P in keyof T]: T[P]
          // falls through
          case 169:
            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 251:
            return e.currentTokenSpan.kind === 165 || e.nextTokenSpan.kind === 165;
        }
        return false;
      }
      function ML(e) {
        return !Ky(e);
      }
      function gwe(e) {
        return !c_e(e);
      }
      function c_e(e) {
        const t = e.contextNode.kind;
        return t === 173 || t === 172 || t === 170 || t === 261 || ZT(t);
      }
      function oZe(e) {
        return as(e.contextNode) && e.contextNode.questionToken;
      }
      function cZe(e) {
        return !oZe(e);
      }
      function lZe(e) {
        return e.contextNode.kind === 228 || e.contextNode.kind === 195;
      }
      function l_e(e) {
        return e.TokensAreOnSameLine() || aG(e);
      }
      function hwe(e) {
        return e.contextNode.kind === 207 || e.contextNode.kind === 201 || uZe(e);
      }
      function u_e(e) {
        return aG(e) && !(e.NextNodeAllOnSameLine() || e.NextNodeBlockIsOnOneLine());
      }
      function ywe(e) {
        return vwe(e) && !(e.ContextNodeAllOnSameLine() || e.ContextNodeBlockIsOnOneLine());
      }
      function uZe(e) {
        return vwe(e) && (e.ContextNodeAllOnSameLine() || e.ContextNodeBlockIsOnOneLine());
      }
      function vwe(e) {
        return bwe(e.contextNode);
      }
      function aG(e) {
        return bwe(e.nextTokenParent);
      }
      function bwe(e) {
        if (xwe(e))
          return true;
        switch (e.kind) {
          case 242:
          case 270:
          case 211:
          case 269:
            return true;
        }
        return false;
      }
      function US(e) {
        switch (e.contextNode.kind) {
          case 263:
          case 175:
          case 174:
          // case SyntaxKind.MemberFunctionDeclaration:
          // falls through
          case 178:
          case 179:
          // case SyntaxKind.MethodSignature:
          // falls through
          case 180:
          case 219:
          case 177:
          case 220:
          // case SyntaxKind.ConstructorDeclaration:
          // case SyntaxKind.SimpleArrowFunctionExpression:
          // case SyntaxKind.ParenthesizedArrowFunctionExpression:
          // falls through
          case 265:
            return true;
        }
        return false;
      }
      function _Ze(e) {
        return !US(e);
      }
      function Swe(e) {
        return e.contextNode.kind === 263 || e.contextNode.kind === 219;
      }
      function Twe(e) {
        return xwe(e.contextNode);
      }
      function xwe(e) {
        switch (e.kind) {
          case 264:
          case 232:
          case 265:
          case 267:
          case 188:
          case 268:
          case 279:
          case 280:
          case 273:
          case 276:
            return true;
        }
        return false;
      }
      function fZe(e) {
        switch (e.currentTokenParent.kind) {
          case 264:
          case 268:
          case 267:
          case 300:
          case 269:
          case 256:
            return true;
          case 242: {
            const t = e.currentTokenParent.parent;
            if (!t || t.kind !== 220 && t.kind !== 219)
              return true;
          }
        }
        return false;
      }
      function RL(e) {
        switch (e.contextNode.kind) {
          case 246:
          case 256:
          case 249:
          case 250:
          case 251:
          case 248:
          case 259:
          case 247:
          case 255:
          // TODO
          // case SyntaxKind.ElseClause:
          // falls through
          case 300:
            return true;
          default:
            return false;
        }
      }
      function kwe(e) {
        return e.contextNode.kind === 211;
      }
      function pZe(e) {
        return e.contextNode.kind === 214;
      }
      function dZe(e) {
        return e.contextNode.kind === 215;
      }
      function mZe(e) {
        return pZe(e) || dZe(e);
      }
      function gZe(e) {
        return e.currentTokenSpan.kind !== 28;
      }
      function hZe(e) {
        return e.nextTokenSpan.kind !== 24;
      }
      function yZe(e) {
        return e.nextTokenSpan.kind !== 22;
      }
      function vZe(e) {
        return e.contextNode.kind === 220;
      }
      function bZe(e) {
        return e.contextNode.kind === 206;
      }
      function Oi(e) {
        return e.TokensAreOnSameLine() && e.contextNode.kind !== 12;
      }
      function Cwe(e) {
        return e.contextNode.kind !== 12;
      }
      function __e(e) {
        return e.contextNode.kind !== 285 && e.contextNode.kind !== 289;
      }
      function oG(e) {
        return e.contextNode.kind === 295 || e.contextNode.kind === 294;
      }
      function SZe(e) {
        return e.nextTokenParent.kind === 292 || e.nextTokenParent.kind === 296 && e.nextTokenParent.parent.kind === 292;
      }
      function Ewe(e) {
        return e.contextNode.kind === 292;
      }
      function TZe(e) {
        return e.nextTokenParent.kind !== 296;
      }
      function Dwe(e) {
        return e.nextTokenParent.kind === 296;
      }
      function wwe(e) {
        return e.contextNode.kind === 286;
      }
      function xZe(e) {
        return !US(e) && !aG(e);
      }
      function kZe(e) {
        return e.TokensAreOnSameLine() && Pf(e.contextNode) && Pwe(e.currentTokenParent) && !Pwe(e.nextTokenParent);
      }
      function Pwe(e) {
        for (; e && ut(e); )
          e = e.parent;
        return e && e.kind === 171;
      }
      function CZe(e) {
        return e.currentTokenParent.kind === 262 && e.currentTokenParent.getStart(e.sourceFile) === e.currentTokenSpan.pos;
      }
      function f_e(e) {
        return e.formattingRequestKind !== 2;
      }
      function EZe(e) {
        return e.contextNode.kind === 268;
      }
      function DZe(e) {
        return e.contextNode.kind === 188;
      }
      function wZe(e) {
        return e.contextNode.kind === 181;
      }
      function Nwe(e, t) {
        if (e.kind !== 30 && e.kind !== 32)
          return false;
        switch (t.kind) {
          case 184:
          case 217:
          case 266:
          case 264:
          case 232:
          case 265:
          case 263:
          case 219:
          case 220:
          case 175:
          case 174:
          case 180:
          case 181:
          case 214:
          case 215:
          case 234:
            return true;
          default:
            return false;
        }
      }
      function jL(e) {
        return Nwe(e.currentTokenSpan, e.currentTokenParent) || Nwe(e.nextTokenSpan, e.nextTokenParent);
      }
      function p_e(e) {
        return e.contextNode.kind === 217;
      }
      function PZe(e) {
        return !p_e(e);
      }
      function NZe(e) {
        return e.currentTokenSpan.kind === 116 && e.currentTokenParent.kind === 223;
      }
      function Awe(e) {
        return e.contextNode.kind === 230 && e.contextNode.expression !== void 0;
      }
      function AZe(e) {
        return e.contextNode.kind === 236;
      }
      function Iwe(e) {
        return !IZe(e);
      }
      function IZe(e) {
        switch (e.contextNode.kind) {
          case 246:
          case 249:
          case 250:
          case 251:
          case 247:
          case 248:
            return true;
          default:
            return false;
        }
      }
      function FZe(e) {
        let t = e.nextTokenSpan.kind, n = e.nextTokenSpan.pos;
        if (VC(t)) {
          const o = e.nextTokenParent === e.currentTokenParent ? r2(
            e.currentTokenParent,
            dr(e.currentTokenParent, (c) => !c.parent),
            e.sourceFile
          ) : e.nextTokenParent.getFirstToken(e.sourceFile);
          if (!o)
            return true;
          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 ? true : t === 241 || t === 27 ? false : e.contextNode.kind === 265 || e.contextNode.kind === 266 ? !Vu(e.currentTokenParent) || !!e.currentTokenParent.type || t !== 21 : as(e.currentTokenParent) ? !e.currentTokenParent.initializer : e.currentTokenParent.kind !== 249 && e.currentTokenParent.kind !== 243 && e.currentTokenParent.kind !== 241 && t !== 23 && t !== 21 && t !== 40 && t !== 41 && t !== 44 && t !== 14 && t !== 28 && t !== 229 && t !== 16 && t !== 15 && t !== 25;
      }
      function OZe(e) {
        return j9(e.currentTokenSpan.end, e.currentTokenParent, e.sourceFile);
      }
      function LZe(e) {
        return !wn(e.contextNode) || !T_(e.contextNode.expression) || e.contextNode.expression.getText().includes(".");
      }
      function MZe(e, t) {
        return { options: e, getRules: RZe(), host: t };
      }
      var d_e;
      function RZe() {
        return d_e === void 0 && (d_e = BZe(_we())), d_e;
      }
      function jZe(e) {
        let t = 0;
        return e & 1 && (t |= 28), e & 2 && (t |= 96), e & 28 && (t |= 28), e & 96 && (t |= 96), t;
      }
      function BZe(e) {
        const t = JZe(e);
        return (n) => {
          const i = t[Fwe(n.currentTokenSpan.kind, n.nextTokenSpan.kind)];
          if (i) {
            const s = [];
            let o = 0;
            for (const c of i) {
              const _ = ~jZe(o);
              c.action & _ && Ni(c.context, (u) => u(n)) && (s.push(c), o |= c.action);
            }
            if (s.length)
              return s;
          }
        };
      }
      function JZe(e) {
        const t = new Array(m_e * m_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 _ = Fwe(o, c);
              let u = t[_];
              u === void 0 && (u = t[_] = []), zZe(u, i.rule, s, n, _);
            }
        }
        return t;
      }
      function Fwe(e, t) {
        return E.assert(e <= 166 && t <= 166, "Must compute formatting context from tokens"), e * m_e + t;
      }
      var Rw = 5, cG = 31, m_e = 167, NA = ((e) => (e[e.StopRulesSpecific = 0] = "StopRulesSpecific", e[e.StopRulesAny = Rw * 1] = "StopRulesAny", e[e.ContextRulesSpecific = Rw * 2] = "ContextRulesSpecific", e[e.ContextRulesAny = Rw * 3] = "ContextRulesAny", e[e.NoContextRulesSpecific = Rw * 4] = "NoContextRulesSpecific", e[e.NoContextRulesAny = Rw * 5] = "NoContextRulesAny", e))(NA || {});
      function zZe(e, t, n, i, s) {
        const o = t.action & 3 ? n ? 0 : NA.StopRulesAny : t.context !== sG ? n ? NA.ContextRulesSpecific : NA.ContextRulesAny : n ? NA.NoContextRulesSpecific : NA.NoContextRulesAny, c = i[s] || 0;
        e.splice(WZe(c, o), 0, t), i[s] = UZe(c, o);
      }
      function WZe(e, t) {
        let n = 0;
        for (let i = 0; i <= t; i += Rw)
          n += e & cG, e >>= Rw;
        return n;
      }
      function UZe(e, t) {
        const n = (e >> t & cG) + 1;
        return E.assert((n & cG) === n, "Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules."), e & ~(cG << t) | n << t;
      }
      function lG(e, t, n) {
        const i = { pos: e, end: t, kind: n };
        return E.isDebugging && Object.defineProperty(i, "__debugKind", {
          get: () => E.formatSyntaxKind(n)
        }), i;
      }
      function VZe(e, t, n) {
        const i = t.getLineAndCharacterOfPosition(e).line;
        if (i === 0)
          return [];
        let s = g3(i, t);
        for (; em(t.text.charCodeAt(s)); )
          s--;
        Su(t.text.charCodeAt(s)) && s--;
        const o = {
          // get start position for the previous line
          pos: Cy(i - 1, t),
          // end value is exclusive so add 1 to the result
          end: s + 1
        };
        return BL(
          o,
          t,
          n,
          2
          /* FormatOnEnter */
        );
      }
      function qZe(e, t, n) {
        const i = g_e(e, 27, t);
        return Owe(
          h_e(i),
          t,
          n,
          3
          /* FormatOnSemicolon */
        );
      }
      function HZe(e, t, n) {
        const i = g_e(e, 19, t);
        if (!i)
          return [];
        const s = i.parent, o = h_e(s), c = {
          pos: Wp(o.getStart(t), t),
          // TODO: GH#18217
          end: e
        };
        return BL(
          c,
          t,
          n,
          4
          /* FormatOnOpeningCurlyBrace */
        );
      }
      function GZe(e, t, n) {
        const i = g_e(e, 20, t);
        return Owe(
          h_e(i),
          t,
          n,
          5
          /* FormatOnClosingCurlyBrace */
        );
      }
      function $Ze(e, t) {
        const n = {
          pos: 0,
          end: e.text.length
        };
        return BL(
          n,
          e,
          t,
          0
          /* FormatDocument */
        );
      }
      function XZe(e, t, n, i) {
        const s = {
          pos: Wp(e, n),
          end: t
        };
        return BL(
          s,
          n,
          i,
          1
          /* FormatSelection */
        );
      }
      function g_e(e, t, n) {
        const i = ul(e, n);
        return i && i.kind === t && e === i.getEnd() ? i : void 0;
      }
      function h_e(e) {
        let t = e;
        for (; t && t.parent && t.parent.end === e.end && !QZe(t.parent, t); )
          t = t.parent;
        return t;
      }
      function QZe(e, t) {
        switch (e.kind) {
          case 264:
          case 265:
            return S_(e.members, t);
          case 268:
            const n = e.body;
            return !!n && n.kind === 269 && S_(n.statements, t);
          case 308:
          case 242:
          case 269:
            return S_(e.statements, t);
          case 300:
            return S_(e.block.statements, t);
        }
        return false;
      }
      function YZe(e, t) {
        return n(t);
        function n(i) {
          const s = Ts(i, (o) => _J(o.getStart(t), o.end, e) && o);
          if (s) {
            const o = n(s);
            if (o)
              return o;
          }
          return i;
        }
      }
      function ZZe(e, t) {
        if (!e.length)
          return s;
        const n = e.filter((o) => fw(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 false;
            const c = n[i];
            if (o.end <= c.start)
              return false;
            if (y9(o.pos, o.end, c.start, c.start + c.length))
              return true;
            i++;
          }
        };
        function s() {
          return false;
        }
      }
      function KZe(e, t, n) {
        const i = e.getStart(n);
        if (i === t.pos && e.end === t.end)
          return i;
        const s = ul(t.pos, n);
        return !s || s.end >= t.pos ? e.pos : s.end;
      }
      function eKe(e, t, n) {
        let i = -1, s;
        for (; e; ) {
          const o = n.getLineAndCharacterOfPosition(e.getStart(n)).line;
          if (i !== -1 && o !== i)
            break;
          if (km.shouldIndentChildNode(t, e, s, n))
            return t.indentSize;
          i = o, s = e, e = e.parent;
        }
        return 0;
      }
      function tKe(e, t, n, i, s, o) {
        const c = { pos: e.pos, end: e.end };
        return i_e(t.text, n, c.pos, c.end, (_) => Lwe(
          c,
          e,
          i,
          s,
          _,
          o,
          1,
          (u) => false,
          // assume that node does not have any errors
          t
        ));
      }
      function Owe(e, t, n, i) {
        if (!e)
          return [];
        const s = {
          pos: Wp(e.getStart(t), t),
          end: e.end
        };
        return BL(s, t, n, i);
      }
      function BL(e, t, n, i) {
        const s = YZe(e, t);
        return i_e(
          t.text,
          t.languageVariant,
          KZe(s, e, t),
          e.end,
          (o) => Lwe(
            e,
            s,
            km.getIndentationForNode(s, e, t, n.options),
            eKe(s, n.options, t),
            o,
            n,
            i,
            ZZe(t.parseDiagnostics, e),
            t
          )
        );
      }
      function Lwe(e, t, n, i, s, { options: o, getRules: c, host: _ }, u, g, m) {
        var h;
        const S = new cwe(m, u, o);
        let T, k, D, P, A, O = -1;
        const F = [];
        if (s.advance(), s.isOnToken()) {
          const ne = m.getLineAndCharacterOfPosition(t.getStart(m)).line;
          let Se = ne;
          Pf(t) && (Se = m.getLineAndCharacterOfPosition(iB(t, m)).line), _e(t, t, ne, Se, n, i);
        }
        const R = s.getCurrentLeadingTrivia();
        if (R) {
          const ne = km.nodeWillIndentChild(
            o,
            t,
            /*child*/
            void 0,
            m,
            /*indentByDefault*/
            false
          ) ? n + o.indentSize : n;
          K(
            R,
            ne,
            /*indentNextTokenOrTrivia*/
            true,
            (Se) => {
              ae(
                Se,
                m.getLineAndCharacterOfPosition(Se.pos),
                t,
                t,
                /*dynamicIndentation*/
                void 0
              ), ce(
                Se.pos,
                ne,
                /*lineAdded*/
                false
              );
            }
          ), o.trimTrailingWhitespace !== false && me(R);
        }
        if (k && s.getTokenFullStart() >= e.end) {
          const ne = s.isOnEOF() ? s.readEOFTokenRange() : s.isOnToken() ? s.readTokenInfo(t).token : void 0;
          if (ne && ne.pos === T) {
            const Se = ((h = ul(ne.end, m, t)) == null ? void 0 : h.parent) || D;
            se(
              ne,
              m.getLineAndCharacterOfPosition(ne.pos).line,
              Se,
              k,
              P,
              D,
              Se,
              /*dynamicIndentation*/
              void 0
            );
          }
        }
        return F;
        function B(ne, Se, ie, Ne, Ee) {
          if (fw(Ne, ne, Se) || B8(Ne, ne, Se)) {
            if (Ee !== -1)
              return Ee;
          } else {
            const Ce = m.getLineAndCharacterOfPosition(ne).line, Ve = Wp(ne, m), St = km.findFirstNonWhitespaceColumn(Ve, ne, m, o);
            if (Ce !== ie || ne === St) {
              const Bt = km.getBaseIndentation(o);
              return Bt > St ? Bt : St;
            }
          }
          return -1;
        }
        function U(ne, Se, ie, Ne, Ee, Ce) {
          const Ve = km.shouldIndentChildNode(o, ne) ? o.indentSize : 0;
          return Ce === Se ? {
            indentation: Se === A ? O : Ee.getIndentation(),
            delta: Math.min(o.indentSize, Ee.getDelta(ne) + Ve)
          } : ie === -1 ? ne.kind === 21 && Se === A ? { indentation: O, delta: Ee.getDelta(ne) } : km.childStartsOnTheSameLineWithElseInIfStatement(Ne, ne, Se, m) || km.childIsUnindentedBranchOfConditionalExpression(Ne, ne, Se, m) || km.argumentStartsOnSameLineAsPreviousArgument(Ne, ne, Se, m) ? { indentation: Ee.getIndentation(), delta: Ve } : { indentation: Ee.getIndentation() + Ee.getDelta(ne), delta: Ve } : { indentation: ie, delta: Ve };
        }
        function $(ne) {
          if (Jp(ne)) {
            const Se = Nn(ne.modifiers, Ys, ic(ne.modifiers, ol));
            if (Se) return Se.kind;
          }
          switch (ne.kind) {
            case 264:
              return 86;
            case 265:
              return 120;
            case 263:
              return 100;
            case 267:
              return 267;
            case 178:
              return 139;
            case 179:
              return 153;
            case 175:
              if (ne.asteriskToken)
                return 42;
            // falls through
            case 173:
            case 170:
              const Se = us(ne);
              if (Se)
                return Se.kind;
          }
        }
        function W(ne, Se, ie, Ne) {
          return {
            getIndentationForComment: (Ve, St, Bt) => {
              switch (Ve) {
                // preceding comment to the token that closes the indentation scope inherits the indentation from the scope
                // ..  {
                //     // comment
                // }
                case 20:
                case 24:
                case 22:
                  return ie + Ce(Bt);
              }
              return St !== -1 ? St : ie;
            },
            // 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: (Ve, St, Bt, tr) => !tr && Ee(Ve, St, Bt) ? ie + Ce(Bt) : ie,
            getIndentation: () => ie,
            getDelta: Ce,
            recomputeIndentation: (Ve, St) => {
              km.shouldIndentChildNode(o, St, ne, m) && (ie += Ve ? o.indentSize : -o.indentSize, Ne = km.shouldIndentChildNode(o, ne) ? o.indentSize : 0);
            }
          };
          function Ee(Ve, 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 false;
              case 44:
              case 32:
                switch (Bt.kind) {
                  case 287:
                  case 288:
                  case 286:
                    return false;
                }
                break;
              case 23:
              case 24:
                if (Bt.kind !== 201)
                  return false;
                break;
            }
            return Se !== Ve && !(Pf(ne) && St === $(ne));
          }
          function Ce(Ve) {
            return km.nodeWillIndentChild(
              o,
              ne,
              Ve,
              m,
              /*indentByDefault*/
              true
            ) ? Ne : 0;
          }
        }
        function _e(ne, Se, ie, Ne, Ee, Ce) {
          if (!fw(e, ne.getStart(m), ne.getEnd()))
            return;
          const Ve = W(ne, ie, Ee, Ce);
          let St = Se;
          for (Ts(
            ne,
            (st) => {
              Bt(
                st,
                /*inheritedIndentation*/
                -1,
                ne,
                Ve,
                ie,
                Ne,
                /*isListItem*/
                false
              );
            },
            (st) => {
              tr(st, ne, ie, Ve);
            }
          ); s.isOnToken() && s.getTokenFullStart() < e.end; ) {
            const st = s.readTokenInfo(ne);
            if (st.token.end > Math.min(ne.end, e.end))
              break;
            Nr(st, ne, Ve, ne);
          }
          function Bt(st, Wt, Jr, ui, Ji, Dt, Mn, ai) {
            if (E.assert(!ao(st)), ac(st) || qZ(Jr, st))
              return Wt;
            const fi = st.getStart(m), pn = m.getLineAndCharacterOfPosition(fi).line;
            let _i = pn;
            Pf(st) && (_i = m.getLineAndCharacterOfPosition(iB(st, m)).line);
            let Je = -1;
            if (Mn && S_(e, Jr) && (Je = B(fi, st.end, Ji, e, Wt), Je !== -1 && (Wt = Je)), !fw(e, st.pos, st.end))
              return st.end < e.pos && s.skipToEndOf(st), Wt;
            if (st.getFullWidth() === 0)
              return Wt;
            for (; s.isOnToken() && s.getTokenFullStart() < e.end; ) {
              const qr = s.readTokenInfo(ne);
              if (qr.token.end > e.end)
                return Wt;
              if (qr.token.end > fi) {
                qr.token.pos > fi && s.skipToStartOf(st);
                break;
              }
              Nr(qr, ne, ui, ne);
            }
            if (!s.isOnToken() || s.getTokenFullStart() >= e.end)
              return Wt;
            if (YT(st)) {
              const qr = s.readTokenInfo(st);
              if (st.kind !== 12)
                return E.assert(qr.token.end === st.end, "Token end is child end"), Nr(qr, ne, ui, st), Wt;
            }
            const ft = st.kind === 171 ? pn : Dt, er = U(st, pn, Je, ne, ui, ft);
            return _e(st, St, pn, _i, er.indentation, er.delta), St = ne, ai && Jr.kind === 210 && Wt === -1 && (Wt = er.indentation), Wt;
          }
          function tr(st, Wt, Jr, ui) {
            E.assert(hb(st)), E.assert(!ao(st));
            const Ji = rKe(Wt, st);
            let Dt = ui, Mn = Jr;
            if (!fw(e, st.pos, st.end)) {
              st.end < e.pos && s.skipToEndOf(st);
              return;
            }
            if (Ji !== 0)
              for (; s.isOnToken() && s.getTokenFullStart() < e.end; ) {
                const pn = s.readTokenInfo(Wt);
                if (pn.token.end > st.pos)
                  break;
                if (pn.token.kind === Ji) {
                  Mn = m.getLineAndCharacterOfPosition(pn.token.pos).line, Nr(pn, Wt, ui, Wt);
                  let _i;
                  if (O !== -1)
                    _i = O;
                  else {
                    const Je = Wp(pn.token.pos, m);
                    _i = km.findFirstNonWhitespaceColumn(Je, pn.token.pos, m, o);
                  }
                  Dt = W(Wt, Jr, _i, o.indentSize);
                } else
                  Nr(pn, Wt, ui, Wt);
              }
            let ai = -1;
            for (let pn = 0; pn < st.length; pn++) {
              const _i = st[pn];
              ai = Bt(
                _i,
                ai,
                ne,
                Dt,
                Mn,
                Mn,
                /*isListItem*/
                true,
                /*isFirstListItem*/
                pn === 0
              );
            }
            const fi = nKe(Ji);
            if (fi !== 0 && s.isOnToken() && s.getTokenFullStart() < e.end) {
              let pn = s.readTokenInfo(Wt);
              pn.token.kind === 28 && (Nr(pn, Wt, Dt, Wt), pn = s.isOnToken() ? s.readTokenInfo(Wt) : void 0), pn && pn.token.kind === fi && S_(Wt, pn.token) && Nr(
                pn,
                Wt,
                Dt,
                Wt,
                /*isListEndToken*/
                true
              );
            }
          }
          function Nr(st, Wt, Jr, ui, Ji) {
            E.assert(S_(Wt, st.token));
            const Dt = s.lastTrailingTriviaWasNewLine();
            let Mn = false;
            st.leadingTrivia && V(st.leadingTrivia, Wt, St, Jr);
            let ai = 0;
            const fi = S_(e, st.token), pn = m.getLineAndCharacterOfPosition(st.token.pos);
            if (fi) {
              const _i = g(st.token), Je = k;
              if (ai = ae(st.token, pn, Wt, St, Jr), !_i)
                if (ai === 0) {
                  const ft = Je && m.getLineAndCharacterOfPosition(Je.end).line;
                  Mn = Dt && pn.line !== ft;
                } else
                  Mn = ai === 1;
            }
            if (st.trailingTrivia && (T = fa(st.trailingTrivia).end, V(st.trailingTrivia, Wt, St, Jr)), Mn) {
              const _i = fi && !g(st.token) ? Jr.getIndentationForToken(pn.line, st.token.kind, ui, !!Ji) : -1;
              let Je = true;
              if (st.leadingTrivia) {
                const ft = Jr.getIndentationForComment(st.token.kind, _i, ui);
                Je = K(st.leadingTrivia, ft, Je, (er) => ce(
                  er.pos,
                  ft,
                  /*lineAdded*/
                  false
                ));
              }
              _i !== -1 && Je && (ce(
                st.token.pos,
                _i,
                ai === 1
                /* LineAdded */
              ), A = pn.line, O = _i);
            }
            s.advance(), St = Wt;
          }
        }
        function K(ne, Se, ie, Ne) {
          for (const Ee of ne) {
            const Ce = S_(e, Ee);
            switch (Ee.kind) {
              case 3:
                Ce && q(
                  Ee,
                  Se,
                  /*firstLineIsIndented*/
                  !ie
                ), ie = false;
                break;
              case 2:
                ie && Ce && Ne(Ee), ie = false;
                break;
              case 4:
                ie = true;
                break;
            }
          }
          return ie;
        }
        function V(ne, Se, ie, Ne) {
          for (const Ee of ne)
            if (C9(Ee.kind) && S_(e, Ee)) {
              const Ce = m.getLineAndCharacterOfPosition(Ee.pos);
              ae(Ee, Ce, Se, ie, Ne);
            }
        }
        function ae(ne, Se, ie, Ne, Ee) {
          const Ce = g(ne);
          let Ve = 0;
          if (!Ce)
            if (k)
              Ve = se(ne, Se.line, ie, k, P, D, Ne, Ee);
            else {
              const St = m.getLineAndCharacterOfPosition(e.pos);
              be(St.line, Se.line);
            }
          return k = ne, T = ne.end, D = ie, P = Se.line, Ve;
        }
        function se(ne, Se, ie, Ne, Ee, Ce, Ve, St) {
          S.updateContext(Ne, Ce, ne, ie, Ve);
          const Bt = c(S);
          let tr = S.options.trimTrailingWhitespace !== false, Nr = 0;
          return Bt ? $X(Bt, (st) => {
            if (Nr = Ye(st, Ne, Ee, ne, Se), St)
              switch (Nr) {
                case 2:
                  ie.getStart(m) === ne.pos && St.recomputeIndentation(
                    /*lineAddedByFormatting*/
                    false,
                    Ve
                  );
                  break;
                case 1:
                  ie.getStart(m) === ne.pos && St.recomputeIndentation(
                    /*lineAddedByFormatting*/
                    true,
                    Ve
                  );
                  break;
                default:
                  E.assert(
                    Nr === 0
                    /* None */
                  );
              }
            tr = tr && !(st.action & 16) && st.flags !== 1;
          }) : tr = tr && ne.kind !== 1, Se !== Ee && tr && be(Ee, Se, Ne), Nr;
        }
        function ce(ne, Se, ie) {
          const Ne = y_e(Se, o);
          if (ie)
            Te(ne, 0, Ne);
          else {
            const Ee = m.getLineAndCharacterOfPosition(ne), Ce = Cy(Ee.line, m);
            (Se !== fe(Ce, Ee.character) || he(Ne, Ce)) && Te(Ce, Ee.character, Ne);
          }
        }
        function fe(ne, Se) {
          let ie = 0;
          for (let Ne = 0; Ne < Se; Ne++)
            m.text.charCodeAt(ne + Ne) === 9 ? ie += o.tabSize - ie % o.tabSize : ie++;
          return ie;
        }
        function he(ne, Se) {
          return ne !== m.text.substr(Se, ne.length);
        }
        function q(ne, Se, ie, Ne = true) {
          let Ee = m.getLineAndCharacterOfPosition(ne.pos).line;
          const Ce = m.getLineAndCharacterOfPosition(ne.end).line;
          if (Ee === Ce) {
            ie || ce(
              ne.pos,
              Se,
              /*lineAdded*/
              false
            );
            return;
          }
          const Ve = [];
          let St = ne.pos;
          for (let Wt = Ee; Wt < Ce; Wt++) {
            const Jr = g3(Wt, m);
            Ve.push({ pos: St, end: Jr }), St = Cy(Wt + 1, m);
          }
          if (Ne && Ve.push({ pos: St, end: ne.end }), Ve.length === 0) return;
          const Bt = Cy(Ee, m), tr = km.findFirstNonWhitespaceCharacterAndColumn(Bt, Ve[0].pos, m, o);
          let Nr = 0;
          ie && (Nr = 1, Ee++);
          const st = Se - tr.column;
          for (let Wt = Nr; Wt < Ve.length; Wt++, Ee++) {
            const Jr = Cy(Ee, m), ui = Wt === 0 ? tr : km.findFirstNonWhitespaceCharacterAndColumn(Ve[Wt].pos, Ve[Wt].end, m, o), Ji = ui.column + st;
            if (Ji > 0) {
              const Dt = y_e(Ji, o);
              Te(Jr, ui.character, Dt);
            } else
              pe(Jr, ui.character);
          }
        }
        function be(ne, Se, ie) {
          for (let Ne = ne; Ne < Se; Ne++) {
            const Ee = Cy(Ne, m), Ce = g3(Ne, m);
            if (ie && (C9(ie.kind) || IV(ie.kind)) && ie.pos <= Ce && ie.end > Ce)
              continue;
            const Ve = je(Ee, Ce);
            Ve !== -1 && (E.assert(Ve === Ee || !em(m.text.charCodeAt(Ve - 1))), pe(Ve, Ce + 1 - Ve));
          }
        }
        function je(ne, Se) {
          let ie = Se;
          for (; ie >= ne && em(m.text.charCodeAt(ie)); )
            ie--;
          return ie !== Se ? ie + 1 : -1;
        }
        function me(ne) {
          let Se = k ? k.end : e.pos;
          for (const ie of ne)
            C9(ie.kind) && (Se < ie.pos && Z(Se, ie.pos - 1, k), Se = ie.end + 1);
          Se < e.end && Z(Se, e.end, k);
        }
        function Z(ne, Se, ie) {
          const Ne = m.getLineAndCharacterOfPosition(ne).line, Ee = m.getLineAndCharacterOfPosition(Se).line;
          be(Ne, Ee + 1, ie);
        }
        function pe(ne, Se) {
          Se && F.push(D9(ne, Se, ""));
        }
        function Te(ne, Se, ie) {
          (Se || ie) && F.push(D9(ne, Se, ie));
        }
        function Fe(ne, Se) {
          F.push(D9(ne, 0, Se));
        }
        function Ye(ne, Se, ie, Ne, Ee) {
          const Ce = Ee !== ie;
          switch (ne.action) {
            case 1:
              return 0;
            case 16:
              if (Se.end !== Ne.pos)
                return pe(Se.end, Ne.pos - Se.end), Ce ? 2 : 0;
              break;
            case 32:
              pe(Se.pos, Se.end - Se.pos);
              break;
            case 8:
              if (ne.flags !== 1 && ie !== Ee)
                return 0;
              if (Ee - ie !== 1)
                return Te(Se.end, Ne.pos - Se.end, wh(_, o)), Ce ? 0 : 1;
              break;
            case 4:
              if (ne.flags !== 1 && ie !== Ee)
                return 0;
              if (Ne.pos - Se.end !== 1 || m.text.charCodeAt(Se.end) !== 32)
                return Te(Se.end, Ne.pos - Se.end, " "), Ce ? 2 : 0;
              break;
            case 64:
              Fe(Se.end, ";");
          }
          return 0;
        }
      }
      function Mwe(e, t, n, i = vi(e, t)) {
        const s = dr(i, Nd);
        if (s && (i = s.parent), i.getStart(e) <= t && t < i.getEnd())
          return;
        n = n === null ? void 0 : n === void 0 ? ul(t, e) : n;
        const c = n && gy(e.text, n.end), _ = hB(i, e), u = Bi(c, _);
        return u && Nn(u, (g) => j8(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 rKe(e, t) {
        switch (e.kind) {
          case 177:
          case 263:
          case 219:
          case 175:
          case 174:
          case 220:
          case 180:
          case 181:
          case 185:
          case 186:
          case 178:
          case 179:
            if (e.typeParameters === t)
              return 30;
            if (e.parameters === t)
              return 21;
            break;
          case 214:
          case 215:
            if (e.typeArguments === t)
              return 30;
            if (e.arguments === t)
              return 21;
            break;
          case 264:
          case 232:
          case 265:
          case 266:
            if (e.typeParameters === t)
              return 30;
            break;
          case 184:
          case 216:
          case 187:
          case 234:
          case 206:
            if (e.typeArguments === t)
              return 30;
            break;
          case 188:
            return 19;
        }
        return 0;
      }
      function nKe(e) {
        switch (e) {
          case 21:
            return 22;
          case 30:
            return 32;
          case 19:
            return 20;
        }
        return 0;
      }
      var uG, AA, IA;
      function y_e(e, t) {
        if ((!uG || uG.tabSize !== t.tabSize || uG.indentSize !== t.indentSize) && (uG = { tabSize: t.tabSize, indentSize: t.indentSize }, AA = IA = void 0), t.convertTabsToSpaces) {
          let i;
          const s = Math.floor(e / t.indentSize), o = e % t.indentSize;
          return IA || (IA = []), IA[s] === void 0 ? (i = U8(" ", t.indentSize * s), IA[s] = i) : i = IA[s], o ? i + U8(" ", o) : i;
        } else {
          const i = Math.floor(e / t.tabSize), s = e - i * t.tabSize;
          let o;
          return AA || (AA = []), AA[i] === void 0 ? AA[i] = o = U8("	", i) : o = AA[i], s ? o + U8(" ", s) : o;
        }
      }
      var km;
      ((e) => {
        let t;
        ((q) => {
          q[q.Unknown = -1] = "Unknown";
        })(t || (t = {}));
        function n(q, be, je, me = false) {
          if (q > be.text.length)
            return _(je);
          if (je.indentStyle === 0)
            return 0;
          const Z = ul(
            q,
            be,
            /*startNode*/
            void 0,
            /*excludeJsdoc*/
            true
          ), pe = Mwe(be, q, Z || null);
          if (pe && pe.kind === 3)
            return i(be, q, je, pe);
          if (!Z)
            return _(je);
          if (IV(Z.kind) && Z.getStart(be) <= q && q < Z.end)
            return 0;
          const Fe = be.getLineAndCharacterOfPosition(q).line, Ye = vi(be, q), ne = Ye.kind === 19 && Ye.parent.kind === 211;
          if (je.indentStyle === 1 || ne)
            return s(be, q, je);
          if (Z.kind === 28 && Z.parent.kind !== 227) {
            const ie = m(Z, be, je);
            if (ie !== -1)
              return ie;
          }
          const Se = R(q, Z.parent, be);
          if (Se && !S_(Se, Z)) {
            const Ne = [
              219,
              220
              /* ArrowFunction */
            ].includes(Ye.parent.kind) ? 0 : je.indentSize;
            return $(Se, be, je) + Ne;
          }
          return o(be, q, Z, Fe, me, je);
        }
        e.getIndentation = n;
        function i(q, be, je, me) {
          const Z = Rs(q, be).line - 1, pe = Rs(q, me.pos).line;
          if (E.assert(pe >= 0), Z <= pe)
            return ae(Cy(pe, q), be, q, je);
          const Te = Cy(Z, q), { column: Fe, character: Ye } = V(Te, be, q, je);
          return Fe === 0 ? Fe : q.text.charCodeAt(Te + Ye) === 42 ? Fe - 1 : Fe;
        }
        function s(q, be, je) {
          let me = be;
          for (; me > 0; ) {
            const pe = q.text.charCodeAt(me);
            if (!bg(pe))
              break;
            me--;
          }
          const Z = Wp(me, q);
          return ae(Z, me, q, je);
        }
        function o(q, be, je, me, Z, pe) {
          let Te, Fe = je;
          for (; Fe; ) {
            if (CV(Fe, be, q) && fe(
              pe,
              Fe,
              Te,
              q,
              /*isNextChild*/
              true
            )) {
              const ne = k(Fe, q), Se = T(je, Fe, me, q), ie = Se !== 0 ? Z && Se === 2 ? pe.indentSize : 0 : me !== ne.line ? pe.indentSize : 0;
              return u(
                Fe,
                ne,
                /*ignoreActualIndentationRange*/
                void 0,
                ie,
                q,
                /*isNextChild*/
                true,
                pe
              );
            }
            const Ye = W(
              Fe,
              q,
              pe,
              /*listIndentsChild*/
              true
            );
            if (Ye !== -1)
              return Ye;
            Te = Fe, Fe = Fe.parent;
          }
          return _(pe);
        }
        function c(q, be, je, me) {
          const Z = je.getLineAndCharacterOfPosition(q.getStart(je));
          return u(
            q,
            Z,
            be,
            /*indentationDelta*/
            0,
            je,
            /*isNextChild*/
            false,
            me
          );
        }
        e.getIndentationForNode = c;
        function _(q) {
          return q.baseIndentSize || 0;
        }
        e.getBaseIndentation = _;
        function u(q, be, je, me, Z, pe, Te) {
          var Fe;
          let Ye = q.parent;
          for (; Ye; ) {
            let ne = true;
            if (je) {
              const Ee = q.getStart(Z);
              ne = Ee < je.pos || Ee > je.end;
            }
            const Se = g(Ye, q, Z), ie = Se.line === be.line || P(Ye, q, be.line, Z);
            if (ne) {
              const Ee = (Fe = F(q, Z)) == null ? void 0 : Fe[0], Ce = !!Ee && k(Ee, Z).line > Se.line;
              let Ve = W(q, Z, Te, Ce);
              if (Ve !== -1 || (Ve = h(q, Ye, be, ie, Z, Te), Ve !== -1))
                return Ve + me;
            }
            fe(Te, Ye, q, Z, pe) && !ie && (me += Te.indentSize);
            const Ne = D(Ye, q, be.line, Z);
            q = Ye, Ye = q.parent, be = Ne ? Z.getLineAndCharacterOfPosition(q.getStart(Z)) : Se;
          }
          return me + _(Te);
        }
        function g(q, be, je) {
          const me = F(be, je), Z = me ? me.pos : q.getStart(je);
          return je.getLineAndCharacterOfPosition(Z);
        }
        function m(q, be, je) {
          const me = Zse(q);
          return me && me.listItemIndex > 0 ? _e(me.list.getChildren(), me.listItemIndex - 1, be, je) : -1;
        }
        function h(q, be, je, me, Z, pe) {
          return (Cl(q) || f3(q)) && (be.kind === 308 || !me) ? K(je, Z, pe) : -1;
        }
        let S;
        ((q) => {
          q[q.Unknown = 0] = "Unknown", q[q.OpenBrace = 1] = "OpenBrace", q[q.CloseBrace = 2] = "CloseBrace";
        })(S || (S = {}));
        function T(q, be, je, me) {
          const Z = r2(q, be, me);
          if (!Z)
            return 0;
          if (Z.kind === 19)
            return 1;
          if (Z.kind === 20) {
            const pe = k(Z, me).line;
            return je === pe ? 2 : 0;
          }
          return 0;
        }
        function k(q, be) {
          return be.getLineAndCharacterOfPosition(q.getStart(be));
        }
        function D(q, be, je, me) {
          if (!(ws(q) && ds(q.arguments, be)))
            return false;
          const Z = q.expression.getEnd();
          return Rs(me, Z).line === je;
        }
        e.isArgumentAndStartLineOverlapsExpressionBeingCalled = D;
        function P(q, be, je, me) {
          if (q.kind === 246 && q.elseStatement === be) {
            const Z = $a(q, 93, me);
            return E.assert(Z !== void 0), k(Z, me).line === je;
          }
          return false;
        }
        e.childStartsOnTheSameLineWithElseInIfStatement = P;
        function A(q, be, je, me) {
          if (vS(q) && (be === q.whenTrue || be === q.whenFalse)) {
            const Z = Rs(me, q.condition.end).line;
            if (be === q.whenTrue)
              return je === Z;
            {
              const pe = k(q.whenTrue, me).line, Te = Rs(me, q.whenTrue.end).line;
              return Z === pe && Te === je;
            }
          }
          return false;
        }
        e.childIsUnindentedBranchOfConditionalExpression = A;
        function O(q, be, je, me) {
          if (tm(q)) {
            if (!q.arguments) return false;
            const Z = Nn(q.arguments, (Ye) => Ye.pos === be.pos);
            if (!Z) return false;
            const pe = q.arguments.indexOf(Z);
            if (pe === 0) return false;
            const Te = q.arguments[pe - 1], Fe = Rs(me, Te.getEnd()).line;
            if (je === Fe)
              return true;
          }
          return false;
        }
        e.argumentStartsOnSameLineAsPreviousArgument = O;
        function F(q, be) {
          return q.parent && B(q.getStart(be), q.getEnd(), q.parent, be);
        }
        e.getContainingList = F;
        function R(q, be, je) {
          return be && B(q, q, be, je);
        }
        function B(q, be, je, me) {
          switch (je.kind) {
            case 184:
              return Z(je.typeArguments);
            case 211:
              return Z(je.properties);
            case 210:
              return Z(je.elements);
            case 188:
              return Z(je.members);
            case 263:
            case 219:
            case 220:
            case 175:
            case 174:
            case 180:
            case 177:
            case 186:
            case 181:
              return Z(je.typeParameters) || Z(je.parameters);
            case 178:
              return Z(je.parameters);
            case 264:
            case 232:
            case 265:
            case 266:
            case 346:
              return Z(je.typeParameters);
            case 215:
            case 214:
              return Z(je.typeArguments) || Z(je.arguments);
            case 262:
              return Z(je.declarations);
            case 276:
            case 280:
              return Z(je.elements);
            case 207:
            case 208:
              return Z(je.elements);
          }
          function Z(pe) {
            return pe && B8(U(je, pe, me), q, be) ? pe : void 0;
          }
        }
        function U(q, be, je) {
          const me = q.getChildren(je);
          for (let Z = 1; Z < me.length - 1; Z++)
            if (me[Z].pos === be.pos && me[Z].end === be.end)
              return { pos: me[Z - 1].end, end: me[Z + 1].getStart(je) };
          return be;
        }
        function $(q, be, je) {
          return q ? K(be.getLineAndCharacterOfPosition(q.pos), be, je) : -1;
        }
        function W(q, be, je, me) {
          if (q.parent && q.parent.kind === 262)
            return -1;
          const Z = F(q, be);
          if (Z) {
            const pe = Z.indexOf(q);
            if (pe !== -1) {
              const Te = _e(Z, pe, be, je);
              if (Te !== -1)
                return Te;
            }
            return $(Z, be, je) + (me ? je.indentSize : 0);
          }
          return -1;
        }
        function _e(q, be, je, me) {
          E.assert(be >= 0 && be < q.length);
          const Z = q[be];
          let pe = k(Z, je);
          for (let Te = be - 1; Te >= 0; Te--) {
            if (q[Te].kind === 28)
              continue;
            if (je.getLineAndCharacterOfPosition(q[Te].end).line !== pe.line)
              return K(pe, je, me);
            pe = k(q[Te], je);
          }
          return -1;
        }
        function K(q, be, je) {
          const me = be.getPositionOfLineAndCharacter(q.line, 0);
          return ae(me, me + q.character, be, je);
        }
        function V(q, be, je, me) {
          let Z = 0, pe = 0;
          for (let Te = q; Te < be; Te++) {
            const Fe = je.text.charCodeAt(Te);
            if (!em(Fe))
              break;
            Fe === 9 ? pe += me.tabSize + pe % me.tabSize : pe++, Z++;
          }
          return { column: pe, character: Z };
        }
        e.findFirstNonWhitespaceCharacterAndColumn = V;
        function ae(q, be, je, me) {
          return V(q, be, je, me).column;
        }
        e.findFirstNonWhitespaceColumn = ae;
        function se(q, be, je, me, Z) {
          const pe = je ? je.kind : 0;
          switch (be.kind) {
            case 245:
            case 264:
            case 232:
            case 265:
            case 267:
            case 266:
            case 210:
            case 242:
            case 269:
            case 211:
            case 188:
            case 201:
            case 190:
            case 218:
            case 212:
            case 214:
            case 215:
            case 244:
            case 278:
            case 254:
            case 228:
            case 208:
            case 207:
            case 287:
            case 290:
            case 286:
            case 295:
            case 174:
            case 180:
            case 181:
            case 170:
            case 185:
            case 186:
            case 197:
            case 216:
            case 224:
            case 280:
            case 276:
            case 282:
            case 277:
            case 173:
            case 297:
            case 298:
              return true;
            case 270:
              return q.indentSwitchCase ?? true;
            case 261:
            case 304:
            case 227:
              if (!q.indentMultiLineObjectLiteralBeginningOnBlankLine && me && pe === 211)
                return he(me, je);
              if (be.kind === 227 && me && je && pe === 285) {
                const Te = me.getLineAndCharacterOfPosition(aa(me.text, be.pos)).line, Fe = me.getLineAndCharacterOfPosition(aa(me.text, je.pos)).line;
                return Te !== Fe;
              }
              if (be.kind !== 227)
                return true;
              break;
            case 247:
            case 248:
            case 250:
            case 251:
            case 249:
            case 246:
            case 263:
            case 219:
            case 175:
            case 177:
            case 178:
            case 179:
              return pe !== 242;
            case 220:
              return me && pe === 218 ? he(me, je) : pe !== 242;
            case 279:
              return pe !== 280;
            case 273:
              return pe !== 274 || !!je.namedBindings && je.namedBindings.kind !== 276;
            case 285:
              return pe !== 288;
            case 289:
              return pe !== 291;
            case 194:
            case 193:
            case 239:
              if (pe === 188 || pe === 190 || pe === 201)
                return false;
              break;
            case 259:
              if (pe === 242)
                return false;
              break;
          }
          return Z;
        }
        e.nodeWillIndentChild = se;
        function ce(q, be) {
          switch (q) {
            case 254:
            case 258:
            case 252:
            case 253:
              return be.kind !== 242;
            default:
              return false;
          }
        }
        function fe(q, be, je, me, Z = false) {
          return se(
            q,
            be,
            je,
            me,
            /*indentByDefault*/
            false
          ) && !(Z && je && ce(je.kind, be));
        }
        e.shouldIndentChildNode = fe;
        function he(q, be) {
          const je = aa(q.text, be.pos), me = q.getLineAndCharacterOfPosition(je).line, Z = q.getLineAndCharacterOfPosition(be.end).line;
          return me === Z;
        }
      })(km || (km = {}));
      var _G = {};
      Ec(_G, {
        preparePasteEdits: () => iKe
      });
      function iKe(e, t, n) {
        let i = false;
        return t.forEach((s) => {
          const o = dr(
            vi(e, s.pos),
            (c) => S_(c, s)
          );
          o && Ts(o, function c(_) {
            var u;
            if (!i) {
              if (Me(_) && J6(s, _.getStart(e))) {
                const g = n.resolveName(
                  _.text,
                  _,
                  -1,
                  /*excludeGlobals*/
                  false
                );
                if (g && g.declarations) {
                  for (const m of g.declarations)
                    if (Wq(m) || _.text && e.symbol && ((u = e.symbol.exports) != null && u.has(_.escapedText))) {
                      i = true;
                      return;
                    }
                }
              }
              _.forEachChild(c);
            }
          });
        }), i;
      }
      var fG = {};
      Ec(fG, {
        pasteEditsProvider: () => aKe
      });
      var sKe = "providePostPasteEdits";
      function aKe(e, t, n, i, s, o, c, _) {
        return { edits: cn.ChangeTracker.with({ host: s, formatContext: c, preferences: o }, (g) => oKe(e, t, n, i, s, o, c, _, g)), fixId: sKe };
      }
      function oKe(e, t, n, i, s, o, c, _, u) {
        let g;
        t.length !== n.length && (g = t.length === 1 ? t[0] : t.join(wh(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 = Nu.createImportAdder(D, T, o, s), i?.range) {
            E.assert(i.range.length === t.length), i.range.forEach((R) => {
              const B = i.file.statements, U = ic(B, (W) => W.end > R.pos);
              if (U === -1) return;
              let $ = ic(B, (W) => W.end >= R.end, U);
              $ !== -1 && R.end <= B[$].getStart() && $--, m.push(...B.slice(U, $ === -1 ? B.length : $ + 1));
            }), E.assertIsDefined(k, "no original program found");
            const P = k.getTypeChecker(), A = cKe(i), O = rL(i.file, m, P, Loe(D, m, P), A), F = !dq(e.fileName, k, s, !!i.file.commonJsModuleIndicator);
            Doe(i.file, O.targetFileImportsFromOldFile, u, F), Roe(i.file, O.oldImportsNeededByTargetFile, O.targetFileImportsFromOldFile, P, T, S);
          } else {
            const P = {
              sourceFile: D,
              program: k,
              cancellationToken: _,
              host: s,
              preferences: o,
              formatContext: c
            };
            let A = 0;
            n.forEach((O, F) => {
              const R = O.end - O.pos, B = g ?? t[F], U = O.pos + A, $ = U + B.length, W = { pos: U, end: $ };
              A += B.length - R;
              const _e = dr(
                vi(P.sourceFile, W.pos),
                (K) => S_(K, W)
              );
              _e && Ts(_e, function K(V) {
                if (Me(V) && J6(W, V.getStart(D)) && !T?.getTypeChecker().resolveName(
                  V.text,
                  V,
                  -1,
                  /*excludeGlobals*/
                  false
                ))
                  return S.addImportForUnresolvedIdentifier(
                    P,
                    V,
                    /*useAutoImportProvider*/
                    true
                  );
                V.forEachChild(K);
              });
            });
          }
          S.writeFixes(u, of(i ? i.file : e, o));
        }), S.hasFixes() && n.forEach((T, k) => {
          u.replaceRangeWithText(
            e,
            { pos: T.pos, end: T.end },
            g ?? t[k]
          );
        });
      }
      function cKe({ file: e, range: t }) {
        const n = t[0].pos, i = t[t.length - 1].end, s = vi(e, n), o = pw(e, n) ?? vi(e, i);
        return {
          pos: Me(s) && n <= s.getStart(e) ? s.getFullStart() : n,
          end: Me(o) && i === o.getEnd() ? cn.getAdjustedEndPosition(e, o, {}) : i
        };
      }
      var Rwe = {};
      Ec(Rwe, {
        ANONYMOUS: () => iq,
        AccessFlags: () => QQ,
        AssertionLevel: () => aQ,
        AssignmentDeclarationKind: () => sY,
        AssignmentKind: () => AK,
        Associativity: () => BK,
        BreakpointResolver: () => rH,
        BuilderFileEmit: () => Oie,
        BuilderProgramKind: () => Wie,
        BuilderState: () => Id,
        CallHierarchy: () => uk,
        CharacterCodes: () => gY,
        CheckFlags: () => HQ,
        CheckMode: () => DW,
        ClassificationType: () => mV,
        ClassificationTypeNames: () => Vse,
        CommentDirectiveType: () => AQ,
        Comparison: () => GX,
        CompletionInfoFlags: () => Rse,
        CompletionTriggerKind: () => pV,
        Completions: () => mk,
        ContainerFlags: () => dne,
        ContextFlags: () => jQ,
        Debug: () => E,
        DiagnosticCategory: () => r7,
        Diagnostics: () => p,
        DocumentHighlights: () => Y9,
        ElementFlags: () => XQ,
        EmitFlags: () => uj,
        EmitHint: () => bY,
        EmitOnly: () => FQ,
        EndOfLineState: () => Jse,
        ExitStatus: () => OQ,
        ExportKind: () => Oae,
        Extension: () => hY,
        ExternalEmitHelpers: () => vY,
        FileIncludeKind: () => ej,
        FilePreprocessingDiagnosticsKind: () => IQ,
        FileSystemEntryKind: () => PY,
        FileWatcherEventKind: () => EY,
        FindAllReferences: () => So,
        FlattenLevel: () => Mne,
        FlowFlags: () => t7,
        ForegroundColorEscapeSequences: () => kie,
        FunctionFlags: () => RK,
        GeneratedIdentifierFlags: () => KR,
        GetLiteralTextFlags: () => $Z,
        GoToDefinition: () => eE,
        HighlightSpanKind: () => Lse,
        IdentifierNameMap: () => N6,
        ImportKind: () => Fae,
        ImportsNotUsedAsValues: () => _Y,
        IndentStyle: () => Mse,
        IndexFlags: () => YQ,
        IndexKind: () => eY,
        InferenceFlags: () => nY,
        InferencePriority: () => rY,
        InlayHintKind: () => Ose,
        InlayHints: () => GH,
        InternalEmitFlags: () => yY,
        InternalNodeBuilderFlags: () => JQ,
        InternalSymbolName: () => GQ,
        IntersectionFlags: () => RQ,
        InvalidatedProjectKind: () => _se,
        JSDocParsingMode: () => CY,
        JsDoc: () => Sv,
        JsTyping: () => Qy,
        JsxEmit: () => uY,
        JsxFlags: () => DQ,
        JsxReferenceKind: () => ZQ,
        LanguageFeatureMinimumTarget: () => Tl,
        LanguageServiceMode: () => Ise,
        LanguageVariant: () => dY,
        LexicalEnvironmentFlags: () => TY,
        ListFormat: () => xY,
        LogLevel: () => gQ,
        MapCode: () => $H,
        MemberOverrideStatus: () => LQ,
        ModifierFlags: () => YR,
        ModuleDetectionKind: () => aY,
        ModuleInstanceState: () => fne,
        ModuleKind: () => hC,
        ModuleResolutionKind: () => gC,
        ModuleSpecifierEnding: () => Lee,
        NavigateTo: () => ioe,
        NavigationBar: () => aoe,
        NewLineKind: () => fY,
        NodeBuilderFlags: () => BQ,
        NodeCheckFlags: () => nj,
        NodeFactoryFlags: () => fte,
        NodeFlags: () => QR,
        NodeResolutionFeatures: () => rne,
        ObjectFlags: () => sj,
        OperationCanceledException: () => a4,
        OperatorPrecedence: () => JK,
        OrganizeImports: () => Tv,
        OrganizeImportsMode: () => fV,
        OuterExpressionKinds: () => SY,
        OutliningElementsCollector: () => QH,
        OutliningSpanKind: () => jse,
        OutputFileType: () => Bse,
        PackageJsonAutoImportPreference: () => Ase,
        PackageJsonDependencyGroup: () => Nse,
        PatternMatchKind: () => xq,
        PollingInterval: () => _j,
        PollingWatchKind: () => lY,
        PragmaKindFlags: () => kY,
        PredicateSemantics: () => wQ,
        PreparePasteEdits: () => _G,
        PrivateIdentifierKind: () => Tte,
        ProcessLevel: () => Jne,
        ProgramUpdateLevel: () => vie,
        QuotePreference: () => fae,
        RegularExpressionFlags: () => PQ,
        RelationComparisonResult: () => ZR,
        Rename: () => OL,
        ScriptElementKind: () => Wse,
        ScriptElementKindModifier: () => Use,
        ScriptKind: () => oj,
        ScriptSnapshot: () => l9,
        ScriptTarget: () => pY,
        SemanticClassificationFormat: () => Fse,
        SemanticMeaning: () => qse,
        SemicolonPreference: () => dV,
        SignatureCheckMode: () => wW,
        SignatureFlags: () => aj,
        SignatureHelp: () => kA,
        SignatureInfo: () => Fie,
        SignatureKind: () => KQ,
        SmartSelectionRange: () => KH,
        SnippetKind: () => lj,
        StatisticType: () => bse,
        StructureIsReused: () => tj,
        SymbolAccessibility: () => UQ,
        SymbolDisplay: () => P0,
        SymbolDisplayPartKind: () => _9,
        SymbolFlags: () => rj,
        SymbolFormatFlags: () => WQ,
        SyntaxKind: () => XR,
        Ternary: () => iY,
        ThrottledCancellationToken: () => dce,
        TokenClass: () => zse,
        TokenFlags: () => NQ,
        TransformFlags: () => cj,
        TypeFacts: () => EW,
        TypeFlags: () => ij,
        TypeFormatFlags: () => zQ,
        TypeMapKind: () => tY,
        TypePredicateKind: () => VQ,
        TypeReferenceSerializationKind: () => qQ,
        UnionReduction: () => MQ,
        UpToDateStatusType: () => ise,
        VarianceFlags: () => $Q,
        Version: () => vd,
        VersionRange: () => e7,
        WatchDirectoryFlags: () => mY,
        WatchDirectoryKind: () => cY,
        WatchFileKind: () => oY,
        WatchLogLevel: () => Sie,
        WatchType: () => Pl,
        accessPrivateIdentifier: () => Lne,
        addEmitFlags: () => fm,
        addEmitHelper: () => Ax,
        addEmitHelpers: () => Rg,
        addInternalEmitFlags: () => pS,
        addNodeFactoryPatcher: () => e0e,
        addObjectAllocatorPatcher: () => jhe,
        addRange: () => In,
        addRelatedInfo: () => Js,
        addSyntheticLeadingComment: () => jy,
        addSyntheticTrailingComment: () => TD,
        addToSeen: () => Mp,
        advancedAsyncSuperHelper: () => vF,
        affectsDeclarationPathOptionDeclarations: () => Dre,
        affectsEmitOptionDeclarations: () => Ere,
        allKeysStartWithDot: () => pO,
        altDirectorySeparator: () => a7,
        and: () => YI,
        append: () => Er,
        appendIfUnique: () => lh,
        arrayFrom: () => ns,
        arrayIsEqualTo: () => yf,
        arrayIsHomogeneous: () => Uee,
        arrayOf: () => rQ,
        arrayReverseIterator: () => wR,
        arrayToMap: () => fC,
        arrayToMultiMap: () => MP,
        arrayToNumericMap: () => iQ,
        assertType: () => dge,
        assign: () => B2,
        asyncSuperHelper: () => yF,
        attachFileToDiagnostics: () => Tx,
        base64decode: () => oee,
        base64encode: () => aee,
        binarySearch: () => cy,
        binarySearchKey: () => zT,
        bindSourceFile: () => mne,
        breakIntoCharacterSpans: () => Qae,
        breakIntoWordSpans: () => Yae,
        buildLinkParts: () => bae,
        buildOpts: () => ZN,
        buildOverload: () => Jwe,
        bundlerModuleNameResolver: () => nne,
        canBeConvertedToAsync: () => Pq,
        canHaveDecorators: () => $b,
        canHaveExportModifier: () => TN,
        canHaveFlowNode: () => zC,
        canHaveIllegalDecorators: () => Mz,
        canHaveIllegalModifiers: () => ore,
        canHaveIllegalType: () => E0e,
        canHaveIllegalTypeParameters: () => are,
        canHaveJSDoc: () => U3,
        canHaveLocals: () => zm,
        canHaveModifiers: () => Jp,
        canHaveModuleSpecifier: () => wK,
        canHaveSymbol: () => Td,
        canIncludeBindAndCheckDiagnostics: () => fD,
        canJsonReportNoInputFiles: () => i8,
        canProduceDiagnostics: () => p8,
        canUsePropertyAccess: () => JJ,
        canWatchAffectingLocation: () => Qie,
        canWatchAtTypes: () => Xie,
        canWatchDirectoryOrFile: () => PU,
        canWatchDirectoryOrFilePath: () => w8,
        cartesianProduct: () => dQ,
        cast: () => Ws,
        chainBundle: () => Ad,
        chainDiagnosticMessages: () => Ss,
        changeAnyExtension: () => UP,
        changeCompilerHostLikeToUseCache: () => iw,
        changeExtension: () => g0,
        changeFullExtension: () => l7,
        changesAffectModuleResolution: () => M7,
        changesAffectingProgramStructure: () => JZ,
        characterCodeToRegularExpressionFlag: () => Tj,
        childIsDecorated: () => O4,
        classElementOrClassElementParameterIsDecorated: () => SB,
        classHasClassThisAssignment: () => UW,
        classHasDeclaredOrExplicitlyAssignedName: () => VW,
        classHasExplicitlyAssignedName: () => DO,
        classOrConstructorParameterIsDecorated: () => _0,
        classicNameResolver: () => une,
        classifier: () => yce,
        cleanExtendedConfigCache: () => FO,
        clear: () => Dp,
        clearMap: () => L_,
        clearSharedExtendedConfigFileWatcher: () => iU,
        climbPastPropertyAccess: () => d9,
        clone: () => sQ,
        cloneCompilerOptions: () => OV,
        closeFileWatcher: () => nd,
        closeFileWatcherOf: () => fp,
        codefix: () => Nu,
        collapseTextChangeRangesAcrossMultipleVersions: () => ZY,
        collectExternalModuleInfo: () => BW,
        combine: () => JT,
        combinePaths: () => On,
        commandLineOptionOfCustomType: () => Nre,
        commentPragmas: () => n7,
        commonOptionsWithBuild: () => HF,
        compact: () => OP,
        compareBooleans: () => F1,
        compareDataObjects: () => dJ,
        compareDiagnostics: () => sD,
        compareEmitHelpers: () => kte,
        compareNumberOfDirectorySeparators: () => yN,
        comparePaths: () => _h,
        comparePathsCaseInsensitive: () => jge,
        comparePathsCaseSensitive: () => Rge,
        comparePatternKeys: () => vW,
        compareProperties: () => uQ,
        compareStringsCaseInsensitive: () => jP,
        compareStringsCaseInsensitiveEslintCompatible: () => oQ,
        compareStringsCaseSensitive: () => ou,
        compareStringsCaseSensitiveUI: () => BP,
        compareTextSpans: () => XI,
        compareValues: () => po,
        compilerOptionsAffectDeclarationPath: () => Pee,
        compilerOptionsAffectEmit: () => wee,
        compilerOptionsAffectSemanticDiagnostics: () => Dee,
        compilerOptionsDidYouMeanDiagnostics: () => QF,
        compilerOptionsIndicateEsModules: () => JV,
        computeCommonSourceDirectoryOfFilenames: () => Tie,
        computeLineAndCharacterOfPosition: () => bC,
        computeLineOfPosition: () => _4,
        computeLineStarts: () => QT,
        computePositionOfLineAndCharacter: () => p7,
        computeSignatureWithDiagnostics: () => xU,
        computeSuggestionDiagnostics: () => Eq,
        computedOptions: () => aD,
        concatenate: () => Bi,
        concatenateDiagnosticMessageChains: () => bee,
        consumesNodeCoreModules: () => W9,
        contains: () => ds,
        containsIgnoredPath: () => mD,
        containsObjectRestOrSpread: () => $N,
        containsParseError: () => sx,
        containsPath: () => Kf,
        convertCompilerOptionsForTelemetry: () => qre,
        convertCompilerOptionsFromJson: () => Lye,
        convertJsonOption: () => wS,
        convertToBase64: () => see,
        convertToJson: () => t8,
        convertToObject: () => Bre,
        convertToOptionsWithAbsolutePaths: () => eO,
        convertToRelativePath: () => l4,
        convertToTSConfig: () => rW,
        convertTypeAcquisitionFromJson: () => Mye,
        copyComments: () => RS,
        copyEntries: () => R7,
        copyLeadingComments: () => H6,
        copyProperties: () => LR,
        copyTrailingAsLeadingComments: () => X8,
        copyTrailingComments: () => bw,
        couldStartTrivia: () => jY,
        countWhere: () => i0,
        createAbstractBuilder: () => Wve,
        createAccessorPropertyBackingField: () => Bz,
        createAccessorPropertyGetRedirector: () => mre,
        createAccessorPropertySetRedirector: () => gre,
        createBaseNodeFactory: () => ote,
        createBinaryExpressionTrampoline: () => zF,
        createBuilderProgram: () => kU,
        createBuilderProgramUsingIncrementalBuildInfo: () => Hie,
        createBuilderStatusReporter: () => t9,
        createCacheableExportInfoMap: () => mq,
        createCachedDirectoryStructureHost: () => AO,
        createClassifier: () => y2e,
        createCommentDirectivesMap: () => HZ,
        createCompilerDiagnostic: () => $o,
        createCompilerDiagnosticForInvalidCustomType: () => Are,
        createCompilerDiagnosticFromMessageChain: () => J5,
        createCompilerHost: () => xie,
        createCompilerHostFromProgramHost: () => VU,
        createCompilerHostWorker: () => OO,
        createDetachedDiagnostic: () => Sx,
        createDiagnosticCollection: () => X4,
        createDiagnosticForFileFromMessageChain: () => gB,
        createDiagnosticForNode: () => sn,
        createDiagnosticForNodeArray: () => FC,
        createDiagnosticForNodeArrayFromMessageChain: () => S3,
        createDiagnosticForNodeFromMessageChain: () => wg,
        createDiagnosticForNodeInSourceFile: () => tp,
        createDiagnosticForRange: () => aK,
        createDiagnosticMessageChainFromDiagnostic: () => sK,
        createDiagnosticReporter: () => rk,
        createDocumentPositionMapper: () => Nne,
        createDocumentRegistry: () => Bae,
        createDocumentRegistryInternal: () => bq,
        createEmitAndSemanticDiagnosticsBuilderProgram: () => wU,
        createEmitHelperFactory: () => xte,
        createEmptyExports: () => JN,
        createEvaluator: () => Kee,
        createExpressionForJsxElement: () => ere,
        createExpressionForJsxFragment: () => tre,
        createExpressionForObjectLiteralElementLike: () => rre,
        createExpressionForPropertyName: () => Nz,
        createExpressionFromEntityName: () => zN,
        createExternalHelpersImportDeclarationIfNeeded: () => Fz,
        createFileDiagnostic: () => al,
        createFileDiagnosticFromMessageChain: () => G7,
        createFlowNode: () => Ym,
        createForOfBindingStatement: () => Pz,
        createFutureSourceFile: () => $9,
        createGetCanonicalFileName: () => $l,
        createGetIsolatedDeclarationErrors: () => lie,
        createGetSourceFile: () => lU,
        createGetSymbolAccessibilityDiagnosticForNode: () => _v,
        createGetSymbolAccessibilityDiagnosticForNodeName: () => cie,
        createGetSymbolWalker: () => gne,
        createIncrementalCompilerHost: () => e9,
        createIncrementalProgram: () => nse,
        createJsxFactoryExpression: () => wz,
        createLanguageService: () => mce,
        createLanguageServiceSourceFile: () => pL,
        createMemberAccessForPropertyName: () => ES,
        createModeAwareCache: () => C6,
        createModeAwareCacheKey: () => UD,
        createModeMismatchDetails: () => eB,
        createModuleNotFoundChain: () => B7,
        createModuleResolutionCache: () => E6,
        createModuleResolutionLoader: () => mU,
        createModuleResolutionLoaderUsingGlobalCache: () => ese,
        createModuleSpecifierResolutionHost: () => mv,
        createMultiMap: () => Pp,
        createNameResolver: () => qJ,
        createNodeConverters: () => ute,
        createNodeFactory: () => DN,
        createOptionNameMap: () => $F,
        createOverload: () => pG,
        createPackageJsonImportFilter: () => G6,
        createPackageJsonInfo: () => oq,
        createParenthesizerRules: () => cte,
        createPatternMatcher: () => Vae,
        createPrinter: () => $y,
        createPrinterWithDefaults: () => hie,
        createPrinterWithRemoveComments: () => Zb,
        createPrinterWithRemoveCommentsNeverAsciiEscape: () => yie,
        createPrinterWithRemoveCommentsOmitTrailingSemicolon: () => nU,
        createProgram: () => C8,
        createProgramDiagnostics: () => Aie,
        createProgramHost: () => qU,
        createPropertyNameNodeForIdentifierOrLiteral: () => SN,
        createQueue: () => RP,
        createRange: () => ip,
        createRedirectedBuilderProgram: () => DU,
        createResolutionCache: () => AU,
        createRuntimeTypeSerializer: () => qne,
        createScanner: () => Tg,
        createSemanticDiagnosticsBuilderProgram: () => zve,
        createSet: () => MR,
        createSolutionBuilder: () => cse,
        createSolutionBuilderHost: () => ase,
        createSolutionBuilderWithWatch: () => lse,
        createSolutionBuilderWithWatchHost: () => ose,
        createSortedArray: () => DR,
        createSourceFile: () => Gx,
        createSourceMapGenerator: () => Cne,
        createSourceMapSource: () => i0e,
        createSuperAccessVariableStatement: () => PO,
        createSymbolTable: () => js,
        createSymlinkCache: () => kJ,
        createSyntacticTypeNodeBuilder: () => Dse,
        createSystemWatchFunctions: () => NY,
        createTextChange: () => W8,
        createTextChangeFromStartLength: () => D9,
        createTextChangeRange: () => KP,
        createTextRangeFromNode: () => RV,
        createTextRangeFromSpan: () => E9,
        createTextSpan: () => Xl,
        createTextSpanFromBounds: () => Dc,
        createTextSpanFromNode: () => a_,
        createTextSpanFromRange: () => E0,
        createTextSpanFromStringLiteralLikeContent: () => MV,
        createTextWriter: () => eN,
        createTokenRange: () => lJ,
        createTypeChecker: () => xne,
        createTypeReferenceDirectiveResolutionCache: () => uO,
        createTypeReferenceResolutionLoader: () => RO,
        createWatchCompilerHost: () => Zve,
        createWatchCompilerHostOfConfigFile: () => HU,
        createWatchCompilerHostOfFilesAndCompilerOptions: () => GU,
        createWatchFactory: () => UU,
        createWatchHost: () => WU,
        createWatchProgram: () => $U,
        createWatchStatusReporter: () => IU,
        createWriteFileMeasuringIO: () => uU,
        declarationNameToString: () => so,
        decodeMappings: () => MW,
        decodedTextSpanIntersectsWith: () => ZP,
        deduplicate: () => _b,
        defaultHoverMaximumTruncationLength: () => jZ,
        defaultInitCompilerOptions: () => tye,
        defaultMaximumTruncationLength: () => D4,
        diagnosticCategoryName: () => z2,
        diagnosticToString: () => n2,
        diagnosticsEqualityComparer: () => z5,
        directoryProbablyExists: () => Cd,
        directorySeparator: () => yo,
        displayPart: () => j_,
        displayPartsToString: () => cA,
        disposeEmitNodes: () => rz,
        documentSpansEqual: () => GV,
        dumpTracingLegend: () => EQ,
        elementAt: () => oy,
        elideNodes: () => dre,
        emitDetachedComments: () => XK,
        emitFiles: () => tU,
        emitFilesAndReportErrors: () => QO,
        emitFilesAndReportErrorsAndGetExitStatus: () => zU,
        emitModuleKindIsNonNodeESM: () => dN,
        emitNewLineBeforeLeadingCommentOfPosition: () => $K,
        emitResolverSkipsTypeChecking: () => eU,
        emitSkippedWithNoDiagnostics: () => yU,
        emptyArray: () => Ge,
        emptyFileSystemEntries: () => IJ,
        emptyMap: () => vR,
        emptyOptions: () => zp,
        endsWith: () => Co,
        ensurePathIsNonModuleName: () => W2,
        ensureScriptKind: () => Y5,
        ensureTrailingDirectorySeparator: () => pl,
        entityNameToString: () => Q_,
        enumerateInsertsAndDeletes: () => KI,
        equalOwnProperties: () => nQ,
        equateStringsCaseInsensitive: () => fy,
        equateStringsCaseSensitive: () => db,
        equateValues: () => _y,
        escapeJsxAttributeString: () => qB,
        escapeLeadingUnderscores: () => Zo,
        escapeNonAsciiString: () => b5,
        escapeSnippetText: () => jb,
        escapeString: () => Gm,
        escapeTemplateSubstitution: () => UB,
        evaluatorResult: () => ml,
        every: () => Ni,
        exclusivelyPrefixedNodeCoreModules: () => fF,
        executeCommandLine: () => Abe,
        expandPreOrPostfixIncrementOrDecrementExpression: () => MF,
        explainFiles: () => MU,
        explainIfFileIsRedirectAndImpliedFormat: () => RU,
        exportAssignmentIsAlias: () => G3,
        expressionResultIsUnused: () => qee,
        extend: () => OR,
        extensionFromPath: () => uD,
        extensionIsTS: () => rF,
        extensionsNotSupportingExtensionlessResolution: () => tF,
        externalHelpersModuleNameText: () => ky,
        factory: () => N,
        fileExtensionIs: () => Ho,
        fileExtensionIsOneOf: () => bc,
        fileIncludeReasonToDiagnostics: () => JU,
        fileShouldUseJavaScriptRequire: () => dq,
        filter: () => kn,
        filterMutate: () => TR,
        filterSemanticDiagnostics: () => zO,
        find: () => Nn,
        findAncestor: () => dr,
        findBestPatternMatch: () => WR,
        findChildOfKind: () => $a,
        findComputedPropertyNameCacheAssignment: () => WF,
        findConfigFile: () => oU,
        findConstructorDeclaration: () => CN,
        findContainingList: () => v9,
        findDiagnosticForNode: () => Nae,
        findFirstNonJsxWhitespaceToken: () => Kse,
        findIndex: () => ic,
        findLast: () => ub,
        findLastIndex: () => HI,
        findListItemInfo: () => Zse,
        findModifier: () => U6,
        findNextToken: () => r2,
        findPackageJson: () => Pae,
        findPackageJsons: () => aq,
        findPrecedingMatchingToken: () => k9,
        findPrecedingToken: () => ul,
        findSuperStatementIndexPath: () => xO,
        findTokenOnLeftOfPosition: () => pw,
        findUseStrictPrologue: () => Iz,
        first: () => ka,
        firstDefined: () => Ic,
        firstDefinedIterator: () => FP,
        firstIterator: () => NR,
        firstOrOnly: () => uq,
        firstOrUndefined: () => $c,
        firstOrUndefinedIterator: () => $I,
        fixupCompilerOptions: () => Nq,
        flatMap: () => xa,
        flatMapIterator: () => xR,
        flatMapToMutable: () => QE,
        flatten: () => wp,
        flattenCommaList: () => hre,
        flattenDestructuringAssignment: () => IS,
        flattenDestructuringBinding: () => Yb,
        flattenDiagnosticMessageText: () => bm,
        forEach: () => lr,
        forEachAncestor: () => zZ,
        forEachAncestorDirectory: () => u4,
        forEachAncestorDirectoryStoppingAtGlobalCache: () => Qm,
        forEachChild: () => Ts,
        forEachChildRecursively: () => Hx,
        forEachDynamicImportOrRequireCall: () => pF,
        forEachEmittedFile: () => QW,
        forEachEnclosingBlockScopeContainer: () => rK,
        forEachEntry: () => dl,
        forEachExternalModuleToImportFrom: () => hq,
        forEachImportClauseDeclaration: () => PK,
        forEachKey: () => Eg,
        forEachLeadingCommentRange: () => HP,
        forEachNameInAccessChainWalkingLeft: () => mee,
        forEachNameOfDefaultExport: () => Q9,
        forEachOptionsSyntaxByName: () => YJ,
        forEachProjectReference: () => bD,
        forEachPropertyAssignment: () => MC,
        forEachResolvedProjectReference: () => XJ,
        forEachReturnStatement: () => wy,
        forEachRight: () => $X,
        forEachTrailingCommentRange: () => GP,
        forEachTsConfigPropArray: () => E3,
        forEachUnique: () => XV,
        forEachYieldExpression: () => uK,
        formatColorAndReset: () => Kb,
        formatDiagnostic: () => _U,
        formatDiagnostics: () => mve,
        formatDiagnosticsWithColorAndContext: () => Die,
        formatGeneratedName: () => av,
        formatGeneratedNamePart: () => S6,
        formatLocation: () => fU,
        formatMessage: () => xx,
        formatStringFromArgs: () => Fg,
        formatting: () => el,
        generateDjb2Hash: () => o4,
        generateTSConfig: () => Jre,
        getAdjustedReferenceLocation: () => wV,
        getAdjustedRenameLocation: () => S9,
        getAliasDeclarationFromName: () => FB,
        getAllAccessorDeclarations: () => Fb,
        getAllDecoratorsOfClass: () => zW,
        getAllDecoratorsOfClassElement: () => CO,
        getAllJSDocTags: () => b7,
        getAllJSDocTagsOfKind: () => ohe,
        getAllKeys: () => uge,
        getAllProjectOutputs: () => NO,
        getAllSuperTypeNodes: () => U4,
        getAllowImportingTsExtensions: () => Tee,
        getAllowJSCompilerOption: () => Ly,
        getAllowSyntheticDefaultImports: () => kx,
        getAncestor: () => q1,
        getAnyExtensionFromPath: () => GT,
        getAreDeclarationMapsEnabled: () => W5,
        getAssignedExpandoInitializer: () => cx,
        getAssignedName: () => h7,
        getAssignmentDeclarationKind: () => wc,
        getAssignmentDeclarationPropertyAccessKind: () => j3,
        getAssignmentTargetKind: () => Py,
        getAutomaticTypeDirectiveNames: () => cO,
        getBaseFileName: () => Xc,
        getBinaryOperatorPrecedence: () => Y3,
        getBuildInfo: () => rU,
        getBuildInfoFileVersionMap: () => EU,
        getBuildInfoText: () => mie,
        getBuildOrderFromAnyBuildOrder: () => N8,
        getBuilderCreationParameters: () => qO,
        getBuilderFileEmit: () => Xy,
        getCanonicalDiagnostic: () => oK,
        getCheckFlags: () => oc,
        getClassExtendsHeritageElement: () => Pb,
        getClassLikeDeclarationOfSymbol: () => Sh,
        getCombinedLocalAndExportSymbolFlags: () => QC,
        getCombinedModifierFlags: () => L1,
        getCombinedNodeFlags: () => ph,
        getCombinedNodeFlagsAlwaysIncludeJSDoc: () => wj,
        getCommentRange: () => pm,
        getCommonSourceDirectory: () => nw,
        getCommonSourceDirectoryOfConfig: () => FS,
        getCompilerOptionValue: () => q5,
        getConditions: () => qy,
        getConfigFileParsingDiagnostics: () => e2,
        getConstantValue: () => mte,
        getContainerFlags: () => SW,
        getContainerNode: () => MS,
        getContainingClass: () => jl,
        getContainingClassExcludingClassDecorators: () => t5,
        getContainingClassStaticBlock: () => yK,
        getContainingFunction: () => Df,
        getContainingFunctionDeclaration: () => hK,
        getContainingFunctionOrClassStaticBlock: () => e5,
        getContainingNodeArray: () => Hee,
        getContainingObjectLiteralElement: () => lA,
        getContextualTypeFromParent: () => M9,
        getContextualTypeFromParentOrAncestorTypeNode: () => b9,
        getDeclarationDiagnostics: () => uie,
        getDeclarationEmitExtensionForPath: () => x5,
        getDeclarationEmitOutputFilePath: () => VK,
        getDeclarationEmitOutputFilePathWorker: () => T5,
        getDeclarationFileExtension: () => VF,
        getDeclarationFromName: () => W4,
        getDeclarationModifierFlagsFromSymbol: () => ap,
        getDeclarationOfKind: () => Ao,
        getDeclarationsOfKind: () => BZ,
        getDeclaredExpandoInitializer: () => j4,
        getDecorators: () => hy,
        getDefaultCompilerOptions: () => fL,
        getDefaultFormatCodeSettings: () => u9,
        getDefaultLibFileName: () => XP,
        getDefaultLibFilePath: () => gce,
        getDefaultLikeExportInfo: () => X9,
        getDefaultLikeExportNameFromDeclaration: () => _q,
        getDefaultResolutionModeForFileWorker: () => JO,
        getDiagnosticText: () => x_,
        getDiagnosticsWithinSpan: () => Aae,
        getDirectoryPath: () => Hn,
        getDirectoryToWatchFailedLookupLocation: () => NU,
        getDirectoryToWatchFailedLookupLocationFromTypeRoot: () => Zie,
        getDocumentPositionMapper: () => Cq,
        getDocumentSpansEqualityComparer: () => $V,
        getESModuleInterop: () => _m,
        getEditsForFileRename: () => zae,
        getEffectiveBaseTypeNode: () => kd,
        getEffectiveConstraintOfTypeParameter: () => kC,
        getEffectiveContainerForJSDocTemplateTag: () => p5,
        getEffectiveImplementsTypeNodes: () => UC,
        getEffectiveInitializer: () => L3,
        getEffectiveJSDocHost: () => V1,
        getEffectiveModifierFlags: () => lu,
        getEffectiveModifierFlagsAlwaysIncludeJSDoc: () => KK,
        getEffectiveModifierFlagsNoCache: () => eee,
        getEffectiveReturnTypeNode: () => K_,
        getEffectiveSetAccessorTypeAnnotationNode: () => KB,
        getEffectiveTypeAnnotationNode: () => Qc,
        getEffectiveTypeParameterDeclarations: () => yy,
        getEffectiveTypeRoots: () => WD,
        getElementOrPropertyAccessArgumentExpressionOrName: () => f5,
        getElementOrPropertyAccessName: () => gh,
        getElementsOfBindingOrAssignmentPattern: () => b6,
        getEmitDeclarations: () => M_,
        getEmitFlags: () => Ca,
        getEmitHelpers: () => nz,
        getEmitModuleDetectionKind: () => xee,
        getEmitModuleFormatOfFileWorker: () => ow,
        getEmitModuleKind: () => Wu,
        getEmitModuleResolutionKind: () => Cu,
        getEmitScriptTarget: () => pa,
        getEmitStandardClassFields: () => TJ,
        getEnclosingBlockScopeContainer: () => xd,
        getEnclosingContainer: () => H7,
        getEncodedSemanticClassifications: () => yq,
        getEncodedSyntacticClassifications: () => vq,
        getEndLinePosition: () => g3,
        getEntityNameFromTypeNode: () => P3,
        getEntrypointsFromPackageJsonInfo: () => gW,
        getErrorCountForSummary: () => $O,
        getErrorSpanForNode: () => K2,
        getErrorSummaryText: () => OU,
        getEscapedTextOfIdentifierOrLiteral: () => H4,
        getEscapedTextOfJsxAttributeName: () => yD,
        getEscapedTextOfJsxNamespacedName: () => wx,
        getExpandoInitializer: () => W1,
        getExportAssignmentExpression: () => OB,
        getExportInfoMap: () => tA,
        getExportNeedsImportStarHelper: () => Ane,
        getExpressionAssociativity: () => zB,
        getExpressionPrecedence: () => $4,
        getExternalHelpersModuleName: () => UN,
        getExternalModuleImportEqualsDeclarationExpression: () => L4,
        getExternalModuleName: () => ux,
        getExternalModuleNameFromDeclaration: () => WK,
        getExternalModuleNameFromPath: () => $B,
        getExternalModuleNameLiteral: () => qx,
        getExternalModuleRequireArgument: () => xB,
        getFallbackOptions: () => T8,
        getFileEmitOutput: () => Iie,
        getFileMatcherPatterns: () => Q5,
        getFileNamesFromConfigSpecs: () => JD,
        getFileWatcherEventKind: () => dj,
        getFilesInErrorForSummary: () => XO,
        getFirstConstructorWithBody: () => Ag,
        getFirstIdentifier: () => e_,
        getFirstNonSpaceCharacterPosition: () => xae,
        getFirstProjectOutput: () => KW,
        getFixableErrorSpanExpression: () => cq,
        getFormatCodeSettingsForWriting: () => H9,
        getFullWidth: () => d3,
        getFunctionFlags: () => Fc,
        getHeritageClause: () => $3,
        getHostSignatureFromJSDoc: () => U1,
        getIdentifierAutoGenerate: () => o0e,
        getIdentifierGeneratedImportReference: () => Ste,
        getIdentifierTypeArguments: () => dS,
        getImmediatelyInvokedFunctionExpression: () => J1,
        getImpliedNodeFormatForEmitWorker: () => OS,
        getImpliedNodeFormatForFile: () => k8,
        getImpliedNodeFormatForFileWorker: () => BO,
        getImportNeedsImportDefaultHelper: () => jW,
        getImportNeedsImportStarHelper: () => SO,
        getIndentString: () => S5,
        getInferredLibraryNameResolveFrom: () => jO,
        getInitializedVariables: () => rD,
        getInitializerOfBinaryExpression: () => DB,
        getInitializerOfBindingOrAssignmentElement: () => qN,
        getInterfaceBaseTypeNodes: () => V4,
        getInternalEmitFlags: () => td,
        getInvokedExpression: () => i5,
        getIsFileExcluded: () => Mae,
        getIsolatedModules: () => Rp,
        getJSDocAugmentsTag: () => cZ,
        getJSDocClassTag: () => Aj,
        getJSDocCommentRanges: () => yB,
        getJSDocCommentsAndTags: () => wB,
        getJSDocDeprecatedTag: () => Ij,
        getJSDocDeprecatedTagNoCache: () => mZ,
        getJSDocEnumTag: () => Fj,
        getJSDocHost: () => Db,
        getJSDocImplementsTags: () => lZ,
        getJSDocOverloadTags: () => NB,
        getJSDocOverrideTagNoCache: () => dZ,
        getJSDocParameterTags: () => xC,
        getJSDocParameterTagsNoCache: () => iZ,
        getJSDocPrivateTag: () => nhe,
        getJSDocPrivateTagNoCache: () => _Z,
        getJSDocProtectedTag: () => ihe,
        getJSDocProtectedTagNoCache: () => fZ,
        getJSDocPublicTag: () => rhe,
        getJSDocPublicTagNoCache: () => uZ,
        getJSDocReadonlyTag: () => she,
        getJSDocReadonlyTagNoCache: () => pZ,
        getJSDocReturnTag: () => gZ,
        getJSDocReturnType: () => t3,
        getJSDocRoot: () => WC,
        getJSDocSatisfiesExpressionType: () => WJ,
        getJSDocSatisfiesTag: () => Oj,
        getJSDocTags: () => R1,
        getJSDocTemplateTag: () => ahe,
        getJSDocThisTag: () => y7,
        getJSDocType: () => o0,
        getJSDocTypeAliasName: () => Lz,
        getJSDocTypeAssertionType: () => y6,
        getJSDocTypeParameterDeclarations: () => w5,
        getJSDocTypeParameterTags: () => sZ,
        getJSDocTypeParameterTagsNoCache: () => aZ,
        getJSDocTypeTag: () => M1,
        getJSXImplicitImportBase: () => mN,
        getJSXRuntimeImport: () => G5,
        getJSXTransformEnabled: () => H5,
        getKeyForCompilerOptions: () => _W,
        getLanguageVariant: () => lN,
        getLastChild: () => mJ,
        getLeadingCommentRanges: () => Sg,
        getLeadingCommentRangesOfNode: () => hB,
        getLeftmostAccessExpression: () => YC,
        getLeftmostExpression: () => ZC,
        getLibFileNameFromLibReference: () => $J,
        getLibNameFromLibReference: () => GJ,
        getLibraryNameFromLibFileName: () => gU,
        getLineAndCharacterOfPosition: () => Rs,
        getLineInfo: () => LW,
        getLineOfLocalPosition: () => Q4,
        getLineStartPositionForPosition: () => Wp,
        getLineStarts: () => vg,
        getLinesBetweenPositionAndNextNonWhitespaceCharacter: () => fee,
        getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter: () => _ee,
        getLinesBetweenPositions: () => f4,
        getLinesBetweenRangeEndAndRangeStart: () => uJ,
        getLinesBetweenRangeEndPositions: () => Mhe,
        getLiteralText: () => XZ,
        getLocalNameForExternalImport: () => v6,
        getLocalSymbolForExportDefault: () => eD,
        getLocaleSpecificMessage: () => bs,
        getLocaleTimeString: () => P8,
        getMappedContextSpan: () => QV,
        getMappedDocumentSpan: () => F9,
        getMappedLocation: () => hw,
        getMatchedFileSpec: () => jU,
        getMatchedIncludeSpec: () => BU,
        getMeaningFromDeclaration: () => f9,
        getMeaningFromLocation: () => LS,
        getMembersOfDeclaration: () => _K,
        getModeForFileReference: () => wie,
        getModeForResolutionAtIndex: () => Sve,
        getModeForUsageLocation: () => dU,
        getModifiedTime: () => HT,
        getModifiers: () => gb,
        getModuleInstanceState: () => Eh,
        getModuleNameStringLiteralAt: () => E8,
        getModuleSpecifierEndingPreference: () => Mee,
        getModuleSpecifierResolverHost: () => zV,
        getNameForExportedSymbol: () => U9,
        getNameFromImportAttribute: () => lF,
        getNameFromIndexInfo: () => nK,
        getNameFromPropertyName: () => V8,
        getNameOfAccessExpression: () => hJ,
        getNameOfCompilerOptionValue: () => KF,
        getNameOfDeclaration: () => us,
        getNameOfExpando: () => kB,
        getNameOfJSDocTypedef: () => nZ,
        getNameOfScriptTarget: () => V5,
        getNameOrArgument: () => R3,
        getNameTable: () => tH,
        getNamespaceDeclarationNode: () => JC,
        getNewLineCharacter: () => d0,
        getNewLineKind: () => eA,
        getNewLineOrDefaultFromHost: () => wh,
        getNewTargetContainer: () => bK,
        getNextJSDocCommentLocation: () => PB,
        getNodeChildren: () => Ez,
        getNodeForGeneratedName: () => GN,
        getNodeId: () => Oa,
        getNodeKind: () => t2,
        getNodeModifiers: () => dw,
        getNodeModulePathParts: () => aF,
        getNonAssignedNameOfDeclaration: () => g7,
        getNonAssignmentOperatorForCompoundAssignment: () => QD,
        getNonAugmentationDeclaration: () => uB,
        getNonDecoratorTokenPosOfNode: () => iB,
        getNonIncrementalBuildInfoRoots: () => Gie,
        getNonModifierTokenPosOfNode: () => GZ,
        getNormalizedAbsolutePath: () => Qi,
        getNormalizedAbsolutePathWithoutRoot: () => yj,
        getNormalizedPathComponents: () => c7,
        getObjectFlags: () => Dn,
        getOperatorAssociativity: () => WB,
        getOperatorPrecedence: () => Q3,
        getOptionFromName: () => Yz,
        getOptionsForLibraryResolution: () => fW,
        getOptionsNameMap: () => x6,
        getOptionsSyntaxByArrayElementValue: () => QJ,
        getOptionsSyntaxByValue: () => ite,
        getOrCreateEmitNode: () => _u,
        getOrUpdate: () => YE,
        getOriginalNode: () => zo,
        getOriginalNodeId: () => s_,
        getOutputDeclarationFileName: () => rw,
        getOutputDeclarationFileNameWorker: () => YW,
        getOutputExtension: () => v8,
        getOutputFileNames: () => pve,
        getOutputJSFileNameWorker: () => ZW,
        getOutputPathsFor: () => tw,
        getOwnEmitOutputFilePath: () => UK,
        getOwnKeys: () => Zd,
        getOwnValues: () => WT,
        getPackageJsonTypesVersionsPaths: () => oO,
        getPackageNameFromTypesPackageName: () => HD,
        getPackageScopeForPath: () => qD,
        getParameterSymbolFromJSDoc: () => V3,
        getParentNodeInSpan: () => H8,
        getParseTreeNode: () => ys,
        getParsedCommandLineOfConfigFile: () => KN,
        getPathComponents: () => cu,
        getPathFromPathComponents: () => O1,
        getPathUpdater: () => Tq,
        getPathsBasePath: () => k5,
        getPatternFromSpec: () => DJ,
        getPendingEmitKindWithSeen: () => VO,
        getPositionOfLineAndCharacter: () => VP,
        getPossibleGenericSignatures: () => NV,
        getPossibleOriginalInputExtensionForExtension: () => XB,
        getPossibleOriginalInputPathWithoutChangingExt: () => QB,
        getPossibleTypeArgumentsInfo: () => AV,
        getPreEmitDiagnostics: () => dve,
        getPrecedingNonSpaceCharacterPosition: () => O9,
        getPrivateIdentifier: () => WW,
        getProperties: () => JW,
        getProperty: () => LP,
        getPropertyAssignmentAliasLikeExpression: () => MK,
        getPropertyNameForPropertyNameNode: () => oS,
        getPropertyNameFromType: () => cp,
        getPropertyNameOfBindingOrAssignmentElement: () => Oz,
        getPropertySymbolFromBindingElement: () => I9,
        getPropertySymbolsFromContextualType: () => dL,
        getQuoteFromPreference: () => UV,
        getQuotePreference: () => of,
        getRangesWhere: () => ER,
        getRefactorContextSpan: () => ak,
        getReferencedFileLocation: () => aw,
        getRegexFromPattern: () => m0,
        getRegularExpressionForWildcard: () => oD,
        getRegularExpressionsForWildcards: () => $5,
        getRelativePathFromDirectory: () => Ef,
        getRelativePathFromFile: () => vC,
        getRelativePathToDirectoryOrUrl: () => XT,
        getRenameLocation: () => $8,
        getReplacementSpanForContextToken: () => LV,
        getResolutionDiagnostic: () => bU,
        getResolutionModeOverride: () => I6,
        getResolveJsonModule: () => Lb,
        getResolvePackageJsonExports: () => _N,
        getResolvePackageJsonImports: () => fN,
        getResolvedExternalModuleName: () => GB,
        getResolvedModuleFromResolution: () => ix,
        getResolvedTypeReferenceDirectiveFromResolution: () => j7,
        getRestIndicatorOfBindingOrAssignmentElement: () => BF,
        getRestParameterElementType: () => vB,
        getRightMostAssignedExpression: () => M3,
        getRootDeclaration: () => om,
        getRootDirectoryOfResolutionCache: () => Kie,
        getRootLength: () => bd,
        getScriptKind: () => eq,
        getScriptKindFromFileName: () => Z5,
        getScriptTargetFeatures: () => sB,
        getSelectedEffectiveModifierFlags: () => gx,
        getSelectedSyntacticModifierFlags: () => YK,
        getSemanticClassifications: () => Rae,
        getSemanticJsxChildren: () => qC,
        getSetAccessorTypeAnnotationNode: () => HK,
        getSetAccessorValueParameter: () => Y4,
        getSetExternalModuleIndicator: () => uN,
        getShebang: () => d7,
        getSingleVariableOfVariableStatement: () => px,
        getSnapshotText: () => sk,
        getSnippetElement: () => iz,
        getSourceFileOfModule: () => m3,
        getSourceFileOfNode: () => xr,
        getSourceFilePathInNewDir: () => E5,
        getSourceFileVersionAsHashFromText: () => YO,
        getSourceFilesToEmit: () => C5,
        getSourceMapRange: () => y0,
        getSourceMapper: () => Kae,
        getSourceTextOfNodeFromSourceFile: () => Sb,
        getSpanOfTokenAtPosition: () => nm,
        getSpellingSuggestion: () => mb,
        getStartPositionOfLine: () => Cy,
        getStartPositionOfRange: () => tD,
        getStartsOnNewLine: () => SD,
        getStaticPropertiesAndClassStaticBlock: () => kO,
        getStrictOptionValue: () => uu,
        getStringComparer: () => dC,
        getSubPatternFromSpec: () => X5,
        getSuperCallFromStatement: () => TO,
        getSuperContainer: () => D3,
        getSupportedCodeFixes: () => Kq,
        getSupportedExtensions: () => cD,
        getSupportedExtensionsWithJsonIfResolveJsonModule: () => hN,
        getSwitchedType: () => nq,
        getSymbolId: () => $s,
        getSymbolNameForPrivateIdentifier: () => X3,
        getSymbolTarget: () => tq,
        getSyntacticClassifications: () => jae,
        getSyntacticModifierFlags: () => f0,
        getSyntacticModifierFlagsNoCache: () => rJ,
        getSynthesizedDeepClone: () => Wa,
        getSynthesizedDeepCloneWithReplacements: () => EN,
        getSynthesizedDeepClones: () => Bb,
        getSynthesizedDeepClonesWithReplacements: () => ZJ,
        getSyntheticLeadingComments: () => i6,
        getSyntheticTrailingComments: () => AN,
        getTargetLabel: () => m9,
        getTargetOfBindingOrAssignmentElement: () => Uy,
        getTemporaryModuleResolutionState: () => VD,
        getTextOfConstantValue: () => QZ,
        getTextOfIdentifierOrLiteral: () => np,
        getTextOfJSDocComment: () => r3,
        getTextOfJsxAttributeName: () => kN,
        getTextOfJsxNamespacedName: () => vD,
        getTextOfNode: () => Go,
        getTextOfNodeFromSourceText: () => P4,
        getTextOfPropertyName: () => ox,
        getThisContainer: () => zu,
        getThisParameter: () => Ab,
        getTokenAtPosition: () => vi,
        getTokenPosOfNode: () => Ey,
        getTokenSourceMapRange: () => s0e,
        getTouchingPropertyName: () => k_,
        getTouchingToken: () => z6,
        getTrailingCommentRanges: () => gy,
        getTrailingSemicolonDeferringWriter: () => HB,
        getTransformers: () => fie,
        getTsBuildInfoEmitOutputFilePath: () => fv,
        getTsConfigObjectLiteralExpression: () => F4,
        getTsConfigPropArrayElementValue: () => K7,
        getTypeAnnotationNode: () => GK,
        getTypeArgumentOrTypeParameterList: () => aae,
        getTypeKeywordOfTypeOnlyImport: () => HV,
        getTypeNode: () => vte,
        getTypeNodeIfAccessible: () => Tw,
        getTypeParameterFromJsDoc: () => NK,
        getTypeParameterOwner: () => Zge,
        getTypesPackageName: () => dO,
        getUILocale: () => cQ,
        getUniqueName: () => jS,
        getUniqueSymbolId: () => Tae,
        getUseDefineForClassFields: () => pN,
        getWatchErrorSummaryDiagnosticMessage: () => FU,
        getWatchFactory: () => aU,
        group: () => pC,
        groupBy: () => FR,
        guessIndentation: () => MZ,
        handleNoEmitOptions: () => vU,
        handleWatchOptionsConfigDirTemplateSubstitution: () => tO,
        hasAbstractModifier: () => Ob,
        hasAccessorModifier: () => cm,
        hasAmbientModifier: () => tJ,
        hasChangesInResolutions: () => tB,
        hasContextSensitiveParameters: () => sF,
        hasDecorators: () => Pf,
        hasDocComment: () => iae,
        hasDynamicName: () => hh,
        hasEffectiveModifier: () => ef,
        hasEffectiveModifiers: () => eJ,
        hasEffectiveReadonlyModifier: () => lS,
        hasExtension: () => yC,
        hasImplementationTSFileExtension: () => Oee,
        hasIndexSignature: () => rq,
        hasInferredType: () => _F,
        hasInitializer: () => l0,
        hasInvalidEscape: () => VB,
        hasJSDocNodes: () => bf,
        hasJSDocParameterTags: () => oZ,
        hasJSFileExtension: () => Og,
        hasJsonModuleEmitEnabled: () => U5,
        hasOnlyExpressionInitializer: () => Y2,
        hasOverrideModifier: () => P5,
        hasPossibleExternalModuleReference: () => tK,
        hasProperty: () => Ya,
        hasPropertyAccessExpressionWithName: () => M8,
        hasQuestionToken: () => _x,
        hasRecordedExternalHelpers: () => sre,
        hasResolutionModeOverride: () => Yee,
        hasRestParameter: () => Qj,
        hasScopeMarker: () => DZ,
        hasStaticModifier: () => sl,
        hasSyntacticModifier: () => Gn,
        hasSyntacticModifiers: () => QK,
        hasTSFileExtension: () => _S,
        hasTabstop: () => $ee,
        hasTrailingDirectorySeparator: () => dy,
        hasType: () => F7,
        hasTypeArguments: () => Ehe,
        hasZeroOrOneAsteriskCharacter: () => xJ,
        hostGetCanonicalFileName: () => yh,
        hostUsesCaseSensitiveFileNames: () => cS,
        idText: () => An,
        identifierIsThisKeyword: () => ZB,
        identifierToKeywordKind: () => q2,
        identity: () => fo,
        identitySourceMapConsumer: () => RW,
        ignoreSourceNewlines: () => az,
        ignoredPaths: () => s7,
        importFromModuleSpecifier: () => J4,
        importSyntaxAffectsModuleResolution: () => SJ,
        indexOfAnyCharCode: () => QX,
        indexOfNode: () => AC,
        indicesOf: () => GI,
        inferredTypesContainingFile: () => sw,
        injectClassNamedEvaluationHelperBlockIfMissing: () => wO,
        injectClassThisAssignmentIfMissing: () => Bne,
        insertImports: () => qV,
        insertSorted: () => ay,
        insertStatementAfterCustomPrologue: () => Z2,
        insertStatementAfterStandardPrologue: () => vhe,
        insertStatementsAfterCustomPrologue: () => rB,
        insertStatementsAfterStandardPrologue: () => Dg,
        intersperse: () => SR,
        intrinsicTagNameToString: () => UJ,
        introducesArgumentsExoticObject: () => dK,
        inverseJsxOptionMap: () => YN,
        isAbstractConstructorSymbol: () => pee,
        isAbstractModifier: () => Ate,
        isAccessExpression: () => vo,
        isAccessibilityModifier: () => FV,
        isAccessor: () => Ty,
        isAccessorModifier: () => fz,
        isAliasableExpression: () => d5,
        isAmbientModule: () => Ju,
        isAmbientPropertyDeclaration: () => fB,
        isAnyDirectorySeparator: () => mj,
        isAnyImportOrBareOrAccessedRequire: () => KZ,
        isAnyImportOrReExport: () => v3,
        isAnyImportOrRequireStatement: () => eK,
        isAnyImportSyntax: () => ax,
        isAnySupportedFileExtension: () => Qhe,
        isApplicableVersionedTypesKey: () => o8,
        isArgumentExpressionOfElementAccess: () => TV,
        isArray: () => ss,
        isArrayBindingElement: () => D7,
        isArrayBindingOrAssignmentElement: () => c3,
        isArrayBindingOrAssignmentPattern: () => Vj,
        isArrayBindingPattern: () => T0,
        isArrayLiteralExpression: () => Kl,
        isArrayLiteralOrObjectLiteralDestructuringPattern: () => C0,
        isArrayTypeNode: () => LN,
        isArrowFunction: () => bo,
        isAsExpression: () => l6,
        isAssertClause: () => Bte,
        isAssertEntry: () => g0e,
        isAssertionExpression: () => bb,
        isAssertsKeyword: () => Pte,
        isAssignmentDeclaration: () => R4,
        isAssignmentExpression: () => El,
        isAssignmentOperator: () => vh,
        isAssignmentPattern: () => C4,
        isAssignmentTarget: () => Ny,
        isAsteriskToken: () => FN,
        isAsyncFunction: () => q4,
        isAsyncModifier: () => kD,
        isAutoAccessorPropertyDeclaration: () => g_,
        isAwaitExpression: () => zy,
        isAwaitKeyword: () => _z,
        isBigIntLiteral: () => s6,
        isBinaryExpression: () => _n,
        isBinaryLogicalOperator: () => tN,
        isBinaryOperatorToken: () => pre,
        isBindableObjectDefinePropertyCall: () => nS,
        isBindableStaticAccessExpression: () => Eb,
        isBindableStaticElementAccessExpression: () => _5,
        isBindableStaticNameExpression: () => iS,
        isBindingElement: () => ha,
        isBindingElementOfBareOrAccessedRequire: () => xK,
        isBindingName: () => X2,
        isBindingOrAssignmentElement: () => xZ,
        isBindingOrAssignmentPattern: () => a3,
        isBindingPattern: () => Ds,
        isBlock: () => Ps,
        isBlockLike: () => ok,
        isBlockOrCatchScoped: () => aB,
        isBlockScope: () => pB,
        isBlockScopedContainerTopLevel: () => ZZ,
        isBooleanLiteral: () => k4,
        isBreakOrContinueStatement: () => b4,
        isBreakStatement: () => p0e,
        isBuildCommand: () => Sse,
        isBuildInfoFile: () => pie,
        isBuilderProgram: () => LU,
        isBundle: () => Ute,
        isCallChain: () => H2,
        isCallExpression: () => ws,
        isCallExpressionTarget: () => gV,
        isCallLikeExpression: () => vb,
        isCallLikeOrFunctionLikeExpression: () => qj,
        isCallOrNewExpression: () => tm,
        isCallOrNewExpressionTarget: () => hV,
        isCallSignatureDeclaration: () => Mx,
        isCallToHelper: () => xD,
        isCaseBlock: () => AD,
        isCaseClause: () => p6,
        isCaseKeyword: () => Fte,
        isCaseOrDefaultClause: () => A7,
        isCatchClause: () => Hb,
        isCatchClauseVariableDeclaration: () => Gee,
        isCatchClauseVariableDeclarationOrBindingElement: () => oB,
        isCheckJsEnabledForFile: () => _D,
        isCircularBuildOrder: () => nk,
        isClassDeclaration: () => Zc,
        isClassElement: () => Uc,
        isClassExpression: () => Oc,
        isClassInstanceProperty: () => SZ,
        isClassLike: () => $n,
        isClassMemberModifier: () => zj,
        isClassNamedEvaluationHelperBlock: () => ek,
        isClassOrTypeElement: () => E7,
        isClassStaticBlockDeclaration: () => Sc,
        isClassThisAssignmentBlock: () => ZD,
        isColonToken: () => Dte,
        isCommaExpression: () => WN,
        isCommaListExpression: () => PD,
        isCommaSequence: () => MD,
        isCommaToken: () => Ete,
        isComment: () => C9,
        isCommonJsExportPropertyAssignment: () => Y7,
        isCommonJsExportedExpression: () => fK,
        isCompoundAssignment: () => XD,
        isComputedNonLiteralName: () => b3,
        isComputedPropertyName: () => Hs,
        isConciseBody: () => P7,
        isConditionalExpression: () => vS,
        isConditionalTypeNode: () => zb,
        isConstAssertion: () => VJ,
        isConstTypeReference: () => Kp,
        isConstructSignatureDeclaration: () => DD,
        isConstructorDeclaration: () => ec,
        isConstructorTypeNode: () => a6,
        isContextualKeyword: () => g5,
        isContinueStatement: () => f0e,
        isCustomPrologue: () => C3,
        isDebuggerStatement: () => d0e,
        isDeclaration: () => Cl,
        isDeclarationBindingElement: () => s3,
        isDeclarationFileName: () => wl,
        isDeclarationName: () => Hm,
        isDeclarationNameOfEnumOrNamespace: () => fJ,
        isDeclarationReadonly: () => T3,
        isDeclarationStatement: () => AZ,
        isDeclarationWithTypeParameterChildren: () => mB,
        isDeclarationWithTypeParameters: () => dB,
        isDecorator: () => ol,
        isDecoratorTarget: () => Gse,
        isDefaultClause: () => ID,
        isDefaultImport: () => sS,
        isDefaultModifier: () => xF,
        isDefaultedExpandoInitializer: () => kK,
        isDeleteExpression: () => Lte,
        isDeleteTarget: () => IB,
        isDeprecatedDeclaration: () => V9,
        isDestructuringAssignment: () => p0,
        isDiskPathRoot: () => gj,
        isDoStatement: () => _0e,
        isDocumentRegistryEntry: () => rA,
        isDotDotDotToken: () => SF,
        isDottedName: () => nN,
        isDynamicName: () => y5,
        isEffectiveExternalModule: () => IC,
        isEffectiveStrictModeSourceFile: () => _B,
        isElementAccessChain: () => Lj,
        isElementAccessExpression: () => oo,
        isEmittedFileOfProgram: () => bie,
        isEmptyArrayLiteral: () => iee,
        isEmptyBindingElement: () => eZ,
        isEmptyBindingPattern: () => KY,
        isEmptyObjectLiteral: () => oJ,
        isEmptyStatement: () => mz,
        isEmptyStringLiteral: () => TB,
        isEntityName: () => Zu,
        isEntityNameExpression: () => Za,
        isEnumConst: () => B1,
        isEnumDeclaration: () => rv,
        isEnumMember: () => kh,
        isEqualityOperatorKind: () => R9,
        isEqualsGreaterThanToken: () => wte,
        isExclamationToken: () => ON,
        isExcludedFile: () => Wre,
        isExclusivelyTypeOnlyImportOrExport: () => pU,
        isExpandoPropertyDeclaration: () => Px,
        isExportAssignment: () => Fo,
        isExportDeclaration: () => Mc,
        isExportModifier: () => Ox,
        isExportName: () => RF,
        isExportNamespaceAsDefaultDeclaration: () => U7,
        isExportOrDefaultModifier: () => HN,
        isExportSpecifier: () => Eu,
        isExportsIdentifier: () => rS,
        isExportsOrModuleExportsOrAlias: () => Xb,
        isExpression: () => ut,
        isExpressionNode: () => qm,
        isExpressionOfExternalModuleImportEqualsDeclaration: () => Qse,
        isExpressionOfOptionalChainRoot: () => T7,
        isExpressionStatement: () => Dl,
        isExpressionWithTypeArguments: () => Th,
        isExpressionWithTypeArgumentsInClassExtendsClause: () => A5,
        isExternalModule: () => ll,
        isExternalModuleAugmentation: () => xb,
        isExternalModuleImportEqualsDeclaration: () => z1,
        isExternalModuleIndicator: () => u3,
        isExternalModuleNameRelative: () => xl,
        isExternalModuleReference: () => xh,
        isExternalModuleSymbol: () => rx,
        isExternalOrCommonJsModule: () => Y_,
        isFileLevelReservedGeneratedIdentifier: () => i3,
        isFileLevelUniqueName: () => z7,
        isFileProbablyExternalModule: () => XN,
        isFirstDeclarationOfSymbolParameter: () => YV,
        isFixablePromiseHandler: () => wq,
        isForInOrOfStatement: () => Q2,
        isForInStatement: () => wF,
        isForInitializer: () => ep,
        isForOfStatement: () => RN,
        isForStatement: () => tv,
        isFullSourceFile: () => Pg,
        isFunctionBlock: () => kb,
        isFunctionBody: () => Gj,
        isFunctionDeclaration: () => Tc,
        isFunctionExpression: () => mo,
        isFunctionExpressionOrArrowFunction: () => My,
        isFunctionLike: () => Cs,
        isFunctionLikeDeclaration: () => to,
        isFunctionLikeKind: () => ZT,
        isFunctionLikeOrClassStaticBlockDeclaration: () => DC,
        isFunctionOrConstructorTypeNode: () => TZ,
        isFunctionOrModuleBlock: () => Wj,
        isFunctionSymbol: () => DK,
        isFunctionTypeNode: () => $m,
        isGeneratedIdentifier: () => Mo,
        isGeneratedPrivateIdentifier: () => $2,
        isGetAccessor: () => kg,
        isGetAccessorDeclaration: () => lp,
        isGetOrSetAccessorDeclaration: () => n3,
        isGlobalScopeAugmentation: () => Vm,
        isGlobalSourceFile: () => u0,
        isGrammarError: () => qZ,
        isHeritageClause: () => nf,
        isHoistedFunction: () => X7,
        isHoistedVariableStatement: () => Q7,
        isIdentifier: () => Me,
        isIdentifierANonContextualKeyword: () => RB,
        isIdentifierName: () => LK,
        isIdentifierOrThisTypeNode: () => lre,
        isIdentifierPart: () => fh,
        isIdentifierStart: () => Jm,
        isIdentifierText: () => F_,
        isIdentifierTypePredicate: () => mK,
        isIdentifierTypeReference: () => Wee,
        isIfStatement: () => ev,
        isIgnoredFileFromWildCardWatching: () => S8,
        isImplicitGlob: () => EJ,
        isImportAttribute: () => Jte,
        isImportAttributeName: () => bZ,
        isImportAttributes: () => TS,
        isImportCall: () => y_,
        isImportClause: () => sd,
        isImportDeclaration: () => Wo,
        isImportEqualsDeclaration: () => cl,
        isImportKeyword: () => ED,
        isImportMeta: () => LC,
        isImportOrExportSpecifier: () => by,
        isImportOrExportSpecifierName: () => Sae,
        isImportSpecifier: () => qu,
        isImportTypeAssertionContainer: () => m0e,
        isImportTypeNode: () => dm,
        isImportable: () => gq,
        isInComment: () => k0,
        isInCompoundLikeAssignment: () => AB,
        isInExpressionContext: () => s5,
        isInJSDoc: () => M4,
        isInJSFile: () => an,
        isInJSXText: () => nae,
        isInJsonFile: () => o5,
        isInNonReferenceComment: () => lae,
        isInReferenceComment: () => cae,
        isInRightSideOfInternalImportEqualsDeclaration: () => p9,
        isInString: () => ik,
        isInTemplateString: () => PV,
        isInTopLevelContext: () => r5,
        isInTypeQuery: () => mx,
        isIncrementalBuildInfo: () => D8,
        isIncrementalBundleEmitBuildInfo: () => zie,
        isIncrementalCompilation: () => Mb,
        isIndexSignatureDeclaration: () => Jy,
        isIndexedAccessTypeNode: () => Wb,
        isInferTypeNode: () => gS,
        isInfinityOrNaNString: () => gD,
        isInitializedProperty: () => _8,
        isInitializedVariable: () => cN,
        isInsideJsxElement: () => x9,
        isInsideJsxElementOrAttribute: () => rae,
        isInsideNodeModules: () => Y8,
        isInsideTemplateLiteral: () => z8,
        isInstanceOfExpression: () => I5,
        isInstantiatedModule: () => NW,
        isInterfaceDeclaration: () => Jl,
        isInternalDeclaration: () => RZ,
        isInternalModuleImportEqualsDeclaration: () => tS,
        isInternalName: () => Az,
        isIntersectionTypeNode: () => Bx,
        isIntrinsicJsxName: () => HC,
        isIterationStatement: () => xy,
        isJSDoc: () => Nd,
        isJSDocAllType: () => Hte,
        isJSDocAugmentsTag: () => Vx,
        isJSDocAuthorTag: () => b0e,
        isJSDocCallbackTag: () => vz,
        isJSDocClassTag: () => $te,
        isJSDocCommentContainingNode: () => I7,
        isJSDocConstructSignature: () => fx,
        isJSDocDeprecatedTag: () => kz,
        isJSDocEnumTag: () => BN,
        isJSDocFunctionType: () => m6,
        isJSDocImplementsTag: () => OF,
        isJSDocImportTag: () => vm,
        isJSDocIndexSignature: () => l5,
        isJSDocLikeText: () => Jz,
        isJSDocLink: () => Vte,
        isJSDocLinkCode: () => qte,
        isJSDocLinkLike: () => tx,
        isJSDocLinkPlain: () => y0e,
        isJSDocMemberName: () => sv,
        isJSDocNameReference: () => FD,
        isJSDocNamepathType: () => v0e,
        isJSDocNamespaceBody: () => fhe,
        isJSDocNode: () => wC,
        isJSDocNonNullableType: () => NF,
        isJSDocNullableType: () => d6,
        isJSDocOptionalParameter: () => oF,
        isJSDocOptionalType: () => yz,
        isJSDocOverloadTag: () => g6,
        isJSDocOverrideTag: () => IF,
        isJSDocParameterTag: () => Af,
        isJSDocPrivateTag: () => Sz,
        isJSDocPropertyLikeTag: () => S4,
        isJSDocPropertyTag: () => Xte,
        isJSDocProtectedTag: () => Tz,
        isJSDocPublicTag: () => bz,
        isJSDocReadonlyTag: () => xz,
        isJSDocReturnTag: () => FF,
        isJSDocSatisfiesExpression: () => zJ,
        isJSDocSatisfiesTag: () => LF,
        isJSDocSeeTag: () => S0e,
        isJSDocSignature: () => x0,
        isJSDocTag: () => PC,
        isJSDocTemplateTag: () => Bp,
        isJSDocThisTag: () => Cz,
        isJSDocThrowsTag: () => x0e,
        isJSDocTypeAlias: () => Op,
        isJSDocTypeAssertion: () => Gb,
        isJSDocTypeExpression: () => iv,
        isJSDocTypeLiteral: () => kS,
        isJSDocTypeTag: () => OD,
        isJSDocTypedefTag: () => CS,
        isJSDocUnknownTag: () => T0e,
        isJSDocUnknownType: () => Gte,
        isJSDocVariadicType: () => AF,
        isJSXTagName: () => jC,
        isJsonEqual: () => nF,
        isJsonSourceFile: () => rp,
        isJsxAttribute: () => ym,
        isJsxAttributeLike: () => N7,
        isJsxAttributeName: () => Qee,
        isJsxAttributes: () => qb,
        isJsxCallLike: () => LZ,
        isJsxChild: () => p3,
        isJsxClosingElement: () => Vb,
        isJsxClosingFragment: () => Wte,
        isJsxElement: () => hm,
        isJsxExpression: () => f6,
        isJsxFragment: () => nv,
        isJsxNamespacedName: () => Pd,
        isJsxOpeningElement: () => wd,
        isJsxOpeningFragment: () => ad,
        isJsxOpeningLikeElement: () => ku,
        isJsxOpeningLikeElementTagName: () => $se,
        isJsxSelfClosingElement: () => xS,
        isJsxSpreadAttribute: () => Ux,
        isJsxTagNameExpression: () => E4,
        isJsxText: () => Ix,
        isJumpStatementTarget: () => R8,
        isKeyword: () => b_,
        isKeywordOrPunctuation: () => m5,
        isKnownSymbol: () => G4,
        isLabelName: () => bV,
        isLabelOfLabeledStatement: () => vV,
        isLabeledStatement: () => Wy,
        isLateVisibilityPaintedStatement: () => q7,
        isLeftHandSideExpression: () => h_,
        isLet: () => $7,
        isLineBreak: () => Su,
        isLiteralComputedPropertyDeclarationName: () => H3,
        isLiteralExpression: () => G2,
        isLiteralExpressionOfObject: () => Bj,
        isLiteralImportTypeNode: () => mh,
        isLiteralKind: () => T4,
        isLiteralNameOfPropertyDeclarationOrIndexAccess: () => g9,
        isLiteralTypeLiteral: () => EZ,
        isLiteralTypeNode: () => S0,
        isLocalName: () => Ch,
        isLogicalOperator: () => tee,
        isLogicalOrCoalescingAssignmentExpression: () => nJ,
        isLogicalOrCoalescingAssignmentOperator: () => Z4,
        isLogicalOrCoalescingBinaryExpression: () => rN,
        isLogicalOrCoalescingBinaryOperator: () => N5,
        isMappedTypeNode: () => yS,
        isMemberName: () => xg,
        isMetaProperty: () => bS,
        isMethodDeclaration: () => Ko,
        isMethodOrAccessor: () => KT,
        isMethodSignature: () => id,
        isMinusToken: () => uz,
        isMissingDeclaration: () => h0e,
        isMissingPackageJsonInfo: () => Kre,
        isModifier: () => Ys,
        isModifierKind: () => Sy,
        isModifierLike: () => Ro,
        isModuleAugmentationExternal: () => lB,
        isModuleBlock: () => mm,
        isModuleBody: () => wZ,
        isModuleDeclaration: () => Lc,
        isModuleExportName: () => PF,
        isModuleExportsAccessExpression: () => Ng,
        isModuleIdentifier: () => CB,
        isModuleName: () => fre,
        isModuleOrEnumDeclaration: () => _3,
        isModuleReference: () => FZ,
        isModuleSpecifierLike: () => A9,
        isModuleWithStringLiteralName: () => V7,
        isNameOfFunctionDeclaration: () => kV,
        isNameOfModuleDeclaration: () => xV,
        isNamedDeclaration: () => kl,
        isNamedEvaluation: () => Z_,
        isNamedEvaluationSource: () => jB,
        isNamedExportBindings: () => Rj,
        isNamedExports: () => _p,
        isNamedImportBindings: () => $j,
        isNamedImports: () => gm,
        isNamedImportsOrExports: () => j5,
        isNamedTupleMember: () => o6,
        isNamespaceBody: () => _he,
        isNamespaceExport: () => Xm,
        isNamespaceExportDeclaration: () => jN,
        isNamespaceImport: () => jg,
        isNamespaceReexportDeclaration: () => TK,
        isNewExpression: () => Ub,
        isNewExpressionTarget: () => _w,
        isNewScopeNode: () => nte,
        isNoSubstitutionTemplateLiteral: () => mS,
        isNodeArray: () => hb,
        isNodeArrayMultiLine: () => uee,
        isNodeDescendantOf: () => wb,
        isNodeKind: () => k7,
        isNodeLikeSystem: () => qR,
        isNodeModulesDirectory: () => u7,
        isNodeWithPossibleHoistedDeclaration: () => FK,
        isNonContextualKeyword: () => MB,
        isNonGlobalAmbientModule: () => cB,
        isNonNullAccess: () => Xee,
        isNonNullChain: () => x7,
        isNonNullExpression: () => zx,
        isNonStaticMethodOrAccessorWithPrivateName: () => Ine,
        isNotEmittedStatement: () => zte,
        isNullishCoalesce: () => Mj,
        isNumber: () => ly,
        isNumericLiteral: () => T_,
        isNumericLiteralName: () => Mg,
        isObjectBindingElementWithoutPropertyName: () => q8,
        isObjectBindingOrAssignmentElement: () => o3,
        isObjectBindingOrAssignmentPattern: () => Uj,
        isObjectBindingPattern: () => Nf,
        isObjectLiteralElement: () => Xj,
        isObjectLiteralElementLike: () => dh,
        isObjectLiteralExpression: () => ua,
        isObjectLiteralMethod: () => Fp,
        isObjectLiteralOrClassExpressionMethodOrAccessor: () => Z7,
        isObjectTypeDeclaration: () => bx,
        isOmittedExpression: () => gl,
        isOptionalChain: () => Tu,
        isOptionalChainRoot: () => y4,
        isOptionalDeclaration: () => Dx,
        isOptionalJSDocPropertyLikeTag: () => xN,
        isOptionalTypeNode: () => kF,
        isOuterExpression: () => jF,
        isOutermostOptionalChain: () => v4,
        isOverrideModifier: () => Ite,
        isPackageJsonInfo: () => lO,
        isPackedArrayLiteral: () => BJ,
        isParameter: () => Ii,
        isParameterPropertyDeclaration: () => X_,
        isParameterPropertyModifier: () => x4,
        isParenthesizedExpression: () => n_,
        isParenthesizedTypeNode: () => hS,
        isParseTreeNode: () => h4,
        isPartOfParameterDeclaration: () => H1,
        isPartOfTypeNode: () => sm,
        isPartOfTypeOnlyImportOrExportDeclaration: () => vZ,
        isPartOfTypeQuery: () => a5,
        isPartiallyEmittedExpression: () => Mte,
        isPatternMatch: () => QI,
        isPinnedComment: () => W7,
        isPlainJsFile: () => w4,
        isPlusToken: () => lz,
        isPossiblyTypeArgumentPosition: () => J8,
        isPostfixUnaryExpression: () => dz,
        isPrefixUnaryExpression: () => K1,
        isPrimitiveLiteralValue: () => uF,
        isPrivateIdentifier: () => Ai,
        isPrivateIdentifierClassElementDeclaration: () => xu,
        isPrivateIdentifierPropertyAccessExpression: () => EC,
        isPrivateIdentifierSymbol: () => jK,
        isProgramUptoDate: () => hU,
        isPrologueDirective: () => im,
        isPropertyAccessChain: () => S7,
        isPropertyAccessEntityNameExpression: () => iN,
        isPropertyAccessExpression: () => wn,
        isPropertyAccessOrQualifiedName: () => l3,
        isPropertyAccessOrQualifiedNameOrImportTypeNode: () => kZ,
        isPropertyAssignment: () => Kc,
        isPropertyDeclaration: () => as,
        isPropertyName: () => Wc,
        isPropertyNameLiteral: () => am,
        isPropertySignature: () => Vu,
        isPrototypeAccess: () => Fy,
        isPrototypePropertyAssignment: () => B3,
        isPunctuation: () => LB,
        isPushOrUnshiftIdentifier: () => BB,
        isQualifiedName: () => t_,
        isQuestionDotToken: () => TF,
        isQuestionOrExclamationToken: () => cre,
        isQuestionOrPlusOrMinusToken: () => _re,
        isQuestionToken: () => By,
        isReadonlyKeyword: () => Nte,
        isReadonlyKeywordOrPlusOrMinusToken: () => ure,
        isRecognizedTripleSlashComment: () => nB,
        isReferenceFileLocation: () => F6,
        isReferencedFile: () => pv,
        isRegularExpressionLiteral: () => oz,
        isRequireCall: () => v_,
        isRequireVariableStatement: () => F3,
        isRestParameter: () => Wm,
        isRestTypeNode: () => CF,
        isReturnStatement: () => Sf,
        isReturnStatementWithFixablePromiseHandler: () => Z9,
        isRightSideOfAccessExpression: () => aJ,
        isRightSideOfInstanceofExpression: () => nee,
        isRightSideOfPropertyAccess: () => j6,
        isRightSideOfQualifiedName: () => Xse,
        isRightSideOfQualifiedNameOrPropertyAccess: () => K4,
        isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName: () => ree,
        isRootedDiskPath: () => $_,
        isSameEntityName: () => BC,
        isSatisfiesExpression: () => u6,
        isSemicolonClassElement: () => Rte,
        isSetAccessor: () => rm,
        isSetAccessorDeclaration: () => R_,
        isShiftOperatorOrHigher: () => Rz,
        isShorthandAmbientModuleSymbol: () => y3,
        isShorthandPropertyAssignment: () => fu,
        isSideEffectImport: () => HJ,
        isSignedNumericLiteral: () => h5,
        isSimpleCopiableExpression: () => Qb,
        isSimpleInlineableExpression: () => Zm,
        isSimpleParameterList: () => f8,
        isSingleOrDoubleQuote: () => O3,
        isSolutionConfig: () => aW,
        isSourceElement: () => Zee,
        isSourceFile: () => Di,
        isSourceFileFromLibrary: () => $6,
        isSourceFileJS: () => Ku,
        isSourceFileNotJson: () => c5,
        isSourceMapping: () => Pne,
        isSpecialPropertyDeclaration: () => EK,
        isSpreadAssignment: () => Bg,
        isSpreadElement: () => up,
        isStatement: () => Ti,
        isStatementButNotDeclaration: () => f3,
        isStatementOrBlock: () => IZ,
        isStatementWithLocals: () => VZ,
        isStatic: () => Bs,
        isStaticModifier: () => Lx,
        isString: () => ms,
        isStringANonContextualKeyword: () => dx,
        isStringAndEmptyAnonymousObjectIntersection: () => oae,
        isStringDoubleQuoted: () => u5,
        isStringLiteral: () => oa,
        isStringLiteralLike: () => Ma,
        isStringLiteralOrJsxExpression: () => OZ,
        isStringLiteralOrTemplate: () => Cae,
        isStringOrNumericLiteralLike: () => wf,
        isStringOrRegularExpressionOrTemplateLiteral: () => IV,
        isStringTextContainingNode: () => Jj,
        isSuperCall: () => eS,
        isSuperKeyword: () => CD,
        isSuperProperty: () => O_,
        isSupportedSourceFileName: () => AJ,
        isSwitchStatement: () => ND,
        isSyntaxList: () => h6,
        isSyntheticExpression: () => u0e,
        isSyntheticReference: () => Wx,
        isTagName: () => SV,
        isTaggedTemplateExpression: () => Z1,
        isTaggedTemplateTag: () => Hse,
        isTemplateExpression: () => DF,
        isTemplateHead: () => Fx,
        isTemplateLiteral: () => ex,
        isTemplateLiteralKind: () => vy,
        isTemplateLiteralToken: () => hZ,
        isTemplateLiteralTypeNode: () => Ote,
        isTemplateLiteralTypeSpan: () => pz,
        isTemplateMiddle: () => cz,
        isTemplateMiddleOrTemplateTail: () => C7,
        isTemplateSpan: () => _6,
        isTemplateTail: () => bF,
        isTextWhiteSpaceLike: () => pae,
        isThis: () => B6,
        isThisContainerOrFunctionBlock: () => vK,
        isThisIdentifier: () => Iy,
        isThisInTypeQuery: () => Ib,
        isThisInitializedDeclaration: () => n5,
        isThisInitializedObjectBindingExpression: () => SK,
        isThisProperty: () => w3,
        isThisTypeNode: () => wD,
        isThisTypeParameter: () => hD,
        isThisTypePredicate: () => gK,
        isThrowStatement: () => hz,
        isToken: () => YT,
        isTokenKind: () => jj,
        isTraceEnabled: () => Vy,
        isTransientSymbol: () => Cg,
        isTrivia: () => VC,
        isTryStatement: () => SS,
        isTupleTypeNode: () => jx,
        isTypeAlias: () => W3,
        isTypeAliasDeclaration: () => jp,
        isTypeAssertionExpression: () => EF,
        isTypeDeclaration: () => Ex,
        isTypeElement: () => yb,
        isTypeKeyword: () => mw,
        isTypeKeywordTokenOrIdentifier: () => w9,
        isTypeLiteralNode: () => r_,
        isTypeNode: () => li,
        isTypeNodeKind: () => gJ,
        isTypeOfExpression: () => c6,
        isTypeOnlyExportDeclaration: () => yZ,
        isTypeOnlyImportDeclaration: () => CC,
        isTypeOnlyImportOrExportDeclaration: () => c0,
        isTypeOperatorNode: () => Y1,
        isTypeParameterDeclaration: () => Io,
        isTypePredicateNode: () => Rx,
        isTypeQueryNode: () => Jb,
        isTypeReferenceNode: () => rf,
        isTypeReferenceType: () => O7,
        isTypeUsableAsPropertyName: () => op,
        isUMDExportSymbol: () => R5,
        isUnaryExpression: () => Hj,
        isUnaryExpressionWithWrite: () => CZ,
        isUnicodeIdentifierStart: () => f7,
        isUnionTypeNode: () => b0,
        isUrl: () => IY,
        isValidBigIntString: () => iF,
        isValidESSymbolDeclaration: () => pK,
        isValidTypeOnlyAliasUseSite: () => $1,
        isValueSignatureDeclaration: () => aS,
        isVarAwaitUsing: () => x3,
        isVarConst: () => OC,
        isVarConstLike: () => lK,
        isVarUsing: () => k3,
        isVariableDeclaration: () => ei,
        isVariableDeclarationInVariableStatement: () => I4,
        isVariableDeclarationInitializedToBareOrAccessedRequire: () => Cb,
        isVariableDeclarationInitializedToRequire: () => I3,
        isVariableDeclarationList: () => Bl,
        isVariableLike: () => A4,
        isVariableStatement: () => Pc,
        isVoidExpression: () => Jx,
        isWatchSet: () => pJ,
        isWhileStatement: () => gz,
        isWhiteSpaceLike: () => bg,
        isWhiteSpaceSingleLine: () => em,
        isWithStatement: () => jte,
        isWriteAccess: () => vx,
        isWriteOnlyAccess: () => M5,
        isYieldExpression: () => MN,
        jsxModeNeedsExplicitImport: () => pq,
        keywordPart: () => cf,
        last: () => fa,
        lastOrUndefined: () => ko,
        length: () => wr,
        libMap: () => qz,
        libs: () => qF,
        lineBreakPart: () => q6,
        loadModuleFromGlobalCache: () => _ne,
        loadWithModeAwareCache: () => x8,
        makeIdentifierFromModuleName: () => YZ,
        makeImport: () => Yy,
        makeStringLiteral: () => gw,
        mangleScopedPackageName: () => w6,
        map: () => hr,
        mapAllOrFail: () => kR,
        mapDefined: () => Fi,
        mapDefinedIterator: () => sy,
        mapEntries: () => KX,
        mapIterator: () => XE,
        mapOneOrMany: () => lq,
        mapToDisplayParts: () => Zy,
        matchFiles: () => wJ,
        matchPatternOrExact: () => FJ,
        matchedText: () => pQ,
        matchesExclude: () => iO,
        matchesExcludeWorker: () => sO,
        maxBy: () => RR,
        maybeBind: () => Fs,
        maybeSetLocalizedDiagnosticMessages: () => vee,
        memoize: () => Bu,
        memoizeOne: () => Kd,
        min: () => jR,
        minAndMax: () => Bee,
        missingFileModifiedTime: () => G_,
        modifierToFlag: () => hx,
        modifiersToFlags: () => lm,
        moduleExportNameIsDefault: () => Um,
        moduleExportNameTextEscaped: () => Tb,
        moduleExportNameTextUnescaped: () => Dy,
        moduleOptionDeclaration: () => kre,
        moduleResolutionIsEqualTo: () => WZ,
        moduleResolutionNameAndModeGetter: () => MO,
        moduleResolutionOptionDeclarations: () => Gz,
        moduleResolutionSupportsPackageJsonExportsAndImports: () => KC,
        moduleResolutionUsesNodeModules: () => P9,
        moduleSpecifierToValidIdentifier: () => K8,
        moduleSpecifiers: () => Dh,
        moduleSupportsImportAttributes: () => Eee,
        moduleSymbolToValidIdentifier: () => Z8,
        moveEmitHelpers: () => hte,
        moveRangeEnd: () => O5,
        moveRangePastDecorators: () => bh,
        moveRangePastModifiers: () => um,
        moveRangePos: () => G1,
        moveSyntheticComments: () => dte,
        mutateMap: () => iD,
        mutateMapSkippingNewValues: () => Ig,
        needsParentheses: () => L9,
        needsScopeMarker: () => w7,
        newCaseClauseTracker: () => G9,
        newPrivateEnvironment: () => One,
        noEmitNotification: () => g8,
        noEmitSubstitution: () => ew,
        noTransformers: () => _ie,
        noTruncationMaximumTruncationLength: () => Zj,
        nodeCanBeDecorated: () => N3,
        nodeCoreModules: () => n6,
        nodeHasName: () => e3,
        nodeIsDecorated: () => RC,
        nodeIsMissing: () => ac,
        nodeIsPresent: () => Ip,
        nodeIsSynthesized: () => ao,
        nodeModuleNameResolver: () => ine,
        nodeModulesPathPart: () => Jg,
        nodeNextJsonConfigResolver: () => sne,
        nodeOrChildIsDecorated: () => A3,
        nodeOverlapsWithStartEnd: () => h9,
        nodePosToString: () => mhe,
        nodeSeenTracker: () => W6,
        nodeStartsNewLexicalEnvironment: () => JB,
        noop: () => Ua,
        noopFileWatcher: () => M6,
        normalizePath: () => qs,
        normalizeSlashes: () => Rl,
        normalizeSpans: () => Dj,
        not: () => ZI,
        notImplemented: () => Us,
        notImplementedResolver: () => gie,
        nullNodeConverters: () => _te,
        nullParenthesizerRules: () => lte,
        nullTransformationContext: () => y8,
        objectAllocator: () => Yl,
        operatorPart: () => yw,
        optionDeclarations: () => od,
        optionMapToObject: () => ZF,
        optionsAffectingProgramStructure: () => wre,
        optionsForBuild: () => Xz,
        optionsForWatch: () => Xx,
        optionsHaveChanges: () => nx,
        or: () => H_,
        orderedRemoveItem: () => KE,
        orderedRemoveItemAt: () => py,
        packageIdToPackageName: () => J7,
        packageIdToString: () => j1,
        parameterIsThisKeyword: () => Ay,
        parameterNamePart: () => mae,
        parseBaseNodeFactory: () => yre,
        parseBigInt: () => zee,
        parseBuildCommand: () => Mre,
        parseCommandLine: () => Ore,
        parseCommandLineWorker: () => Qz,
        parseConfigFileTextToJson: () => Zz,
        parseConfigFileWithSystem: () => tse,
        parseConfigHostFromCompilerHostLike: () => WO,
        parseCustomTypeOption: () => XF,
        parseIsolatedEntityName: () => $x,
        parseIsolatedJSDocComment: () => bre,
        parseJSDocTypeExpressionForTests: () => G0e,
        parseJsonConfigFileContent: () => xye,
        parseJsonSourceFileConfigFileContent: () => r8,
        parseJsonText: () => QN,
        parseListTypeOption: () => Ire,
        parseNodeFactory: () => ov,
        parseNodeModuleFromPath: () => a8,
        parsePackageName: () => fO,
        parsePseudoBigInt: () => pD,
        parseValidBigInt: () => RJ,
        pasteEdits: () => fG,
        patchWriteFileEnsuringDirectory: () => AY,
        pathContainsNodeModules: () => Hy,
        pathIsAbsolute: () => c4,
        pathIsBareSpecifier: () => hj,
        pathIsRelative: () => vf,
        patternText: () => fQ,
        performIncrementalCompilation: () => rse,
        performance: () => SQ,
        positionBelongsToNode: () => CV,
        positionIsASICandidate: () => j9,
        positionIsSynthesized: () => Ed,
        positionsAreOnSameLine: () => sp,
        preProcessFile: () => I2e,
        probablyUsesSemicolons: () => Q8,
        processCommentPragmas: () => Uz,
        processPragmasIntoFields: () => Vz,
        processTaggedTemplateExpression: () => qW,
        programContainsEsModules: () => _ae,
        programContainsModules: () => uae,
        projectReferenceIsEqualTo: () => Kj,
        propertyNamePart: () => gae,
        pseudoBigIntToString: () => Rb,
        punctuationPart: () => Pu,
        pushIfUnique: () => Yf,
        quote: () => Sw,
        quotePreferenceFromString: () => WV,
        rangeContainsPosition: () => J6,
        rangeContainsPositionExclusive: () => j8,
        rangeContainsRange: () => S_,
        rangeContainsRangeExclusive: () => Yse,
        rangeContainsStartEnd: () => B8,
        rangeEndIsOnSameLineAsRangeStart: () => oN,
        rangeEndPositionsAreOnSameLine: () => cee,
        rangeEquals: () => PR,
        rangeIsOnSingleLine: () => uS,
        rangeOfNode: () => LJ,
        rangeOfTypeParameters: () => MJ,
        rangeOverlapsWithStartEnd: () => fw,
        rangeStartIsOnSameLineAsRangeEnd: () => lee,
        rangeStartPositionsAreOnSameLine: () => L5,
        readBuilderProgram: () => KO,
        readConfigFile: () => e8,
        readJson: () => XC,
        readJsonConfigFile: () => Rre,
        readJsonOrUndefined: () => cJ,
        reduceEachLeadingCommentRange: () => JY,
        reduceEachTrailingCommentRange: () => zY,
        reduceLeft: () => ju,
        reduceLeftIterator: () => XX,
        reducePathComponents: () => $T,
        refactor: () => lk,
        regExpEscape: () => Vhe,
        regularExpressionFlagToCharacterCode: () => Uge,
        relativeComplement: () => eQ,
        removeAllComments: () => PN,
        removeEmitHelper: () => a0e,
        removeExtension: () => vN,
        removeFileExtension: () => Uu,
        removeIgnoredPath: () => HO,
        removeMinAndVersionNumbers: () => zR,
        removePrefix: () => e4,
        removeSuffix: () => mC,
        removeTrailingDirectorySeparator: () => a0,
        repeatString: () => U8,
        replaceElement: () => IR,
        replaceFirstStar: () => fS,
        resolutionExtensionIsTSOrJson: () => lD,
        resolveConfigFileProjectName: () => XU,
        resolveJSModule: () => tne,
        resolveLibrary: () => _O,
        resolveModuleName: () => PS,
        resolveModuleNameFromCache: () => Kye,
        resolvePackageNameToPackageJson: () => uW,
        resolvePath: () => my,
        resolveProjectReferencePath: () => tk,
        resolveTripleslashReference: () => cU,
        resolveTypeReferenceDirective: () => Yre,
        resolvingEmptyArray: () => Yj,
        returnFalse: () => uh,
        returnNoopFileWatcher: () => cw,
        returnTrue: () => fb,
        returnUndefined: () => pb,
        returnsPromise: () => Dq,
        rewriteModuleSpecifier: () => Zx,
        sameFlatMap: () => YX,
        sameMap: () => Gc,
        sameMapping: () => U1e,
        scanTokenAtPosition: () => cK,
        scanner: () => zl,
        semanticDiagnosticsOptionDeclarations: () => Cre,
        serializeCompilerOptions: () => nW,
        server: () => zwe,
        servicesVersion: () => STe,
        setCommentRange: () => Yc,
        setConfigFileInOptions: () => iW,
        setConstantValue: () => gte,
        setEmitFlags: () => un,
        setGetSourceFileAsHashVersioned: () => ZO,
        setIdentifierAutoGenerate: () => IN,
        setIdentifierGeneratedImportReference: () => bte,
        setIdentifierTypeArguments: () => v0,
        setInternalEmitFlags: () => NN,
        setLocalizedDiagnosticMessages: () => yee,
        setNodeChildren: () => Qte,
        setNodeFlags: () => Vee,
        setObjectAllocator: () => hee,
        setOriginalNode: () => Cn,
        setParent: () => ja,
        setParentRecursive: () => X1,
        setPrivateIdentifier: () => AS,
        setSnippetElement: () => sz,
        setSourceMapRange: () => ga,
        setStackTraceLimit: () => Ege,
        setStartsOnNewLine: () => gF,
        setSyntheticLeadingComments: () => Q1,
        setSyntheticTrailingComments: () => Nx,
        setSys: () => Ige,
        setSysLog: () => wY,
        setTextRange: () => ct,
        setTextRangeEnd: () => r6,
        setTextRangePos: () => dD,
        setTextRangePosEnd: () => Dd,
        setTextRangePosWidth: () => jJ,
        setTokenSourceMapRange: () => pte,
        setTypeNode: () => yte,
        setUILocale: () => lQ,
        setValueDeclaration: () => B4,
        shouldAllowImportingTsExtension: () => P6,
        shouldPreserveConstEnums: () => Oy,
        shouldRewriteModuleSpecifier: () => z3,
        shouldUseUriStyleNodeCoreModules: () => q9,
        showModuleSpecifier: () => dee,
        signatureHasRestParameter: () => wu,
        signatureToDisplayParts: () => KV,
        single: () => AR,
        singleElementArray: () => qT,
        singleIterator: () => ZX,
        singleOrMany: () => jm,
        singleOrUndefined: () => yg,
        skipAlias: () => Ql,
        skipConstraint: () => BV,
        skipOuterExpressions: () => dc,
        skipParentheses: () => Ra,
        skipPartiallyEmittedExpressions: () => ed,
        skipTrivia: () => aa,
        skipTypeChecking: () => t6,
        skipTypeCheckingIgnoringNoCheck: () => Jee,
        skipTypeParentheses: () => z4,
        skipWhile: () => mQ,
        sliceAfter: () => OJ,
        some: () => ot,
        sortAndDeduplicate: () => ZE,
        sortAndDeduplicateDiagnostics: () => TC,
        sourceFileAffectingCompilerOptions: () => $z,
        sourceFileMayBeEmitted: () => Nb,
        sourceMapCommentRegExp: () => FW,
        sourceMapCommentRegExpDontCareLineStart: () => Ene,
        spacePart: () => lc,
        spanMap: () => CR,
        startEndContainsRange: () => _J,
        startEndOverlapsWithStartEnd: () => y9,
        startOnNewLine: () => Du,
        startTracing: () => CQ,
        startsWith: () => Ui,
        startsWithDirectory: () => bj,
        startsWithUnderscore: () => fq,
        startsWithUseStrict: () => nre,
        stringContainsAt: () => Iae,
        stringToToken: () => U2,
        stripQuotes: () => Lp,
        supportedDeclarationExtensions: () => eF,
        supportedJSExtensionsFlat: () => e6,
        supportedLocaleDirectories: () => rZ,
        supportedTSExtensionsFlat: () => PJ,
        supportedTSImplementationExtensions: () => gN,
        suppressLeadingAndTrailingTrivia: () => tf,
        suppressLeadingTrivia: () => KJ,
        suppressTrailingTrivia: () => ste,
        symbolEscapedNameNoDefault: () => N9,
        symbolName: () => sc,
        symbolNameNoDefault: () => VV,
        symbolToDisplayParts: () => vw,
        sys: () => fl,
        sysLog: () => WP,
        tagNamesAreEquivalent: () => lv,
        takeWhile: () => VR,
        targetOptionDeclaration: () => Hz,
        targetToLibMap: () => WY,
        testFormatSettings: () => e2e,
        textChangeRangeIsUnchanged: () => YY,
        textChangeRangeNewSpan: () => g4,
        textChanges: () => cn,
        textOrKeywordPart: () => ZV,
        textPart: () => Lf,
        textRangeContainsPositionInclusive: () => QP,
        textRangeContainsTextSpan: () => qY,
        textRangeIntersectsWithTextSpan: () => XY,
        textSpanContainsPosition: () => Cj,
        textSpanContainsTextRange: () => Ej,
        textSpanContainsTextSpan: () => VY,
        textSpanEnd: () => Yo,
        textSpanIntersection: () => QY,
        textSpanIntersectsWith: () => YP,
        textSpanIntersectsWithPosition: () => $Y,
        textSpanIntersectsWithTextSpan: () => GY,
        textSpanIsEmpty: () => UY,
        textSpanOverlap: () => HY,
        textSpanOverlapsWith: () => Yge,
        textSpansEqual: () => V6,
        textToKeywordObj: () => _7,
        timestamp: () => no,
        toArray: () => UT,
        toBuilderFileEmit: () => Vie,
        toBuilderStateFileInfoForMultiEmit: () => Uie,
        toEditorSettings: () => oA,
        toFileNameLowerCase: () => uy,
        toPath: () => io,
        toProgramEmitPending: () => qie,
        toSorted: () => q_,
        tokenIsIdentifierOrKeyword: () => m_,
        tokenIsIdentifierOrKeywordOrGreaterThan: () => OY,
        tokenToString: () => Vs,
        trace: () => es,
        tracing: () => on,
        tracingEnabled: () => zP,
        transferSourceFileChildren: () => Yte,
        transform: () => ATe,
        transformClassFields: () => Vne,
        transformDeclarations: () => XW,
        transformECMAScriptModule: () => $W,
        transformES2015: () => iie,
        transformES2016: () => nie,
        transformES2017: () => $ne,
        transformES2018: () => Xne,
        transformES2019: () => Qne,
        transformES2020: () => Yne,
        transformES2021: () => Zne,
        transformESDecorators: () => Gne,
        transformESNext: () => Kne,
        transformGenerators: () => sie,
        transformImpliedNodeFormatDependentModule: () => oie,
        transformJsx: () => rie,
        transformLegacyDecorators: () => Hne,
        transformModule: () => GW,
        transformNamedEvaluation: () => sf,
        transformNodes: () => h8,
        transformSystemModule: () => aie,
        transformTypeScript: () => Une,
        transpile: () => z2e,
        transpileDeclaration: () => B2e,
        transpileModule: () => toe,
        transpileOptionValueCompilerOptions: () => Pre,
        tryAddToSet: () => s0,
        tryAndIgnoreErrors: () => z9,
        tryCast: () => Bn,
        tryDirectoryExists: () => J9,
        tryExtractTSExtension: () => F5,
        tryFileExists: () => xw,
        tryGetClassExtendingExpressionWithTypeArguments: () => iJ,
        tryGetClassImplementingOrExtendingExpressionWithTypeArguments: () => sJ,
        tryGetDirectories: () => B9,
        tryGetExtensionFromPath: () => Lg,
        tryGetImportFromModuleSpecifier: () => J3,
        tryGetJSDocSatisfiesTypeNode: () => cF,
        tryGetModuleNameFromFile: () => VN,
        tryGetModuleSpecifierFromDeclaration: () => lx,
        tryGetNativePerformanceHooks: () => bQ,
        tryGetPropertyAccessOrIdentifierToString: () => sN,
        tryGetPropertyNameOfBindingOrAssignmentElement: () => JF,
        tryGetSourceMappingURL: () => Dne,
        tryGetTextOfPropertyName: () => N4,
        tryParseJson: () => aN,
        tryParsePattern: () => Cx,
        tryParsePatterns: () => bN,
        tryParseRawSourceMap: () => wne,
        tryReadDirectory: () => sq,
        tryReadFile: () => BD,
        tryRemoveDirectoryPrefix: () => CJ,
        tryRemoveExtension: () => jee,
        tryRemovePrefix: () => UR,
        tryRemoveSuffix: () => _Q,
        tscBuildOption: () => DS,
        typeAcquisitionDeclarations: () => GF,
        typeAliasNamePart: () => hae,
        typeDirectiveIsEqualTo: () => UZ,
        typeKeywords: () => jV,
        typeParameterNamePart: () => yae,
        typeToDisplayParts: () => G8,
        unchangedPollThresholds: () => i7,
        unchangedTextChangeRange: () => m7,
        unescapeLeadingUnderscores: () => Si,
        unmangleScopedPackageName: () => c8,
        unorderedRemoveItem: () => VT,
        unprefixedNodeCoreModules: () => rte,
        unreachableCodeIsError: () => kee,
        unsetNodeChildren: () => Dz,
        unusedLabelIsError: () => Cee,
        unwrapInnermostStatementOfLabel: () => bB,
        unwrapParenthesizedExpression: () => ete,
        updateErrorForNoInputFiles: () => nO,
        updateLanguageServiceSourceFile: () => eH,
        updateMissingFilePathsWatch: () => sU,
        updateResolutionField: () => k6,
        updateSharedExtendedConfigFileWatcher: () => IO,
        updateSourceFile: () => zz,
        updateWatchingWildcardDirectories: () => b8,
        usingSingleLineStringWriter: () => NC,
        utf16EncodeAsString: () => m4,
        validateLocaleAndSetLanguage: () => Pj,
        version: () => Qf,
        versionMajorMinor: () => $E,
        visitArray: () => GD,
        visitCommaListElements: () => bO,
        visitEachChild: () => br,
        visitFunctionBody: () => Of,
        visitIterationBody: () => i_,
        visitLexicalEnvironment: () => IW,
        visitNode: () => Qe,
        visitNodes: () => Ar,
        visitParameterList: () => cc,
        walkUpBindingElementsAndPatterns: () => V2,
        walkUpOuterExpressions: () => ire,
        walkUpParenthesizedExpressions: () => rd,
        walkUpParenthesizedTypes: () => q3,
        walkUpParenthesizedTypesAndGetParentAndChild: () => OK,
        whitespaceOrMapCommentRegExp: () => OW,
        writeCommentRange: () => $C,
        writeFile: () => D5,
        writeFileEnsuringDirectories: () => YB,
        zipWith: () => bR
      });
      var jwe;
      function lKe() {
        return jwe ?? (jwe = new vd(Qf));
      }
      function Bwe(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 ? ` ${Fg(s, [e])}` : "", o;
      }
      function uKe(e, t, n, i) {
        const s = Bwe(
          e,
          /*error*/
          true,
          t,
          n,
          i
        );
        return () => {
          throw new TypeError(s);
        };
      }
      function _Ke(e, t, n, i) {
        let s = false;
        return () => {
          s || (E.log.warn(Bwe(
            e,
            /*error*/
            false,
            t,
            n,
            i
          )), s = true);
        };
      }
      function fKe(e, t = {}) {
        const n = typeof t.typeScriptVersion == "string" ? new vd(t.typeScriptVersion) : t.typeScriptVersion ?? lKe(), i = typeof t.errorAfter == "string" ? new vd(t.errorAfter) : t.errorAfter, s = typeof t.warnAfter == "string" ? new vd(t.warnAfter) : t.warnAfter, o = typeof t.since == "string" ? new vd(t.since) : t.since ?? s, c = t.error || i && n.compareTo(i) >= 0, _ = !s || n.compareTo(s) >= 0;
        return c ? uKe(e, i, o, t.message) : _ ? _Ke(e, i, o, t.message) : Ua;
      }
      function pKe(e, t) {
        return function() {
          return e(), t.apply(this, arguments);
        };
      }
      function dKe(e, t) {
        const n = fKe(t?.name ?? E.getFunctionName(e), t);
        return pKe(n, e);
      }
      function pG(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(_) && Ya(t, `${_}`) && (t[_] = dKe(t[_], { ...i[_], name: e }));
          }
        const s = mKe(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 mKe(e, t) {
        return (n) => {
          for (let i = 0; Ya(e, `${i}`) && Ya(t, `${i}`); i++) {
            const s = t[i];
            if (s(n))
              return i;
          }
        };
      }
      function Jwe(e) {
        return {
          overload: (t) => ({
            bind: (n) => ({
              finish: () => pG(e, t, n),
              deprecate: (i) => ({
                finish: () => pG(e, t, n, i)
              })
            })
          })
        };
      }
      var zwe = {};
      Ec(zwe, {
        ActionInvalidate: () => o9,
        ActionPackageInstalled: () => c9,
        ActionSet: () => a9,
        ActionWatchTypingLocations: () => O8,
        Arguments: () => _V,
        AutoImportProviderProject: () => U_e,
        AuxiliaryProject: () => z_e,
        CharRangeSection: () => mfe,
        CloseFileWatcherEvent: () => EG,
        CommandNames: () => vPe,
        ConfigFileDiagEvent: () => SG,
        ConfiguredProject: () => V_e,
        ConfiguredProjectLoadKind: () => Q_e,
        CreateDirectoryWatcherEvent: () => CG,
        CreateFileWatcherEvent: () => kG,
        Errors: () => Ih,
        EventBeginInstallTypes: () => lV,
        EventEndInstallTypes: () => uV,
        EventInitializationFailed: () => wse,
        EventTypesRegistry: () => cV,
        ExternalProject: () => mG,
        GcTimer: () => P_e,
        InferredProject: () => J_e,
        LargeFileReferencedEvent: () => bG,
        LineIndex: () => BA,
        LineLeaf: () => UL,
        LineNode: () => oE,
        LogLevel: () => b_e,
        Msg: () => S_e,
        OpenFileInfoTelemetryEvent: () => q_e,
        Project: () => vk,
        ProjectInfoTelemetryEvent: () => xG,
        ProjectKind: () => Bw,
        ProjectLanguageServiceStateEvent: () => TG,
        ProjectLoadingFinishEvent: () => vG,
        ProjectLoadingStartEvent: () => yG,
        ProjectService: () => sfe,
        ProjectsUpdatedInBackgroundEvent: () => JL,
        ScriptInfo: () => F_e,
        ScriptVersionCache: () => jG,
        Session: () => DPe,
        TextStorage: () => I_e,
        ThrottledOperations: () => w_e,
        TypingsInstallerAdapter: () => FPe,
        allFilesAreJsOrDts: () => R_e,
        allRootFilesAreJsOrDts: () => M_e,
        asNormalizedPath: () => qwe,
        convertCompilerOptions: () => zL,
        convertFormatOptions: () => iE,
        convertScriptKindName: () => wG,
        convertTypeAcquisition: () => G_e,
        convertUserPreferences: () => $_e,
        convertWatchOptions: () => RA,
        countEachFileTypes: () => FA,
        createInstallTypingsRequest: () => T_e,
        createModuleSpecifierCache: () => cfe,
        createNormalizedPathMap: () => Hwe,
        createPackageJsonCache: () => lfe,
        createSortedArray: () => D_e,
        emptyArray: () => hl,
        findArgument: () => Hbe,
        formatDiagnosticToProtocol: () => jA,
        formatMessage: () => ufe,
        getBaseConfigFileName: () => dG,
        getDetailWatchInfo: () => IG,
        getLocationInNewDocument: () => dfe,
        hasArgument: () => qbe,
        hasNoTypeScriptSource: () => j_e,
        indent: () => uw,
        isBackgroundProject: () => LA,
        isConfigFile: () => afe,
        isConfiguredProject: () => N0,
        isDynamicFileName: () => jw,
        isExternalProject: () => OA,
        isInferredProject: () => nE,
        isInferredProjectName: () => x_e,
        isProjectDeferredClose: () => MA,
        makeAutoImportProviderProjectName: () => C_e,
        makeAuxiliaryProjectName: () => E_e,
        makeInferredProjectName: () => k_e,
        maxFileSize: () => hG,
        maxProgramSizeForNonTsFiles: () => gG,
        normalizedPathToPath: () => rE,
        nowString: () => Gbe,
        nullCancellationToken: () => gPe,
        nullTypingsInstaller: () => WL,
        protocol: () => N_e,
        scriptInfoIsContainedByBackgroundProject: () => O_e,
        scriptInfoIsContainedByDeferredClosedProject: () => L_e,
        stringifyIndented: () => dv,
        toEvent: () => _fe,
        toNormalizedPath: () => Ka,
        tryConvertScriptKindName: () => DG,
        typingsInstaller: () => v_e,
        updateProjectIfDirty: () => Up
      });
      var v_e = {};
      Ec(v_e, {
        TypingsInstaller: () => yKe,
        getNpmCommandForInstallation: () => Uwe,
        installNpmPackages: () => hKe,
        typingsName: () => Vwe
      });
      var gKe = {
        isEnabled: () => false,
        writeLine: Ua
      };
      function Wwe(e, t, n, i) {
        try {
          const s = PS(t, On(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 hKe(e, t, n, i) {
        let s = false;
        for (let o = n.length; o > 0; ) {
          const c = Uwe(e, t, n, o);
          o = c.remaining, s = i(c.command) || s;
        }
        return s;
      }
      function Uwe(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 yKe = class {
        constructor(e, t, n, i, s, o = gKe) {
          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: cV, 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: O8, 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${dv(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 = Qy.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 = u4(Hn(t), (_) => {
            if (this.installTypingHost.fileExists(On(_, "package.json")))
              return _;
          }) || s;
          if (c)
            this.installWorker(-1, [n], c, (_) => {
              const u = _ ? `Package ${n} installed.` : `There was an error installing ${n}.`, g = {
                kind: c9,
                projectName: i,
                id: o,
                success: _,
                message: u
              };
              this.sendResponse(g);
            });
          else {
            const _ = {
              kind: c9,
              projectName: i,
              id: o,
              success: false,
              message: "Could not determine a project root path."
            };
            this.sendResponse(_);
          }
        }
        initializeSafeList() {
          if (this.typesMapLocation) {
            const e = Qy.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 = Qy.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 = On(e, "package.json"), n = On(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}':${dv(i)}`), this.log.writeLine(`Loaded content of '${n}':${dv(s)}`)), i.devDependencies && (s.packages || s.dependencies))
              for (const o in i.devDependencies) {
                if (s.packages && !Ya(s.packages, `node_modules/${o}`) || s.dependencies && !Ya(s.dependencies, o))
                  continue;
                const c = Xc(o);
                if (!c)
                  continue;
                const _ = Wwe(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 = s.packages && LP(s.packages, `node_modules/${o}`) || LP(s.dependencies, o), m = g && g.version;
                if (!m)
                  continue;
                const h = { typingLocation: _, version: new vd(m) };
                this.packageNameToTypingLocation.set(c, h);
              }
          }
          this.log.isEnabled() && this.log.writeLine(`Finished processing cache location '${e}'`), this.knownCachesSet.add(e);
        }
        filterTypings(e) {
          return Fi(e, (t) => {
            const n = w6(t);
            if (this.missingTypingsSet.has(n)) {
              this.log.isEnabled() && this.log.writeLine(`'${t}':: '${n}' is in missingTypingsSet - skipping...`);
              return;
            }
            const i = Qy.validatePackageName(t);
            if (i !== Qy.NameValidationResult.Ok) {
              this.missingTypingsSet.add(n), this.log.isEnabled() && this.log.writeLine(Qy.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) && Qy.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 = On(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: lV,
            eventId: o,
            typingsInstallerVersion: Qf,
            projectName: e.projectName
          });
          const c = s.map(Vwe);
          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 = Wwe(t, g, this.installTypingHost, this.log);
                if (!m) {
                  this.missingTypingsSet.add(g);
                  continue;
                }
                const h = this.typesRegistry.get(g), S = new vd(h[`ts${$E}`] || 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: uV,
                eventId: o,
                projectName: e.projectName,
                packagesToInstall: c,
                installSuccess: _,
                typingsInstallerVersion: Qf
              };
              this.sendResponse(u);
            }
          });
        }
        ensureDirectoryExists(e, t) {
          const n = Hn(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 || Eg(i, (s) => !n.has(s)) || Eg(n, (s) => !i.has(s)) ? (this.projectWatchers.set(e, i), this.sendResponse({ kind: O8, projectName: e, files: t })) : this.sendResponse({ kind: O8, projectName: e, files: void 0 });
        }
        createSetTypings(e, t) {
          return {
            projectName: e.projectName,
            typeAcquisition: e.typeAcquisition,
            compilerOptions: e.compilerOptions,
            typings: t,
            unresolvedImports: e.unresolvedImports,
            kind: a9
          };
        }
        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 Vwe(e) {
        return `@types/${e}@ts${$E}`;
      }
      var b_e = /* @__PURE__ */ ((e) => (e[e.terse = 0] = "terse", e[e.normal = 1] = "normal", e[e.requestTime = 2] = "requestTime", e[e.verbose = 3] = "verbose", e))(b_e || {}), hl = D_e(), S_e = /* @__PURE__ */ ((e) => (e.Err = "Err", e.Info = "Info", e.Perf = "Perf", e))(S_e || {});
      function T_e(e, t, n, i) {
        return {
          projectName: e.getProjectName(),
          fileNames: e.getFileNames(
            /*excludeFilesFromExternalLibraries*/
            true,
            /*excludeConfigFiles*/
            true
          ).concat(e.getExcludedFiles()),
          compilerOptions: e.getCompilationSettings(),
          typeAcquisition: t,
          unresolvedImports: n,
          projectRootPath: e.getCurrentDirectory(),
          cachePath: i,
          kind: "discover"
        };
      }
      var Ih;
      ((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;
      })(Ih || (Ih = {}));
      function Ka(e) {
        return qs(e);
      }
      function rE(e, t, n) {
        const i = $_(e) ? e : Qi(e, t);
        return n(i);
      }
      function qwe(e) {
        return e;
      }
      function Hwe() {
        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 x_e(e) {
        return /dev\/null\/inferredProject\d+\*/.test(e);
      }
      function k_e(e) {
        return `/dev/null/inferredProject${e}*`;
      }
      function C_e(e) {
        return `/dev/null/autoImportProviderProject${e}*`;
      }
      function E_e(e) {
        return `/dev/null/auxiliaryProject${e}*`;
      }
      function D_e() {
        return [];
      }
      var w_e = class A5e {
        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(A5e.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)) : false;
        }
        static run(t, n, i) {
          n.pendingTimeouts.delete(t), n.logger && n.logger.info(`Running: ${t}`), i();
        }
      }, P_e = class I5e {
        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(I5e.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 dG(e) {
        const t = Xc(e);
        return t === "tsconfig.json" || t === "jsconfig.json" ? t : void 0;
      }
      var N_e = {};
      Ec(N_e, {
        ClassificationType: () => mV,
        CommandTypes: () => A_e,
        CompletionTriggerKind: () => pV,
        IndentStyle: () => Qwe,
        JsxEmit: () => Ywe,
        ModuleKind: () => Zwe,
        ModuleResolutionKind: () => Kwe,
        NewLineKind: () => ePe,
        OrganizeImportsMode: () => fV,
        PollingWatchKind: () => Xwe,
        ScriptTarget: () => tPe,
        SemicolonPreference: () => dV,
        WatchDirectoryKind: () => $we,
        WatchFileKind: () => Gwe
      });
      var A_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))(A_e || {}), Gwe = /* @__PURE__ */ ((e) => (e.FixedPollingInterval = "FixedPollingInterval", e.PriorityPollingInterval = "PriorityPollingInterval", e.DynamicPriorityPolling = "DynamicPriorityPolling", e.FixedChunkSizePolling = "FixedChunkSizePolling", e.UseFsEvents = "UseFsEvents", e.UseFsEventsOnParentDirectory = "UseFsEventsOnParentDirectory", e))(Gwe || {}), $we = /* @__PURE__ */ ((e) => (e.UseFsEvents = "UseFsEvents", e.FixedPollingInterval = "FixedPollingInterval", e.DynamicPriorityPolling = "DynamicPriorityPolling", e.FixedChunkSizePolling = "FixedChunkSizePolling", e))($we || {}), Xwe = /* @__PURE__ */ ((e) => (e.FixedInterval = "FixedInterval", e.PriorityInterval = "PriorityInterval", e.DynamicPriority = "DynamicPriority", e.FixedChunkSize = "FixedChunkSize", e))(Xwe || {}), Qwe = /* @__PURE__ */ ((e) => (e.None = "None", e.Block = "Block", e.Smart = "Smart", e))(Qwe || {}), Ywe = /* @__PURE__ */ ((e) => (e.None = "none", e.Preserve = "preserve", e.ReactNative = "react-native", e.React = "react", e.ReactJSX = "react-jsx", e.ReactJSXDev = "react-jsxdev", e))(Ywe || {}), Zwe = /* @__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.Node20 = "node20", e.NodeNext = "nodenext", e.Preserve = "preserve", e))(Zwe || {}), Kwe = /* @__PURE__ */ ((e) => (e.Classic = "classic", e.Node = "node", e.NodeJs = "node", e.Node10 = "node10", e.Node16 = "node16", e.NodeNext = "nodenext", e.Bundler = "bundler", e))(Kwe || {}), ePe = /* @__PURE__ */ ((e) => (e.Crlf = "Crlf", e.Lf = "Lf", e))(ePe || {}), tPe = /* @__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))(tPe || {}), I_e = class {
        constructor(e, t, n) {
          this.host = e, this.info = t, this.isOpen = false, this.ownFileText = false, this.pendingReloadFromDisk = false, 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 = false, 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 = false, !this.text && this.svc && (this.text = sk(this.svc.getSnapshot())), this.text !== e ? (this.useText(e), this.ownFileText = false, true) : false;
        }
        /**
         * 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 === G_.getTime() && (this.info.mTime = (this.host.getModifiedTime(this.info.fileName) || G_).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 = true : false;
        }
        delayReloadFromFileIntoText() {
          this.pendingReloadFromDisk = true;
        }
        /**
         * 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 = l9.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 Dc(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) : p7(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 } = bC(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 (!_S(this.info.fileName)) {
            const s = this.host.getFileSize ? this.host.getFileSize(n) : i().length;
            if (s > hG)
              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 = jG.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 = jG.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 = QT(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 LW(this.text, t);
        }
      };
      function jw(e) {
        return e[0] === "^" || (e.includes("walkThroughSnippet:/") || e.includes("untitled:/")) && Xc(e)[0] === "^" || e.includes(":^") && !e.includes(yo);
      }
      var F_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 I_e(e, this, o), (i || this.isDynamic) && (this.realpath = this.path), this.scriptKind = n || Z5(t);
        }
        /** @internal */
        isDynamicOrHasMixedContent() {
          return this.hasMixedContent || this.isDynamic;
        }
        isScriptOpen() {
          return this.textStorage.isOpen;
        }
        open(e) {
          this.textStorage.isOpen = true, e !== void 0 && this.textStorage.reload(e) && this.markContainingProjectsAsDirty();
        }
        close(e = true) {
          this.textStorage.isOpen = false, 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 false;
            case 1:
              return this.containingProjects[0] === e;
            case 2:
              return this.containingProjects[0] === e || this.containingProjects[1] === e;
            default:
              return ds(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:
              KE(this.containingProjects, e) && e.onFileAddedOrRemoved(this.isSymlink());
              break;
          }
        }
        detachAllProjects() {
          for (const e of this.containingProjects) {
            N0(e) && e.getCachedDirectoryStructureHost().addOrDeleteFile(
              this.fileName,
              this.path,
              2
              /* Deleted */
            );
            const t = e.getRootFilesMap().get(this.path);
            e.removeFile(
              this,
              /*fileExists*/
              false,
              /*detachFromProject*/
              false
            ), e.onFileAddedOrRemoved(this.isSymlink()), t && !nE(e) && e.addMissingFileRoot(t.fileName);
          }
          Dp(this.containingProjects);
        }
        getDefaultProject() {
          switch (this.containingProjects.length) {
            case 0:
              return Ih.ThrowNoProject();
            case 1:
              return MA(this.containingProjects[0]) || LA(this.containingProjects[0]) ? Ih.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 (N0(o)) {
                  if (o.deferredClose) continue;
                  if (!o.isSourceOfProjectReferenceRedirect(this.fileName)) {
                    if (i === void 0 && s !== this.containingProjects.length - 1 && (i = o.projectService.findDefaultConfiguredProject(this) || false), i === o) return o;
                    n || (n = o);
                  }
                  e || (e = o);
                } else {
                  if (OA(o))
                    return o;
                  !t && nE(o) && (t = o);
                }
              }
              return (i || n || e || t) ?? Ih.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 = u9(this.host.newLine), B2(this.formatSettings, e))), t && (this.preferences || (this.preferences = zp), this.preferences = { ...this.preferences, ...t });
        }
        getLatestVersion() {
          return this.textStorage.getSnapshot(), this.textStorage.getVersion();
        }
        saveTo(e) {
          this.host.writeFile(e, sk(this.textStorage.getSnapshot()));
        }
        /** @internal */
        delayReloadNonMixedContentFile() {
          E.assert(!this.isDynamicOrHasMixedContent()), this.textStorage.delayReloadFromFileIntoText(), this.markContainingProjectsAsDirty();
        }
        reloadFromFile(e) {
          return this.textStorage.reloadWithFileText(e) ? (this.markContainingProjectsAsDirty(), true) : false;
        }
        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 || !lr(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) {
          vKe(e);
          const t = this.textStorage.positionToLineOffset(e);
          return bKe(t), t;
        }
        isJavaScript() {
          return this.scriptKind === 1 || this.scriptKind === 2;
        }
        /** @internal */
        closeSourceMapFileWatcher() {
          this.sourceMapFilePath && !ms(this.sourceMapFilePath) && (fp(this.sourceMapFilePath), this.sourceMapFilePath = void 0);
        }
      };
      function vKe(e) {
        E.assert(typeof e == "number", `Expected position ${e} to be a number.`), E.assert(e >= 0, "Expected position to be non-negative.");
      }
      function bKe(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 O_e(e) {
        return ot(
          e.containingProjects,
          LA
        );
      }
      function L_e(e) {
        return ot(
          e.containingProjects,
          MA
        );
      }
      var Bw = /* @__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))(Bw || {});
      function FA(e, t = false) {
        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:
              wl(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 SKe(e) {
        const t = FA(e.getScriptInfos());
        return t.js > 0 && t.ts === 0 && t.tsx === 0;
      }
      function M_e(e) {
        const t = FA(e.getRootScriptInfos());
        return t.ts === 0 && t.tsx === 0;
      }
      function R_e(e) {
        const t = FA(e.getScriptInfos());
        return t.ts === 0 && t.tsx === 0;
      }
      function j_e(e) {
        return !e.some((t) => Ho(
          t,
          ".ts"
          /* Ts */
        ) && !wl(t) || Ho(
          t,
          ".tsx"
          /* Tsx */
        ));
      }
      function B_e(e) {
        return e.generatedFilePath !== void 0;
      }
      function rPe(e, t) {
        if (e === t || (e || hl).length === 0 && (t || hl).length === 0)
          return true;
        const n = /* @__PURE__ */ new Map();
        let i = 0;
        for (const s of e)
          n.get(s) !== true && (n.set(s, true), i++);
        for (const s of t) {
          const o = n.get(s);
          if (o === void 0)
            return false;
          o === true && (n.set(s, false), i--);
        }
        return i === 0;
      }
      function TKe(e, t) {
        return e.enable !== t.enable || !rPe(e.include, t.include) || !rPe(e.exclude, t.exclude);
      }
      function xKe(e, t) {
        return Ly(e) !== Ly(t);
      }
      function kKe(e, t) {
        return e === t ? false : !yf(e, t);
      }
      var vk = class F5e {
        /** @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 = false, this.hasAddedOrRemovedSymlinks = false, this.lastReportedVersion = 0, this.projectProgramVersion = 0, this.projectStateVersion = 0, this.initialLoadPending = false, this.dirty = false, this.typingFiles = hl, this.moduleSpecifierCache = cfe(this), this.createHash = Fs(this.projectService.host, this.projectService.host.createHash), this.globalCacheResolutionModuleName = Qy.nonRelativeModuleNameForTypingCache, this.updateFromProjectInProgress = false, i.logger.info(`Creating ${Bw[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 dce(this.projectService.cancellationToken, this.projectService.throttleWaitMilliseconds), this.compilerOptions ? (s || Ly(this.compilerOptions) || this.projectService.hasDeferredExtension()) && (this.compilerOptions.allowNonTsExtensions = true) : (this.compilerOptions = fL(), this.compilerOptions.allowNonTsExtensions = true, this.compilerOptions.allowJs = true), i.serverMode) {
            case 0:
              this.languageServiceEnabled = true;
              break;
            case 1:
              this.languageServiceEnabled = true, this.compilerOptions.noResolve = true, this.compilerOptions.types = [];
              break;
            case 2:
              this.languageServiceEnabled = false, this.compilerOptions.noResolve = true, 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 = Fs(h, h.realpath), this.preferNonRecursiveWatch = this.projectService.canUseWatchEvents || h.preferNonRecursiveWatch, this.resolutionCache = AU(
            this,
            this.currentDirectory,
            /*logChangesWhenResolvingModule*/
            true
          ), this.languageService = mce(
            this,
            this.projectService.documentRegistry,
            this.projectService.serverMode
          ), o && this.disableLanguageService(o), this.markAsDirty(), LA(this) || (this.projectService.pendingEnsureProjectForOpenFiles = true), this.projectService.onProjectCreation(this);
        }
        /** @internal */
        getRedirectFromSourceFile(t) {
        }
        isNonTsProject() {
          return Up(this), R_e(this);
        }
        isJsOnlyProject() {
          return Up(this), SKe(this);
        }
        static resolveModule(t, n, i, s) {
          return F5e.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 = Rl(i.resolvePath(On(_, "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 = On(_, "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 = kJ(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 Ge;
          let t;
          return this.rootFilesMap.forEach((n) => {
            (this.languageServiceEnabled || n.info && n.info.isScriptOpen()) && (t || (t = [])).push(n.fileName);
          }), In(t, this.typingFiles) || Ge;
        }
        getOrCreateScriptInfoAndAttachToProject(t) {
          const n = this.projectService.getOrCreateScriptInfoNotOpenedByClient(
            t,
            this.currentDirectory,
            this.directoryStructureHost,
            /*deferredDeleteOk*/
            false
          );
          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*/
            false
          );
          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 = Hn(qs(this.projectService.getExecutingFilePath()));
          return On(t, XP(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 io(t, this.currentDirectory, this.projectService.toCanonicalFileName);
        }
        /** @internal */
        watchDirectoryOfFailedLookupLocation(t, n, i) {
          return this.projectService.watchFactory.watchDirectory(
            t,
            n,
            i,
            this.projectService.getWatchOptions(this),
            Pl.FailedLookupLocations,
            this
          );
        }
        /** @internal */
        watchAffectingFileLocation(t, n) {
          return this.projectService.watchFactory.watchFile(
            t,
            n,
            2e3,
            this.projectService.getWatchOptions(this),
            Pl.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),
            Pl.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 = true);
        }
        /**
         * Get the errors that dont have any file name associated
         */
        getGlobalProjectErrors() {
          return kn(this.projectErrors, (t) => !t.file) || hl;
        }
        /**
         * Get all the project errors
         */
        getAllProjectErrors() {
          return this.projectErrors || hl;
        }
        setProjectErrors(t) {
          this.projectErrors = t;
        }
        getLanguageService(t = true) {
          return t && Up(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 ? (Up(this), this.builderState = Id.create(
            this.program,
            this.builderState,
            /*disableUseFileVersionAsSignature*/
            true
          ), Fi(
            Id.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: true, diagnostics: hl };
          const { emitSkipped: i, diagnostics: s, outputFiles: o } = this.getLanguageService().getEmitOutput(t.fileName);
          if (!i) {
            for (const c of o) {
              const _ = Qi(c.name, this.currentDirectory);
              n(_, c.text, c.writeByteOrderMark);
            }
            if (this.builderState && M_(this.compilerOptions)) {
              const c = o.filter((_) => wl(_.name));
              if (c.length === 1) {
                const _ = this.program.getSourceFile(t.fileName), u = this.projectService.host.createHash ? this.projectService.host.createHash(c[0].text) : o4(c[0].text);
                Id.updateSignatureOfFile(this.builderState, u, _.resolvedPath);
              }
            }
          }
          return { emitSkipped: i, diagnostics: s };
        }
        enableLanguageService() {
          this.languageServiceEnabled || this.projectService.serverMode === 2 || (this.languageServiceEnabled = true, this.lastFileExceededProgramSize = void 0, this.projectService.onUpdateLanguageServiceStateForProject(
            this,
            /*languageServiceEnabled*/
            true
          ));
        }
        /** @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 = false, 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*/
            false
          ));
        }
        getProjectName() {
          return this.projectName;
        }
        removeLocalTypingsFromTypeAcquisition(t) {
          return !t.enable || !t.include ? t : { ...t, include: this.removeExistingTypings(t.include) };
        }
        getExternalFiles(t) {
          return q_(xa(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(), lr(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 = true, 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 && (L_(this.missingFilesMap, nd), 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 false;
        }
        getRootFiles() {
          return this.rootFilesMap && ns(sy(this.rootFilesMap.values(), (t) => {
            var n;
            return (n = t.info) == null ? void 0 : n.fileName;
          }));
        }
        /** @internal */
        getRootFilesMap() {
          return this.rootFilesMap;
        }
        getRootScriptInfos() {
          return ns(sy(this.rootFilesMap.values(), (t) => t.info));
        }
        getScriptInfos() {
          return this.languageServiceEnabled ? hr(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 hl;
        }
        getFileNames(t, n) {
          if (!this.program)
            return [];
          if (!this.languageServiceEnabled) {
            let s = this.getRootFiles();
            if (this.compilerOptions) {
              const o = gce(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 true;
              if (n.extendedSourceFiles) {
                for (const i of n.extendedSourceFiles)
                  if (t === i)
                    return true;
              }
            }
          }
          return false;
        }
        containsScriptInfo(t) {
          if (this.isRoot(t)) return true;
          if (!this.program) return false;
          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) : false;
        }
        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 = true);
        }
        /** @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 = true, t && (this.hasAddedOrRemovedSymlinks = true);
        }
        /** @internal */
        onDiscoveredSymlink() {
          this.hasAddedOrRemovedSymlinks = true;
        }
        /** @internal */
        onReleaseOldSourceFile(t, n, i, s) {
          (!s || t.resolvedPath === t.path && s.resolvedPath !== t.path) && this.detachScriptInfoFromProject(t.fileName, i);
        }
        /** @internal */
        updateFromProject() {
          Up(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 = on) == null || t.push(on.Phase.Session, "updateGraph", { name: this.projectName, kind: Bw[this.projectKind] }), this.resolutionCache.startRecordingFilesWithChangedResolutions();
          const i = this.updateGraphWorker(), s = this.hasAddedorRemovedFiles;
          this.hasAddedorRemovedFiles = false, this.hasAddedOrRemovedSymlinks = false;
          const o = this.resolutionCache.finishRecordingFilesWithChangedResolutions() || hl;
          for (const _ of o)
            this.cachedUnresolvedImportsPerFile.delete(_);
          this.languageServiceEnabled && this.projectService.serverMode === 0 && !this.isOrphan() ? ((i || o.length) && (this.lastCachedUnresolvedImportsList = CKe(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 = on) == null || n.pop(), !i;
        }
        /** @internal */
        enqueueInstallTypingsForProject(t) {
          const n = this.getTypeAcquisition();
          if (!n || !n.enable || this.projectService.typingsInstaller === WL)
            return;
          const i = this.typingsCache;
          (t || !i || TKe(n, i.typeAcquisition) || xKe(this.getCompilationSettings(), i.compilerOptions) || kKe(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 ? hl : q_(s);
          KI(
            o,
            this.typingFiles,
            dC(!this.useCaseSensitiveFileNames()),
            /*inserted*/
            Ua,
            (c) => this.detachScriptInfoFromProject(c)
          ) && (this.typingFiles = o, this.resolutionCache.setFilesWithInvalidatedNonRelativeUnresolvedImports(this.cachedUnresolvedImportsPerFile), this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(this));
        }
        closeWatchingTypingLocations() {
          this.typingWatchers && L_(this.typingWatchers, nd), this.typingWatchers = void 0;
        }
        onTypingInstallerWatchInvoke() {
          this.typingWatchers.isInvoked = true, this.projectService.updateTypingsForProject({ projectName: this.getProjectName(), kind: o9 });
        }
        /** @internal */
        watchTypingLocations(t) {
          if (!t) {
            this.typingWatchers.isInvoked = false;
            return;
          }
          if (!t.length) {
            this.closeWatchingTypingLocations();
            return;
          }
          const n = new Map(this.typingWatchers);
          this.typingWatchers || (this.typingWatchers = /* @__PURE__ */ new Map()), this.typingWatchers.isInvoked = false;
          const i = (s, o) => {
            const c = this.toPath(s);
            if (n.delete(c), !this.typingWatchers.has(c)) {
              const _ = o === "FileWatcher" ? Pl.TypingInstallerLocationFile : Pl.TypingInstallerLocationDirectory;
              this.typingWatchers.set(
                c,
                w8(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 (!Ho(
                      u,
                      ".json"
                      /* Json */
                    )) return this.writeLog("Ignoring files that are not *.json");
                    if (_h(u, On(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}:: ${IG(_, this)}`), M6)
              );
            }
          };
          for (const s of t) {
            const o = Xc(s);
            if (o === "package.json" || o === "bower.json") {
              i(
                s,
                "FileWatcher"
                /* FileWatcher */
              );
              continue;
            }
            if (Kf(this.currentDirectory, s, this.currentDirectory, !this.useCaseSensitiveFileNames())) {
              const c = s.indexOf(yo, this.currentDirectory.length + 1);
              i(
                c !== -1 ? s.substr(0, c) : s,
                "DirectoryWatcher"
                /* DirectoryWatcher */
              );
              continue;
            }
            if (Kf(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 = cO(this.getCompilerOptions(), this);
          return kn(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 = no(), { hasInvalidatedResolutions: o, hasInvalidatedLibResolutions: c } = this.resolutionCache.createHasInvalidatedResolutions(uh, uh);
          this.hasInvalidatedResolutions = o, this.hasInvalidatedLibResolutions = c, this.resolutionCache.startCachingPerDirectoryResolution(), this.dirty = false, this.updateFromProjectInProgress = true, this.program = this.languageService.getProgram(), this.updateFromProjectInProgress = false, (t = on) == null || t.push(on.Phase.Session, "finishCachingPerDirectoryResolution"), this.resolutionCache.finishCachingPerDirectoryResolution(this.program, i), (n = on) == null || n.pop(), E.assert(i === void 0 || this.program !== void 0);
          let _ = false;
          if (this.program && (!i || this.program !== i && this.program.structureIsReused !== 2)) {
            if (_ = true, 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));
            }), sU(
              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;
              B_e(this.generatedFilesMap) ? (!m || !this.isValidGeneratedFileWatcher(
                Uu(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(
                  T5(T.fileName, this.compilerOptions, this.program),
                  h
                )) && (fp(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 && Eg(this.changedFilesForExportMapCache, (m) => {
            const h = i.getSourceFileByPath(m), S = this.program.getSourceFileByPath(m);
            return !h || !S ? (this.exportMapCache.clear(), true) : 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 || hl;
          this.externalFiles = this.getExternalFiles(), KI(
            this.externalFiles,
            u,
            dC(!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*/
                false
              );
              h?.attachToProject(this);
            },
            (m) => this.detachScriptInfoFromProject(m)
          );
          const g = no() - s;
          return this.sendPerformanceEvent("UpdateGraph", g), this.writeLog(`Finishing updateGraphWorker: Project: ${this.getProjectName()} projectStateVersion: ${this.projectStateVersion} projectProgramVersion: ${this.projectProgramVersion} structureChanged: ${_}${this.program ? ` structureIsReused:: ${tj[this.program.structureIsReused]}` : ""} Elapsed: ${g}ms`), this.projectService.logger.isTestLogger ? this.program !== i ? this.print(
            /*writeProjectFileNames*/
            true,
            this.hasAddedorRemovedFiles,
            /*writeFileVersionAndText*/
            true
          ) : this.writeLog("Same program as before") : this.hasAddedorRemovedFiles ? this.print(
            /*writeProjectFileNames*/
            true,
            /*writeFileExplaination*/
            true,
            /*writeFileVersionAndText*/
            false
          ) : 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 (N0(this)) {
            const o = this.projectService.configFileExistenceInfoCache.get(t);
            if ((i = o?.config) != null && i.projects.has(this.canonicalConfigFilePath)) return M6;
          }
          const s = this.projectService.watchFactory.watchFile(
            Qi(n, this.currentDirectory),
            (o, c) => {
              N0(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),
            Pl.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 (B_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),
              Pl.MissingGeneratedFile,
              this
            )
          };
        }
        isValidGeneratedFileWatcher(t, n) {
          return this.toPath(t) === n.generatedFilePath;
        }
        clearGeneratedFileWatch() {
          this.generatedFilesMap && (B_e(this.generatedFilesMap) ? fp(this.generatedFilesMap) : L_(this.generatedFilesMap, fp), this.generatedFilesMap = void 0);
        }
        getScriptInfoForNormalizedPath(t) {
          const n = this.projectService.getScriptInfoForPath(this.toPath(t));
          return n && !n.isAttached(this) ? Ih.ThrowProjectDoesNotContainDocument(t, this) : n;
        }
        getScriptInfo(t) {
          return this.projectService.getScriptInfo(t);
        }
        filesToString(t) {
          return this.filesToStringWorker(
            t,
            /*writeFileExplaination*/
            true,
            /*writeFileVersionAndText*/
            false
          );
        }
        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 += `

`, MU(this.program, (c) => o += `	${c}
`));
          }
          return o;
        }
        /** @internal */
        print(t, n, i) {
          var s;
          this.writeLog(`Project '${this.projectName}' (${Bw[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*/
            false,
            /*writeFileExplaination*/
            false,
            /*writeFileVersionAndText*/
            false
          ), (s = this.noDtsResolutionProject) == null || s.print(
            /*writeProjectFileNames*/
            false,
            /*writeFileExplaination*/
            false,
            /*writeFileVersionAndText*/
            false
          );
        }
        setCompilerOptions(t) {
          var n;
          if (t) {
            t.allowNonTsExtensions = true;
            const i = this.compilerOptions;
            this.compilerOptions = t, this.setInternalCompilerOptionsForEmittingJsFiles(), (n = this.noDtsResolutionProject) == null || n.setCompilerOptions(this.getCompilerOptionsForNoDtsResolutionProject()), M7(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) => ns(u.entries(), ([g, m]) => ({
            fileName: g,
            isSourceOfProjectReferenceRedirect: m
          })) : (u) => ns(u.keys());
          this.initialLoadPending || Up(this);
          const c = {
            projectName: this.getProjectName(),
            version: this.projectProgramVersion,
            isInferred: nE(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: Ka(D),
              isSourceOfProjectReferenceRedirect: false
            }))) || hl, m = fC(
              this.getFileNamesWithRedirectInfo(!!n).concat(g),
              (D) => D.fileName,
              (D) => D.isSourceOfProjectReferenceRedirect
            ), h = /* @__PURE__ */ new Map(), S = /* @__PURE__ */ new Map(), T = _ ? ns(_.keys()) : [], k = [];
            return dl(m, (D, P) => {
              u.has(P) ? n && D !== u.get(P) && k.push({
                fileName: P,
                isSourceOfProjectReferenceRedirect: D
              }) : h.set(P, D);
            }), dl(u, (D, P) => {
              m.has(P) || S.set(P, 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: Ka(h),
              isSourceOfProjectReferenceRedirect: false
            }))) || hl, m = u.concat(g);
            return this.lastReportedFileNames = fC(
              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/
            On(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: true }, 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: Rwe }), 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 ? hl : this.projectService.getPackageJsonsVisibleToFile(t, this, n);
        }
        /** @internal */
        getNearestAncestorDirectoryWithPackageJson(t) {
          return this.projectService.getNearestAncestorDirectoryWithPackageJson(t, this);
        }
        /** @internal */
        getPackageJsonsForAutoImport(t) {
          return this.getPackageJsonsVisibleToFile(On(this.currentDirectory, sw), t);
        }
        /** @internal */
        getPackageJsonCache() {
          return this.projectService.packageJsonCache;
        }
        /** @internal */
        getCachedExportInfoMap() {
          return this.exportMapCache || (this.exportMapCache = mq(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 || Y8(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 === false)
            return;
          if (this.projectService.serverMode !== 0) {
            this.autoImportProviderHost = false;
            return;
          }
          if (this.autoImportProviderHost) {
            if (Up(this.autoImportProviderHost), this.autoImportProviderHost.isEmpty()) {
              this.autoImportProviderHost.close(), this.autoImportProviderHost = void 0;
              return;
            }
            return this.autoImportProviderHost.getCurrentProgram();
          }
          const s = this.includePackageJsonAutoImports();
          if (s) {
            (t = on) == null || t.push(on.Phase.Session, "getPackageJsonAutoImportProvider");
            const o = no();
            if (this.autoImportProviderHost = U_e.create(
              s,
              this,
              this.getHostForAutoImportProvider()
            ) ?? false, this.autoImportProviderHost)
              return Up(this.autoImportProviderHost), this.sendPerformanceEvent("CreatePackageJsonAutoImportProvider", no() - o), (n = on) == null || n.pop(), this.autoImportProviderHost.getCurrentProgram();
            (i = on) == null || i.pop();
          }
        }
        isDefaultProjectForOpenFiles() {
          return !!dl(
            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 z_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: true,
            allowJs: true,
            maxNodeModuleJsDepth: 3,
            diagnostics: false,
            skipLibCheck: true,
            sourceMap: false,
            types: Ge,
            lib: Ge,
            noLib: true
          };
        }
      };
      function CKe(e, t) {
        var n, i;
        const s = e.getSourceFiles();
        (n = on) == null || n.push(on.Phase.Session, "getUnresolvedImports", { count: s.length });
        const o = e.getTypeChecker().getAmbientModules().map((_) => Lp(_.getName())), c = ZE(xa(s, (_) => EKe(
          e,
          _,
          o,
          t
        )));
        return (i = on) == null || i.pop(), c;
      }
      function EKe(e, t, n, i) {
        return YE(i, t.path, () => {
          let s;
          return e.forEachResolvedModule(({ resolvedModule: o }, c) => {
            (!o || !lD(o.extension)) && !xl(c) && !n.some((_) => _ === c) && (s = Er(s, fO(c).packageName));
          }, t), s || hl;
        });
      }
      var J_e = class extends vk {
        /** @internal */
        constructor(e, t, n, i, s, o) {
          super(
            e.newInferredProjectName(),
            0,
            e,
            /*hasExplicitListOfFiles*/
            false,
            /*lastFileExceededProgramSize*/
            void 0,
            t,
            /*compileOnSaveEnabled*/
            false,
            n,
            e.host,
            s
          ), this._isJsInferredProject = false, 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 = OV(e || this.getCompilationSettings());
          this._isJsInferredProject && typeof t.maxNodeModuleJsDepth != "number" ? t.maxNodeModuleJsDepth = 2 : this._isJsInferredProject || (t.maxNodeModuleJsDepth = void 0), t.allowJs = true, super.setCompilerOptions(t);
        }
        addRoot(e) {
          E.assert(e.isScriptOpen()), this.projectService.startWatchingConfigFilesForInferredProjectRoot(e), !this._isJsInferredProject && e.isJavaScript() ? this.toggleJsInferredProject(
            /*isJsInferredProject*/
            true
          ) : this.isOrphan() && this._isJsInferredProject && !e.isJavaScript() && this.toggleJsInferredProject(
            /*isJsInferredProject*/
            false
          ), super.addRoot(e);
        }
        removeRoot(e) {
          this.projectService.stopWatchingConfigFilesForScriptInfo(e), super.removeRoot(e), !this.isOrphan() && this._isJsInferredProject && e.isJavaScript() && Ni(this.getRootScriptInfos(), (t) => !t.isJavaScript()) && this.toggleJsInferredProject(
            /*isJsInferredProject*/
            false
          );
        }
        /** @internal */
        isOrphan() {
          return !this.hasRoots();
        }
        isProjectWithSingleRoot() {
          return !this.projectRootPath && !this.projectService.useSingleInferredProject || this.getRootScriptInfos().length === 1;
        }
        close() {
          lr(this.getRootScriptInfos(), (e) => this.projectService.stopWatchingConfigFilesForScriptInfo(e)), super.close();
        }
        getTypeAcquisition() {
          return this.typeAcquisition || {
            enable: M_e(this),
            include: Ge,
            exclude: Ge
          };
        }
      }, z_e = class extends vk {
        constructor(e) {
          super(
            e.projectService.newAuxiliaryProjectName(),
            4,
            e.projectService,
            /*hasExplicitListOfFiles*/
            false,
            /*lastFileExceededProgramSize*/
            void 0,
            e.getCompilerOptionsForNoDtsResolutionProject(),
            /*compileOnSaveEnabled*/
            false,
            /*watchOptions*/
            void 0,
            e.projectService.host,
            e.currentDirectory
          );
        }
        isOrphan() {
          return true;
        }
        scheduleInvalidateResolutionsOfFailedLookupLocations() {
        }
      }, W_e = class sge extends vk {
        /** @internal */
        constructor(t, n, i) {
          super(
            t.projectService.newAutoImportProviderProjectName(),
            3,
            t.projectService,
            /*hasExplicitListOfFiles*/
            false,
            /*lastFileExceededProgramSize*/
            void 0,
            i,
            /*compileOnSaveEnabled*/
            false,
            t.getWatchOptions(),
            t.projectService.host,
            t.currentDirectory
          ), this.hostProject = t, this.rootFileNames = n, this.useSourceOfProjectReferenceRedirect = Fs(this.hostProject, this.hostProject.useSourceOfProjectReferenceRedirect), this.getParsedCommandLine = Fs(this.hostProject, this.hostProject.getParsedCommandLine);
        }
        /** @internal */
        static getRootFileNames(t, n, i, s) {
          var o, c;
          if (!t)
            return Ge;
          const _ = n.getCurrentProgram();
          if (!_)
            return Ge;
          const u = no();
          let g, m;
          const h = On(n.currentDirectory, sw), S = n.getPackageJsonsForAutoImport(On(n.currentDirectory, h));
          for (const R of S)
            (o = R.dependencies) == null || o.forEach((B, U) => A(U)), (c = R.peerDependencies) == null || c.forEach((B, U) => A(U));
          let T = 0;
          if (g) {
            const R = n.getSymlinkCache();
            for (const B of ns(g.keys())) {
              if (t === 2 && T >= this.maxDependencies)
                return n.log(`AutoImportProviderProject: attempted to add more than ${this.maxDependencies} dependencies. Aborting.`), Ge;
              const U = uW(
                B,
                n.currentDirectory,
                s,
                i,
                _.getModuleResolutionCache()
              );
              if (U) {
                const W = O(U, _, R);
                if (W) {
                  T += P(W);
                  continue;
                }
              }
              if (!lr([n.currentDirectory, n.getGlobalTypingsCacheLocation()], (W) => {
                if (W) {
                  const _e = uW(
                    `@types/${B}`,
                    W,
                    s,
                    i,
                    _.getModuleResolutionCache()
                  );
                  if (_e) {
                    const K = O(_e, _, R);
                    return T += P(K), true;
                  }
                }
              }) && U && s.allowJs && s.maxNodeModuleJsDepth) {
                const W = O(
                  U,
                  _,
                  R,
                  /*resolveJs*/
                  true
                );
                T += P(W);
              }
            }
          }
          const k = _.getResolvedProjectReferences();
          let D = 0;
          return k?.length && n.projectService.getHostPreferences().includeCompletionsForModuleExports && k.forEach((R) => {
            if (R?.commandLine.options.outFile)
              D += P(F([
                g0(R.commandLine.options.outFile, ".d.ts")
              ]));
            else if (R) {
              const B = Bu(
                () => FS(
                  R.commandLine,
                  !n.useCaseSensitiveFileNames()
                )
              );
              D += P(F(Fi(
                R.commandLine.fileNames,
                (U) => !wl(U) && !Ho(
                  U,
                  ".json"
                  /* Json */
                ) && !_.getSourceFile(U) ? rw(
                  U,
                  R.commandLine,
                  !n.useCaseSensitiveFileNames(),
                  B
                ) : void 0
              )));
            }
          }), m?.size && n.log(`AutoImportProviderProject: found ${m.size} root files in ${T} dependencies ${D} referenced projects in ${no() - u} ms`), m ? ns(m.values()) : Ge;
          function P(R) {
            return R?.length ? (m ?? (m = /* @__PURE__ */ new Set()), R.forEach((B) => m.add(B)), 1) : 0;
          }
          function A(R) {
            Ui(R, "@types/") || (g || (g = /* @__PURE__ */ new Set())).add(R);
          }
          function O(R, B, U, $) {
            var W;
            const _e = gW(
              R,
              s,
              i,
              B.getModuleResolutionCache(),
              $
            );
            if (_e) {
              const K = (W = i.realpath) == null ? void 0 : W.call(i, R.packageDirectory), V = K ? n.toPath(K) : void 0, ae = V && V !== n.toPath(R.packageDirectory);
              return ae && U.setSymlinkedDirectory(R.packageDirectory, {
                real: pl(K),
                realPath: pl(V)
              }), F(_e, ae ? (se) => se.replace(R.packageDirectory, K) : void 0);
            }
          }
          function F(R, B) {
            return Fi(R, (U) => {
              const $ = B ? B(U) : U;
              if (!_.getSourceFile($) && !(B && _.getSourceFile(U)))
                return $;
            });
          }
        }
        /** @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 sge(n, o, s);
        }
        /** @internal */
        isEmpty() {
          return !ot(this.rootFileNames);
        }
        /** @internal */
        isOrphan() {
          return true;
        }
        updateGraph() {
          let t = this.rootFileNames;
          t || (t = sge.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 || Ge;
        }
        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();
        }
      };
      W_e.maxDependencies = 10, W_e.compilerOptionsOverrides = {
        diagnostics: false,
        skipLibCheck: true,
        sourceMap: false,
        types: Ge,
        lib: Ge,
        noLib: true
      };
      var U_e = W_e, V_e = class extends vk {
        /** @internal */
        constructor(e, t, n, i, s) {
          super(
            e,
            1,
            n,
            /*hasExplicitListOfFiles*/
            false,
            /*lastFileExceededProgramSize*/
            void 0,
            /*compilerOptions*/
            {},
            /*compileOnSaveEnabled*/
            false,
            /*watchOptions*/
            void 0,
            i,
            Hn(e)
          ), this.canonicalConfigFilePath = t, this.openFileWatchTriggered = /* @__PURE__ */ new Map(), this.initialLoadPending = true, this.sendLoadingProjectFinish = false, 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 = Ka(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(Ka(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 false;
          const e = this.dirty;
          this.initialLoadPending = false;
          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 = true;
              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*/
            false
          ), 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 */
        getRedirectFromSourceFile(e) {
          const t = this.getCurrentProgram();
          return t && t.getRedirectFromSourceFile(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 = Hn(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 kn(this.projectErrors, (e) => !e.file) || hl;
        }
        /**
         * Get all the project errors
         */
        getAllProjectErrors() {
          return this.projectErrors || hl;
        }
        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 WD(this.getCompilationSettings(), this) || [];
        }
        /** @internal */
        updateErrorOnNoInputFiles(e) {
          this.parsedCommandLine = e, nO(
            e.fileNames,
            this.getConfigFilePath(),
            this.getCompilerOptions().configFile.configFileSpecs,
            this.projectErrors,
            i8(e.raw)
          );
        }
      }, mG = class extends vk {
        /** @internal */
        constructor(e, t, n, i, s, o, c) {
          super(
            e,
            2,
            t,
            /*hasExplicitListOfFiles*/
            true,
            i,
            n,
            s,
            c,
            t.host,
            Hn(o || Rl(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 nE(e) {
        return e.projectKind === 0;
      }
      function N0(e) {
        return e.projectKind === 1;
      }
      function OA(e) {
        return e.projectKind === 2;
      }
      function LA(e) {
        return e.projectKind === 3 || e.projectKind === 4;
      }
      function MA(e) {
        return N0(e) && !!e.deferredClose;
      }
      var gG = 20 * 1024 * 1024, hG = 4 * 1024 * 1024, JL = "projectsUpdatedInBackground", yG = "projectLoadingStart", vG = "projectLoadingFinish", bG = "largeFileReferenced", SG = "configFileDiag", TG = "projectLanguageServiceState", xG = "projectInfo", q_e = "openFileInfo", kG = "createFileWatcher", CG = "createDirectoryWatcher", EG = "closeFileWatcher", nPe = "*ensureProjectForOpenFiles*";
      function iPe(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 DKe = iPe(od), wKe = iPe(Xx), PKe = new Map(Object.entries({
        none: 0,
        block: 1,
        smart: 2
        /* Smart */
      })), H_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 iE(e) {
        return ms(e.indentStyle) && (e.indentStyle = PKe.get(e.indentStyle.toLowerCase()), E.assert(e.indentStyle !== void 0)), e;
      }
      function zL(e) {
        return DKe.forEach((t, n) => {
          const i = e[n];
          ms(i) && (e[n] = t.get(i.toLowerCase()));
        }), e;
      }
      function RA(e, t) {
        let n, i;
        return Xx.forEach((s) => {
          const o = e[s.name];
          if (o === void 0) return;
          const c = wKe.get(s.name);
          (n || (n = {}))[s.name] = c ? ms(o) ? c.get(o.toLowerCase()) : o : wS(s, o, t || "", i || (i = []));
        }), n && { watchOptions: n, errors: i };
      }
      function G_e(e) {
        let t;
        return GF.forEach((n) => {
          const i = e[n.name];
          i !== void 0 && ((t || (t = {}))[n.name] = i);
        }), t;
      }
      function DG(e) {
        return ms(e) ? wG(e) : e;
      }
      function wG(e) {
        switch (e) {
          case "JS":
            return 1;
          case "JSX":
            return 2;
          case "TS":
            return 3;
          case "TSX":
            return 4;
          default:
            return 0;
        }
      }
      function $_e(e) {
        const { lazyConfiguredProjectsFromExternalProject: t, ...n } = e;
        return n;
      }
      var PG = {
        getFileName: (e) => e,
        getScriptKind: (e, t) => {
          let n;
          if (t) {
            const i = GT(e);
            i && ot(t, (s) => s.extension === i ? (n = s.scriptKind, true) : false);
          }
          return n;
        },
        hasMixedContent: (e, t) => ot(t, (n) => n.isMixedContent && Ho(e, n.extension))
      }, NG = {
        getFileName: (e) => e.fileName,
        getScriptKind: (e) => DG(e.scriptKind),
        // TODO: GH#18217
        hasMixedContent: (e) => !!e.hasMixedContent
      };
      function sPe(e, t) {
        for (const n of t)
          if (n.getProjectName() === e)
            return n;
      }
      var WL = {
        isKnownTypesPackageName: uh,
        // Should never be called because we never provide a types registry.
        installPackage: Us,
        enqueueInstallTypingsRequest: Ua,
        attach: Ua,
        onProjectClosed: Ua,
        globalTypingsCacheLocation: void 0
        // TODO: GH#18217
      }, X_e = { close: Ua };
      function aPe(e, t) {
        if (!t) return;
        const n = t.get(e.path);
        if (n !== void 0)
          return AG(e) ? n && !ms(n) ? (
            // Map with fileName as key
            n.get(e.fileName)
          ) : void 0 : ms(n) || !n ? n : (
            // direct result
            n.get(
              /*key*/
              false
            )
          );
      }
      function oPe(e) {
        return !!e.containingProjects;
      }
      function AG(e) {
        return !!e.configFileInfo;
      }
      var Q_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))(Q_e || {});
      function cPe(e) {
        return e - 1;
      }
      function lPe(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: true,
              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 uPe(e, t, n, i, s, o, c, _) {
        const u = t.options.disableReferencedProjectLoad ? 0 : i;
        let g;
        return lr(
          t.projectReferences,
          (m) => {
            var h;
            const S = Ka(tk(m)), T = e.projectService.toCanonicalFileName(S), k = _?.get(T);
            if (k !== void 0 && k >= u) return;
            const D = e.projectService.configFileExistenceInfoCache.get(T);
            let P = u === 0 ? D?.exists || (h = e.resolvedChildConfigs) != null && h.has(T) ? D.config.parsedCommandLine : void 0 : e.getParsedCommandLine(S);
            if (P && u !== i && u > 2 && (P = e.getParsedCommandLine(S)), !P) 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(P);
            }
          }
        ) || lr(
          g,
          (m) => m.projectReferences && uPe(
            e,
            m,
            n,
            u,
            s,
            o,
            c,
            _
          )
        );
      }
      function Y_e(e, t, n, i, s) {
        let o = false, c;
        switch (t) {
          case 2:
          case 3:
            tfe(e) && (c = e.projectService.configFileExistenceInfoCache.get(e.canonicalConfigFilePath));
            break;
          case 4:
            if (c = efe(e), c) break;
          // falls through
          case 5:
            o = AKe(e, n);
            break;
          case 6:
            if (e.projectService.reloadConfiguredProjectOptimized(e, i, s), c = efe(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 _Pe(e, t) {
        return e.initialLoadPending ? (e.potentialProjectReferences && Eg(e.potentialProjectReferences, t)) ?? (e.resolvedChildConfigs && Eg(e.resolvedChildConfigs, t)) : void 0;
      }
      function NKe(e, t, n, i) {
        return e.getCurrentProgram() ? e.forEachResolvedProjectReference(t) : e.initialLoadPending ? _Pe(e, i) : lr(e.getProjectReferences(), n);
      }
      function Z_e(e, t, n) {
        const i = n && e.projectService.configuredProjects.get(n);
        return i && t(i);
      }
      function fPe(e, t) {
        return NKe(
          e,
          (n) => Z_e(e, t, n.sourceFile.path),
          (n) => Z_e(e, t, e.toPath(tk(n))),
          (n) => Z_e(e, t, n)
        );
      }
      function IG(e, t) {
        return `${ms(t) ? `Config: ${t} ` : t ? `Project: ${t.getProjectName()} ` : ""}WatchType: ${e}`;
      }
      function K_e(e) {
        return !e.isScriptOpen() && e.mTime !== void 0;
      }
      function Up(e) {
        return e.invalidateResolutionsOfFailedLookupLocations(), e.dirty && !e.updateGraph();
      }
      function pPe(e, t, n) {
        if (!n && (e.invalidateResolutionsOfFailedLookupLocations(), !e.dirty))
          return false;
        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 AKe(e, t) {
        if (t) {
          if (pPe(
            e,
            t,
            /*isReload*/
            false
          )) return true;
        } else
          Up(e);
        return false;
      }
      function efe(e) {
        const t = Ka(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), tfe(e)) return n;
      }
      function tfe(e) {
        return !!e.parsedCommandLine && (!!e.parsedCommandLine.options.composite || // If solution, no need to load it to determine if file belongs to it
        !!aW(e.parsedCommandLine));
      }
      function IKe(e) {
        return tfe(e) ? e.projectService.configFileExistenceInfoCache.get(e.canonicalConfigFilePath) : void 0;
      }
      function FKe(e) {
        return `Creating possible configured project for ${e.fileName} to open`;
      }
      function FG(e) {
        return `User requested reload projects: ${e}`;
      }
      function rfe(e) {
        N0(e) && (e.projectOptions = true);
      }
      function nfe(e) {
        let t = 1;
        return () => e(t++);
      }
      function ife() {
        return { idToCallbacks: /* @__PURE__ */ new Map(), pathToId: /* @__PURE__ */ new Map() };
      }
      function dPe(e, t) {
        return !!t && !!e.eventHandler && !!e.session;
      }
      function OKe(e, t) {
        if (!dPe(e, t)) return;
        const n = ife(), i = ife(), s = ife();
        let o = 1;
        return e.session.addProtocolHandler("watchChange", (T) => (g(T.arguments), { responseRequired: false })), {
          watchFile: c,
          watchDirectory: _,
          getCurrentDirectory: () => e.host.getCurrentDirectory(),
          useCaseSensitiveFileNames: e.host.useCaseSensitiveFileNames
        };
        function c(T, k) {
          return u(
            n,
            T,
            k,
            (D) => ({ eventName: kG, data: { id: D, path: T } })
          );
        }
        function _(T, k, D) {
          return u(
            D ? s : i,
            T,
            k,
            (P) => ({
              eventName: CG,
              data: {
                id: P,
                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 : true
              }
            })
          );
        }
        function u({ pathToId: T, idToCallbacks: k }, D, P, A) {
          const O = e.toPath(D);
          let F = T.get(O);
          F || T.set(O, F = o++);
          let R = k.get(F);
          return R || (k.set(F, R = /* @__PURE__ */ new Set()), e.eventHandler(A(F))), R.add(P), {
            close() {
              const B = k.get(F);
              B?.delete(P) && (B.size || (k.delete(F), T.delete(O), e.eventHandler({ eventName: EG, data: { id: F } })));
            }
          };
        }
        function g(T) {
          ss(T) ? T.forEach(m) : m(T);
        }
        function m({ id: T, created: k, deleted: D, updated: P }) {
          h(
            T,
            k,
            0
            /* Created */
          ), h(
            T,
            D,
            2
            /* Deleted */
          ), h(
            T,
            P,
            1
            /* Changed */
          );
        }
        function h(T, k, D) {
          k?.length && (S(n, T, k, (P, A) => P(A, D)), S(i, T, k, (P, A) => P(A)), S(s, T, k, (P, A) => P(A)));
        }
        function S(T, k, D, P) {
          var A;
          (A = T.idToCallbacks.get(k)) == null || A.forEach((O) => {
            D.forEach((F) => P(O, Rl(F)));
          });
        }
      }
      var mPe = class age {
        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 = nfe(k_e), this.newAutoImportProviderProjectName = nfe(C_e), this.newAuxiliaryProjectName = nfe(E_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 = H_e, this.legacySafelist = /* @__PURE__ */ new Map(), this.pendingProjectUpdates = /* @__PURE__ */ new Map(), this.pendingEnsureProjectForOpenFiles = false, 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 || WL, this.throttleWaitMilliseconds = t.throttleWaitMilliseconds, this.eventHandler = t.eventHandler, this.suppressDiagnosticEvents = t.suppressDiagnosticEvents, this.globalPlugins = t.globalPlugins || hl, this.pluginProbeLocations = t.pluginProbeLocations || hl, this.allowLocalPluginLoads = !!t.allowLocalPluginLoads, this.typesMapLocation = t.typesMapLocation === void 0 ? On(Hn(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 = Pp()), this.currentDirectory = Ka(this.host.getCurrentDirectory()), this.toCanonicalFileName = $l(this.host.useCaseSensitiveFileNames), this.globalCacheLocationDirectoryPath = this.typingsInstaller.globalTypingsCacheLocation ? pl(this.toPath(this.typingsInstaller.globalTypingsCacheLocation)) : void 0, this.throttledOperations = new w_e(this.host, this.logger), this.logger.info(`currentDirectory:: ${this.host.getCurrentDirectory()} useCaseSensitiveFileNames:: ${this.host.useCaseSensitiveFileNames}`), this.logger.info(`libs Location:: ${Hn(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: u9(this.host.newLine),
            preferences: zp,
            hostInfo: "Unknown host",
            extraFileExtensions: []
          }, this.documentRegistry = bq(
            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 = lfe(this), this.watchFactory = this.serverMode !== 0 ? {
            watchFile: cw,
            watchDirectory: cw
          } : aU(
            OKe(this, t.canUseWatchEvents) || this.host,
            i,
            s,
            IG
          ), this.canUseWatchEvents = dPe(this, t.canUseWatchEvents), (n = t.incrementalVerifier) == null || n.call(t, this);
        }
        toPath(t) {
          return io(t, this.currentDirectory, this.toCanonicalFileName);
        }
        /** @internal */
        getExecutingFilePath() {
          return this.getNormalizedAbsolutePath(this.host.getExecutingFilePath());
        }
        /** @internal */
        getNormalizedAbsolutePath(t) {
          return Qi(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: TG,
            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)
              Ya(n.simpleMap, i) && this.legacySafelist.set(i, n.simpleMap[i].toLowerCase());
          } catch (t) {
            this.logger.info(`Error loading types map: ${t}`), this.safelist = H_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 a9:
                n.updateTypingFiles(
                  t.compilerOptions,
                  t.typeAcquisition,
                  t.unresolvedImports,
                  t.typings
                );
                return;
              case o9:
                n.enqueueInstallTypingsForProject(
                  /*forceRefresh*/
                  true
                );
                return;
            }
        }
        /** @internal */
        watchTypingLocations(t) {
          var n;
          (n = this.findProject(t.projectName)) == null || n.watchTypingLocations(t.files);
        }
        /** @internal */
        delayEnsureProjectForOpenFiles() {
          this.openFiles.size && (this.pendingEnsureProjectForOpenFiles = true, this.throttledOperations.schedule(
            nPe,
            /*delay*/
            2500,
            () => {
              this.pendingProjectUpdates.size !== 0 ? this.delayEnsureProjectForOpenFiles() : this.pendingEnsureProjectForOpenFiles && (this.ensureProjectForOpenFiles(), this.sendProjectsUpdatedInBackgroundEvent());
            }
          ));
        }
        delayUpdateProjectGraph(t) {
          if (MA(t) || (t.markAsDirty(), LA(t))) return;
          const n = t.getProjectName();
          this.pendingProjectUpdates.set(n, t), this.throttledOperations.schedule(
            n,
            /*delay*/
            250,
            () => {
              this.pendingProjectUpdates.delete(n) && Up(t);
            }
          );
        }
        /** @internal */
        hasPendingProjectUpdate(t) {
          return this.pendingProjectUpdates.has(t.getProjectName());
        }
        /** @internal */
        sendProjectsUpdatedInBackgroundEvent() {
          if (!this.eventHandler)
            return;
          const t = {
            eventName: JL,
            data: {
              openFiles: ns(this.openFiles.keys(), (n) => this.getScriptInfoForPath(n).fileName)
            }
          };
          this.eventHandler(t);
        }
        /** @internal */
        sendLargeFileReferencedEvent(t, n) {
          if (!this.eventHandler)
            return;
          const i = {
            eventName: bG,
            data: { file: t, fileSize: n, maxFileSize: hG }
          };
          this.eventHandler(i);
        }
        /** @internal */
        sendProjectLoadingStartEvent(t, n) {
          if (!this.eventHandler)
            return;
          t.sendLoadingProjectFinish = true;
          const i = {
            eventName: yG,
            data: { project: t, reason: n }
          };
          this.eventHandler(i);
        }
        /** @internal */
        sendProjectLoadingFinishEvent(t) {
          if (!this.eventHandler || !t.sendLoadingProjectFinish)
            return;
          t.sendLoadingProjectFinish = false;
          const n = {
            eventName: vG,
            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 = zL(t), s = RA(t, n), o = G_e(t);
          i.allowNonTsExtensions = true;
          const c = n && this.toCanonicalFileName(n);
          c ? (this.compilerOptionsForInferredProjectsPerProjectRoot.set(c, i), this.watchOptionsForInferredProjectsPerProjectRoot.set(c, s || false), 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 x_e(t) ? sPe(t, this.inferredProjects) : this.findExternalProjectByProjectName(t) || this.findConfiguredProjectByProjectName(Ka(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 = ms(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 = ms(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 = ms(t) ? this.getScriptInfoForNormalizedPath(t) : t;
          return n ? n.getDefaultProject() : (this.logErrorForScriptInfoNotFound(ms(t) ? t : t.fileName), Ih.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 = Up(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*/
            true
          ) : (t.deferredDelete && (t.deferredDelete = void 0), t.delayReloadNonMixedContentFile(), this.delayUpdateProjectGraphs(
            t.containingProjects,
            /*clearSourceMapperCache*/
            false
          ), this.handleSourceMapProjects(t));
        }
        handleSourceMapProjects(t) {
          if (t.sourceMapFilePath)
            if (ms(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*/
            true
          );
        }
        handleDeletedFile(t, n) {
          E.assert(!t.isScriptOpen()), this.delayUpdateProjectGraphs(
            t.containingProjects,
            /*clearSourceMapperCache*/
            false
          ), this.handleSourceMapProjects(t), t.detachAllProjects(), n ? (t.delayReloadNonMixedContentFile(), t.deferredDelete = true) : 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, Hn(i)),
            Pl.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 (Xc(c) === "package.json" && !Y8(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);
          S8({
            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);
              Nn((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 false;
          let s = false;
          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 = true, 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 && Nn((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 = false, o && (o.deferredClose = true)) : (s.exists = true, 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*/
              false
            ) && ((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*/
            true,
            /*writeFileExplaination*/
            true,
            /*writeFileVersionAndText*/
            false
          ), 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(
                ns(
                  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:
              VT(this.externalProjects, t), this.projectToSizeMap.delete(t.getProjectName());
              break;
            case 1:
              this.configuredProjects.delete(t.canonicalConfigFilePath), this.projectToSizeMap.delete(t.canonicalConfigFilePath);
              break;
            case 0:
              VT(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 : Hn(
              $_(t.fileName) ? t.fileName : Qi(
                t.fileName,
                n ? this.getNormalizedAbsolutePath(n) : this.currentDirectory
              )
            )
          );
          if (i.addRoot(t), t.containingProjects[0] !== i && (KE(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 && lr(o[0].containingProjects, (c) => c !== o[0].containingProjects[0] && !c.isOrphan()) && s.removeFile(
                o[0],
                /*fileExists*/
                true,
                /*detachFromProject*/
                true
              );
            }
          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 ? false : 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 = false;
          for (const _ of t.containingProjects) {
            if (N0(_)) {
              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 nE(_) && _.isRoot(t) && (_.isProjectWithSingleRoot() && (c = true), _.removeFile(
              t,
              s,
              /*detachFromProject*/
              true
            ));
            _.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*/
            false
          ), 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) && (!AG(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 === X_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, Hn(t)),
            Pl.ConfigFile,
            i
          )), this.ensureConfigFileWatcherForProject(c, i);
        }
        ensureConfigFileWatcherForProject(t, n) {
          const i = t.config.projects;
          i.set(n.canonicalConfigFilePath, i.get(n.canonicalConfigFilePath) || false);
        }
        /** @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, iU(t, this.sharedExtendedConfigFileWatchers), E.checkDefined(c.watcher), (o = c.openFilesImpactedByConfigFile) != null && o.size ? c.inferredProjectRoots ? w8(Hn(t)) || (c.watcher.close(), c.watcher = X_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 = w8(Hn(n)) ? this.watchFactory.watchFile(
              i,
              (o, c) => this.onConfigFileChanged(i, n, c),
              2e3,
              this.hostConfiguration.watchOptions,
              Pl.ConfigFileForInferredRoot
            ) : X_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(!oPe(t) || this.openFiles.has(t.path));
          const i = this.openFiles.get(t.path);
          if (E.checkDefined(this.getScriptInfo(t.path)).isDynamic) return;
          let o = Hn(t.fileName);
          const c = () => Kf(i, o, this.currentDirectory, !this.host.useCaseSensitiveFileNames), _ = !i || !c();
          let u = true, g = true;
          AG(t) && (Co(t.fileName, "tsconfig.json") ? u = false : u = g = false);
          do {
            const m = rE(o, this.currentDirectory, this.toCanonicalFileName);
            if (u) {
              const S = On(o, "tsconfig.json");
              if (n(On(m, "tsconfig.json"), S)) return S;
            }
            if (g) {
              const S = On(o, "jsconfig.json");
              if (n(On(m, "jsconfig.json"), S)) return S;
            }
            if (u7(m))
              break;
            const h = Hn(o);
            if (h === o) break;
            o = h, u = g = true;
          } 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 = aPe(t, this.pendingOpenFileProjectUpdates);
            if (i !== void 0) return i;
          }
          return aPe(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 || false;
          if (!AG(t))
            this.configFileForOpenFiles.set(t.path, i);
          else {
            let s = this.configFileForOpenFiles.get(t.path);
            (!s || ms(s)) && this.configFileForOpenFiles.set(
              t.path,
              s = (/* @__PURE__ */ new Map()).set(false, 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(ofe), this.configuredProjects.forEach(ofe), this.inferredProjects.forEach(ofe), 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 sPe(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 = gG;
          this.projectToSizeMap.set(t, 0), this.projectToSizeMap.forEach((_) => o -= _ || 0);
          let c = 0;
          for (const _ of i) {
            const u = s.getFileName(_);
            if (!_S(u) && (c += this.host.getFileSize(u), c > gG || c > o)) {
              const g = i.map((m) => s.getFileName(m)).filter((m) => !_S(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 = zL(i), _ = RA(i, Hn(Rl(t))), u = new mG(
            t,
            this,
            c,
            /*lastFileExceededProgramSize*/
            this.getFilenameForExceededTotalSizeLimitForNonTsFiles(t, c, n, NG),
            i.compileOnSave === void 0 ? true : i.compileOnSave,
            /*projectFilePath*/
            void 0,
            _?.watchOptions
          );
          return u.setProjectErrors(_?.errors), u.excludedFiles = o, this.addFilesToNonInferredProject(u, n, NG, s), this.externalProjects.push(u), u;
        }
        /** @internal */
        sendProjectTelemetry(t) {
          if (this.seenProjects.has(t.projectName)) {
            rfe(t);
            return;
          }
          if (this.seenProjects.set(t.projectName, true), !this.eventHandler || !this.host.createSHA256Hash) {
            rfe(t);
            return;
          }
          const n = N0(t) ? t.projectOptions : void 0;
          rfe(t);
          const i = {
            projectId: this.host.createSHA256Hash(t.projectName),
            fileStats: FA(
              t.getScriptInfos(),
              /*includeSizes*/
              true
            ),
            compilerOptions: qre(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 mG ? "external" : "configured",
            languageServiceEnabled: t.languageServiceEnabled,
            version: Qf
          };
          this.eventHandler({ eventName: xG, data: i });
          function s() {
            return N0(t) && dG(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 = on) == null || i.instant(on.Phase.Session, "createConfiguredProject", { configFilePath: t });
          const s = this.toCanonicalFileName(t);
          let o = this.configFileExistenceInfoCache.get(s);
          o ? o.exists = true : this.configFileExistenceInfoCache.set(s, o = { exists: true }), o.config || (o.config = {
            cachedDirectoryStructureHost: AO(this.host, this.host.getCurrentDirectory(), this.host.useCaseSensitiveFileNames),
            projects: /* @__PURE__ */ new Map(),
            updateLevel: 2
            /* Full */
          });
          const c = new V_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 = on) == null || i.push(on.Phase.Session, "loadConfiguredProject", { configFilePath: t.canonicalConfigFilePath }), this.sendProjectLoadingStartEvent(t, n);
          const o = Ka(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, PG);
          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, PG, u, _.typeAcquisition, _.compileOnSave, _.watchOptions), (s = on) == 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) || AO(this.host, this.host.getCurrentDirectory(), this.host.useCaseSensitiveFileNames), g = BD(t, (D) => this.host.readFile(D)), m = QN(t, ms(g) ? g : ""), h = m.parseDiagnostics;
          ms(g) || h.push(g);
          const S = Hn(t), T = r8(
            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 = true, i.config.updateLevel = void 0) : i.config = { parsedCommandLine: T, cachedDirectoryStructureHost: u, projects: /* @__PURE__ */ new Map() }, !k && !nF(
            // 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), IO(
            n,
            T.options,
            this.sharedExtendedConfigFileWatchers,
            (D, P) => this.watchFactory.watchFile(
              D,
              () => {
                var A;
                FO(this.extendedConfigCache, P, (F) => this.toPath(F));
                let O = false;
                (A = this.sharedExtendedConfigFileWatchers.get(P)) == null || A.projects.forEach((F) => {
                  O = this.delayUpdateProjectsFromParsedConfigOnConfigFileChange(F, `Change in extended config file ${D} detected`) || O;
                }), O && this.delayEnsureProjectForOpenFiles();
              },
              2e3,
              this.hostConfiguration.watchOptions,
              Pl.ExtendedConfigFile,
              t
            ),
            (D) => this.toPath(D)
          ), i;
        }
        /** @internal */
        watchWildcards(t, { exists: n, config: i }, s) {
          if (i.projects.set(s.canonicalConfigFilePath, true), n) {
            if (i.watchedDirectories && !i.watchedDirectoriesStale) return;
            i.watchedDirectoriesStale = false, b8(
              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 = false, !i.watchedDirectories) return;
            L_(i.watchedDirectories, fp), 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, false), !dl(i.config.projects, fo) && (i.config.watchedDirectories && (L_(i.config.watchedDirectories, fp), 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 = Ka(u), m = jw(g);
            let h;
            if (!m && !t.fileExists(u)) {
              h = rE(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*/
                false,
                /*detachFromProject*/
                true
              ), 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*/
                false
              ));
              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, true);
          }
          o.size > c.size && o.forEach((_, u) => {
            c.has(u) || (_.info ? t.removeFile(
              _.info,
              t.fileExists(_.info.fileName),
              /*detachFromProject*/
              true
            ) : 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 */
            )),
            PG
          ), 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 = JD(
            i,
            Hn(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, PG);
        }
        /** @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 ? false : (i.set(
            t,
            7
            /* Reload */
          ), this.clearSemanticCache(t), this.reloadConfiguredProject(t, FG(n)), true);
        }
        setProjectForReload(t, n, i) {
          n === 2 && this.clearSemanticCache(t), t.pendingUpdateReason = i && FG(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 = false, this.setProjectForReload(
            t,
            0
            /* Update */
          ), this.loadConfiguredProject(t, n), pPe(
            t,
            t.triggerFileForConfigFileDiag ?? t.getConfigFilePath(),
            /*isReload*/
            true
          );
        }
        clearSemanticCache(t) {
          t.originalConfiguredProjects = void 0, t.resolutionCache.clear(), t.getLanguageService(
            /*ensureSynchronized*/
            false
          ).cleanupSemanticCache(), t.cleanupProgram(), t.markAsDirty();
        }
        /** @internal */
        sendConfigFileDiagEvent(t, n, i) {
          if (!this.eventHandler || this.suppressDiagnosticEvents) return false;
          const s = t.getLanguageService().getCompilerOptionsDiagnostics();
          return s.push(...t.getAllProjectErrors()), !i && s.length === (t.configDiagDiagnosticsReported ?? 0) ? false : (t.configDiagDiagnosticsReported = s.length, this.eventHandler(
            {
              eventName: SG,
              data: { configFileName: t.getConfigFilePath(), diagnostics: s, triggerFile: n ?? t.getConfigFilePath() }
            }
          ), true);
        }
        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*/
              false,
              n
            );
          }
          let i;
          for (const s of this.inferredProjects)
            s.projectRootPath && Kf(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*/
              true,
              /*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*/
            false,
            /*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 J_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(
            Ka(t),
            n,
            /*scriptKind*/
            void 0,
            /*hasMixedContent*/
            void 0,
            i,
            s
          );
        }
        getScriptInfo(t) {
          return this.getScriptInfoForNormalizedPath(Ka(t));
        }
        /** @internal */
        getScriptInfoOrConfig(t) {
          const n = Ka(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 = ns(
            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 && lr(this.realpathToScriptInfos.get(s), i), lr(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 ? dl(n, (c, _) => _ === s.path ? false : ds(c, o)) || n.add(s.path, o) : (n = Pp(), n.add(s.path, o)));
          }
        }
        watchClosedScriptInfo(t) {
          if (E.assert(!t.fileWatcher), !t.isDynamicOrHasMixedContent() && (!this.globalCacheLocationDirectoryPath || !Ui(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,
              Pl.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 _ = HO(this.toPath(o));
              if (!_) return;
              const u = Xc(_);
              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 ? K_e(g) && this.refreshScriptInfo(g) : yC(_) || this.refreshScriptInfosInDirectory(_);
                }
            },
            1,
            this.hostConfiguration.watchOptions,
            Pl.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) || G_).getTime();
        }
        refreshScriptInfo(t) {
          const n = this.getModifiedTime(t);
          if (n !== t.mTime) {
            const i = dj(t.mTime, n);
            t.mTime = n, this.onSourceFileChanged(t, i);
          }
        }
        refreshScriptInfosInDirectory(t) {
          t = t + yo, this.filenameToScriptInfo.forEach((n) => {
            K_e(n) && Ui(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 ($_(t) || jw(t))
            return this.getOrCreateScriptInfoWorker(
              t,
              n,
              /*openedByClient*/
              false,
              /*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*/
            false
          );
        }
        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 = rE(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($_(t) || h || i, "", () => `${JSON.stringify({ fileName: t, currentDirectory: n, hostCurrentDirectory: this.currentDirectory, openKeys: ns(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(!$_(t) || this.currentDirectory === n || !this.openFilesWithNonRootedDiskPath.has(this.toCanonicalFileName(t)), "", () => `${JSON.stringify({ fileName: t, currentDirectory: n, hostCurrentDirectory: this.currentDirectory, openKeys: ns(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: ns(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 F_e(this.host, t, o, c, g, this.filenameToScriptInfoVersion.get(g)), this.filenameToScriptInfo.set(m.path, m), this.filenameToScriptInfoVersion.delete(m.path), i ? !$_(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 !$_(t) && this.openFilesWithNonRootedDiskPath.get(this.toCanonicalFileName(t)) || this.getScriptInfoForPath(rE(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*/
            false
          );
          if (!s) {
            i && t.addGeneratedFileWatch(n, i);
            return;
          }
          if (s.getSnapshot(), ms(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*/
              true
            );
            if (o = h || m, !h || h.deferredDelete) return;
            const S = h.getSnapshot();
            return h.documentPositionMapper !== void 0 ? h.documentPositionMapper : sk(S);
          };
          const _ = t.projectName, u = Cq(
            { 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 ? ms(o) ? s.sourceMapFilePath = {
            watcher: this.addMissingSourceMapFile(
              t.currentDirectory === this.currentDirectory ? o : Qi(o, t.currentDirectory),
              s.path
            ),
            sourceInfos: this.addSourceInfoToSourceMap(i, t)
          } : (s.sourceMapFilePath = o.path, o.declarationInfoPath = s.path, o.deferredDelete || (o.documentPositionMapper = u || false), o.sourceInfos = this.addSourceInfoToSourceMap(i, t, o.sourceInfos)) : s.sourceMapFilePath = false, u;
        }
        addSourceInfoToSourceMap(t, n, i) {
          if (t) {
            const s = this.getOrCreateScriptInfoNotOpenedByClient(
              t,
              n.currentDirectory,
              n.directoryStructureHost,
              /*deferredDeleteOk*/
              false
            );
            (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 && !ms(s.sourceMapFilePath) && (this.delayUpdateProjectGraphs(
                s.containingProjects,
                /*clearSourceMapperCache*/
                true
              ), this.delayUpdateSourceInfoProjects(s.sourceMapFilePath.sourceInfos), s.closeSourceMapFileWatcher());
            },
            2e3,
            this.hostConfiguration.watchOptions,
            Pl.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*/
            false
          );
          if (o) {
            if (i && ms(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(Ka(t.file));
            i && (i.setOptions(iE(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, ...iE(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 = RA(t.watchOptions)) == null ? void 0 : n.watchOptions, s = tO(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 ? tO(
            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 = Bu(
              () => this.host.fileExists(n.fileName) ? n.deferredDelete ? 0 : 1 : 2
              /* Deleted */
            );
            if (t) {
              if (K_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(nPe), this.pendingOpenFileProjectUpdates = void 0, this.pendingEnsureProjectForOpenFiles = false, 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);
            Nn(o.containingProjects, OA) || 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() && nE(n) && n.isRoot(t) && lr(t.containingProjects, (i) => i !== n && !i.isOrphan()) && n.removeFile(
            t,
            /*fileExists*/
            true,
            /*detachFromProject*/
            true
          );
        }
        /**
         * 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 = false, this.inferredProjects.forEach(Up), 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(
            Ka(t),
            n,
            i,
            /*hasMixedContent*/
            false,
            s ? Ka(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: Ka(o), path: this.toPath(o) }, u = this.getConfigFileNameForFile(
            _,
            /*findFromCacheOnly*/
            false
          );
          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,
            Y_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) => {
            N0(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 Nn(this.externalProjects, (n) => (Up(n), n.containsScriptInfo(t)));
        }
        getOrCreateOpenScriptInfo(t, n, i, s, o) {
          const c = this.getOrCreateScriptInfoWorker(
            t,
            o ? this.getNormalizedAbsolutePath(o) : this.currentDirectory,
            /*openedByClient*/
            true,
            n,
            i,
            !!s,
            /*hostToQueryFileExistsOn*/
            void 0,
            /*deferredDeleteOk*/
            true
          );
          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(Up), t.isOrphan() && (o?.forEach((_, u) => {
            _ !== 4 && !c.has(u) && this.sendConfigFileDiagEvent(
              u,
              t.fileName,
              /*force*/
              true
            );
          }), 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 = false, S;
          switch (n) {
            case 0:
            case 1:
            case 3:
              if (!m) return;
              break;
            case 2:
              if (!m) return;
              S = IKe(m);
              break;
            case 4:
            case 5:
              m ?? (m = this.createConfiguredProject(t, i)), _ || ({ sentConfigFileDiag: h, configFileExistenceInfo: S } = Y_e(
                m,
                n,
                o
              ));
              break;
            case 6:
              if (m ?? (m = this.createConfiguredProject(t, FG(i))), m.projectService.reloadConfiguredProjectOptimized(m, i, c), S = efe(m), S) break;
            // falls through
            case 7:
              m ?? (m = this.createConfiguredProject(t, FG(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 = cPe(n), _ = this.findCreateOrReloadConfiguredProject(
            o,
            c,
            FKe(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 true;
          if (AJ(
            i.fileName,
            n.options,
            this.hostConfiguration.extraFileExtensions
          )) return false;
          const { validatedFilesSpec: s, validatedIncludeSpecs: o, validatedExcludeSpecs: c } = n.options.configFile.configFileSpecs, _ = Ka(Qi(Hn(t), this.currentDirectory));
          return s?.some((u) => this.toPath(Qi(u, _)) === i.path) ? true : !o?.length || sO(
            i.fileName,
            c,
            this.host.useCaseSensitiveFileNames,
            this.currentDirectory,
            _
          ) ? false : o?.some((u) => {
            const g = DJ(u, _, "files");
            return !!g && m0(`(${g})$`, this.host.useCaseSensitiveFileNames).test(i.fileName);
          });
        }
        tryFindDefaultConfiguredProjectForOpenScriptInfoOrClosedFileInfo(t, n, i, s, o, c) {
          const _ = oPe(t), u = cPe(n), g = /* @__PURE__ */ new Map();
          let m;
          const h = /* @__PURE__ */ new Set();
          let S, T, k, D;
          return P(i), {
            defaultProject: S ?? T,
            tsconfigProject: k ?? D,
            sentConfigDiag: h,
            seenProjects: g,
            seenConfigs: m
          };
          function P(U) {
            return F(U, U.project) ?? R(U.project) ?? B(U.project);
          }
          function A(U, $, W, _e, K, V) {
            if ($) {
              if (g.has($)) return;
              g.set($, u);
            } else {
              if (m?.has(V)) return;
              (m ?? (m = /* @__PURE__ */ new Set())).add(V);
            }
            if (!K.projectService.isMatchedByConfig(
              W,
              U.config.parsedCommandLine,
              t
            )) {
              K.languageServiceEnabled && K.projectService.watchWildcards(
                W,
                U,
                K
              );
              return;
            }
            const ae = $ ? Y_e(
              $,
              n,
              t.fileName,
              _e,
              c
            ) : K.projectService.findCreateOrReloadConfiguredProject(
              W,
              n,
              _e,
              o,
              t.fileName,
              c
            );
            if (!ae) {
              E.assert(
                n === 3
                /* CreateReplay */
              );
              return;
            }
            return g.set(ae.project, u), ae.sentConfigFileDiag && h.add(ae.project), O(ae.project, K);
          }
          function O(U, $) {
            if (g.get(U) === n) return;
            g.set(U, n);
            const W = _ ? t : U.projectService.getScriptInfo(t.fileName), _e = W && U.containsScriptInfo(W);
            if (_e && !U.isSourceOfProjectReferenceRedirect(W.path))
              return k = $, S = U;
            !T && _ && _e && (D = $, T = U);
          }
          function F(U, $) {
            return U.sentConfigFileDiag && h.add(U.project), U.configFileExistenceInfo ? A(
              U.configFileExistenceInfo,
              U.project,
              Ka(U.project.getConfigFilePath()),
              U.reason,
              U.project,
              U.project.canonicalConfigFilePath
            ) : O(U.project, $);
          }
          function R(U) {
            return U.parsedCommandLine && uPe(
              U,
              U.parsedCommandLine,
              A,
              u,
              s(U),
              o,
              c
            );
          }
          function B(U) {
            return _ ? lPe(
              // If not in referenced projects, try ancestors and its references
              t,
              U,
              P,
              u,
              `Creating possible configured project for ${t.fileName} to open`,
              o,
              c,
              /*searchOnlyPotentialSolution*/
              false
            ) : 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 _ && lPe(
            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*/
            true,
            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 = ns(this.configuredProjects.values());
          for (const s of i)
            _Pe(s, (o) => t.has(o)) && Up(s), this.ensureProjectChildren(s, t, n);
        }
        ensureProjectChildren(t, n, i) {
          var s;
          if (!s0(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 _ = XJ(c.references, (m) => n.has(m.sourceFile.path) ? m : void 0);
              if (!_) continue;
              const u = Ka(c.sourceFile.fileName), g = this.findConfiguredProjectByProjectName(u) ?? this.createConfiguredProject(
                u,
                `Creating project referenced by : ${t.projectName} as it references project ${_.sourceFile.fileName}`
              );
              Up(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) || ds(
              n.config.parsedCommandLine.fileNames,
              t.fileName,
              this.host.useCaseSensitiveFileNames ? db : fy
            ) || (o = n.config.watchedDirectories) == null || o.forEach((c, _) => {
              Kf(_, 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(rE(
            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 && (N0(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) || (dl(this.openFiles, (g, m) => {
            if (n?.has(m)) return;
            const h = this.getScriptInfoForPath(m);
            if (Nn(h.containingProjects, OA)) 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 dl(this.configuredProjects, (g) => {
            if (s.has(g) && (_(g) || fPe(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), fPe(g, u));
          }
        }
        removeOrphanScriptInfos() {
          const t = new Map(this.filenameToScriptInfo);
          this.filenameToScriptInfo.forEach((n) => {
            if (!n.deferredDelete) {
              if (!n.isScriptOpen() && n.isOrphan() && !L_e(n) && !O_e(n)) {
                if (!n.sourceMapFilePath) return;
                let i;
                if (ms(n.sourceMapFilePath)) {
                  const s = this.filenameToScriptInfo.get(n.sourceMapFilePath);
                  i = s?.sourceInfos;
                } else
                  i = n.sourceMapFilePath.sourceInfos;
                if (!i || !Eg(i, (s) => {
                  const o = this.getScriptInfoForPath(s);
                  return !!o && (o.isScriptOpen() || !o.isOrphan());
                }))
                  return;
              }
              if (t.delete(n.path), n.sourceMapFilePath) {
                let i;
                if (ms(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() || !Mp(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: q_e, data: { info: { checkJs: s } } });
        }
        closeClientFile(t, n) {
          const i = this.getScriptInfoForNormalizedPath(Ka(t)), s = i ? this.closeOpenFile(i, n) : false;
          return n || this.printProjects(), s;
        }
        collectChanges(t, n, i, s) {
          for (const o of n) {
            const c = Nn(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 = false;
          if (t)
            for (const u of t) {
              (s ?? (s = [])).push(this.getScriptInfoForPath(rE(
                Ka(u.fileName),
                u.projectRootPath ? this.getNormalizedAbsolutePath(u.projectRootPath) : this.currentDirectory,
                this.toCanonicalFileName
              )));
              const g = this.getOrCreateOpenScriptInfo(
                Ka(u.fileName),
                u.content,
                DG(u.scriptKind),
                u.hasMixedContent,
                u.projectRootPath ? Ka(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*/
                true
              ) || c;
          let _;
          lr(
            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()) : wr(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 = Ka(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*/
              false
            ), n.delete(i.projectFileName);
          n.forEach((i) => this.closeExternalProject(
            i,
            /*cleanupAfter*/
            false
          )), this.cleanupConfiguredProjects(), this.printProjects();
        }
        static escapeFilenameForRegex(t) {
          return t.replace(this.filenameEscapeRegexp, "\\$&");
        }
        resetSafeList() {
          this.safelist = H_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 === false || i.disableFilenameBasedTypeAcquisition)
            return;
          const s = i.include || (i.include = []), o = [], c = n.map((h) => Rl(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, (...P) => k.map((A) => typeof A == "number" ? ms(P[A]) ? age.escapeFilenameForRegex(P[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 = age.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 = Xc(uy(c[h]));
                if (Ho(S, "js")) {
                  const T = Uu(S), k = zR(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 _ = Ka(c.fileName);
            if (dG(_)) {
              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 = j_e(o.map((g) => g.fileName)));
            const _ = this.applySafeListWorker(t, o, c), u = _?.excludedFiles ?? [];
            if (o = _?.rootFiles ?? o, i) {
              i.excludedFiles = u;
              const g = zL(t.options), m = RA(t.options, i.getCurrentDirectory()), h = this.getFilenameForExceededTotalSizeLimitForNonTsFiles(t.projectFileName, g, o, NG);
              h ? i.disableLanguageService(h) : i.enableLanguageService(), i.setProjectErrors(m?.errors), this.updateRootAndOptionsOfNonInferredProject(i, o, NG, 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 true;
          return false;
        }
        /**
         * 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 || xl(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 = vk.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,
            vk.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
            lr(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 = ns(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 = false;
          await Promise.all(hr(t, async ([i, s]) => {
            const o = await Promise.all(s);
            if (i.isClosed() || MA(i)) {
              this.logger.info(`Cancelling plugin enabling for ${i.getProjectName()} as it is ${i.isClosed() ? "closed" : "deferred close"}`);
              return;
            }
            n = true;
            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 = On(u, "package.json");
                this.watchPackageJsonFile(g, this.toPath(g), n);
                const m = s.getInDirectory(u);
                m && c.push(m);
            }
            if (o && o === u)
              return true;
          };
          return Qm(
            n,
            Hn(t),
            _
          ), c;
        }
        /** @internal */
        getNearestAncestorDirectoryWithPackageJson(t, n) {
          return Qm(
            n,
            t,
            (i) => {
              switch (this.packageJsonCache.directoryHasPackageJson(i)) {
                case -1:
                  return i;
                case 0:
                  return;
                case 3:
                  return this.host.fileExists(On(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,
              Pl.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 = LKe());
        }
      };
      mPe.filenameEscapeRegexp = /[-/\\^$*+?.()|[\]{}]/g;
      var sfe = mPe;
      function LKe() {
        let e;
        return {
          get() {
            return e;
          },
          set(t) {
            e = t;
          },
          clear() {
            e = void 0;
          }
        };
      }
      function afe(e) {
        return e.kind !== void 0;
      }
      function ofe(e) {
        e.print(
          /*writeProjectFileNames*/
          false,
          /*writeFileExplaination*/
          false,
          /*writeFileVersionAndText*/
          false
        );
      }
      function cfe(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*/
              false
            )), k) {
              for (const D of T)
                if (D.isInNodeModules) {
                  const P = D.path.substring(0, D.path.indexOf(Jg) + Jg.length - 1), A = e.toPath(P);
                  t?.has(A) || (t || (t = /* @__PURE__ */ new Map())).set(
                    A,
                    e.watchNodeModulesForPackageJsonChanges(P)
                  );
                }
            }
          },
          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(nd), 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 lfe(e) {
        const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
        return {
          addOrUpdate: i,
          invalidate: s,
          delete: (c) => {
            t.delete(c), n.set(Hn(c), true);
          },
          getInDirectory: (c) => t.get(e.toPath(On(c, "package.json"))) || void 0,
          directoryHasPackageJson: (c) => o(e.toPath(c)),
          searchDirectoryAndAncestors: (c, _) => {
            Qm(
              _,
              c,
              (u) => {
                const g = e.toPath(u);
                if (o(g) !== 3)
                  return true;
                const m = On(u, "package.json");
                xw(e, m) ? i(m, On(g, "package.json")) : n.set(g, true);
              }
            );
          }
        };
        function i(c, _) {
          const u = E.checkDefined(oq(c, e.host));
          t.set(_, u), n.delete(Hn(_));
        }
        function s(c) {
          t.delete(c), n.delete(Hn(c));
        }
        function o(c) {
          return t.has(On(c, "package.json")) ? -1 : n.has(c) ? 0 : 3;
        }
      }
      var gPe = {
        isCancellationRequested: () => false,
        setRequest: () => {
        },
        resetRequest: () => {
        }
      };
      function MKe(e) {
        const t = e[0], n = e[1];
        return (1e9 * t + n) / 1e6;
      }
      function hPe(e, t) {
        if ((nE(e) || OA(e)) && e.isJsOnlyProject()) {
          const n = e.getScriptInfoForNormalizedPath(t);
          return n && !n.isJavaScript();
        }
        return false;
      }
      function RKe(e) {
        return M_(e) || !!e.emitDecoratorMetadata;
      }
      function yPe(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: bm(n.messageText, `
`),
          code: n.code,
          category: z2(n),
          reportsUnnecessary: n.reportsUnnecessary,
          reportsDeprecated: n.reportsDeprecated,
          source: n.source,
          relatedInformation: hr(n.relatedInformation, OG)
        };
      }
      function OG(e) {
        return e.file ? {
          span: {
            start: sE(Rs(e.file, e.start)),
            end: sE(Rs(e.file, e.start + e.length)),
            // TODO: GH#18217
            file: e.file.fileName
          },
          message: bm(e.messageText, `
`),
          category: z2(e),
          code: e.code
        } : {
          message: bm(e.messageText, `
`),
          category: z2(e),
          code: e.code
        };
      }
      function sE(e) {
        return { line: e.line + 1, offset: e.character + 1 };
      }
      function jA(e, t) {
        const n = e.file && sE(Rs(e.file, e.start)), i = e.file && sE(Rs(e.file, e.start + e.length)), s = bm(e.messageText, `
`), { code: o, source: c } = e, _ = z2(e), u = {
          start: n,
          end: i,
          text: s,
          code: o,
          category: _,
          reportsUnnecessary: e.reportsUnnecessary,
          reportsDeprecated: e.reportsDeprecated,
          source: c,
          relatedInformation: hr(e.relatedInformation, OG)
        };
        return t ? { ...u, fileName: e.file && e.file.fileName } : u;
      }
      function jKe(e, t) {
        return e.every((n) => Yo(n.span) < t);
      }
      var vPe = A_e;
      function ufe(e, t, n, i) {
        const s = t.hasLevel(
          3
          /* verbose */
        ), o = JSON.stringify(e);
        return s && t.info(`${e.type}:${dv(e)}`), `Content-Length: ${1 + n(o, "utf8")}\r
\r
${o}${i}`;
      }
      var BKe = 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 _ = false;
          try {
            this.operationHost.isCancellationRequested() ? (_ = true, (t = on) == null || t.instant(on.Phase.Session, "stepCanceled", { seq: this.requestId, early: true })) : ((n = on) == null || n.push(on.Phase.Session, "stepAction", { seq: this.requestId }), e(this), (i = on) == null || i.pop());
          } catch (u) {
            (s = on) == null || s.popAll(), _ = true, u instanceof a4 ? (o = on) == null || o.instant(on.Phase.Session, "stepCanceled", { seq: this.requestId }) : ((c = on) == null || c.instant(on.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 _fe(e, t) {
        return {
          seq: 0,
          type: "event",
          event: e,
          body: t
        };
      }
      function JKe(e, t, n, i) {
        const s = QE(ss(n) ? n : n.projects, (o) => i(o, e));
        return !ss(n) && n.symLinkedProjects && n.symLinkedProjects.forEach((o, c) => {
          const _ = t(c);
          s.push(...xa(o, (u) => i(u, _)));
        }), _b(s, _y);
      }
      function LG(e) {
        return MR(({ textSpan: t }) => t.start + 100003 * t.length, $V(e));
      }
      function zKe(e, t, n, i, s, o, c) {
        const _ = ffe(
          e,
          t,
          n,
          bPe(
            t,
            n,
            /*isForRename*/
            true
          ),
          xPe,
          (m, h) => m.getLanguageService().findRenameLocations(h.fileName, h.pos, i, s, o),
          (m, h) => h(Jw(m))
        );
        if (ss(_))
          return _;
        const u = [], g = LG(c);
        return _.forEach((m, h) => {
          for (const S of m)
            !g.has(S) && !MG(Jw(S), h) && (u.push(S), g.add(S));
        }), u;
      }
      function bPe(e, t, n) {
        const i = e.getLanguageService().getDefinitionAtPosition(
          t.fileName,
          t.pos,
          /*searchOtherFilesOnly*/
          false,
          /*stopAtAlias*/
          n
        ), s = i && $c(i);
        return s && !s.isLocal ? { fileName: s.fileName, pos: s.textSpan.start } : void 0;
      }
      function WKe(e, t, n, i, s) {
        var o, c;
        const _ = ffe(
          e,
          t,
          n,
          bPe(
            t,
            n,
            /*isForRename*/
            false
          ),
          xPe,
          (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(Jw(h.definition));
            for (const T of h.references)
              S(Jw(T));
          }
        );
        if (ss(_))
          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 = LG(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 = false;
            if (_.forEach((k, D) => {
              if (S.has(D)) return;
              D.getLanguageService().updateIsDefinitionOfReferencedSymbols(k, h) && (S.add(D), T = true);
            }), !T) break;
          }
          _.forEach((T, k) => {
            if (!S.has(k))
              for (const D of T)
                for (const P of D.references)
                  P.isDefinition = false;
          });
        }
        const g = [], m = LG(i);
        return _.forEach((h, S) => {
          for (const T of h) {
            const k = MG(Jw(T.definition), S), D = k === void 0 ? T.definition : {
              ...T.definition,
              textSpan: Xl(k.pos, T.definition.textSpan.length),
              // Why would the length be the same in the original?
              fileName: k.fileName,
              contextSpan: VKe(T.definition, S)
            };
            let P = Nn(g, (A) => GV(A.definition, D, i));
            P || (P = { definition: D, references: [] }, g.push(P));
            for (const A of T.references)
              !m.has(A) && !MG(Jw(A), S) && (m.add(A), P.references.push(A));
          }
        }), g.filter((h) => h.references.length !== 0);
      }
      function SPe(e, t, n) {
        for (const i of ss(e) ? e : e.projects)
          n(i, t);
        !ss(e) && e.symLinkedProjects && e.symLinkedProjects.forEach((i, s) => {
          for (const o of i)
            n(o, s);
        });
      }
      function ffe(e, t, n, i, s, o, c) {
        const _ = /* @__PURE__ */ new Map(), u = RP();
        u.enqueue({ project: t, location: n }), SPe(e, n.fileName, (D, P) => {
          const A = { fileName: P, pos: n.pos };
          u.enqueue({ project: D, location: A });
        });
        const g = t.projectService, m = t.getCancellationToken(), h = Bu(
          () => t.isSourceOfProjectReferenceRedirect(i.fileName) ? i : t.getLanguageService().getSourceMapper().tryGetGeneratedPosition(i)
        ), S = Bu(
          () => 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: P } = u.dequeue();
              if (_.has(D) || kPe(D, P) || (Up(D), !D.containsFile(Ka(P.fileName))))
                continue;
              const A = k(D, P);
              _.set(D, A ?? hl), T.add(UKe(D));
            }
            i && (g.loadAncestorProjectTree(T), g.forEachEnabledProject((D) => {
              if (m.isCancellationRequested() || _.has(D)) return;
              const P = s(i, D, h, S);
              P && u.enqueue({ project: D, location: P });
            }));
          }
        if (_.size === 1)
          return NR(_.values());
        return _;
        function k(D, P) {
          const A = o(D, P);
          if (!A || !c) return A;
          for (const O of A)
            c(O, (F) => {
              const R = g.getOriginalLocationEnsuringConfiguredProject(D, F);
              if (!R) return;
              const B = g.getScriptInfo(R.fileName);
              for (const $ of B.containingProjects)
                !$.isOrphan() && !_.has($) && u.enqueue({ project: $, location: R });
              const U = g.getSymlinkedProjects(B);
              U && U.forEach(($, W) => {
                for (const _e of $)
                  !_e.isOrphan() && !_.has(_e) && u.enqueue({ project: _e, location: { fileName: W, pos: R.pos } });
              });
            });
          return A;
        }
      }
      function TPe(e, t) {
        if (t.containsFile(Ka(e.fileName)) && !kPe(t, e))
          return e;
      }
      function xPe(e, t, n, i) {
        const s = TPe(e, t);
        if (s) return s;
        const o = n();
        if (o && t.containsFile(Ka(o.fileName))) return o;
        const c = i();
        return c && t.containsFile(Ka(c.fileName)) ? c : void 0;
      }
      function kPe(e, t) {
        if (!t) return false;
        const n = e.getLanguageService().getProgram();
        if (!n) return false;
        const i = n.getSourceFile(t.fileName);
        return !!i && i.resolvedPath !== i.path && i.resolvedPath !== e.toPath(t.fileName);
      }
      function UKe(e) {
        return N0(e) ? e.canonicalConfigFilePath : e.getProjectName();
      }
      function Jw({ fileName: e, textSpan: t }) {
        return { fileName: e, pos: t.start };
      }
      function MG(e, t) {
        return hw(e, t.getSourceMapper(), (n) => t.projectService.fileExists(n));
      }
      function CPe(e, t) {
        return F9(e, t.getSourceMapper(), (n) => t.projectService.fileExists(n));
      }
      function VKe(e, t) {
        return QV(e, t.getSourceMapper(), (n) => t.projectService.fileExists(n));
      }
      var EPe = [
        "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 */
      ], qKe = [
        ...EPe,
        "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 */
      ], DPe = class HX {
        constructor(t) {
          this.changeSeq = 0, this.regionDiagLineCountThreshold = 500, this.handlers = new Map(Object.entries({
            // TODO(jakebailey): correctly type the handlers
            status: () => {
              const o = { version: Qf };
              return this.requiredResponse(o);
            },
            openExternalProject: (o) => (this.projectService.openExternalProject(
              o.arguments,
              /*cleanupAfter*/
              true
            ), this.requiredResponse(
              /*response*/
              true
            )),
            openExternalProjects: (o) => (this.projectService.openExternalProjects(o.arguments.projects), this.requiredResponse(
              /*response*/
              true
            )),
            closeExternalProject: (o) => (this.projectService.closeExternalProject(
              o.arguments.projectFileName,
              /*cleanupAfter*/
              true
            ), this.requiredResponse(
              /*response*/
              true
            )),
            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 _ = hr(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 && XE(o.arguments.openFiles, (c) => ({
                fileName: c.file,
                content: c.fileContent,
                scriptKind: c.scriptKindName,
                projectRootPath: c.projectRootPath
              })),
              o.arguments.changedFiles && XE(o.arguments.changedFiles, (c) => ({
                fileName: c.fileName,
                changes: sy(wR(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*/
              true
            )),
            applyChangedToOpenFiles: (o) => (this.changeSeq++, this.projectService.applyChangesInOpenFiles(
              o.arguments.openFiles,
              o.arguments.changedFiles && XE(o.arguments.changedFiles, (c) => ({
                fileName: c.fileName,
                // apply changes in reverse order
                changes: wR(c.changes)
              })),
              o.arguments.closedFiles
            ), this.requiredResponse(
              /*response*/
              true
            )),
            exit: () => (this.exit(), this.notRequired(
              /*request*/
              void 0
            )),
            definition: (o) => this.requiredResponse(this.getDefinition(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "definition-full": (o) => this.requiredResponse(this.getDefinition(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            definitionAndBoundSpan: (o) => this.requiredResponse(this.getDefinitionAndBoundSpan(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "definitionAndBoundSpan-full": (o) => this.requiredResponse(this.getDefinitionAndBoundSpan(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            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*/
              true
            )),
            "implementation-full": (o) => this.requiredResponse(this.getImplementation(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            references: (o) => this.requiredResponse(this.getReferences(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "references-full": (o) => this.requiredResponse(this.getReferences(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            rename: (o) => this.requiredResponse(this.getRenameLocations(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "renameLocations-full": (o) => this.requiredResponse(this.getRenameLocations(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            "rename-full": (o) => this.requiredResponse(this.getRenameInfo(o.arguments)),
            open: (o) => (this.openClientFile(
              Ka(o.arguments.file),
              o.arguments.fileContent,
              wG(o.arguments.scriptKindName),
              // TODO: GH#18217
              o.arguments.projectRootPath ? Ka(o.arguments.projectRootPath) : void 0
            ), this.notRequired(o)),
            quickinfo: (o) => this.requiredResponse(this.getQuickInfoWorker(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "quickinfo-full": (o) => this.requiredResponse(this.getQuickInfoWorker(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            getOutliningSpans: (o) => this.requiredResponse(this.getOutliningSpans(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            outliningSpans: (o) => this.requiredResponse(this.getOutliningSpans(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            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*/
              true
            )),
            "fileReferences-full": (o) => this.requiredResponse(this.getFileReferences(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            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*/
              false
            )),
            "completionEntryDetails-full": (o) => this.requiredResponse(this.getCompletionEntryDetails(
              o.arguments,
              /*fullResult*/
              true
            )),
            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*/
              true
            )),
            "signatureHelp-full": (o) => this.requiredResponse(this.getSignatureHelpItems(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            "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*/
              true
            )),
            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: true })),
            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*/
              true
            )),
            "navto-full": (o) => this.requiredResponse(this.getNavigateToItems(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            brace: (o) => this.requiredResponse(this.getBraceMatching(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "brace-full": (o) => this.requiredResponse(this.getBraceMatching(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            navbar: (o) => this.requiredResponse(this.getNavigationBarItems(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "navbar-full": (o) => this.requiredResponse(this.getNavigationBarItems(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            navtree: (o) => this.requiredResponse(this.getNavigationTree(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "navtree-full": (o) => this.requiredResponse(this.getNavigationTree(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            documentHighlights: (o) => this.requiredResponse(this.getDocumentHighlights(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "documentHighlights-full": (o) => this.requiredResponse(this.getDocumentHighlights(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            compilerOptionsForInferredProjects: (o) => (this.setCompilerOptionsForInferredProjects(o.arguments), this.requiredResponse(
              /*response*/
              true
            )),
            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*/
              true
            )),
            "getCodeFixes-full": (o) => this.requiredResponse(this.getCodeFixes(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            getCombinedCodeFix: (o) => this.requiredResponse(this.getCombinedCodeFix(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "getCombinedCodeFix-full": (o) => this.requiredResponse(this.getCombinedCodeFix(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            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*/
              true
            )),
            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*/
              false
            )),
            organizeImports: (o) => this.requiredResponse(this.organizeImports(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "organizeImports-full": (o) => this.requiredResponse(this.organizeImports(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            getEditsForFileRename: (o) => this.requiredResponse(this.getEditsForFileRename(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "getEditsForFileRename-full": (o) => this.requiredResponse(this.getEditsForFileRename(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            configurePlugin: (o) => (this.configurePlugin(o.arguments), this.notRequired(o)),
            selectionRange: (o) => this.requiredResponse(this.getSmartSelectionRange(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "selectionRange-full": (o) => this.requiredResponse(this.getSmartSelectionRange(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            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*/
              true
            )),
            "toggleLineComment-full": (o) => this.requiredResponse(this.toggleLineComment(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            toggleMultilineComment: (o) => this.requiredResponse(this.toggleMultilineComment(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "toggleMultilineComment-full": (o) => this.requiredResponse(this.toggleMultilineComment(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            commentSelection: (o) => this.requiredResponse(this.commentSelection(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "commentSelection-full": (o) => this.requiredResponse(this.commentSelection(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            uncommentSelection: (o) => this.requiredResponse(this.uncommentSelection(
              o.arguments,
              /*simplifiedResult*/
              true
            )),
            "uncommentSelection-full": (o) => this.requiredResponse(this.uncommentSelection(
              o.arguments,
              /*simplifiedResult*/
              false
            )),
            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 || WL, 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 BKe(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 sfe(s), this.projectService.setPerformanceEventHandler(this.performanceEventHandler.bind(this)), this.gcTimer = new P_e(
            this.host,
            /*delay*/
            7e3,
            this.logger
          ), this.projectService.serverMode) {
            case 0:
              break;
            case 1:
              EPe.forEach(
                (o) => this.handlers.set(o, (c) => {
                  throw new Error(`Request: ${c.command} not allowed in LanguageServiceMode.PartialSemantic`);
                })
              );
              break;
            case 2:
              qKe.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 && wPe(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 JL:
              this.projectsUpdatedInBackgroundEvent(t.data.openFiles);
              break;
            case yG:
              this.event({
                projectName: t.data.project.getProjectName(),
                reason: t.data.reason
              }, t.eventName);
              break;
            case vG:
              this.event({
                projectName: t.data.project.getProjectName()
              }, t.eventName);
              break;
            case bG:
            case kG:
            case CG:
            case EG:
              this.event(t.data, t.eventName);
              break;
            case SG:
              this.event({
                triggerFile: t.data.triggerFile,
                configFile: t.data.configFileName,
                diagnostics: hr(t.data.diagnostics, (n) => jA(
                  n,
                  /*includeFileName*/
                  true
                ))
              }, t.eventName);
              break;
            case TG: {
              this.event({
                projectName: t.data.project.getProjectName(),
                languageServiceEnabled: t.data.languageServiceEnabled
              }, t.eventName);
              break;
            }
            case xG: {
              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*/
            true
          ))), this.event({
            openFiles: t
          }, JL));
        }
        logError(t, n) {
          this.logErrorWorker(t, n);
        }
        logErrorWorker(t, n, i) {
          let s = "Exception on executing command " + n;
          if (t.message && (s += `:
` + uw(t.message), t.stack && (s += `
` + uw(t.stack))), this.logger.hasLevel(
            3
            /* verbose */
          )) {
            if (i)
              try {
                const { file: o, project: c } = this.getFileAndProject(i), _ = c.getScriptInfoForNormalizedPath(o);
                if (_) {
                  const u = sk(_.getSnapshot());
                  s += `

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

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

Projects::
`;
              let o = 0;
              const c = (_) => {
                s += `
Project '${_.projectName}' (${Bw[_.projectKind]}) ${o}
`, s += _.filesToString(
                  /*writeProjectFileNames*/
                  true
                ), 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: ${dv(t)}`);
            return;
          }
          this.writeMessage(t);
        }
        writeMessage(t) {
          const n = ufe(t, this.logger, this.byteLength, this.host.newLine);
          this.host.write(n);
        }
        event(t, n) {
          this.send(_fe(n, t));
        }
        /** @internal */
        doOutput(t, n, i, s, o, c) {
          const _ = {
            seq: 0,
            type: "response",
            command: n,
            request_seq: i,
            success: s,
            performanceData: o && wPe(o)
          };
          if (s) {
            let u;
            if (ss(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 = no();
          (i = on) == null || i.push(on.Phase.Session, "semanticCheck", { file: t, configFilePath: n.canonicalConfigFilePath });
          const c = hPe(n, t) ? hl : n.getLanguageService().getSemanticDiagnostics(t).filter((_) => !!_.file);
          this.sendDiagnosticsEvent(t, n, c, "semanticDiag", o), (s = on) == null || s.pop();
        }
        syntacticCheck(t, n) {
          var i, s;
          const o = no();
          (i = on) == null || i.push(on.Phase.Session, "syntacticCheck", { file: t, configFilePath: n.canonicalConfigFilePath }), this.sendDiagnosticsEvent(t, n, n.getLanguageService().getSyntacticDiagnostics(t), "syntaxDiag", o), (s = on) == null || s.pop();
        }
        suggestionCheck(t, n) {
          var i, s;
          const o = no();
          (i = on) == null || i.push(on.Phase.Session, "suggestionCheck", { file: t, configFilePath: n.canonicalConfigFilePath }), this.sendDiagnosticsEvent(t, n, n.getLanguageService().getSuggestionDiagnostics(t), "suggestionDiag", o), (s = on) == null || s.pop();
        }
        regionSemanticCheck(t, n, i) {
          var s, o, c;
          const _ = no();
          (s = on) == null || s.push(on.Phase.Session, "regionSemanticCheck", { file: t, configFilePath: n.canonicalConfigFilePath });
          let u;
          if (!this.shouldDoRegionCheck(t) || !(u = n.getLanguageService().getRegionSemanticDiagnostics(t, i))) {
            (o = on) == null || o.pop();
            return;
          }
          this.sendDiagnosticsEvent(t, n, u.diagnostics, "regionSemanticDiag", _, u.spans), (c = on) == 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 = no() - o, g = {
              file: t,
              diagnostics: i.map((m) => yPe(t, n, m)),
              spans: c?.map((m) => Cm(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 = true) {
          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 (ms(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 (Up(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((P) => this.getRange({ file: T, ...P }, 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*/
                false
              ).cleanupSemanticCache(), i.cleanupProgram();
          }
        }
        cleanup() {
          this.cleanProjects("inferred projects", this.projectService.inferredProjects), this.cleanProjects("configured projects", ns(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 = Ka(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 = kn(
            Bi(s, o),
            (_) => !!_.file && _.file.fileName === t
          );
          return i ? this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(c) : hr(
            c,
            (_) => jA(
              _,
              /*includeFileName*/
              false
            )
          );
        }
        convertToDiagnosticsWithLinePositionFromDiagnosticFile(t) {
          return t.map((n) => ({
            message: bm(n.messageText, this.host.newLine),
            start: n.start,
            // TODO: GH#18217
            length: n.length,
            // TODO: GH#18217
            category: z2(n),
            code: n.code,
            source: n.source,
            startLocation: n.file && sE(Rs(n.file, n.start)),
            // TODO: GH#18217
            endLocation: n.file && sE(Rs(n.file, n.start + n.length)),
            // TODO: GH#18217
            reportsUnnecessary: n.reportsUnnecessary,
            reportsDeprecated: n.reportsDeprecated,
            relatedInformation: hr(n.relatedInformation, OG)
          }));
        }
        getCompilerOptionsDiagnostics(t) {
          const n = this.getProject(t.projectFileName);
          return this.convertToDiagnosticsWithLinePosition(
            kn(
              n.getLanguageService().getCompilerOptionsDiagnostics(),
              (i) => !i.file
            ),
            /*scriptInfo*/
            void 0
          );
        }
        convertToDiagnosticsWithLinePosition(t, n) {
          return t.map(
            (i) => ({
              message: bm(i.messageText, this.host.newLine),
              start: i.start,
              length: i.length,
              category: z2(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: hr(i.relatedInformation, OG)
            })
          );
        }
        getDiagnosticsWorker(t, n, i, s) {
          const { project: o, file: c } = this.getFileAndProject(t);
          if (n && hPe(o, c))
            return hl;
          const _ = o.getScriptInfoForNormalizedPath(c), u = i(o, c);
          return s ? this.convertToDiagnosticsWithLinePosition(u, _) : u.map((g) => yPe(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) || hl, s);
          return n ? this.mapDefinitionInfo(c, s) : c.map(HX.mapToOriginalLocation);
        }
        mapDefinitionInfoLocations(t, n) {
          return t.map((i) => {
            const s = CPe(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: hl,
              textSpan: void 0
              // TODO: GH#18217
            };
          const u = this.mapDefinitionInfoLocations(_.definitions, s), { textSpan: g } = _;
          return n ? {
            definitions: this.mapDefinitionInfo(u, s),
            textSpan: Cm(g, c)
          } : {
            definitions: u.map(HX.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 || hl, s).slice();
          if (this.projectService.serverMode === 0 && (!ot(_, (T) => Ka(T.fileName) !== i && !T.isAmbient) || ot(_, (T) => !!T.failedAliasResolution))) {
            const T = MR(
              (A) => A.textSpan.start,
              $V(this.host.useCaseSensitiveFileNames)
            );
            _?.forEach((A) => T.add(A));
            const k = s.getNoDtsResolutionProject(i), D = k.getLanguageService(), P = (n = D.getDefinitionAtPosition(
              i,
              o,
              /*searchOtherFilesOnly*/
              true,
              /*stopAtAlias*/
              false
            )) == null ? void 0 : n.filter((A) => Ka(A.fileName) !== i);
            if (ot(P))
              for (const A of P) {
                if (A.unverified) {
                  const O = h(A, s.getLanguageService().getProgram(), D.getProgram());
                  if (ot(O)) {
                    for (const F of O)
                      T.add(F);
                    continue;
                  }
                }
                T.add(A);
              }
            else {
              const A = _.filter((O) => Ka(O.fileName) !== i && O.isAmbient);
              for (const O of ot(A) ? A : m()) {
                const F = g(O.fileName, i, k);
                if (!F) continue;
                const R = this.projectService.getOrCreateScriptInfoNotOpenedByClient(
                  F,
                  k.currentDirectory,
                  k.directoryStructureHost,
                  /*deferredDeleteOk*/
                  false
                );
                if (!R) continue;
                k.containsScriptInfo(R) || (k.addRoot(R), k.updateGraph());
                const B = D.getProgram(), U = E.checkDefined(B.getSourceFile(F));
                for (const $ of S(O.name, U, B))
                  T.add($);
              }
            }
            _ = ns(T.values());
          }
          return _ = _.filter((T) => !T.isAmbient && !T.failedAliasResolution), this.mapDefinitionInfo(_, s);
          function g(T, k, D) {
            var P, A, O;
            const F = aF(T);
            if (F && T.lastIndexOf(Jg) === F.topLevelNodeModulesIndex) {
              const R = T.substring(0, F.packageRootIndex), B = (P = s.getModuleResolutionCache()) == null ? void 0 : P.getPackageJsonInfoCache(), U = s.getCompilationSettings(), $ = qD(Qi(R, s.getCurrentDirectory()), VD(B, s, U));
              if (!$) return;
              const W = gW(
                $,
                {
                  moduleResolution: 2
                  /* Node10 */
                },
                s,
                s.getModuleResolutionCache()
              ), _e = T.substring(
                F.topLevelPackageNameIndex + 1,
                F.packageRootIndex
              ), K = HD(c8(_e)), V = s.toPath(T);
              if (W && ot(W, (ae) => s.toPath(ae) === V))
                return (A = D.resolutionCache.resolveSingleModuleNameWithoutWatching(K, k).resolvedModule) == null ? void 0 : A.resolvedFileName;
              {
                const ae = T.substring(F.packageRootIndex + 1), se = `${K}/${Uu(ae)}`;
                return (O = D.resolutionCache.resolveSingleModuleNameWithoutWatching(se, k).resolvedModule) == null ? void 0 : O.resolvedFileName;
              }
            }
          }
          function m() {
            const T = s.getLanguageService(), k = T.getProgram(), D = k_(k.getSourceFile(i), o);
            return (Ma(D) || Me(D)) && vo(D.parent) && mee(D, (P) => {
              var A;
              if (P === D) return;
              const O = (A = T.getDefinitionAtPosition(
                i,
                P.getStart(),
                /*searchOtherFilesOnly*/
                true,
                /*stopAtAlias*/
                false
              )) == null ? void 0 : A.filter((F) => Ka(F.fileName) !== i && F.isAmbient).map((F) => ({
                fileName: F.fileName,
                name: np(D)
              }));
              if (ot(O))
                return O;
            }) || hl;
          }
          function h(T, k, D) {
            var P;
            const A = D.getSourceFile(T.fileName);
            if (!A)
              return;
            const O = k_(k.getSourceFile(i), o), F = k.getTypeChecker().getSymbolAtLocation(O), R = F && Ao(
              F,
              277
              /* ImportSpecifier */
            );
            if (!R) return;
            const B = ((P = R.propertyName) == null ? void 0 : P.text) || R.name.text;
            return S(B, A, D);
          }
          function S(T, k, D) {
            const P = So.Core.getTopMostDeclarationNamesInFile(T, k);
            return Fi(P, (A) => {
              const O = D.getTypeChecker().getSymbolAtLocation(A), F = W4(A);
              if (O && F)
                return eE.createDefinitionInfo(
                  F,
                  D.getTypeChecker(),
                  O,
                  F,
                  /*unverified*/
                  true
                );
            });
          }
        }
        getEmitOutput(t) {
          const { file: n, project: i } = this.getFileAndProject(t);
          if (!i.shouldEmitFile(i.getScriptInfo(n)))
            return { emitSkipped: true, outputFiles: [], diagnostics: [] };
          const s = i.getLanguageService().getEmitOutput(n);
          return t.richResponse ? {
            ...s,
            diagnostics: t.includeLinePosition ? this.convertToDiagnosticsWithLinePositionFromDiagnosticFile(s.diagnostics) : s.diagnostics.map((o) => jA(
              o,
              /*includeFileName*/
              true
            ))
          } : 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, Yo(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) || hl, i);
          return this.mapDefinitionInfo(o, i);
        }
        mapImplementationLocations(t, n) {
          return t.map((i) => {
            const s = CPe(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) || hl, s);
          return n ? c.map(({ fileName: _, textSpan: u, contextSpan: g }) => this.toFileSpanWithContext(_, u, g, s)) : c.map(HX.mapToOriginalLocation);
        }
        getSyntacticDiagnosticsSync(t) {
          const { configFile: n } = this.getConfigFileAndProject(t);
          return n ? hl : this.getDiagnosticsWorker(
            t,
            /*isSemantic*/
            false,
            (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*/
            true,
            (s, o) => s.getLanguageService().getSemanticDiagnostics(o).filter((c) => !!c.file),
            !!t.includeLinePosition
          );
        }
        getSuggestionDiagnosticsSync(t) {
          const { configFile: n } = this.getConfigFileAndProject(t);
          return n ? hl : this.getDiagnosticsWorker(
            t,
            /*isSemantic*/
            true,
            (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 GKe(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 }) => ({
                ...pfe(m, S, g),
                kind: h
              }))
            };
          }) : c : hl;
        }
        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*/
            false
          );
        }
        getProjectInfoWorker(t, n, i, s, o) {
          const { project: c } = this.getFileAndProjectWorker(t, n);
          return Up(c), {
            configFileName: c.getProjectName(),
            languageServiceDisabled: !c.languageServiceEnabled,
            fileNames: i ? c.getFileNames(
              /*excludeFilesFromExternalLibraries*/
              false,
              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(Ka(u.getConfigFilePath())) : (c ?? (c = [])).push(Ka(u.getConfigFilePath())));
          }), (n = s.seenConfigs) == null || n.forEach((_) => (o ?? (o = [])).push(_)), {
            notMatchedByConfig: o,
            notInProject: c,
            defaultProject: s.defaultProject && Ka(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 ? hl : (this.projectService.logErrorForScriptInfoNotFound(t.file), Ih.ThrowNoProject());
            s = c.containingProjects, o = this.projectService.getSymlinkedProjects(c);
          }
          return s = kn(s, (c) => c.languageServiceEnabled && !c.isOrphan()), !i && (!s || !s.length) && !o ? (this.projectService.logErrorForScriptInfoNotFound(t.file ?? t.projectFileName), Ih.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 Ih.ThrowNoProject();
          }
          return this.projectService.getScriptInfo(t.file).getDefaultProject();
        }
        getRenameLocations(t, n) {
          const i = Ka(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 = zKe(
            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: Cm(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({ ...pfe(s, o, h), ...g });
          }
          return ns(n.values());
        }
        getReferences(t, n) {
          const i = Ka(t.file), s = this.getProjects(t), o = this.getPositionInFile(t, i), c = WKe(
            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 ? cA(m.displayParts) : "", S = m && m.textSpan, T = S ? g.positionToLineOffset(S.start).offset : 0, k = S ? g.getSnapshot().getText(S.start, Yo(S)) : "";
          return { refs: xa(c, (P) => P.references.map((A) => NPe(this.projectService, A, _))), symbolName: k, symbolStartOffset: T, symbolDisplayString: h };
        }
        getFileReferences(t, n) {
          const i = this.getProjects(t), s = Ka(t.file), o = this.getPreferences(s), c = { fileName: s, pos: 0 }, _ = ffe(
            i,
            this.getDefaultProject(t),
            c,
            c,
            TPe,
            (m) => (this.logger.info(`Finding references to file ${s} in project ${m.getProjectName()}`), m.getLanguageService().getFileReferences(s))
          );
          let u;
          if (ss(_))
            u = _;
          else {
            u = [];
            const m = LG(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) => NPe(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*/
            false,
            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*/
              false
            )
          };
        }
        getFileAndProjectWorker(t, n) {
          const i = Ka(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: Cm(_.textSpan, c),
              hintSpan: Cm(_.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 ? iE(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 = this.getPreferences(i), _ = s.getLanguageService().getQuickInfoAtPosition(
            i,
            this.getPosition(t, o),
            c.maximumHoverLength,
            t.verbosityLevel
          );
          if (!_)
            return;
          const u = !!c.displayPartsForJSDoc;
          if (n) {
            const g = cA(_.displayParts);
            return {
              kind: _.kind,
              kindModifiers: _.kindModifiers,
              start: o.positionToLineOffset(_.textSpan.start),
              end: o.positionToLineOffset(Yo(_.textSpan)),
              displayString: g,
              documentation: u ? this.mapDisplayParts(_.documentation, s) : cA(_.documentation),
              tags: this.mapJSDocTagInfo(_.tags, s, u),
              canIncreaseVerbosityLevel: _.canIncreaseVerbosityLevel
            };
          } else
            return u ? _ : {
              ..._,
              tags: this.mapJSDocTagInfo(
                _.tags,
                s,
                /*richResponse*/
                false
              )
            };
        }
        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 ? iE(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 ? iE(t.options) : this.getFormatOptions(n);
          return i.getFormattingEditsForDocument(n, s);
        }
        getFormattingEditsAfterKeystrokeFull(t) {
          const { file: n, languageService: i } = this.getFileAndLanguageServiceForSyntacticOperation(t), s = t.options ? iE(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 || jKe(_, 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: Dc(g, k),
                  newText: el.getIndentationString(m, c)
                });
              }
            }
          }
          if (_)
            return _.map((u) => ({
              start: s.positionToLineOffset(u.span.start),
              end: s.positionToLineOffset(Yo(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,
            {
              ...$_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 = Fi(_.entries, (h) => {
            if (_.isMemberCompletion || Ui(h.name.toLowerCase(), u.toLowerCase())) {
              const S = h.replacementSpan ? Cm(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 && Cm(_.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 = Fi(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 ? Ws(T, ZKe) : void 0);
          });
          return n ? u ? g : g.map((m) => ({ ...m, tags: this.mapJSDocTagInfo(
            m.tags,
            s,
            /*richResponse*/
            false
          ) })) : g.map((m) => ({
            ...m,
            codeActions: hr(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*/
            true,
            /*ignoreNoProjectError*/
            true
          ), i = this.projectService.getScriptInfo(t.file);
          return i ? JKe(
            i,
            (s) => this.projectService.getScriptInfoForPath(s),
            n,
            (s, o) => {
              if (!s.compileOnSaveEnabled || !s.languageServiceEnabled || s.isOrphan())
                return;
              const c = s.getCompilationSettings();
              if (!(c.noEmit || wl(o.fileName) && !RKe(c)))
                return {
                  projectFileName: s.getProjectName(),
                  fileNames: s.getCompileOnSaveAffectedFileList(o),
                  projectUsesOutFile: !!c.outFile
                };
            }
          ) : hl;
        }
        emitFile(t) {
          const { file: n, project: i } = this.getFileAndProject(t);
          if (i || Ih.ThrowNoProject(), !i.languageServiceEnabled)
            return t.richResponse ? { emitSkipped: true, diagnostics: [] } : false;
          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((_) => jA(
              _,
              /*includeFileName*/
              true
            ))
          } : !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*/
              false
            ) }))
          };
        }
        toPendingErrorCheck(t) {
          const n = Ka(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,
            ZX({
              span: { start: i, length: s - i },
              newText: t.insertString
              // TODO: GH#18217
            })
          ));
        }
        reload(t) {
          const n = Ka(t.file), i = t.tmpfile === void 0 ? void 0 : Ka(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 = qs(t);
          this.projectService.closeClientFile(n);
        }
        mapLocationNavigationBarItems(t, n) {
          return hr(t, (i) => ({
            text: i.text,
            kind: i.kind,
            kindModifiers: i.kindModifiers,
            spans: i.spans.map((s) => Cm(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) => Cm(i, n)),
            nameSpan: t.nameSpan && Cm(t.nameSpan, n),
            childItems: hr(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 ? xa(
            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(Yo(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;
            })
          ) : xa(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);
            SPe(
              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 = kn(T, (D) => m(D) && !MG(Jw(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]), true;
            const k = u.get(T);
            for (const D of k)
              if (h(D, S))
                return false;
            return k.push(S), true;
          }
          function h(S, T) {
            return S === T ? true : !S || !T ? false : 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 Kq();
          if (t.file) {
            const { file: i, project: s } = this.getFileAndProject(t);
            return s.getLanguageService().getSupportedCodeFixes(i);
          }
          const n = this.getProject(t.projectFileName);
          return n || Ih.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: sE({ line: _.range.start.line, character: _.range.start.offset }), end: sE({ 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(Ka(_));
              m = dfe(sk(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(Ka(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 = Ka(t.oldFilePath), s = Ka(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) => ZP(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 UT(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) => HKe(i, n)) } : XKe(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) => Cm(u, o)) : _ : void 0;
        }
        getDiagnosticsForProject(t, n, i) {
          if (this.suppressDiagnosticEvents)
            return;
          const { fileNames: s, languageServiceDisabled: o } = this.getProjectInfoWorker(
            i,
            /*projectFileName*/
            void 0,
            /*needFileNameList*/
            true,
            /*needDefaultConfiguredProjectInfo*/
            void 0,
            /*excludeConfigFiles*/
            true
          );
          if (o) return;
          const c = s.filter((D) => !D.includes("lib.d.ts"));
          if (c.length === 0) return;
          const _ = [], u = [], g = [], m = [], h = Ka(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) : wl(D) ? m.push(D) : g.push(D);
          const k = [..._, ...u, ...g, ...m].map((D) => ({ fileName: D, project: S }));
          this.updateErrorCheck(
            t,
            k,
            n,
            /*requireOpen*/
            false
          );
        }
        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 hr(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: Cm(t.textSpan, n)
          };
          return t.parent && (i.parent = this.mapSelectionRange(t.parent, n)), i;
        }
        getScriptInfoFromProjectService(t) {
          const n = Ka(t), i = this.projectService.getScriptInfoForNormalizedPath(n);
          return i || (this.projectService.logErrorForScriptInfoNotFound(n), Ih.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: Cm(t.span, n),
            selectionSpan: Cm(t.selectionSpan, n)
          };
        }
        toProtocolCallHierarchyIncomingCall(t) {
          const n = this.getScriptInfoFromProjectService(t.from.file);
          return {
            from: this.toProtocolCallHierarchyItem(t.from),
            fromSpans: t.fromSpans.map((i) => Cm(i, n))
          };
        }
        toProtocolCallHierarchyOutgoingCall(t, n) {
          return {
            to: this.toProtocolCallHierarchyItem(t.to),
            fromSpans: t.fromSpans.map((i) => Cm(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 && lq(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 : uy(t);
          return qs(n);
        }
        exit() {
        }
        notRequired(t) {
          return t && this.doOutput(
            /*info*/
            void 0,
            t.command,
            t.seq,
            /*success*/
            true,
            this.performanceData
          ), { responseRequired: false, performanceData: this.performanceData };
        }
        requiredResponse(t) {
          return { response: t, responseRequired: true, 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:${dv(t)}`,
              "Err"
              /* Err */
            ), this.doOutput(
              /*info*/
              void 0,
              "unknown",
              t.seq,
              /*success*/
              false,
              /*performanceData*/
              void 0,
              `Unrecognized JSON command: ${t.command}`
            ), { responseRequired: false };
        }
        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:${uw(this.toStringMessage(t))}`));
          let h, S;
          try {
            h = this.parseMessage(t), S = h.arguments && h.arguments.file ? h.arguments : void 0, (n = on) == null || n.instant(on.Phase.Session, "request", { seq: h.seq, command: h.command }), (i = on) == null || i.push(
              on.Phase.Session,
              "executeCommand",
              { seq: h.seq, command: h.command },
              /*separateBeginAndEnd*/
              true
            );
            const { response: T, responseRequired: k, performanceData: D } = this.executeCommand(h);
            if ((s = on) == null || s.pop(), this.logger.hasLevel(
              2
              /* requestTime */
            )) {
              const P = MKe(this.hrtime(g)).toFixed(4);
              k ? this.logger.perftrc(`${h.seq}::${h.command}: elapsed time (in milliseconds) ${P}`) : this.logger.perftrc(`${h.seq}::${h.command}: async elapsed time (in milliseconds) ${P}`);
            }
            (o = on) == null || o.instant(on.Phase.Session, "response", { seq: h.seq, command: h.command, success: !!T }), T ? this.doOutput(
              T,
              h.command,
              h.seq,
              /*success*/
              true,
              D
            ) : k && this.doOutput(
              /*info*/
              void 0,
              h.command,
              h.seq,
              /*success*/
              false,
              D,
              "No content available."
            );
          } catch (T) {
            if ((c = on) == null || c.popAll(), T instanceof a4) {
              (_ = on) == null || _.instant(on.Phase.Session, "commandCanceled", { seq: h?.seq, command: h?.command }), this.doOutput(
                { canceled: true },
                h.command,
                h.seq,
                /*success*/
                true,
                this.performanceData
              );
              return;
            }
            this.logErrorWorker(T, this.toStringMessage(t), S), (u = on) == null || u.instant(on.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*/
              false,
              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 wPe(e) {
        const t = e.diagnosticsDuration && ns(e.diagnosticsDuration, ([n, i]) => ({ ...i, file: n }));
        return { ...e, diagnosticsDuration: t };
      }
      function Cm(e, t) {
        return {
          start: t.positionToLineOffset(e.start),
          end: t.positionToLineOffset(Yo(e))
        };
      }
      function pfe(e, t, n) {
        const i = Cm(e, n), s = t && Cm(t, n);
        return s ? { ...i, contextStart: s.start, contextEnd: s.end } : i;
      }
      function HKe(e, t) {
        return { start: PPe(t, e.span.start), end: PPe(t, Yo(e.span)), newText: e.newText };
      }
      function PPe(e, t) {
        return afe(e) ? $Ke(e.getLineAndCharacterOfPosition(t)) : e.positionToLineOffset(t);
      }
      function GKe(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 $Ke(e) {
        return { line: e.line + 1, offset: e.character + 1 };
      }
      function XKe(e) {
        E.assert(e.textChanges.length === 1);
        const t = ka(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 dfe(e, t, n, i) {
        const s = QKe(e, t, i), { line: o, character: c } = bC(QT(s), n);
        return { line: o + 1, offset: c + 1 };
      }
      function QKe(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 NPe(e, { fileName: t, textSpan: n, contextSpan: i, isWriteAccess: s, isDefinition: o }, { disableLineTextInReferences: c }) {
        const _ = E.checkDefined(e.getScriptInfo(t)), u = pfe(n, i, _), g = c ? void 0 : YKe(_, u);
        return {
          file: t,
          ...u,
          lineText: g,
          isWriteAccess: s,
          isDefinition: o
        };
      }
      function YKe(e, t) {
        const n = e.lineToTextSpan(t.start.line - 1);
        return e.getSnapshot().getText(n.start, Yo(n)).replace(/\r|\n/g, "");
      }
      function ZKe(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 aE = 4, mfe = /* @__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))(mfe || {}), KKe = class {
        constructor() {
          this.goSubtree = true, this.lineIndex = new BA(), this.endBranch = [], this.state = 2, this.initialText = "", this.trailingText = "", this.lineIndex.root = new oE(), this.startPath = [this.lineIndex.root], this.stack = [this.lineIndex.root];
        }
        get done() {
          return false;
        }
        insertLines(e, t) {
          t && (this.trailingText = ""), e ? e = this.initialText + e + this.trailingText : e = this.initialText + this.trailingText;
          const i = BA.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 UL(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 oE();
                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 UL("") : new oE();
          }
          switch (s) {
            case 0:
              this.goSubtree = false, this.state !== 4 && o.add(n);
              break;
            case 1:
              this.state === 4 ? this.goSubtree = false : (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 = false;
              break;
            case 4:
              this.state !== 4 ? this.goSubtree = false : n.isLeaf() || (c = _(n), o.add(c), this.endBranch.push(c));
              break;
            case 5:
              this.goSubtree = false, 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);
        }
      }, eet = class {
        constructor(e, t, n) {
          this.pos = e, this.deleteLen = t, this.insertedText = n;
        }
        getTextChangeRange() {
          return KP(Xl(this.pos, this.deleteLen), this.insertedText ? this.insertedText.length : 0);
        }
      }, RG = class BT {
        constructor() {
          this.changes = [], this.versions = new Array(BT.maxVersions), this.minVersion = 0, this.currentVersion = 0;
        }
        versionToIndex(t) {
          if (!(t < this.minVersion || t > this.currentVersion))
            return t % BT.maxVersions;
        }
        currentVersionToIndex() {
          return this.currentVersion % BT.maxVersions;
        }
        // REVIEW: can optimize by coalescing simple edits
        edit(t, n, i) {
          this.changes.push(new eet(t, n, i)), (this.changes.length > BT.changeNumberThreshold || n > BT.changeLengthThreshold || i && i.length > BT.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 APe(this.currentVersion + 1, this, n, this.changes), this.currentVersion = t.version, this.versions[this.currentVersionToIndex()] = t, this.changes = [], this.currentVersion - this.minVersion >= BT.maxVersions && (this.minVersion = this.currentVersion - BT.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 Xl(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 ZY(i);
            } else
              return;
          else
            return m7;
        }
        getLineCount() {
          return this._getSnapshot().index.getLineCount();
        }
        static fromString(t) {
          const n = new BT(), i = new APe(0, n, new BA());
          n.versions[n.currentVersion] = i;
          const s = BA.linesFromText(t);
          return i.index.load(s.lines), n;
        }
      };
      RG.changeNumberThreshold = 8, RG.changeLengthThreshold = 256, RG.maxVersions = 8;
      var jG = RG, APe = class O5e {
        constructor(t, n, i, s = hl) {
          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 O5e && this.cache === t.cache)
            return this.version <= t.version ? m7 : this.cache.getTextChangesBetweenVersions(t.version, this.version);
        }
      }, BA = class oge {
        constructor() {
          this.checkEdits = false;
        }
        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 UL(t[i]);
            this.root = oge.buildTreeFromBottom(n);
          } else
            this.root = new oE();
        }
        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: true,
            done: false,
            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: true,
            done: false,
            leaf(o, c, _) {
              t(_, o, c) || (this.done = true);
            }
          };
          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(oge.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 KKe();
            let c = false;
            if (t >= this.root.charCount()) {
              t = this.root.charCount() - 1;
              const _ = this.getText(t, 1);
              i ? i = _ + i : i = _, n = 0, c = true;
            } 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 < aE)
            return new oE(t);
          const n = new Array(Math.ceil(t.length / aE));
          let i = 0;
          for (let s = 0; s < n.length; s++) {
            const o = Math.min(i + aE, t.length);
            n[s] = new oE(t.slice(i, o)), i = o;
          }
          return this.buildTreeFromBottom(n);
        }
        static linesFromText(t) {
          const n = QT(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 };
        }
      }, oE = class cge {
        constructor(t = []) {
          this.children = t, this.totalChars = 0, this.totalLines = 0, t.length && this.updateCounts();
        }
        isLeaf() {
          return false;
        }
        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 = true, i.done;
        }
        skipChild(t, n, i, s, o) {
          s.pre && !s.done && (s.pre(t, n, this.children[i], this, o), s.goSubtree = true);
        }
        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 cge(); 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 < aE && i === s - 1 && o === 1)
            return this.add(n[0]), this.updateCounts(), [];
          {
            const c = this.splitAfter(i);
            let _ = 0;
            for (i++; i < aE && _ < o; )
              this.children[i] = n[_], i++, _++;
            let u = [], g = 0;
            if (_ < o) {
              g = Math.ceil((o - _) / aE), u = new Array(g);
              let m = 0;
              for (let S = 0; S < g; S++)
                u[S] = new cge();
              let h = u[0];
              for (; _ < o; )
                h.add(n[_]), _++, h.children.length === aE && (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 <= aE);
        }
        charCount() {
          return this.totalChars;
        }
        lineCount() {
          return this.totalLines;
        }
      }, UL = class {
        constructor(e) {
          this.text = e;
        }
        isLeaf() {
          return true;
        }
        walk(e, t, n) {
          n.leaf(e, t, this);
        }
        charCount() {
          return this.text.length;
        }
        lineCount() {
          return 1;
        }
      }, IPe = class L5e {
        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 = RP(), this.requestMap = /* @__PURE__ */ new Map(), this.requestedRegistry = false, this.packageInstallId = 0;
        }
        isKnownTypesPackageName(t) {
          var n;
          return Qy.validatePackageName(t) !== Qy.NameValidationResult.Ok ? false : (this.requestedRegistry || (this.requestedRegistry = true, 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 = T_e(t, n, i);
          this.logger.hasLevel(
            3
            /* verbose */
          ) && this.logger.info(`TIAdapter:: Scheduling throttled operation:${dv(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:${dv(t)}`), t.kind) {
            case cV:
              this.typesRegistryCache = new Map(Object.entries(t.typesRegistry));
              break;
            case c9: {
              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 wse: {
              const s = {
                message: t.message
              };
              this.event(s, "typesInstallerInitializationFailed");
              break;
            }
            case lV: {
              const s = {
                eventId: t.eventId,
                packages: t.packagesToInstall
              };
              this.event(s, "beginInstallTypes");
              break;
            }
            case uV: {
              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 o9: {
              this.projectService.updateTypingsForProject(t);
              break;
            }
            case a9: {
              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 O8:
              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:${dv(t)}`), this.installer.send(t);
            },
            L5e.requestDelayMillis,
            `${t.projectName}::${t.kind}`
          );
        }
      };
      IPe.requestDelayMillis = 100;
      var FPe = IPe, OPe = {};
      Ec(OPe, {
        ActionInvalidate: () => o9,
        ActionPackageInstalled: () => c9,
        ActionSet: () => a9,
        ActionWatchTypingLocations: () => O8,
        Arguments: () => _V,
        AutoImportProviderProject: () => U_e,
        AuxiliaryProject: () => z_e,
        CharRangeSection: () => mfe,
        CloseFileWatcherEvent: () => EG,
        CommandNames: () => vPe,
        ConfigFileDiagEvent: () => SG,
        ConfiguredProject: () => V_e,
        ConfiguredProjectLoadKind: () => Q_e,
        CreateDirectoryWatcherEvent: () => CG,
        CreateFileWatcherEvent: () => kG,
        Errors: () => Ih,
        EventBeginInstallTypes: () => lV,
        EventEndInstallTypes: () => uV,
        EventInitializationFailed: () => wse,
        EventTypesRegistry: () => cV,
        ExternalProject: () => mG,
        GcTimer: () => P_e,
        InferredProject: () => J_e,
        LargeFileReferencedEvent: () => bG,
        LineIndex: () => BA,
        LineLeaf: () => UL,
        LineNode: () => oE,
        LogLevel: () => b_e,
        Msg: () => S_e,
        OpenFileInfoTelemetryEvent: () => q_e,
        Project: () => vk,
        ProjectInfoTelemetryEvent: () => xG,
        ProjectKind: () => Bw,
        ProjectLanguageServiceStateEvent: () => TG,
        ProjectLoadingFinishEvent: () => vG,
        ProjectLoadingStartEvent: () => yG,
        ProjectService: () => sfe,
        ProjectsUpdatedInBackgroundEvent: () => JL,
        ScriptInfo: () => F_e,
        ScriptVersionCache: () => jG,
        Session: () => DPe,
        TextStorage: () => I_e,
        ThrottledOperations: () => w_e,
        TypingsInstallerAdapter: () => FPe,
        allFilesAreJsOrDts: () => R_e,
        allRootFilesAreJsOrDts: () => M_e,
        asNormalizedPath: () => qwe,
        convertCompilerOptions: () => zL,
        convertFormatOptions: () => iE,
        convertScriptKindName: () => wG,
        convertTypeAcquisition: () => G_e,
        convertUserPreferences: () => $_e,
        convertWatchOptions: () => RA,
        countEachFileTypes: () => FA,
        createInstallTypingsRequest: () => T_e,
        createModuleSpecifierCache: () => cfe,
        createNormalizedPathMap: () => Hwe,
        createPackageJsonCache: () => lfe,
        createSortedArray: () => D_e,
        emptyArray: () => hl,
        findArgument: () => Hbe,
        formatDiagnosticToProtocol: () => jA,
        formatMessage: () => ufe,
        getBaseConfigFileName: () => dG,
        getDetailWatchInfo: () => IG,
        getLocationInNewDocument: () => dfe,
        hasArgument: () => qbe,
        hasNoTypeScriptSource: () => j_e,
        indent: () => uw,
        isBackgroundProject: () => LA,
        isConfigFile: () => afe,
        isConfiguredProject: () => N0,
        isDynamicFileName: () => jw,
        isExternalProject: () => OA,
        isInferredProject: () => nE,
        isInferredProjectName: () => x_e,
        isProjectDeferredClose: () => MA,
        makeAutoImportProviderProjectName: () => C_e,
        makeAuxiliaryProjectName: () => E_e,
        makeInferredProjectName: () => k_e,
        maxFileSize: () => hG,
        maxProgramSizeForNonTsFiles: () => gG,
        normalizedPathToPath: () => rE,
        nowString: () => Gbe,
        nullCancellationToken: () => gPe,
        nullTypingsInstaller: () => WL,
        protocol: () => N_e,
        scriptInfoIsContainedByBackgroundProject: () => O_e,
        scriptInfoIsContainedByDeferredClosedProject: () => L_e,
        stringifyIndented: () => dv,
        toEvent: () => _fe,
        toNormalizedPath: () => Ka,
        tryConvertScriptKindName: () => DG,
        typingsInstaller: () => v_e,
        updateProjectIfDirty: () => Up
      }), 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 VI;
    }, set exports(_C) {
      VI = _C, uC.exports && (uC.exports = _C);
    } });
  })(nge)), nge.exports;
}
var M5e = $ft();
const Xft = /* @__PURE__ */ _c(M5e), Zft = /* @__PURE__ */ qft({
  __proto__: null,
  default: Xft
}, [M5e]);
export {
  Zft as t
};
