! function (e) {
    var t = {};

    function n(r) {
        if (t[r]) return t[r].exports;
        var i = t[r] = {
            i: r,
            l: !1,
            exports: {}
        };
        return e[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports
    }
    n.m = e, n.c = t, n.d = function (e, t, r) {
        n.o(e, t) || Object.defineProperty(e, t, {
            enumerable: !0,
            get: r
        })
    }, n.r = function (e) {
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
            value: "Module"
        }), Object.defineProperty(e, "__esModule", {
            value: !0
        })
    }, n.t = function (e, t) {
        if (1 & t && (e = n(e)), 8 & t) return e;
        if (4 & t && "object" == typeof e && e && e.__esModule) return e;
        var r = Object.create(null);
        if (n.r(r), Object.defineProperty(r, "default", {
                enumerable: !0,
                value: e
            }), 2 & t && "string" != typeof e)
            for (var i in e) n.d(r, i, function (t) {
                return e[t]
            }.bind(null, i));
        return r
    }, n.n = function (e) {
        var t = e && e.__esModule ? function () {
            return e.default
        } : function () {
            return e
        };
        return n.d(t, "a", t), t
    }, n.o = function (e, t) {
        return Object.prototype.hasOwnProperty.call(e, t)
    }, n.p = "", n(n.s = 239)
}([function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.isArrayExpression = function (e, t) {
        if (!e) return !1;
        if ("ArrayExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isAssignmentExpression = function (e, t) {
        if (!e) return !1;
        if ("AssignmentExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isBinaryExpression = function (e, t) {
        if (!e) return !1;
        if ("BinaryExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isInterpreterDirective = function (e, t) {
        if (!e) return !1;
        if ("InterpreterDirective" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDirective = function (e, t) {
        if (!e) return !1;
        if ("Directive" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDirectiveLiteral = function (e, t) {
        if (!e) return !1;
        if ("DirectiveLiteral" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isBlockStatement = function (e, t) {
        if (!e) return !1;
        if ("BlockStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isBreakStatement = function (e, t) {
        if (!e) return !1;
        if ("BreakStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isCallExpression = function (e, t) {
        if (!e) return !1;
        if ("CallExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isCatchClause = function (e, t) {
        if (!e) return !1;
        if ("CatchClause" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isConditionalExpression = function (e, t) {
        if (!e) return !1;
        if ("ConditionalExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isContinueStatement = function (e, t) {
        if (!e) return !1;
        if ("ContinueStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDebuggerStatement = function (e, t) {
        if (!e) return !1;
        if ("DebuggerStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDoWhileStatement = function (e, t) {
        if (!e) return !1;
        if ("DoWhileStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isEmptyStatement = function (e, t) {
        if (!e) return !1;
        if ("EmptyStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isExpressionStatement = function (e, t) {
        if (!e) return !1;
        if ("ExpressionStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isFile = function (e, t) {
        if (!e) return !1;
        if ("File" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isForInStatement = function (e, t) {
        if (!e) return !1;
        if ("ForInStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isForStatement = function (e, t) {
        if (!e) return !1;
        if ("ForStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isFunctionDeclaration = function (e, t) {
        if (!e) return !1;
        if ("FunctionDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isFunctionExpression = function (e, t) {
        if (!e) return !1;
        if ("FunctionExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isIdentifier = function (e, t) {
        if (!e) return !1;
        if ("Identifier" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isIfStatement = function (e, t) {
        if (!e) return !1;
        if ("IfStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isLabeledStatement = function (e, t) {
        if (!e) return !1;
        if ("LabeledStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isStringLiteral = function (e, t) {
        if (!e) return !1;
        if ("StringLiteral" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isNumericLiteral = function (e, t) {
        if (!e) return !1;
        if ("NumericLiteral" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isNullLiteral = function (e, t) {
        if (!e) return !1;
        if ("NullLiteral" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isBooleanLiteral = function (e, t) {
        if (!e) return !1;
        if ("BooleanLiteral" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isRegExpLiteral = function (e, t) {
        if (!e) return !1;
        if ("RegExpLiteral" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isLogicalExpression = function (e, t) {
        if (!e) return !1;
        if ("LogicalExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isMemberExpression = function (e, t) {
        if (!e) return !1;
        if ("MemberExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isNewExpression = function (e, t) {
        if (!e) return !1;
        if ("NewExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isProgram = function (e, t) {
        if (!e) return !1;
        if ("Program" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isObjectExpression = function (e, t) {
        if (!e) return !1;
        if ("ObjectExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isObjectMethod = function (e, t) {
        if (!e) return !1;
        if ("ObjectMethod" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isObjectProperty = function (e, t) {
        if (!e) return !1;
        if ("ObjectProperty" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isRestElement = function (e, t) {
        if (!e) return !1;
        if ("RestElement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isReturnStatement = function (e, t) {
        if (!e) return !1;
        if ("ReturnStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isSequenceExpression = function (e, t) {
        if (!e) return !1;
        if ("SequenceExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isParenthesizedExpression = function (e, t) {
        if (!e) return !1;
        if ("ParenthesizedExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isSwitchCase = function (e, t) {
        if (!e) return !1;
        if ("SwitchCase" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isSwitchStatement = function (e, t) {
        if (!e) return !1;
        if ("SwitchStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isThisExpression = function (e, t) {
        if (!e) return !1;
        if ("ThisExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isThrowStatement = function (e, t) {
        if (!e) return !1;
        if ("ThrowStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTryStatement = function (e, t) {
        if (!e) return !1;
        if ("TryStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isUnaryExpression = function (e, t) {
        if (!e) return !1;
        if ("UnaryExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isUpdateExpression = function (e, t) {
        if (!e) return !1;
        if ("UpdateExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isVariableDeclaration = function (e, t) {
        if (!e) return !1;
        if ("VariableDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isVariableDeclarator = function (e, t) {
        if (!e) return !1;
        if ("VariableDeclarator" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isWhileStatement = function (e, t) {
        if (!e) return !1;
        if ("WhileStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isWithStatement = function (e, t) {
        if (!e) return !1;
        if ("WithStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isAssignmentPattern = function (e, t) {
        if (!e) return !1;
        if ("AssignmentPattern" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isArrayPattern = function (e, t) {
        if (!e) return !1;
        if ("ArrayPattern" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isArrowFunctionExpression = function (e, t) {
        if (!e) return !1;
        if ("ArrowFunctionExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isClassBody = function (e, t) {
        if (!e) return !1;
        if ("ClassBody" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isClassExpression = function (e, t) {
        if (!e) return !1;
        if ("ClassExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isClassDeclaration = function (e, t) {
        if (!e) return !1;
        if ("ClassDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isExportAllDeclaration = function (e, t) {
        if (!e) return !1;
        if ("ExportAllDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isExportDefaultDeclaration = function (e, t) {
        if (!e) return !1;
        if ("ExportDefaultDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isExportNamedDeclaration = function (e, t) {
        if (!e) return !1;
        if ("ExportNamedDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isExportSpecifier = function (e, t) {
        if (!e) return !1;
        if ("ExportSpecifier" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isForOfStatement = function (e, t) {
        if (!e) return !1;
        if ("ForOfStatement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isImportDeclaration = function (e, t) {
        if (!e) return !1;
        if ("ImportDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isImportDefaultSpecifier = function (e, t) {
        if (!e) return !1;
        if ("ImportDefaultSpecifier" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isImportNamespaceSpecifier = function (e, t) {
        if (!e) return !1;
        if ("ImportNamespaceSpecifier" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isImportSpecifier = function (e, t) {
        if (!e) return !1;
        if ("ImportSpecifier" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isMetaProperty = function (e, t) {
        if (!e) return !1;
        if ("MetaProperty" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isClassMethod = function (e, t) {
        if (!e) return !1;
        if ("ClassMethod" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isObjectPattern = function (e, t) {
        if (!e) return !1;
        if ("ObjectPattern" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isSpreadElement = function (e, t) {
        if (!e) return !1;
        if ("SpreadElement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isSuper = function (e, t) {
        if (!e) return !1;
        if ("Super" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTaggedTemplateExpression = function (e, t) {
        if (!e) return !1;
        if ("TaggedTemplateExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTemplateElement = function (e, t) {
        if (!e) return !1;
        if ("TemplateElement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTemplateLiteral = function (e, t) {
        if (!e) return !1;
        if ("TemplateLiteral" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isYieldExpression = function (e, t) {
        if (!e) return !1;
        if ("YieldExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isAwaitExpression = function (e, t) {
        if (!e) return !1;
        if ("AwaitExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isImport = function (e, t) {
        if (!e) return !1;
        if ("Import" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isBigIntLiteral = function (e, t) {
        if (!e) return !1;
        if ("BigIntLiteral" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isExportNamespaceSpecifier = function (e, t) {
        if (!e) return !1;
        if ("ExportNamespaceSpecifier" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isOptionalMemberExpression = function (e, t) {
        if (!e) return !1;
        if ("OptionalMemberExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isOptionalCallExpression = function (e, t) {
        if (!e) return !1;
        if ("OptionalCallExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isAnyTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("AnyTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isArrayTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("ArrayTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isBooleanTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("BooleanTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isBooleanLiteralTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("BooleanLiteralTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isNullLiteralTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("NullLiteralTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isClassImplements = function (e, t) {
        if (!e) return !1;
        if ("ClassImplements" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDeclareClass = function (e, t) {
        if (!e) return !1;
        if ("DeclareClass" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDeclareFunction = function (e, t) {
        if (!e) return !1;
        if ("DeclareFunction" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDeclareInterface = function (e, t) {
        if (!e) return !1;
        if ("DeclareInterface" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDeclareModule = function (e, t) {
        if (!e) return !1;
        if ("DeclareModule" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDeclareModuleExports = function (e, t) {
        if (!e) return !1;
        if ("DeclareModuleExports" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDeclareTypeAlias = function (e, t) {
        if (!e) return !1;
        if ("DeclareTypeAlias" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDeclareOpaqueType = function (e, t) {
        if (!e) return !1;
        if ("DeclareOpaqueType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDeclareVariable = function (e, t) {
        if (!e) return !1;
        if ("DeclareVariable" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDeclareExportDeclaration = function (e, t) {
        if (!e) return !1;
        if ("DeclareExportDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDeclareExportAllDeclaration = function (e, t) {
        if (!e) return !1;
        if ("DeclareExportAllDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDeclaredPredicate = function (e, t) {
        if (!e) return !1;
        if ("DeclaredPredicate" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isExistsTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("ExistsTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isFunctionTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("FunctionTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isFunctionTypeParam = function (e, t) {
        if (!e) return !1;
        if ("FunctionTypeParam" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isGenericTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("GenericTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isInferredPredicate = function (e, t) {
        if (!e) return !1;
        if ("InferredPredicate" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isInterfaceExtends = function (e, t) {
        if (!e) return !1;
        if ("InterfaceExtends" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isInterfaceDeclaration = function (e, t) {
        if (!e) return !1;
        if ("InterfaceDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isInterfaceTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("InterfaceTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isIntersectionTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("IntersectionTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isMixedTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("MixedTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isEmptyTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("EmptyTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isNullableTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("NullableTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isNumberLiteralTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("NumberLiteralTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isNumberTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("NumberTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isObjectTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("ObjectTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isObjectTypeInternalSlot = function (e, t) {
        if (!e) return !1;
        if ("ObjectTypeInternalSlot" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isObjectTypeCallProperty = function (e, t) {
        if (!e) return !1;
        if ("ObjectTypeCallProperty" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isObjectTypeIndexer = function (e, t) {
        if (!e) return !1;
        if ("ObjectTypeIndexer" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isObjectTypeProperty = function (e, t) {
        if (!e) return !1;
        if ("ObjectTypeProperty" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isObjectTypeSpreadProperty = function (e, t) {
        if (!e) return !1;
        if ("ObjectTypeSpreadProperty" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isOpaqueType = function (e, t) {
        if (!e) return !1;
        if ("OpaqueType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isQualifiedTypeIdentifier = function (e, t) {
        if (!e) return !1;
        if ("QualifiedTypeIdentifier" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isStringLiteralTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("StringLiteralTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isStringTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("StringTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isSymbolTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("SymbolTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isThisTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("ThisTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTupleTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("TupleTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTypeofTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("TypeofTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTypeAlias = function (e, t) {
        if (!e) return !1;
        if ("TypeAlias" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("TypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTypeCastExpression = function (e, t) {
        if (!e) return !1;
        if ("TypeCastExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTypeParameter = function (e, t) {
        if (!e) return !1;
        if ("TypeParameter" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTypeParameterDeclaration = function (e, t) {
        if (!e) return !1;
        if ("TypeParameterDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTypeParameterInstantiation = function (e, t) {
        if (!e) return !1;
        if ("TypeParameterInstantiation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isUnionTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("UnionTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isVariance = function (e, t) {
        if (!e) return !1;
        if ("Variance" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isVoidTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("VoidTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isEnumDeclaration = function (e, t) {
        if (!e) return !1;
        if ("EnumDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isEnumBooleanBody = function (e, t) {
        if (!e) return !1;
        if ("EnumBooleanBody" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isEnumNumberBody = function (e, t) {
        if (!e) return !1;
        if ("EnumNumberBody" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isEnumStringBody = function (e, t) {
        if (!e) return !1;
        if ("EnumStringBody" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isEnumSymbolBody = function (e, t) {
        if (!e) return !1;
        if ("EnumSymbolBody" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isEnumBooleanMember = function (e, t) {
        if (!e) return !1;
        if ("EnumBooleanMember" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isEnumNumberMember = function (e, t) {
        if (!e) return !1;
        if ("EnumNumberMember" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isEnumStringMember = function (e, t) {
        if (!e) return !1;
        if ("EnumStringMember" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isEnumDefaultedMember = function (e, t) {
        if (!e) return !1;
        if ("EnumDefaultedMember" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXAttribute = function (e, t) {
        if (!e) return !1;
        if ("JSXAttribute" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXClosingElement = function (e, t) {
        if (!e) return !1;
        if ("JSXClosingElement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXElement = function (e, t) {
        if (!e) return !1;
        if ("JSXElement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXEmptyExpression = function (e, t) {
        if (!e) return !1;
        if ("JSXEmptyExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXExpressionContainer = function (e, t) {
        if (!e) return !1;
        if ("JSXExpressionContainer" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXSpreadChild = function (e, t) {
        if (!e) return !1;
        if ("JSXSpreadChild" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXIdentifier = function (e, t) {
        if (!e) return !1;
        if ("JSXIdentifier" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXMemberExpression = function (e, t) {
        if (!e) return !1;
        if ("JSXMemberExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXNamespacedName = function (e, t) {
        if (!e) return !1;
        if ("JSXNamespacedName" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXOpeningElement = function (e, t) {
        if (!e) return !1;
        if ("JSXOpeningElement" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXSpreadAttribute = function (e, t) {
        if (!e) return !1;
        if ("JSXSpreadAttribute" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXText = function (e, t) {
        if (!e) return !1;
        if ("JSXText" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXFragment = function (e, t) {
        if (!e) return !1;
        if ("JSXFragment" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXOpeningFragment = function (e, t) {
        if (!e) return !1;
        if ("JSXOpeningFragment" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSXClosingFragment = function (e, t) {
        if (!e) return !1;
        if ("JSXClosingFragment" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isNoop = function (e, t) {
        if (!e) return !1;
        if ("Noop" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isPlaceholder = function (e, t) {
        if (!e) return !1;
        if ("Placeholder" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isV8IntrinsicIdentifier = function (e, t) {
        if (!e) return !1;
        if ("V8IntrinsicIdentifier" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isArgumentPlaceholder = function (e, t) {
        if (!e) return !1;
        if ("ArgumentPlaceholder" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isBindExpression = function (e, t) {
        if (!e) return !1;
        if ("BindExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isClassProperty = function (e, t) {
        if (!e) return !1;
        if ("ClassProperty" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isPipelineTopicExpression = function (e, t) {
        if (!e) return !1;
        if ("PipelineTopicExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isPipelineBareFunction = function (e, t) {
        if (!e) return !1;
        if ("PipelineBareFunction" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isPipelinePrimaryTopicReference = function (e, t) {
        if (!e) return !1;
        if ("PipelinePrimaryTopicReference" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isClassPrivateProperty = function (e, t) {
        if (!e) return !1;
        if ("ClassPrivateProperty" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isClassPrivateMethod = function (e, t) {
        if (!e) return !1;
        if ("ClassPrivateMethod" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isImportAttribute = function (e, t) {
        if (!e) return !1;
        if ("ImportAttribute" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDecorator = function (e, t) {
        if (!e) return !1;
        if ("Decorator" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDoExpression = function (e, t) {
        if (!e) return !1;
        if ("DoExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isExportDefaultSpecifier = function (e, t) {
        if (!e) return !1;
        if ("ExportDefaultSpecifier" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isPrivateName = function (e, t) {
        if (!e) return !1;
        if ("PrivateName" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isRecordExpression = function (e, t) {
        if (!e) return !1;
        if ("RecordExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTupleExpression = function (e, t) {
        if (!e) return !1;
        if ("TupleExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDecimalLiteral = function (e, t) {
        if (!e) return !1;
        if ("DecimalLiteral" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isStaticBlock = function (e, t) {
        if (!e) return !1;
        if ("StaticBlock" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSParameterProperty = function (e, t) {
        if (!e) return !1;
        if ("TSParameterProperty" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSDeclareFunction = function (e, t) {
        if (!e) return !1;
        if ("TSDeclareFunction" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSDeclareMethod = function (e, t) {
        if (!e) return !1;
        if ("TSDeclareMethod" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSQualifiedName = function (e, t) {
        if (!e) return !1;
        if ("TSQualifiedName" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSCallSignatureDeclaration = function (e, t) {
        if (!e) return !1;
        if ("TSCallSignatureDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSConstructSignatureDeclaration = function (e, t) {
        if (!e) return !1;
        if ("TSConstructSignatureDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSPropertySignature = function (e, t) {
        if (!e) return !1;
        if ("TSPropertySignature" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSMethodSignature = function (e, t) {
        if (!e) return !1;
        if ("TSMethodSignature" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSIndexSignature = function (e, t) {
        if (!e) return !1;
        if ("TSIndexSignature" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSAnyKeyword = function (e, t) {
        if (!e) return !1;
        if ("TSAnyKeyword" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSBooleanKeyword = function (e, t) {
        if (!e) return !1;
        if ("TSBooleanKeyword" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSBigIntKeyword = function (e, t) {
        if (!e) return !1;
        if ("TSBigIntKeyword" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSIntrinsicKeyword = function (e, t) {
        if (!e) return !1;
        if ("TSIntrinsicKeyword" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSNeverKeyword = function (e, t) {
        if (!e) return !1;
        if ("TSNeverKeyword" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSNullKeyword = function (e, t) {
        if (!e) return !1;
        if ("TSNullKeyword" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSNumberKeyword = function (e, t) {
        if (!e) return !1;
        if ("TSNumberKeyword" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSObjectKeyword = function (e, t) {
        if (!e) return !1;
        if ("TSObjectKeyword" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSStringKeyword = function (e, t) {
        if (!e) return !1;
        if ("TSStringKeyword" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSSymbolKeyword = function (e, t) {
        if (!e) return !1;
        if ("TSSymbolKeyword" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSUndefinedKeyword = function (e, t) {
        if (!e) return !1;
        if ("TSUndefinedKeyword" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSUnknownKeyword = function (e, t) {
        if (!e) return !1;
        if ("TSUnknownKeyword" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSVoidKeyword = function (e, t) {
        if (!e) return !1;
        if ("TSVoidKeyword" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSThisType = function (e, t) {
        if (!e) return !1;
        if ("TSThisType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSFunctionType = function (e, t) {
        if (!e) return !1;
        if ("TSFunctionType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSConstructorType = function (e, t) {
        if (!e) return !1;
        if ("TSConstructorType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSTypeReference = function (e, t) {
        if (!e) return !1;
        if ("TSTypeReference" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSTypePredicate = function (e, t) {
        if (!e) return !1;
        if ("TSTypePredicate" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSTypeQuery = function (e, t) {
        if (!e) return !1;
        if ("TSTypeQuery" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSTypeLiteral = function (e, t) {
        if (!e) return !1;
        if ("TSTypeLiteral" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSArrayType = function (e, t) {
        if (!e) return !1;
        if ("TSArrayType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSTupleType = function (e, t) {
        if (!e) return !1;
        if ("TSTupleType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSOptionalType = function (e, t) {
        if (!e) return !1;
        if ("TSOptionalType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSRestType = function (e, t) {
        if (!e) return !1;
        if ("TSRestType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSNamedTupleMember = function (e, t) {
        if (!e) return !1;
        if ("TSNamedTupleMember" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSUnionType = function (e, t) {
        if (!e) return !1;
        if ("TSUnionType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSIntersectionType = function (e, t) {
        if (!e) return !1;
        if ("TSIntersectionType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSConditionalType = function (e, t) {
        if (!e) return !1;
        if ("TSConditionalType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSInferType = function (e, t) {
        if (!e) return !1;
        if ("TSInferType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSParenthesizedType = function (e, t) {
        if (!e) return !1;
        if ("TSParenthesizedType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSTypeOperator = function (e, t) {
        if (!e) return !1;
        if ("TSTypeOperator" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSIndexedAccessType = function (e, t) {
        if (!e) return !1;
        if ("TSIndexedAccessType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSMappedType = function (e, t) {
        if (!e) return !1;
        if ("TSMappedType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSLiteralType = function (e, t) {
        if (!e) return !1;
        if ("TSLiteralType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSExpressionWithTypeArguments = function (e, t) {
        if (!e) return !1;
        if ("TSExpressionWithTypeArguments" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSInterfaceDeclaration = function (e, t) {
        if (!e) return !1;
        if ("TSInterfaceDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSInterfaceBody = function (e, t) {
        if (!e) return !1;
        if ("TSInterfaceBody" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSTypeAliasDeclaration = function (e, t) {
        if (!e) return !1;
        if ("TSTypeAliasDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSAsExpression = function (e, t) {
        if (!e) return !1;
        if ("TSAsExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSTypeAssertion = function (e, t) {
        if (!e) return !1;
        if ("TSTypeAssertion" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSEnumDeclaration = function (e, t) {
        if (!e) return !1;
        if ("TSEnumDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSEnumMember = function (e, t) {
        if (!e) return !1;
        if ("TSEnumMember" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSModuleDeclaration = function (e, t) {
        if (!e) return !1;
        if ("TSModuleDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSModuleBlock = function (e, t) {
        if (!e) return !1;
        if ("TSModuleBlock" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSImportType = function (e, t) {
        if (!e) return !1;
        if ("TSImportType" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSImportEqualsDeclaration = function (e, t) {
        if (!e) return !1;
        if ("TSImportEqualsDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSExternalModuleReference = function (e, t) {
        if (!e) return !1;
        if ("TSExternalModuleReference" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSNonNullExpression = function (e, t) {
        if (!e) return !1;
        if ("TSNonNullExpression" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSExportAssignment = function (e, t) {
        if (!e) return !1;
        if ("TSExportAssignment" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSNamespaceExportDeclaration = function (e, t) {
        if (!e) return !1;
        if ("TSNamespaceExportDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSTypeAnnotation = function (e, t) {
        if (!e) return !1;
        if ("TSTypeAnnotation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSTypeParameterInstantiation = function (e, t) {
        if (!e) return !1;
        if ("TSTypeParameterInstantiation" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSTypeParameterDeclaration = function (e, t) {
        if (!e) return !1;
        if ("TSTypeParameterDeclaration" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSTypeParameter = function (e, t) {
        if (!e) return !1;
        if ("TSTypeParameter" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isExpression = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Expression" === n || "ArrayExpression" === n || "AssignmentExpression" === n || "BinaryExpression" === n || "CallExpression" === n || "ConditionalExpression" === n || "FunctionExpression" === n || "Identifier" === n || "StringLiteral" === n || "NumericLiteral" === n || "NullLiteral" === n || "BooleanLiteral" === n || "RegExpLiteral" === n || "LogicalExpression" === n || "MemberExpression" === n || "NewExpression" === n || "ObjectExpression" === n || "SequenceExpression" === n || "ParenthesizedExpression" === n || "ThisExpression" === n || "UnaryExpression" === n || "UpdateExpression" === n || "ArrowFunctionExpression" === n || "ClassExpression" === n || "MetaProperty" === n || "Super" === n || "TaggedTemplateExpression" === n || "TemplateLiteral" === n || "YieldExpression" === n || "AwaitExpression" === n || "Import" === n || "BigIntLiteral" === n || "OptionalMemberExpression" === n || "OptionalCallExpression" === n || "TypeCastExpression" === n || "JSXElement" === n || "JSXFragment" === n || "BindExpression" === n || "PipelinePrimaryTopicReference" === n || "DoExpression" === n || "RecordExpression" === n || "TupleExpression" === n || "DecimalLiteral" === n || "TSAsExpression" === n || "TSTypeAssertion" === n || "TSNonNullExpression" === n || "Placeholder" === n && ("Expression" === e.expectedNode || "Identifier" === e.expectedNode || "StringLiteral" === e.expectedNode)) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isBinary = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Binary" === n || "BinaryExpression" === n || "LogicalExpression" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isScopable = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Scopable" === n || "BlockStatement" === n || "CatchClause" === n || "DoWhileStatement" === n || "ForInStatement" === n || "ForStatement" === n || "FunctionDeclaration" === n || "FunctionExpression" === n || "Program" === n || "ObjectMethod" === n || "SwitchStatement" === n || "WhileStatement" === n || "ArrowFunctionExpression" === n || "ClassExpression" === n || "ClassDeclaration" === n || "ForOfStatement" === n || "ClassMethod" === n || "ClassPrivateMethod" === n || "StaticBlock" === n || "TSModuleBlock" === n || "Placeholder" === n && "BlockStatement" === e.expectedNode) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isBlockParent = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("BlockParent" === n || "BlockStatement" === n || "CatchClause" === n || "DoWhileStatement" === n || "ForInStatement" === n || "ForStatement" === n || "FunctionDeclaration" === n || "FunctionExpression" === n || "Program" === n || "ObjectMethod" === n || "SwitchStatement" === n || "WhileStatement" === n || "ArrowFunctionExpression" === n || "ForOfStatement" === n || "ClassMethod" === n || "ClassPrivateMethod" === n || "StaticBlock" === n || "TSModuleBlock" === n || "Placeholder" === n && "BlockStatement" === e.expectedNode) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isBlock = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Block" === n || "BlockStatement" === n || "Program" === n || "TSModuleBlock" === n || "Placeholder" === n && "BlockStatement" === e.expectedNode) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isStatement = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Statement" === n || "BlockStatement" === n || "BreakStatement" === n || "ContinueStatement" === n || "DebuggerStatement" === n || "DoWhileStatement" === n || "EmptyStatement" === n || "ExpressionStatement" === n || "ForInStatement" === n || "ForStatement" === n || "FunctionDeclaration" === n || "IfStatement" === n || "LabeledStatement" === n || "ReturnStatement" === n || "SwitchStatement" === n || "ThrowStatement" === n || "TryStatement" === n || "VariableDeclaration" === n || "WhileStatement" === n || "WithStatement" === n || "ClassDeclaration" === n || "ExportAllDeclaration" === n || "ExportDefaultDeclaration" === n || "ExportNamedDeclaration" === n || "ForOfStatement" === n || "ImportDeclaration" === n || "DeclareClass" === n || "DeclareFunction" === n || "DeclareInterface" === n || "DeclareModule" === n || "DeclareModuleExports" === n || "DeclareTypeAlias" === n || "DeclareOpaqueType" === n || "DeclareVariable" === n || "DeclareExportDeclaration" === n || "DeclareExportAllDeclaration" === n || "InterfaceDeclaration" === n || "OpaqueType" === n || "TypeAlias" === n || "EnumDeclaration" === n || "TSDeclareFunction" === n || "TSInterfaceDeclaration" === n || "TSTypeAliasDeclaration" === n || "TSEnumDeclaration" === n || "TSModuleDeclaration" === n || "TSImportEqualsDeclaration" === n || "TSExportAssignment" === n || "TSNamespaceExportDeclaration" === n || "Placeholder" === n && ("Statement" === e.expectedNode || "Declaration" === e.expectedNode || "BlockStatement" === e.expectedNode)) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTerminatorless = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Terminatorless" === n || "BreakStatement" === n || "ContinueStatement" === n || "ReturnStatement" === n || "ThrowStatement" === n || "YieldExpression" === n || "AwaitExpression" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isCompletionStatement = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("CompletionStatement" === n || "BreakStatement" === n || "ContinueStatement" === n || "ReturnStatement" === n || "ThrowStatement" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isConditional = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Conditional" === n || "ConditionalExpression" === n || "IfStatement" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isLoop = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Loop" === n || "DoWhileStatement" === n || "ForInStatement" === n || "ForStatement" === n || "WhileStatement" === n || "ForOfStatement" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isWhile = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("While" === n || "DoWhileStatement" === n || "WhileStatement" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isExpressionWrapper = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("ExpressionWrapper" === n || "ExpressionStatement" === n || "ParenthesizedExpression" === n || "TypeCastExpression" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isFor = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("For" === n || "ForInStatement" === n || "ForStatement" === n || "ForOfStatement" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isForXStatement = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("ForXStatement" === n || "ForInStatement" === n || "ForOfStatement" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isFunction = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Function" === n || "FunctionDeclaration" === n || "FunctionExpression" === n || "ObjectMethod" === n || "ArrowFunctionExpression" === n || "ClassMethod" === n || "ClassPrivateMethod" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isFunctionParent = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("FunctionParent" === n || "FunctionDeclaration" === n || "FunctionExpression" === n || "ObjectMethod" === n || "ArrowFunctionExpression" === n || "ClassMethod" === n || "ClassPrivateMethod" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isPureish = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Pureish" === n || "FunctionDeclaration" === n || "FunctionExpression" === n || "StringLiteral" === n || "NumericLiteral" === n || "NullLiteral" === n || "BooleanLiteral" === n || "RegExpLiteral" === n || "ArrowFunctionExpression" === n || "BigIntLiteral" === n || "DecimalLiteral" === n || "Placeholder" === n && "StringLiteral" === e.expectedNode) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isDeclaration = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Declaration" === n || "FunctionDeclaration" === n || "VariableDeclaration" === n || "ClassDeclaration" === n || "ExportAllDeclaration" === n || "ExportDefaultDeclaration" === n || "ExportNamedDeclaration" === n || "ImportDeclaration" === n || "DeclareClass" === n || "DeclareFunction" === n || "DeclareInterface" === n || "DeclareModule" === n || "DeclareModuleExports" === n || "DeclareTypeAlias" === n || "DeclareOpaqueType" === n || "DeclareVariable" === n || "DeclareExportDeclaration" === n || "DeclareExportAllDeclaration" === n || "InterfaceDeclaration" === n || "OpaqueType" === n || "TypeAlias" === n || "EnumDeclaration" === n || "TSDeclareFunction" === n || "TSInterfaceDeclaration" === n || "TSTypeAliasDeclaration" === n || "TSEnumDeclaration" === n || "TSModuleDeclaration" === n || "Placeholder" === n && "Declaration" === e.expectedNode) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isPatternLike = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("PatternLike" === n || "Identifier" === n || "RestElement" === n || "AssignmentPattern" === n || "ArrayPattern" === n || "ObjectPattern" === n || "Placeholder" === n && ("Pattern" === e.expectedNode || "Identifier" === e.expectedNode)) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isLVal = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("LVal" === n || "Identifier" === n || "MemberExpression" === n || "RestElement" === n || "AssignmentPattern" === n || "ArrayPattern" === n || "ObjectPattern" === n || "TSParameterProperty" === n || "Placeholder" === n && ("Pattern" === e.expectedNode || "Identifier" === e.expectedNode)) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSEntityName = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("TSEntityName" === n || "Identifier" === n || "TSQualifiedName" === n || "Placeholder" === n && "Identifier" === e.expectedNode) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isLiteral = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Literal" === n || "StringLiteral" === n || "NumericLiteral" === n || "NullLiteral" === n || "BooleanLiteral" === n || "RegExpLiteral" === n || "TemplateLiteral" === n || "BigIntLiteral" === n || "DecimalLiteral" === n || "Placeholder" === n && "StringLiteral" === e.expectedNode) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isImmutable = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Immutable" === n || "StringLiteral" === n || "NumericLiteral" === n || "NullLiteral" === n || "BooleanLiteral" === n || "BigIntLiteral" === n || "JSXAttribute" === n || "JSXClosingElement" === n || "JSXElement" === n || "JSXExpressionContainer" === n || "JSXSpreadChild" === n || "JSXOpeningElement" === n || "JSXText" === n || "JSXFragment" === n || "JSXOpeningFragment" === n || "JSXClosingFragment" === n || "DecimalLiteral" === n || "Placeholder" === n && "StringLiteral" === e.expectedNode) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isUserWhitespacable = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("UserWhitespacable" === n || "ObjectMethod" === n || "ObjectProperty" === n || "ObjectTypeInternalSlot" === n || "ObjectTypeCallProperty" === n || "ObjectTypeIndexer" === n || "ObjectTypeProperty" === n || "ObjectTypeSpreadProperty" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isMethod = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Method" === n || "ObjectMethod" === n || "ClassMethod" === n || "ClassPrivateMethod" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isObjectMember = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("ObjectMember" === n || "ObjectMethod" === n || "ObjectProperty" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isProperty = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Property" === n || "ObjectProperty" === n || "ClassProperty" === n || "ClassPrivateProperty" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isUnaryLike = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("UnaryLike" === n || "UnaryExpression" === n || "SpreadElement" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isPattern = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Pattern" === n || "AssignmentPattern" === n || "ArrayPattern" === n || "ObjectPattern" === n || "Placeholder" === n && "Pattern" === e.expectedNode) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isClass = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Class" === n || "ClassExpression" === n || "ClassDeclaration" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isModuleDeclaration = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("ModuleDeclaration" === n || "ExportAllDeclaration" === n || "ExportDefaultDeclaration" === n || "ExportNamedDeclaration" === n || "ImportDeclaration" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isExportDeclaration = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("ExportDeclaration" === n || "ExportAllDeclaration" === n || "ExportDefaultDeclaration" === n || "ExportNamedDeclaration" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isModuleSpecifier = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("ModuleSpecifier" === n || "ExportSpecifier" === n || "ImportDefaultSpecifier" === n || "ImportNamespaceSpecifier" === n || "ImportSpecifier" === n || "ExportNamespaceSpecifier" === n || "ExportDefaultSpecifier" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isFlow = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Flow" === n || "AnyTypeAnnotation" === n || "ArrayTypeAnnotation" === n || "BooleanTypeAnnotation" === n || "BooleanLiteralTypeAnnotation" === n || "NullLiteralTypeAnnotation" === n || "ClassImplements" === n || "DeclareClass" === n || "DeclareFunction" === n || "DeclareInterface" === n || "DeclareModule" === n || "DeclareModuleExports" === n || "DeclareTypeAlias" === n || "DeclareOpaqueType" === n || "DeclareVariable" === n || "DeclareExportDeclaration" === n || "DeclareExportAllDeclaration" === n || "DeclaredPredicate" === n || "ExistsTypeAnnotation" === n || "FunctionTypeAnnotation" === n || "FunctionTypeParam" === n || "GenericTypeAnnotation" === n || "InferredPredicate" === n || "InterfaceExtends" === n || "InterfaceDeclaration" === n || "InterfaceTypeAnnotation" === n || "IntersectionTypeAnnotation" === n || "MixedTypeAnnotation" === n || "EmptyTypeAnnotation" === n || "NullableTypeAnnotation" === n || "NumberLiteralTypeAnnotation" === n || "NumberTypeAnnotation" === n || "ObjectTypeAnnotation" === n || "ObjectTypeInternalSlot" === n || "ObjectTypeCallProperty" === n || "ObjectTypeIndexer" === n || "ObjectTypeProperty" === n || "ObjectTypeSpreadProperty" === n || "OpaqueType" === n || "QualifiedTypeIdentifier" === n || "StringLiteralTypeAnnotation" === n || "StringTypeAnnotation" === n || "SymbolTypeAnnotation" === n || "ThisTypeAnnotation" === n || "TupleTypeAnnotation" === n || "TypeofTypeAnnotation" === n || "TypeAlias" === n || "TypeAnnotation" === n || "TypeCastExpression" === n || "TypeParameter" === n || "TypeParameterDeclaration" === n || "TypeParameterInstantiation" === n || "UnionTypeAnnotation" === n || "Variance" === n || "VoidTypeAnnotation" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isFlowType = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("FlowType" === n || "AnyTypeAnnotation" === n || "ArrayTypeAnnotation" === n || "BooleanTypeAnnotation" === n || "BooleanLiteralTypeAnnotation" === n || "NullLiteralTypeAnnotation" === n || "ExistsTypeAnnotation" === n || "FunctionTypeAnnotation" === n || "GenericTypeAnnotation" === n || "InterfaceTypeAnnotation" === n || "IntersectionTypeAnnotation" === n || "MixedTypeAnnotation" === n || "EmptyTypeAnnotation" === n || "NullableTypeAnnotation" === n || "NumberLiteralTypeAnnotation" === n || "NumberTypeAnnotation" === n || "ObjectTypeAnnotation" === n || "StringLiteralTypeAnnotation" === n || "StringTypeAnnotation" === n || "SymbolTypeAnnotation" === n || "ThisTypeAnnotation" === n || "TupleTypeAnnotation" === n || "TypeofTypeAnnotation" === n || "UnionTypeAnnotation" === n || "VoidTypeAnnotation" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isFlowBaseAnnotation = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("FlowBaseAnnotation" === n || "AnyTypeAnnotation" === n || "BooleanTypeAnnotation" === n || "NullLiteralTypeAnnotation" === n || "MixedTypeAnnotation" === n || "EmptyTypeAnnotation" === n || "NumberTypeAnnotation" === n || "StringTypeAnnotation" === n || "SymbolTypeAnnotation" === n || "ThisTypeAnnotation" === n || "VoidTypeAnnotation" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isFlowDeclaration = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("FlowDeclaration" === n || "DeclareClass" === n || "DeclareFunction" === n || "DeclareInterface" === n || "DeclareModule" === n || "DeclareModuleExports" === n || "DeclareTypeAlias" === n || "DeclareOpaqueType" === n || "DeclareVariable" === n || "DeclareExportDeclaration" === n || "DeclareExportAllDeclaration" === n || "InterfaceDeclaration" === n || "OpaqueType" === n || "TypeAlias" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isFlowPredicate = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("FlowPredicate" === n || "DeclaredPredicate" === n || "InferredPredicate" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isEnumBody = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("EnumBody" === n || "EnumBooleanBody" === n || "EnumNumberBody" === n || "EnumStringBody" === n || "EnumSymbolBody" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isEnumMember = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("EnumMember" === n || "EnumBooleanMember" === n || "EnumNumberMember" === n || "EnumStringMember" === n || "EnumDefaultedMember" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isJSX = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("JSX" === n || "JSXAttribute" === n || "JSXClosingElement" === n || "JSXElement" === n || "JSXEmptyExpression" === n || "JSXExpressionContainer" === n || "JSXSpreadChild" === n || "JSXIdentifier" === n || "JSXMemberExpression" === n || "JSXNamespacedName" === n || "JSXOpeningElement" === n || "JSXSpreadAttribute" === n || "JSXText" === n || "JSXFragment" === n || "JSXOpeningFragment" === n || "JSXClosingFragment" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isPrivate = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("Private" === n || "ClassPrivateProperty" === n || "ClassPrivateMethod" === n || "PrivateName" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSTypeElement = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("TSTypeElement" === n || "TSCallSignatureDeclaration" === n || "TSConstructSignatureDeclaration" === n || "TSPropertySignature" === n || "TSMethodSignature" === n || "TSIndexSignature" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSType = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("TSType" === n || "TSAnyKeyword" === n || "TSBooleanKeyword" === n || "TSBigIntKeyword" === n || "TSIntrinsicKeyword" === n || "TSNeverKeyword" === n || "TSNullKeyword" === n || "TSNumberKeyword" === n || "TSObjectKeyword" === n || "TSStringKeyword" === n || "TSSymbolKeyword" === n || "TSUndefinedKeyword" === n || "TSUnknownKeyword" === n || "TSVoidKeyword" === n || "TSThisType" === n || "TSFunctionType" === n || "TSConstructorType" === n || "TSTypeReference" === n || "TSTypePredicate" === n || "TSTypeQuery" === n || "TSTypeLiteral" === n || "TSArrayType" === n || "TSTupleType" === n || "TSOptionalType" === n || "TSRestType" === n || "TSUnionType" === n || "TSIntersectionType" === n || "TSConditionalType" === n || "TSInferType" === n || "TSParenthesizedType" === n || "TSTypeOperator" === n || "TSIndexedAccessType" === n || "TSMappedType" === n || "TSLiteralType" === n || "TSExpressionWithTypeArguments" === n || "TSImportType" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isTSBaseType = function (e, t) {
        if (!e) return !1;
        const n = e.type;
        if ("TSBaseType" === n || "TSAnyKeyword" === n || "TSBooleanKeyword" === n || "TSBigIntKeyword" === n || "TSIntrinsicKeyword" === n || "TSNeverKeyword" === n || "TSNullKeyword" === n || "TSNumberKeyword" === n || "TSObjectKeyword" === n || "TSStringKeyword" === n || "TSSymbolKeyword" === n || "TSUndefinedKeyword" === n || "TSUnknownKeyword" === n || "TSVoidKeyword" === n || "TSThisType" === n || "TSLiteralType" === n) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isNumberLiteral = function (e, t) {
        if (console.trace("The node type NumberLiteral has been renamed to NumericLiteral"), !e) return !1;
        if ("NumberLiteral" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isRegexLiteral = function (e, t) {
        if (console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"), !e) return !1;
        if ("RegexLiteral" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isRestProperty = function (e, t) {
        if (console.trace("The node type RestProperty has been renamed to RestElement"), !e) return !1;
        if ("RestProperty" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    }, t.isSpreadProperty = function (e, t) {
        if (console.trace("The node type SpreadProperty has been renamed to SpreadElement"), !e) return !1;
        if ("SpreadProperty" === e.type) return void 0 === t || (0, i.default)(e, t);
        return !1
    };
    var r, i = (r = n(25)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    var r = n(74),
        i = Object.prototype.toString;

    function a(e) {
        return "[object Array]" === i.call(e)
    }

    function o(e) {
        return void 0 === e
    }

    function s(e) {
        return null !== e && "object" == typeof e
    }

    function l(e) {
        return "[object Function]" === i.call(e)
    }

    function u(e, t) {
        if (null != e)
            if ("object" != typeof e && (e = [e]), a(e))
                for (var n = 0, r = e.length; n < r; n++) t.call(null, e[n], n, e);
            else
                for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && t.call(null, e[i], i, e)
    }
    e.exports = {
        isArray: a,
        isArrayBuffer: function (e) {
            return "[object ArrayBuffer]" === i.call(e)
        },
        isBuffer: function (e) {
            return null !== e && !o(e) && null !== e.constructor && !o(e.constructor) && "function" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e)
        },
        isFormData: function (e) {
            return "undefined" != typeof FormData && e instanceof FormData
        },
        isArrayBufferView: function (e) {
            return "undefined" != typeof ArrayBuffer && ArrayBuffer.isView ? ArrayBuffer.isView(e) : e && e.buffer && e.buffer instanceof ArrayBuffer
        },
        isString: function (e) {
            return "string" == typeof e
        },
        isNumber: function (e) {
            return "number" == typeof e
        },
        isObject: s,
        isUndefined: o,
        isDate: function (e) {
            return "[object Date]" === i.call(e)
        },
        isFile: function (e) {
            return "[object File]" === i.call(e)
        },
        isBlob: function (e) {
            return "[object Blob]" === i.call(e)
        },
        isFunction: l,
        isStream: function (e) {
            return s(e) && l(e.pipe)
        },
        isURLSearchParams: function (e) {
            return "undefined" != typeof URLSearchParams && e instanceof URLSearchParams
        },
        isStandardBrowserEnv: function () {
            return ("undefined" == typeof navigator || "ReactNative" !== navigator.product && "NativeScript" !== navigator.product && "NS" !== navigator.product) && ("undefined" != typeof window && "undefined" != typeof document)
        },
        forEach: u,
        merge: function e() {
            var t = {};

            function n(n, r) {
                "object" == typeof t[r] && "object" == typeof n ? t[r] = e(t[r], n) : t[r] = n
            }
            for (var r = 0, i = arguments.length; r < i; r++) u(arguments[r], n);
            return t
        },
        deepMerge: function e() {
            var t = {};

            function n(n, r) {
                "object" == typeof t[r] && "object" == typeof n ? t[r] = e(t[r], n) : t[r] = "object" == typeof n ? e({}, n) : n
            }
            for (var r = 0, i = arguments.length; r < i; r++) u(arguments[r], n);
            return t
        },
        extend: function (e, t, n) {
            return u(t, (function (t, i) {
                e[i] = n && "function" == typeof t ? r(t, n) : t
            })), e
        },
        trim: function (e) {
            return e.replace(/^\s*/, "").replace(/\s*$/, "")
        }
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.ArrayExpression = t.arrayExpression = function (...e) {
        return (0, i.default)("ArrayExpression", ...e)
    }, t.AssignmentExpression = t.assignmentExpression = function (...e) {
        return (0, i.default)("AssignmentExpression", ...e)
    }, t.BinaryExpression = t.binaryExpression = function (...e) {
        return (0, i.default)("BinaryExpression", ...e)
    }, t.InterpreterDirective = t.interpreterDirective = function (...e) {
        return (0, i.default)("InterpreterDirective", ...e)
    }, t.Directive = t.directive = function (...e) {
        return (0, i.default)("Directive", ...e)
    }, t.DirectiveLiteral = t.directiveLiteral = function (...e) {
        return (0, i.default)("DirectiveLiteral", ...e)
    }, t.BlockStatement = t.blockStatement = function (...e) {
        return (0, i.default)("BlockStatement", ...e)
    }, t.BreakStatement = t.breakStatement = function (...e) {
        return (0, i.default)("BreakStatement", ...e)
    }, t.CallExpression = t.callExpression = function (...e) {
        return (0, i.default)("CallExpression", ...e)
    }, t.CatchClause = t.catchClause = function (...e) {
        return (0, i.default)("CatchClause", ...e)
    }, t.ConditionalExpression = t.conditionalExpression = function (...e) {
        return (0, i.default)("ConditionalExpression", ...e)
    }, t.ContinueStatement = t.continueStatement = function (...e) {
        return (0, i.default)("ContinueStatement", ...e)
    }, t.DebuggerStatement = t.debuggerStatement = function (...e) {
        return (0, i.default)("DebuggerStatement", ...e)
    }, t.DoWhileStatement = t.doWhileStatement = function (...e) {
        return (0, i.default)("DoWhileStatement", ...e)
    }, t.EmptyStatement = t.emptyStatement = function (...e) {
        return (0, i.default)("EmptyStatement", ...e)
    }, t.ExpressionStatement = t.expressionStatement = function (...e) {
        return (0, i.default)("ExpressionStatement", ...e)
    }, t.File = t.file = function (...e) {
        return (0, i.default)("File", ...e)
    }, t.ForInStatement = t.forInStatement = function (...e) {
        return (0, i.default)("ForInStatement", ...e)
    }, t.ForStatement = t.forStatement = function (...e) {
        return (0, i.default)("ForStatement", ...e)
    }, t.FunctionDeclaration = t.functionDeclaration = function (...e) {
        return (0, i.default)("FunctionDeclaration", ...e)
    }, t.FunctionExpression = t.functionExpression = function (...e) {
        return (0, i.default)("FunctionExpression", ...e)
    }, t.Identifier = t.identifier = function (...e) {
        return (0, i.default)("Identifier", ...e)
    }, t.IfStatement = t.ifStatement = function (...e) {
        return (0, i.default)("IfStatement", ...e)
    }, t.LabeledStatement = t.labeledStatement = function (...e) {
        return (0, i.default)("LabeledStatement", ...e)
    }, t.StringLiteral = t.stringLiteral = function (...e) {
        return (0, i.default)("StringLiteral", ...e)
    }, t.NumericLiteral = t.numericLiteral = function (...e) {
        return (0, i.default)("NumericLiteral", ...e)
    }, t.NullLiteral = t.nullLiteral = function (...e) {
        return (0, i.default)("NullLiteral", ...e)
    }, t.BooleanLiteral = t.booleanLiteral = function (...e) {
        return (0, i.default)("BooleanLiteral", ...e)
    }, t.RegExpLiteral = t.regExpLiteral = function (...e) {
        return (0, i.default)("RegExpLiteral", ...e)
    }, t.LogicalExpression = t.logicalExpression = function (...e) {
        return (0, i.default)("LogicalExpression", ...e)
    }, t.MemberExpression = t.memberExpression = function (...e) {
        return (0, i.default)("MemberExpression", ...e)
    }, t.NewExpression = t.newExpression = function (...e) {
        return (0, i.default)("NewExpression", ...e)
    }, t.Program = t.program = function (...e) {
        return (0, i.default)("Program", ...e)
    }, t.ObjectExpression = t.objectExpression = function (...e) {
        return (0, i.default)("ObjectExpression", ...e)
    }, t.ObjectMethod = t.objectMethod = function (...e) {
        return (0, i.default)("ObjectMethod", ...e)
    }, t.ObjectProperty = t.objectProperty = function (...e) {
        return (0, i.default)("ObjectProperty", ...e)
    }, t.RestElement = t.restElement = function (...e) {
        return (0, i.default)("RestElement", ...e)
    }, t.ReturnStatement = t.returnStatement = function (...e) {
        return (0, i.default)("ReturnStatement", ...e)
    }, t.SequenceExpression = t.sequenceExpression = function (...e) {
        return (0, i.default)("SequenceExpression", ...e)
    }, t.ParenthesizedExpression = t.parenthesizedExpression = function (...e) {
        return (0, i.default)("ParenthesizedExpression", ...e)
    }, t.SwitchCase = t.switchCase = function (...e) {
        return (0, i.default)("SwitchCase", ...e)
    }, t.SwitchStatement = t.switchStatement = function (...e) {
        return (0, i.default)("SwitchStatement", ...e)
    }, t.ThisExpression = t.thisExpression = function (...e) {
        return (0, i.default)("ThisExpression", ...e)
    }, t.ThrowStatement = t.throwStatement = function (...e) {
        return (0, i.default)("ThrowStatement", ...e)
    }, t.TryStatement = t.tryStatement = function (...e) {
        return (0, i.default)("TryStatement", ...e)
    }, t.UnaryExpression = t.unaryExpression = function (...e) {
        return (0, i.default)("UnaryExpression", ...e)
    }, t.UpdateExpression = t.updateExpression = function (...e) {
        return (0, i.default)("UpdateExpression", ...e)
    }, t.VariableDeclaration = t.variableDeclaration = function (...e) {
        return (0, i.default)("VariableDeclaration", ...e)
    }, t.VariableDeclarator = t.variableDeclarator = function (...e) {
        return (0, i.default)("VariableDeclarator", ...e)
    }, t.WhileStatement = t.whileStatement = function (...e) {
        return (0, i.default)("WhileStatement", ...e)
    }, t.WithStatement = t.withStatement = function (...e) {
        return (0, i.default)("WithStatement", ...e)
    }, t.AssignmentPattern = t.assignmentPattern = function (...e) {
        return (0, i.default)("AssignmentPattern", ...e)
    }, t.ArrayPattern = t.arrayPattern = function (...e) {
        return (0, i.default)("ArrayPattern", ...e)
    }, t.ArrowFunctionExpression = t.arrowFunctionExpression = function (...e) {
        return (0, i.default)("ArrowFunctionExpression", ...e)
    }, t.ClassBody = t.classBody = function (...e) {
        return (0, i.default)("ClassBody", ...e)
    }, t.ClassExpression = t.classExpression = function (...e) {
        return (0, i.default)("ClassExpression", ...e)
    }, t.ClassDeclaration = t.classDeclaration = function (...e) {
        return (0, i.default)("ClassDeclaration", ...e)
    }, t.ExportAllDeclaration = t.exportAllDeclaration = function (...e) {
        return (0, i.default)("ExportAllDeclaration", ...e)
    }, t.ExportDefaultDeclaration = t.exportDefaultDeclaration = function (...e) {
        return (0, i.default)("ExportDefaultDeclaration", ...e)
    }, t.ExportNamedDeclaration = t.exportNamedDeclaration = function (...e) {
        return (0, i.default)("ExportNamedDeclaration", ...e)
    }, t.ExportSpecifier = t.exportSpecifier = function (...e) {
        return (0, i.default)("ExportSpecifier", ...e)
    }, t.ForOfStatement = t.forOfStatement = function (...e) {
        return (0, i.default)("ForOfStatement", ...e)
    }, t.ImportDeclaration = t.importDeclaration = function (...e) {
        return (0, i.default)("ImportDeclaration", ...e)
    }, t.ImportDefaultSpecifier = t.importDefaultSpecifier = function (...e) {
        return (0, i.default)("ImportDefaultSpecifier", ...e)
    }, t.ImportNamespaceSpecifier = t.importNamespaceSpecifier = function (...e) {
        return (0, i.default)("ImportNamespaceSpecifier", ...e)
    }, t.ImportSpecifier = t.importSpecifier = function (...e) {
        return (0, i.default)("ImportSpecifier", ...e)
    }, t.MetaProperty = t.metaProperty = function (...e) {
        return (0, i.default)("MetaProperty", ...e)
    }, t.ClassMethod = t.classMethod = function (...e) {
        return (0, i.default)("ClassMethod", ...e)
    }, t.ObjectPattern = t.objectPattern = function (...e) {
        return (0, i.default)("ObjectPattern", ...e)
    }, t.SpreadElement = t.spreadElement = function (...e) {
        return (0, i.default)("SpreadElement", ...e)
    }, t.super = t.Super = function (...e) {
        return (0, i.default)("Super", ...e)
    }, t.TaggedTemplateExpression = t.taggedTemplateExpression = function (...e) {
        return (0, i.default)("TaggedTemplateExpression", ...e)
    }, t.TemplateElement = t.templateElement = function (...e) {
        return (0, i.default)("TemplateElement", ...e)
    }, t.TemplateLiteral = t.templateLiteral = function (...e) {
        return (0, i.default)("TemplateLiteral", ...e)
    }, t.YieldExpression = t.yieldExpression = function (...e) {
        return (0, i.default)("YieldExpression", ...e)
    }, t.AwaitExpression = t.awaitExpression = function (...e) {
        return (0, i.default)("AwaitExpression", ...e)
    }, t.import = t.Import = function (...e) {
        return (0, i.default)("Import", ...e)
    }, t.BigIntLiteral = t.bigIntLiteral = function (...e) {
        return (0, i.default)("BigIntLiteral", ...e)
    }, t.ExportNamespaceSpecifier = t.exportNamespaceSpecifier = function (...e) {
        return (0, i.default)("ExportNamespaceSpecifier", ...e)
    }, t.OptionalMemberExpression = t.optionalMemberExpression = function (...e) {
        return (0, i.default)("OptionalMemberExpression", ...e)
    }, t.OptionalCallExpression = t.optionalCallExpression = function (...e) {
        return (0, i.default)("OptionalCallExpression", ...e)
    }, t.AnyTypeAnnotation = t.anyTypeAnnotation = function (...e) {
        return (0, i.default)("AnyTypeAnnotation", ...e)
    }, t.ArrayTypeAnnotation = t.arrayTypeAnnotation = function (...e) {
        return (0, i.default)("ArrayTypeAnnotation", ...e)
    }, t.BooleanTypeAnnotation = t.booleanTypeAnnotation = function (...e) {
        return (0, i.default)("BooleanTypeAnnotation", ...e)
    }, t.BooleanLiteralTypeAnnotation = t.booleanLiteralTypeAnnotation = function (...e) {
        return (0, i.default)("BooleanLiteralTypeAnnotation", ...e)
    }, t.NullLiteralTypeAnnotation = t.nullLiteralTypeAnnotation = function (...e) {
        return (0, i.default)("NullLiteralTypeAnnotation", ...e)
    }, t.ClassImplements = t.classImplements = function (...e) {
        return (0, i.default)("ClassImplements", ...e)
    }, t.DeclareClass = t.declareClass = function (...e) {
        return (0, i.default)("DeclareClass", ...e)
    }, t.DeclareFunction = t.declareFunction = function (...e) {
        return (0, i.default)("DeclareFunction", ...e)
    }, t.DeclareInterface = t.declareInterface = function (...e) {
        return (0, i.default)("DeclareInterface", ...e)
    }, t.DeclareModule = t.declareModule = function (...e) {
        return (0, i.default)("DeclareModule", ...e)
    }, t.DeclareModuleExports = t.declareModuleExports = function (...e) {
        return (0, i.default)("DeclareModuleExports", ...e)
    }, t.DeclareTypeAlias = t.declareTypeAlias = function (...e) {
        return (0, i.default)("DeclareTypeAlias", ...e)
    }, t.DeclareOpaqueType = t.declareOpaqueType = function (...e) {
        return (0, i.default)("DeclareOpaqueType", ...e)
    }, t.DeclareVariable = t.declareVariable = function (...e) {
        return (0, i.default)("DeclareVariable", ...e)
    }, t.DeclareExportDeclaration = t.declareExportDeclaration = function (...e) {
        return (0, i.default)("DeclareExportDeclaration", ...e)
    }, t.DeclareExportAllDeclaration = t.declareExportAllDeclaration = function (...e) {
        return (0, i.default)("DeclareExportAllDeclaration", ...e)
    }, t.DeclaredPredicate = t.declaredPredicate = function (...e) {
        return (0, i.default)("DeclaredPredicate", ...e)
    }, t.ExistsTypeAnnotation = t.existsTypeAnnotation = function (...e) {
        return (0, i.default)("ExistsTypeAnnotation", ...e)
    }, t.FunctionTypeAnnotation = t.functionTypeAnnotation = function (...e) {
        return (0, i.default)("FunctionTypeAnnotation", ...e)
    }, t.FunctionTypeParam = t.functionTypeParam = function (...e) {
        return (0, i.default)("FunctionTypeParam", ...e)
    }, t.GenericTypeAnnotation = t.genericTypeAnnotation = function (...e) {
        return (0, i.default)("GenericTypeAnnotation", ...e)
    }, t.InferredPredicate = t.inferredPredicate = function (...e) {
        return (0, i.default)("InferredPredicate", ...e)
    }, t.InterfaceExtends = t.interfaceExtends = function (...e) {
        return (0, i.default)("InterfaceExtends", ...e)
    }, t.InterfaceDeclaration = t.interfaceDeclaration = function (...e) {
        return (0, i.default)("InterfaceDeclaration", ...e)
    }, t.InterfaceTypeAnnotation = t.interfaceTypeAnnotation = function (...e) {
        return (0, i.default)("InterfaceTypeAnnotation", ...e)
    }, t.IntersectionTypeAnnotation = t.intersectionTypeAnnotation = function (...e) {
        return (0, i.default)("IntersectionTypeAnnotation", ...e)
    }, t.MixedTypeAnnotation = t.mixedTypeAnnotation = function (...e) {
        return (0, i.default)("MixedTypeAnnotation", ...e)
    }, t.EmptyTypeAnnotation = t.emptyTypeAnnotation = function (...e) {
        return (0, i.default)("EmptyTypeAnnotation", ...e)
    }, t.NullableTypeAnnotation = t.nullableTypeAnnotation = function (...e) {
        return (0, i.default)("NullableTypeAnnotation", ...e)
    }, t.NumberLiteralTypeAnnotation = t.numberLiteralTypeAnnotation = function (...e) {
        return (0, i.default)("NumberLiteralTypeAnnotation", ...e)
    }, t.NumberTypeAnnotation = t.numberTypeAnnotation = function (...e) {
        return (0, i.default)("NumberTypeAnnotation", ...e)
    }, t.ObjectTypeAnnotation = t.objectTypeAnnotation = function (...e) {
        return (0, i.default)("ObjectTypeAnnotation", ...e)
    }, t.ObjectTypeInternalSlot = t.objectTypeInternalSlot = function (...e) {
        return (0, i.default)("ObjectTypeInternalSlot", ...e)
    }, t.ObjectTypeCallProperty = t.objectTypeCallProperty = function (...e) {
        return (0, i.default)("ObjectTypeCallProperty", ...e)
    }, t.ObjectTypeIndexer = t.objectTypeIndexer = function (...e) {
        return (0, i.default)("ObjectTypeIndexer", ...e)
    }, t.ObjectTypeProperty = t.objectTypeProperty = function (...e) {
        return (0, i.default)("ObjectTypeProperty", ...e)
    }, t.ObjectTypeSpreadProperty = t.objectTypeSpreadProperty = function (...e) {
        return (0, i.default)("ObjectTypeSpreadProperty", ...e)
    }, t.OpaqueType = t.opaqueType = function (...e) {
        return (0, i.default)("OpaqueType", ...e)
    }, t.QualifiedTypeIdentifier = t.qualifiedTypeIdentifier = function (...e) {
        return (0, i.default)("QualifiedTypeIdentifier", ...e)
    }, t.StringLiteralTypeAnnotation = t.stringLiteralTypeAnnotation = function (...e) {
        return (0, i.default)("StringLiteralTypeAnnotation", ...e)
    }, t.StringTypeAnnotation = t.stringTypeAnnotation = function (...e) {
        return (0, i.default)("StringTypeAnnotation", ...e)
    }, t.SymbolTypeAnnotation = t.symbolTypeAnnotation = function (...e) {
        return (0, i.default)("SymbolTypeAnnotation", ...e)
    }, t.ThisTypeAnnotation = t.thisTypeAnnotation = function (...e) {
        return (0, i.default)("ThisTypeAnnotation", ...e)
    }, t.TupleTypeAnnotation = t.tupleTypeAnnotation = function (...e) {
        return (0, i.default)("TupleTypeAnnotation", ...e)
    }, t.TypeofTypeAnnotation = t.typeofTypeAnnotation = function (...e) {
        return (0, i.default)("TypeofTypeAnnotation", ...e)
    }, t.TypeAlias = t.typeAlias = function (...e) {
        return (0, i.default)("TypeAlias", ...e)
    }, t.TypeAnnotation = t.typeAnnotation = function (...e) {
        return (0, i.default)("TypeAnnotation", ...e)
    }, t.TypeCastExpression = t.typeCastExpression = function (...e) {
        return (0, i.default)("TypeCastExpression", ...e)
    }, t.TypeParameter = t.typeParameter = function (...e) {
        return (0, i.default)("TypeParameter", ...e)
    }, t.TypeParameterDeclaration = t.typeParameterDeclaration = function (...e) {
        return (0, i.default)("TypeParameterDeclaration", ...e)
    }, t.TypeParameterInstantiation = t.typeParameterInstantiation = function (...e) {
        return (0, i.default)("TypeParameterInstantiation", ...e)
    }, t.UnionTypeAnnotation = t.unionTypeAnnotation = function (...e) {
        return (0, i.default)("UnionTypeAnnotation", ...e)
    }, t.Variance = t.variance = function (...e) {
        return (0, i.default)("Variance", ...e)
    }, t.VoidTypeAnnotation = t.voidTypeAnnotation = function (...e) {
        return (0, i.default)("VoidTypeAnnotation", ...e)
    }, t.EnumDeclaration = t.enumDeclaration = function (...e) {
        return (0, i.default)("EnumDeclaration", ...e)
    }, t.EnumBooleanBody = t.enumBooleanBody = function (...e) {
        return (0, i.default)("EnumBooleanBody", ...e)
    }, t.EnumNumberBody = t.enumNumberBody = function (...e) {
        return (0, i.default)("EnumNumberBody", ...e)
    }, t.EnumStringBody = t.enumStringBody = function (...e) {
        return (0, i.default)("EnumStringBody", ...e)
    }, t.EnumSymbolBody = t.enumSymbolBody = function (...e) {
        return (0, i.default)("EnumSymbolBody", ...e)
    }, t.EnumBooleanMember = t.enumBooleanMember = function (...e) {
        return (0, i.default)("EnumBooleanMember", ...e)
    }, t.EnumNumberMember = t.enumNumberMember = function (...e) {
        return (0, i.default)("EnumNumberMember", ...e)
    }, t.EnumStringMember = t.enumStringMember = function (...e) {
        return (0, i.default)("EnumStringMember", ...e)
    }, t.EnumDefaultedMember = t.enumDefaultedMember = function (...e) {
        return (0, i.default)("EnumDefaultedMember", ...e)
    }, t.jSXAttribute = t.JSXAttribute = t.jsxAttribute = function (...e) {
        return (0, i.default)("JSXAttribute", ...e)
    }, t.jSXClosingElement = t.JSXClosingElement = t.jsxClosingElement = function (...e) {
        return (0, i.default)("JSXClosingElement", ...e)
    }, t.jSXElement = t.JSXElement = t.jsxElement = function (...e) {
        return (0, i.default)("JSXElement", ...e)
    }, t.jSXEmptyExpression = t.JSXEmptyExpression = t.jsxEmptyExpression = function (...e) {
        return (0, i.default)("JSXEmptyExpression", ...e)
    }, t.jSXExpressionContainer = t.JSXExpressionContainer = t.jsxExpressionContainer = function (...e) {
        return (0, i.default)("JSXExpressionContainer", ...e)
    }, t.jSXSpreadChild = t.JSXSpreadChild = t.jsxSpreadChild = function (...e) {
        return (0, i.default)("JSXSpreadChild", ...e)
    }, t.jSXIdentifier = t.JSXIdentifier = t.jsxIdentifier = function (...e) {
        return (0, i.default)("JSXIdentifier", ...e)
    }, t.jSXMemberExpression = t.JSXMemberExpression = t.jsxMemberExpression = function (...e) {
        return (0, i.default)("JSXMemberExpression", ...e)
    }, t.jSXNamespacedName = t.JSXNamespacedName = t.jsxNamespacedName = function (...e) {
        return (0, i.default)("JSXNamespacedName", ...e)
    }, t.jSXOpeningElement = t.JSXOpeningElement = t.jsxOpeningElement = function (...e) {
        return (0, i.default)("JSXOpeningElement", ...e)
    }, t.jSXSpreadAttribute = t.JSXSpreadAttribute = t.jsxSpreadAttribute = function (...e) {
        return (0, i.default)("JSXSpreadAttribute", ...e)
    }, t.jSXText = t.JSXText = t.jsxText = function (...e) {
        return (0, i.default)("JSXText", ...e)
    }, t.jSXFragment = t.JSXFragment = t.jsxFragment = function (...e) {
        return (0, i.default)("JSXFragment", ...e)
    }, t.jSXOpeningFragment = t.JSXOpeningFragment = t.jsxOpeningFragment = function (...e) {
        return (0, i.default)("JSXOpeningFragment", ...e)
    }, t.jSXClosingFragment = t.JSXClosingFragment = t.jsxClosingFragment = function (...e) {
        return (0, i.default)("JSXClosingFragment", ...e)
    }, t.Noop = t.noop = function (...e) {
        return (0, i.default)("Noop", ...e)
    }, t.Placeholder = t.placeholder = function (...e) {
        return (0, i.default)("Placeholder", ...e)
    }, t.V8IntrinsicIdentifier = t.v8IntrinsicIdentifier = function (...e) {
        return (0, i.default)("V8IntrinsicIdentifier", ...e)
    }, t.ArgumentPlaceholder = t.argumentPlaceholder = function (...e) {
        return (0, i.default)("ArgumentPlaceholder", ...e)
    }, t.BindExpression = t.bindExpression = function (...e) {
        return (0, i.default)("BindExpression", ...e)
    }, t.ClassProperty = t.classProperty = function (...e) {
        return (0, i.default)("ClassProperty", ...e)
    }, t.PipelineTopicExpression = t.pipelineTopicExpression = function (...e) {
        return (0, i.default)("PipelineTopicExpression", ...e)
    }, t.PipelineBareFunction = t.pipelineBareFunction = function (...e) {
        return (0, i.default)("PipelineBareFunction", ...e)
    }, t.PipelinePrimaryTopicReference = t.pipelinePrimaryTopicReference = function (...e) {
        return (0, i.default)("PipelinePrimaryTopicReference", ...e)
    }, t.ClassPrivateProperty = t.classPrivateProperty = function (...e) {
        return (0, i.default)("ClassPrivateProperty", ...e)
    }, t.ClassPrivateMethod = t.classPrivateMethod = function (...e) {
        return (0, i.default)("ClassPrivateMethod", ...e)
    }, t.ImportAttribute = t.importAttribute = function (...e) {
        return (0, i.default)("ImportAttribute", ...e)
    }, t.Decorator = t.decorator = function (...e) {
        return (0, i.default)("Decorator", ...e)
    }, t.DoExpression = t.doExpression = function (...e) {
        return (0, i.default)("DoExpression", ...e)
    }, t.ExportDefaultSpecifier = t.exportDefaultSpecifier = function (...e) {
        return (0, i.default)("ExportDefaultSpecifier", ...e)
    }, t.PrivateName = t.privateName = function (...e) {
        return (0, i.default)("PrivateName", ...e)
    }, t.RecordExpression = t.recordExpression = function (...e) {
        return (0, i.default)("RecordExpression", ...e)
    }, t.TupleExpression = t.tupleExpression = function (...e) {
        return (0, i.default)("TupleExpression", ...e)
    }, t.DecimalLiteral = t.decimalLiteral = function (...e) {
        return (0, i.default)("DecimalLiteral", ...e)
    }, t.StaticBlock = t.staticBlock = function (...e) {
        return (0, i.default)("StaticBlock", ...e)
    }, t.tSParameterProperty = t.TSParameterProperty = t.tsParameterProperty = function (...e) {
        return (0, i.default)("TSParameterProperty", ...e)
    }, t.tSDeclareFunction = t.TSDeclareFunction = t.tsDeclareFunction = function (...e) {
        return (0, i.default)("TSDeclareFunction", ...e)
    }, t.tSDeclareMethod = t.TSDeclareMethod = t.tsDeclareMethod = function (...e) {
        return (0, i.default)("TSDeclareMethod", ...e)
    }, t.tSQualifiedName = t.TSQualifiedName = t.tsQualifiedName = function (...e) {
        return (0, i.default)("TSQualifiedName", ...e)
    }, t.tSCallSignatureDeclaration = t.TSCallSignatureDeclaration = t.tsCallSignatureDeclaration = function (...e) {
        return (0, i.default)("TSCallSignatureDeclaration", ...e)
    }, t.tSConstructSignatureDeclaration = t.TSConstructSignatureDeclaration = t.tsConstructSignatureDeclaration = function (...e) {
        return (0, i.default)("TSConstructSignatureDeclaration", ...e)
    }, t.tSPropertySignature = t.TSPropertySignature = t.tsPropertySignature = function (...e) {
        return (0, i.default)("TSPropertySignature", ...e)
    }, t.tSMethodSignature = t.TSMethodSignature = t.tsMethodSignature = function (...e) {
        return (0, i.default)("TSMethodSignature", ...e)
    }, t.tSIndexSignature = t.TSIndexSignature = t.tsIndexSignature = function (...e) {
        return (0, i.default)("TSIndexSignature", ...e)
    }, t.tSAnyKeyword = t.TSAnyKeyword = t.tsAnyKeyword = function (...e) {
        return (0, i.default)("TSAnyKeyword", ...e)
    }, t.tSBooleanKeyword = t.TSBooleanKeyword = t.tsBooleanKeyword = function (...e) {
        return (0, i.default)("TSBooleanKeyword", ...e)
    }, t.tSBigIntKeyword = t.TSBigIntKeyword = t.tsBigIntKeyword = function (...e) {
        return (0, i.default)("TSBigIntKeyword", ...e)
    }, t.tSIntrinsicKeyword = t.TSIntrinsicKeyword = t.tsIntrinsicKeyword = function (...e) {
        return (0, i.default)("TSIntrinsicKeyword", ...e)
    }, t.tSNeverKeyword = t.TSNeverKeyword = t.tsNeverKeyword = function (...e) {
        return (0, i.default)("TSNeverKeyword", ...e)
    }, t.tSNullKeyword = t.TSNullKeyword = t.tsNullKeyword = function (...e) {
        return (0, i.default)("TSNullKeyword", ...e)
    }, t.tSNumberKeyword = t.TSNumberKeyword = t.tsNumberKeyword = function (...e) {
        return (0, i.default)("TSNumberKeyword", ...e)
    }, t.tSObjectKeyword = t.TSObjectKeyword = t.tsObjectKeyword = function (...e) {
        return (0, i.default)("TSObjectKeyword", ...e)
    }, t.tSStringKeyword = t.TSStringKeyword = t.tsStringKeyword = function (...e) {
        return (0, i.default)("TSStringKeyword", ...e)
    }, t.tSSymbolKeyword = t.TSSymbolKeyword = t.tsSymbolKeyword = function (...e) {
        return (0, i.default)("TSSymbolKeyword", ...e)
    }, t.tSUndefinedKeyword = t.TSUndefinedKeyword = t.tsUndefinedKeyword = function (...e) {
        return (0, i.default)("TSUndefinedKeyword", ...e)
    }, t.tSUnknownKeyword = t.TSUnknownKeyword = t.tsUnknownKeyword = function (...e) {
        return (0, i.default)("TSUnknownKeyword", ...e)
    }, t.tSVoidKeyword = t.TSVoidKeyword = t.tsVoidKeyword = function (...e) {
        return (0, i.default)("TSVoidKeyword", ...e)
    }, t.tSThisType = t.TSThisType = t.tsThisType = function (...e) {
        return (0, i.default)("TSThisType", ...e)
    }, t.tSFunctionType = t.TSFunctionType = t.tsFunctionType = function (...e) {
        return (0, i.default)("TSFunctionType", ...e)
    }, t.tSConstructorType = t.TSConstructorType = t.tsConstructorType = function (...e) {
        return (0, i.default)("TSConstructorType", ...e)
    }, t.tSTypeReference = t.TSTypeReference = t.tsTypeReference = function (...e) {
        return (0, i.default)("TSTypeReference", ...e)
    }, t.tSTypePredicate = t.TSTypePredicate = t.tsTypePredicate = function (...e) {
        return (0, i.default)("TSTypePredicate", ...e)
    }, t.tSTypeQuery = t.TSTypeQuery = t.tsTypeQuery = function (...e) {
        return (0, i.default)("TSTypeQuery", ...e)
    }, t.tSTypeLiteral = t.TSTypeLiteral = t.tsTypeLiteral = function (...e) {
        return (0, i.default)("TSTypeLiteral", ...e)
    }, t.tSArrayType = t.TSArrayType = t.tsArrayType = function (...e) {
        return (0, i.default)("TSArrayType", ...e)
    }, t.tSTupleType = t.TSTupleType = t.tsTupleType = function (...e) {
        return (0, i.default)("TSTupleType", ...e)
    }, t.tSOptionalType = t.TSOptionalType = t.tsOptionalType = function (...e) {
        return (0, i.default)("TSOptionalType", ...e)
    }, t.tSRestType = t.TSRestType = t.tsRestType = function (...e) {
        return (0, i.default)("TSRestType", ...e)
    }, t.tSNamedTupleMember = t.TSNamedTupleMember = t.tsNamedTupleMember = function (...e) {
        return (0, i.default)("TSNamedTupleMember", ...e)
    }, t.tSUnionType = t.TSUnionType = t.tsUnionType = function (...e) {
        return (0, i.default)("TSUnionType", ...e)
    }, t.tSIntersectionType = t.TSIntersectionType = t.tsIntersectionType = function (...e) {
        return (0, i.default)("TSIntersectionType", ...e)
    }, t.tSConditionalType = t.TSConditionalType = t.tsConditionalType = function (...e) {
        return (0, i.default)("TSConditionalType", ...e)
    }, t.tSInferType = t.TSInferType = t.tsInferType = function (...e) {
        return (0, i.default)("TSInferType", ...e)
    }, t.tSParenthesizedType = t.TSParenthesizedType = t.tsParenthesizedType = function (...e) {
        return (0, i.default)("TSParenthesizedType", ...e)
    }, t.tSTypeOperator = t.TSTypeOperator = t.tsTypeOperator = function (...e) {
        return (0, i.default)("TSTypeOperator", ...e)
    }, t.tSIndexedAccessType = t.TSIndexedAccessType = t.tsIndexedAccessType = function (...e) {
        return (0, i.default)("TSIndexedAccessType", ...e)
    }, t.tSMappedType = t.TSMappedType = t.tsMappedType = function (...e) {
        return (0, i.default)("TSMappedType", ...e)
    }, t.tSLiteralType = t.TSLiteralType = t.tsLiteralType = function (...e) {
        return (0, i.default)("TSLiteralType", ...e)
    }, t.tSExpressionWithTypeArguments = t.TSExpressionWithTypeArguments = t.tsExpressionWithTypeArguments = function (...e) {
        return (0, i.default)("TSExpressionWithTypeArguments", ...e)
    }, t.tSInterfaceDeclaration = t.TSInterfaceDeclaration = t.tsInterfaceDeclaration = function (...e) {
        return (0, i.default)("TSInterfaceDeclaration", ...e)
    }, t.tSInterfaceBody = t.TSInterfaceBody = t.tsInterfaceBody = function (...e) {
        return (0, i.default)("TSInterfaceBody", ...e)
    }, t.tSTypeAliasDeclaration = t.TSTypeAliasDeclaration = t.tsTypeAliasDeclaration = function (...e) {
        return (0, i.default)("TSTypeAliasDeclaration", ...e)
    }, t.tSAsExpression = t.TSAsExpression = t.tsAsExpression = function (...e) {
        return (0, i.default)("TSAsExpression", ...e)
    }, t.tSTypeAssertion = t.TSTypeAssertion = t.tsTypeAssertion = function (...e) {
        return (0, i.default)("TSTypeAssertion", ...e)
    }, t.tSEnumDeclaration = t.TSEnumDeclaration = t.tsEnumDeclaration = function (...e) {
        return (0, i.default)("TSEnumDeclaration", ...e)
    }, t.tSEnumMember = t.TSEnumMember = t.tsEnumMember = function (...e) {
        return (0, i.default)("TSEnumMember", ...e)
    }, t.tSModuleDeclaration = t.TSModuleDeclaration = t.tsModuleDeclaration = function (...e) {
        return (0, i.default)("TSModuleDeclaration", ...e)
    }, t.tSModuleBlock = t.TSModuleBlock = t.tsModuleBlock = function (...e) {
        return (0, i.default)("TSModuleBlock", ...e)
    }, t.tSImportType = t.TSImportType = t.tsImportType = function (...e) {
        return (0, i.default)("TSImportType", ...e)
    }, t.tSImportEqualsDeclaration = t.TSImportEqualsDeclaration = t.tsImportEqualsDeclaration = function (...e) {
        return (0, i.default)("TSImportEqualsDeclaration", ...e)
    }, t.tSExternalModuleReference = t.TSExternalModuleReference = t.tsExternalModuleReference = function (...e) {
        return (0, i.default)("TSExternalModuleReference", ...e)
    }, t.tSNonNullExpression = t.TSNonNullExpression = t.tsNonNullExpression = function (...e) {
        return (0, i.default)("TSNonNullExpression", ...e)
    }, t.tSExportAssignment = t.TSExportAssignment = t.tsExportAssignment = function (...e) {
        return (0, i.default)("TSExportAssignment", ...e)
    }, t.tSNamespaceExportDeclaration = t.TSNamespaceExportDeclaration = t.tsNamespaceExportDeclaration = function (...e) {
        return (0, i.default)("TSNamespaceExportDeclaration", ...e)
    }, t.tSTypeAnnotation = t.TSTypeAnnotation = t.tsTypeAnnotation = function (...e) {
        return (0, i.default)("TSTypeAnnotation", ...e)
    }, t.tSTypeParameterInstantiation = t.TSTypeParameterInstantiation = t.tsTypeParameterInstantiation = function (...e) {
        return (0, i.default)("TSTypeParameterInstantiation", ...e)
    }, t.tSTypeParameterDeclaration = t.TSTypeParameterDeclaration = t.tsTypeParameterDeclaration = function (...e) {
        return (0, i.default)("TSTypeParameterDeclaration", ...e)
    }, t.tSTypeParameter = t.TSTypeParameter = t.tsTypeParameter = function (...e) {
        return (0, i.default)("TSTypeParameter", ...e)
    }, t.numberLiteral = t.NumberLiteral = function (...e) {
        return console.trace("The node type NumberLiteral has been renamed to NumericLiteral"), (0, i.default)("NumberLiteral", ...e)
    }, t.regexLiteral = t.RegexLiteral = function (...e) {
        return console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"), (0, i.default)("RegexLiteral", ...e)
    }, t.restProperty = t.RestProperty = function (...e) {
        return console.trace("The node type RestProperty has been renamed to RestElement"), (0, i.default)("RestProperty", ...e)
    }, t.spreadProperty = t.SpreadProperty = function (...e) {
        return console.trace("The node type SpreadProperty has been renamed to SpreadElement"), (0, i.default)("SpreadProperty", ...e)
    };
    var r, i = (r = n(89)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), Object.defineProperty(t, "VISITOR_KEYS", {
        enumerable: !0,
        get: function () {
            return a.VISITOR_KEYS
        }
    }), Object.defineProperty(t, "ALIAS_KEYS", {
        enumerable: !0,
        get: function () {
            return a.ALIAS_KEYS
        }
    }), Object.defineProperty(t, "FLIPPED_ALIAS_KEYS", {
        enumerable: !0,
        get: function () {
            return a.FLIPPED_ALIAS_KEYS
        }
    }), Object.defineProperty(t, "NODE_FIELDS", {
        enumerable: !0,
        get: function () {
            return a.NODE_FIELDS
        }
    }), Object.defineProperty(t, "BUILDER_KEYS", {
        enumerable: !0,
        get: function () {
            return a.BUILDER_KEYS
        }
    }), Object.defineProperty(t, "DEPRECATED_KEYS", {
        enumerable: !0,
        get: function () {
            return a.DEPRECATED_KEYS
        }
    }), Object.defineProperty(t, "NODE_PARENT_VALIDATIONS", {
        enumerable: !0,
        get: function () {
            return a.NODE_PARENT_VALIDATIONS
        }
    }), Object.defineProperty(t, "PLACEHOLDERS", {
        enumerable: !0,
        get: function () {
            return o.PLACEHOLDERS
        }
    }), Object.defineProperty(t, "PLACEHOLDERS_ALIAS", {
        enumerable: !0,
        get: function () {
            return o.PLACEHOLDERS_ALIAS
        }
    }), Object.defineProperty(t, "PLACEHOLDERS_FLIPPED_ALIAS", {
        enumerable: !0,
        get: function () {
            return o.PLACEHOLDERS_FLIPPED_ALIAS
        }
    }), t.TYPES = void 0;
    var r, i = (r = n(162)) && r.__esModule ? r : {
        default: r
    };
    n(37), n(165), n(166), n(167), n(168), n(169);
    var a = n(6),
        o = n(60);
    (0, i.default)(a.VISITOR_KEYS), (0, i.default)(a.ALIAS_KEYS), (0, i.default)(a.FLIPPED_ALIAS_KEYS), (0, i.default)(a.NODE_FIELDS), (0, i.default)(a.BUILDER_KEYS), (0, i.default)(a.DEPRECATED_KEYS), (0, i.default)(o.PLACEHOLDERS_ALIAS), (0, i.default)(o.PLACEHOLDERS_FLIPPED_ALIAS);
    const s = Object.keys(a.VISITOR_KEYS).concat(Object.keys(a.FLIPPED_ALIAS_KEYS)).concat(Object.keys(a.DEPRECATED_KEYS));
    t.TYPES = s
}, function (e, t, n) {
    var r = n(45),
        i = "object" == typeof self && self && self.Object === Object && self,
        a = r || i || Function("return this")();
    e.exports = a
}, function (e, t, n) {
    var r, i;
    /*!
     * JavaScript Cookie v2.2.1
     * https://github.com/js-cookie/js-cookie
     *
     * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
     * Released under the MIT license
     */
    ! function (a) {
        if (void 0 === (i = "function" == typeof (r = a) ? r.call(t, n, t, e) : r) || (e.exports = i), !0, e.exports = a(), !!0) {
            var o = window.Cookies,
                s = window.Cookies = a();
            s.noConflict = function () {
                return window.Cookies = o, s
            }
        }
    }((function () {
        function e() {
            for (var e = 0, t = {}; e < arguments.length; e++) {
                var n = arguments[e];
                for (var r in n) t[r] = n[r]
            }
            return t
        }

        function t(e) {
            return e.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent)
        }
        return function n(r) {
            function i() {}

            function a(t, n, a) {
                if ("undefined" != typeof document) {
                    "number" == typeof (a = e({
                        path: "/"
                    }, i.defaults, a)).expires && (a.expires = new Date(1 * new Date + 864e5 * a.expires)), a.expires = a.expires ? a.expires.toUTCString() : "";
                    try {
                        var o = JSON.stringify(n);
                        /^[\{\[]/.test(o) && (n = o)
                    } catch (e) {}
                    n = r.write ? r.write(n, t) : encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), t = encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent).replace(/[\(\)]/g, escape);
                    var s = "";
                    for (var l in a) a[l] && (s += "; " + l, !0 !== a[l] && (s += "=" + a[l].split(";")[0]));
                    return document.cookie = t + "=" + n + s
                }
            }

            function o(e, n) {
                if ("undefined" != typeof document) {
                    for (var i = {}, a = document.cookie ? document.cookie.split("; ") : [], o = 0; o < a.length; o++) {
                        var s = a[o].split("="),
                            l = s.slice(1).join("=");
                        n || '"' !== l.charAt(0) || (l = l.slice(1, -1));
                        try {
                            var u = t(s[0]);
                            if (l = (r.read || r)(l, u) || t(l), n) try {
                                l = JSON.parse(l)
                            } catch (e) {}
                            if (i[u] = l, e === u) break
                        } catch (e) {}
                    }
                    return e ? i[e] : i
                }
            }
            return i.set = a, i.get = function (e) {
                return o(e, !1)
            }, i.getJSON = function (e) {
                return o(e, !0)
            }, i.remove = function (t, n) {
                a(t, "", e(n, {
                    expires: -1
                }))
            }, i.defaults = {}, i.withConverter = n, i
        }((function () {}))
    }))
}, function (e, t, n) {
    "use strict";
    (function (e) {
        Object.defineProperty(t, "__esModule", {
            value: !0
        }), t.validate = y, t.typeIs = T, t.validateType = function (e) {
            return y(T(e))
        }, t.validateOptional = function (e) {
            return {
                validate: e,
                optional: !0
            }
        }, t.validateOptionalType = function (e) {
            return {
                validate: T(e),
                optional: !0
            }
        }, t.arrayOf = m, t.arrayOfType = S, t.validateArrayOfType = function (e) {
            return y(S(e))
        }, t.assertEach = v, t.assertOneOf = function (...e) {
            function t(t, n, r) {
                if (e.indexOf(r) < 0) throw new TypeError(`Property ${n} expected value to be one of ${JSON.stringify(e)} but got ${JSON.stringify(r)}`)
            }
            return t.oneOf = e, t
        }, t.assertNodeType = E, t.assertNodeOrValueType = function (...e) {
            function t(t, n, r) {
                for (const o of e)
                    if (d(r) === o || (0, i.default)(o, r)) return void(0, a.validateChild)(t, n, r);
                throw new TypeError(`Property ${n} of ${t.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(null==r?void 0:r.type)}`)
            }
            return t.oneOfNodeOrValueTypes = e, t
        }, t.assertValueType = b, t.assertShape = function (e) {
            function t(t, n, r) {
                const i = [];
                for (const n of Object.keys(e)) try {
                    (0, a.validateField)(t, n, r[n], e[n])
                } catch (e) {
                    if (e instanceof TypeError) {
                        i.push(e.message);
                        continue
                    }
                    throw e
                }
                if (i.length) throw new TypeError(`Property ${n} of ${t.type} expected to have the following:\n${i.join("\n")}`)
            }
            return t.shapeOf = e, t
        }, t.assertOptionalChainStart = function () {
            return function (e) {
                var t;
                let n = e;
                for (; e;) {
                    const {
                        type: e
                    } = n;
                    if ("OptionalCallExpression" !== e) {
                        if ("OptionalMemberExpression" !== e) break;
                        if (n.optional) return;
                        n = n.object
                    } else {
                        if (n.optional) return;
                        n = n.callee
                    }
                }
                throw new TypeError(`Non-optional ${e.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${null==(t=n)?void 0:t.type}`)
            }
        }, t.chain = h, t.default = function (e, t = {}) {
            const n = t.inherits && g[t.inherits] || {};
            let r = t.fields;
            if (!r && (r = {}, n.fields)) {
                const e = Object.getOwnPropertyNames(n.fields);
                for (const t of e) {
                    const e = n.fields[t];
                    r[t] = {
                        default: e.default,
                        optional: e.optional,
                        validate: e.validate
                    }
                }
            }
            const i = t.visitor || n.visitor || [],
                a = t.aliases || n.aliases || [],
                y = t.builder || n.builder || t.visitor || [];
            for (const n of Object.keys(t))
                if (-1 === x.indexOf(n)) throw new Error(`Unknown type option "${n}" on ${e}`);
            t.deprecatedAlias && (f[t.deprecatedAlias] = e);
            for (const e of i.concat(y)) r[e] = r[e] || {};
            for (const t of Object.keys(r)) {
                const n = r[t];
                void 0 !== n.default && -1 === y.indexOf(t) && (n.optional = !0), void 0 === n.default ? n.default = null : n.validate || null == n.default || (n.validate = b(d(n.default)));
                for (const r of Object.keys(n))
                    if (-1 === P.indexOf(r)) throw new Error(`Unknown field key "${r}" on ${e}.${t}`)
            }
            o[e] = t.visitor = i, c[e] = t.builder = y, u[e] = t.fields = r, s[e] = t.aliases = a, a.forEach(t => {
                l[t] = l[t] || [], l[t].push(e)
            }), t.validate && (p[e] = t.validate);
            g[e] = t
        }, t.NODE_PARENT_VALIDATIONS = t.DEPRECATED_KEYS = t.BUILDER_KEYS = t.NODE_FIELDS = t.FLIPPED_ALIAS_KEYS = t.ALIAS_KEYS = t.VISITOR_KEYS = void 0;
        var r, i = (r = n(23)) && r.__esModule ? r : {
                default: r
            },
            a = n(39);
        const o = {};
        t.VISITOR_KEYS = o;
        const s = {};
        t.ALIAS_KEYS = s;
        const l = {};
        t.FLIPPED_ALIAS_KEYS = l;
        const u = {};
        t.NODE_FIELDS = u;
        const c = {};
        t.BUILDER_KEYS = c;
        const f = {};
        t.DEPRECATED_KEYS = f;
        const p = {};

        function d(e) {
            return Array.isArray(e) ? "array" : null === e ? "null" : typeof e
        }

        function y(e) {
            return {
                validate: e
            }
        }

        function T(e) {
            return "string" == typeof e ? E(e) : E(...e)
        }

        function m(e) {
            return h(b("array"), v(e))
        }

        function S(e) {
            return m(T(e))
        }

        function v(t) {
            function n(n, r, i) {
                if (Array.isArray(i))
                    for (let o = 0; o < i.length; o++) {
                        const s = `${r}[${o}]`,
                            l = i[o];
                        t(n, s, l), e.env.BABEL_TYPES_8_BREAKING && (0, a.validateChild)(n, s, l)
                    }
            }
            return n.each = t, n
        }

        function E(...e) {
            function t(t, n, r) {
                for (const o of e)
                    if ((0, i.default)(o, r)) return void(0, a.validateChild)(t, n, r);
                throw new TypeError(`Property ${n} of ${t.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(null==r?void 0:r.type)}`)
            }
            return t.oneOfNodeTypes = e, t
        }

        function b(e) {
            function t(t, n, r) {
                if (!(d(r) === e)) throw new TypeError(`Property ${n} expected type of ${e} but got ${d(r)}`)
            }
            return t.type = e, t
        }

        function h(...e) {
            function t(...t) {
                for (const n of e) n(...t)
            }
            return t.chainOf = e, t
        }
        t.NODE_PARENT_VALIDATIONS = p;
        const x = ["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate"],
            P = ["default", "optional", "validate"];
        const g = {}
    }).call(this, n(22))
}, function (e, t, n) {
    var r = n(103),
        i = n(109);
    e.exports = function (e, t) {
        var n = i(e, t);
        return r(n) ? n : void 0
    }
}, function (e, t) {
    e.exports = function (e) {
        return null != e && "object" == typeof e
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.NOT_LOCAL_BINDING = t.BLOCK_SCOPED_SYMBOL = t.INHERIT_KEYS = t.UNARY_OPERATORS = t.STRING_UNARY_OPERATORS = t.NUMBER_UNARY_OPERATORS = t.BOOLEAN_UNARY_OPERATORS = t.ASSIGNMENT_OPERATORS = t.BINARY_OPERATORS = t.NUMBER_BINARY_OPERATORS = t.BOOLEAN_BINARY_OPERATORS = t.COMPARISON_BINARY_OPERATORS = t.EQUALITY_BINARY_OPERATORS = t.BOOLEAN_NUMBER_BINARY_OPERATORS = t.UPDATE_OPERATORS = t.LOGICAL_OPERATORS = t.COMMENT_KEYS = t.FOR_INIT_KEYS = t.FLATTENABLE_KEYS = t.STATEMENT_OR_BLOCK_KEYS = void 0;
    t.STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"];
    t.FLATTENABLE_KEYS = ["body", "expressions"];
    t.FOR_INIT_KEYS = ["left", "init"];
    t.COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"];
    const r = ["||", "&&", "??"];
    t.LOGICAL_OPERATORS = r;
    t.UPDATE_OPERATORS = ["++", "--"];
    const i = [">", "<", ">=", "<="];
    t.BOOLEAN_NUMBER_BINARY_OPERATORS = i;
    const a = ["==", "===", "!=", "!=="];
    t.EQUALITY_BINARY_OPERATORS = a;
    const o = [...a, "in", "instanceof"];
    t.COMPARISON_BINARY_OPERATORS = o;
    const s = [...o, ...i];
    t.BOOLEAN_BINARY_OPERATORS = s;
    const l = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"];
    t.NUMBER_BINARY_OPERATORS = l;
    const u = ["+", ...l, ...s];
    t.BINARY_OPERATORS = u;
    const c = ["=", "+=", ...l.map(e => e + "="), ...r.map(e => e + "=")];
    t.ASSIGNMENT_OPERATORS = c;
    const f = ["delete", "!"];
    t.BOOLEAN_UNARY_OPERATORS = f;
    const p = ["+", "-", "~"];
    t.NUMBER_UNARY_OPERATORS = p;
    const d = ["typeof"];
    t.STRING_UNARY_OPERATORS = d;
    const y = ["void", "throw", ...f, ...p, ...d];
    t.UNARY_OPERATORS = y;
    t.INHERIT_KEYS = {
        optional: ["typeAnnotation", "typeParameters", "returnType"],
        force: ["start", "loc", "end"]
    };
    const T = Symbol.for("var used to be block scoped");
    t.BLOCK_SCOPED_SYMBOL = T;
    const m = Symbol.for("should not be considered a local binding");
    t.NOT_LOCAL_BINDING = m
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = s;
    var r = n(3);
    const i = Function.call.bind(Object.prototype.hasOwnProperty);

    function a(e, t, n) {
        return e && "string" == typeof e.type ? s(e, t, n) : e
    }

    function o(e, t, n) {
        return Array.isArray(e) ? e.map(e => a(e, t, n)) : a(e, t, n)
    }

    function s(e, t = !0, n = !1) {
        if (!e) return e;
        const {
            type: a
        } = e, s = {
            type: a
        };
        if ("Identifier" === a) s.name = e.name, i(e, "optional") && "boolean" == typeof e.optional && (s.optional = e.optional), i(e, "typeAnnotation") && (s.typeAnnotation = t ? o(e.typeAnnotation, !0, n) : e.typeAnnotation);
        else {
            if (!i(r.NODE_FIELDS, a)) throw new Error(`Unknown node type: "${a}"`);
            for (const u of Object.keys(r.NODE_FIELDS[a])) i(e, u) && (s[u] = t ? "File" === a && "comments" === u ? l(e.comments, t, n) : o(e[u], !0, n) : e[u])
        }
        return i(e, "loc") && (s.loc = n ? null : e.loc), i(e, "leadingComments") && (s.leadingComments = l(e.leadingComments, t, n)), i(e, "innerComments") && (s.innerComments = l(e.innerComments, t, n)), i(e, "trailingComments") && (s.trailingComments = l(e.trailingComments, t, n)), i(e, "extra") && (s.extra = Object.assign({}, e.extra)), s
    }

    function l(e, t, n) {
        return t && n ? function (e) {
            return e.map(({
                type: e,
                value: t
            }) => ({
                type: e,
                value: t,
                loc: null
            }))
        }(e) : e
    }
}, function (e, t, n) {
    "use strict";
    n.d(t, "a", (function () {
        return D
    })), n.d(t, "b", (function () {
        return N
    }));
    var r = n(82),
        i = n.n(r),
        a = n(5),
        o = n.n(a),
        s = "x-shj-request-dept_pos_id",
        l = !1,
        u = function () {
            return o.a.get("access_token")
        },
        c = function (e, t) {
            void 0 === t && (t = {}), o.a.set("access_token", e, t), y(!1)
        },
        f = function () {
            return o.a.get("refresh_token")
        },
        p = function (e) {
            o.a.set("refresh_token", e)
        },
        d = function () {
            return o.a.get(s)
        },
        y = function (e) {
            void 0 === e && (e = !1), l = e
        };

    function T(e, t) {
        var n = Object.keys(e);
        if (Object.getOwnPropertySymbols) {
            var r = Object.getOwnPropertySymbols(e);
            t && (r = r.filter((function (t) {
                return Object.getOwnPropertyDescriptor(e, t).enumerable
            }))), n.push.apply(n, r)
        }
        return n
    }

    function m(e) {
        for (var t = 1; t < arguments.length; t++) {
            var n = null != arguments[t] ? arguments[t] : {};
            t % 2 ? T(Object(n), !0).forEach((function (t) {
                S(e, t, n[t])
            })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : T(Object(n)).forEach((function (t) {
                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
            }))
        }
        return e
    }

    function S(e, t, n) {
        return t in e ? Object.defineProperty(e, t, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = n, e
    }
    var v = function (e, t, n) {
            return void 0 === t && (t = "/refresh/token"), e.post(t + "?refreshToken=" + f(), {
                refreshToken: f()
            }, {
                baseURL: n
            })
        },
        E = function (e, t, n) {
            void 0 === n && (n = {});
            var r = t ? f() : null,
                i = t ? u() : null;
            t && (r || l || (console.log("不存在 access_token 则跳转回登录页"), y(!0), n.onTokenLose && n.onTokenLose()), e.defaults.headers.common.Authorization = "Bearer " + i, n.setHeaders && n.setHeaders(e))
        };

    function b(e, t) {
        var n = Object.keys(e);
        if (Object.getOwnPropertySymbols) {
            var r = Object.getOwnPropertySymbols(e);
            t && (r = r.filter((function (t) {
                return Object.getOwnPropertyDescriptor(e, t).enumerable
            }))), n.push.apply(n, r)
        }
        return n
    }

    function h(e) {
        for (var t = 1; t < arguments.length; t++) {
            var n = null != arguments[t] ? arguments[t] : {};
            t % 2 ? b(Object(n), !0).forEach((function (t) {
                x(e, t, n[t])
            })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : b(Object(n)).forEach((function (t) {
                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
            }))
        }
        return e
    }

    function x(e, t, n) {
        return t in e ? Object.defineProperty(e, t, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = n, e
    }
    var P = {
        formatOfSymbol: function (e, t, n) {
            void 0 === e && (e = ""), void 0 === t && (t = ""), void 0 === n && (n = 0);
            var r = e.toString().split("."),
                i = r[0].split("");
            if (!n) return e;
            for (var a = i.length - 1, o = 1; a > 0; a--, o++) o >= n && (i.splice(a, 0, t), o = 0);
            return r[1] ? i.join("") + "." + r[1] : i.join("")
        },
        formatPhone: function (e) {
            return P.formatOfSymbol(e, " ", 4)
        },
        formatMoney: function (e) {
            return P.formatOfSymbol(e, ",", 3)
        },
        padLeftZero: function (e, t) {
            void 0 === t && (t = 1);
            for (var n = "", r = 0; r < t + 1; r++) n += "0";
            return ("" + n + e).substr(("" + e).length)
        }
    };

    function g(e, t) {
        var n = Object.keys(e);
        if (Object.getOwnPropertySymbols) {
            var r = Object.getOwnPropertySymbols(e);
            t && (r = r.filter((function (t) {
                return Object.getOwnPropertyDescriptor(e, t).enumerable
            }))), n.push.apply(n, r)
        }
        return n
    }

    function A(e) {
        for (var t = 1; t < arguments.length; t++) {
            var n = null != arguments[t] ? arguments[t] : {};
            t % 2 ? g(Object(n), !0).forEach((function (t) {
                O(e, t, n[t])
            })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : g(Object(n)).forEach((function (t) {
                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
            }))
        }
        return e
    }

    function O(e, t, n) {
        return t in e ? Object.defineProperty(e, t, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = n, e
    }
    var _ = A(A({}, P), {}, {
        createRequest: function (e, t) {
            void 0 === e && (e = {}), void 0 === t && (t = {});
            var n = i.a.create(m({
                    timeout: 3e4,
                    headers: {
                        "Content-Type": "application/json"
                    }
                }, e)),
                r = !1,
                a = [];
            return n.interceptors.response.use((function (e) {
                return "function" == typeof t.onResponse ? t.onResponse(e) : e
            }), (function (e) {
                if (!e.response) return Promise.reject(e);
                if (/^417$|^401$/g.test(e.response.status) && !e.config.url.includes("/auth/refresh")) {
                    var i = e.config;
                    return r ? new Promise((function (e) {
                        a.push((function (t) {
                            i.headers.Authorization = "Bearer " + t, e(n(i))
                        }))
                    })) : (r = !0, v(n, t.refreshTokenPath, t.refreshURL || i.baseURL).then((function (e) {
                        var r = e.data[t.tokenKey || "data"],
                            o = e.headers[t.refreshTokenKey || "refresh_token"];
                        return c(r), p(o), i.headers.Authorization = "Bearer " + r, a.forEach((function (e) {
                            return e(r)
                        })), a = [], n(i)
                    })).catch((function (e) {
                        return console.log("抱歉，您的登录状态已失效，请重新登录！"), t.onTokenLose && t.onTokenLose(), Promise.reject(e)
                    })).finally((function () {
                        r = !1
                    })))
                }
                return t.onError && t.onError(e.response), Promise.reject(e)
            })), {
                instance: n,
                get: function (e, r, i, a) {
                    return void 0 === r && (r = {}), void 0 === i && (i = !1), void 0 === a && (a = {}), E(n, i, t), n({
                        method: "get",
                        url: e,
                        params: r,
                        headers: m(m({}, n.defaults.headers), a)
                    })
                },
                post: function (e, r, i) {
                    var a = r.data,
                        o = void 0 === a ? {} : a,
                        s = r.params,
                        l = void 0 === s ? {} : s,
                        u = r.headers,
                        c = void 0 === u ? {} : u;
                    return void 0 === i && (i = !1), E(n, i, t), n({
                        method: "post",
                        url: e,
                        params: l,
                        data: o,
                        headers: m(m({}, n.defaults.headers), c)
                    })
                },
                put: function (e, r, i) {
                    var a = r.data,
                        o = void 0 === a ? {} : a,
                        s = r.params,
                        l = void 0 === s ? {} : s,
                        u = r.headers,
                        c = void 0 === u ? {} : u;
                    return void 0 === i && (i = !1), E(n, i, t), n({
                        method: "put",
                        url: e,
                        params: l,
                        data: o,
                        headers: m(m({}, n.defaults.headers), c)
                    })
                },
                deleteReq: function (e, r, i) {
                    var a = r.data,
                        o = void 0 === a ? {} : a,
                        s = r.params,
                        l = void 0 === s ? {} : s,
                        u = r.headers,
                        c = void 0 === u ? {} : u;
                    return void 0 === i && (i = !1), E(n, i, t), n({
                        method: "delete",
                        url: e,
                        params: l,
                        data: o,
                        headers: m(m({}, n.defaults.headers), c)
                    })
                },
                setHeaderToken: function () {
                    return E(n, !0, t)
                },
                refreshToken: function (r) {
                    return v(n, r || t.refreshTokenPath, t.refreshURL || e.baseURL)
                }
            }
        },
        getToken: u,
        setToken: c,
        getRefreshToken: f,
        setRefreshToken: p,
        getPosId: d,
        setPosId: function (e) {
            o.a.set(s, e)
        },
        setPosHeaders: function (e, t) {
            void 0 === t && (t = "x-shj-request-dept-pos-id"), e.defaults.headers.common[t] = d()
        },
        clear: function () {
            o.a.remove("access_token"), o.a.remove("refresh_token"), o.a.remove(s)
        },
        dfs: function (e, t, n) {
            var r = void 0 === n ? {} : n,
                i = r.childrenKey,
                a = void 0 === i ? "children" : i,
                o = r.key,
                s = void 0 === o ? "key" : o;
            if (!e) return console.warn("target must be array");
            for (var l = [
                    []
                ], u = e, c = {}; l.length;) {
                for (var f = 0; f < u.length; f++) {
                    var p = Object.create(u[f]);
                    if (p._level = l.length, p.level = l.length, c[p._level - 1] && (p.parentKey = c[p._level - 1]), t)
                        if (t(h(h({}, p), u[f]), u[f])) return;
                    if (p[a]) {
                        c[p._level] = p[s], l.push(u.slice(f + 1)), l.push(p[a]);
                        break
                    }
                }
                u = l.pop()
            }
        },
        bfs: function (e, t, n) {
            for (var r = void 0 === n ? {} : n, i = r.childrenKey, a = void 0 === i ? "children" : i, o = r.key, s = void 0 === o ? "key" : o, l = [
                    []
                ], u = e, c = 1, f = {}; l.length;) {
                for (var p = [], d = 0; d < u.length; d++) {
                    var y = Object.create(u[d]);
                    y._level = c;
                    for (var T = 0, m = Object.keys(f); T < m.length; T++) {
                        var S = m[T],
                            v = S.split("_");
                        c - 1 == v[0] && d >= +v[1] && d <= +v[2] && (y.parentKey = f[S])
                    }
                    if (y[a] && (f[c + "_" + p.length + "_" + (p.length + y[a].length - 1)] = y[s], p = [].concat(p, y[a])), t)
                        if (t(h(h({}, y), u[d]), u[d])) return;
                    d === u.length - 1 && (c++, l.splice(1, 0, p))
                }
                u = l.pop()
            }
        }
    });
    ! function (e) {
        e && !e.$jutil && (e.$jutil = _)
    }(void 0);
    var I = _.createRequest({
            onResponse: function (e) {
                return (null == e ? void 0 : e.data) || {}
            }
        }),
        D = I.get,
        N = I.post;
    I.instance, I.refreshToken
}, function (e, t, n) {
    var r = n(27),
        i = n(105),
        a = n(106),
        o = r ? r.toStringTag : void 0;
    e.exports = function (e) {
        return null == e ? void 0 === e ? "[object Undefined]" : "[object Null]" : o && o in Object(e) ? i(e) : a(e)
    }
}, function (e, t) {
    e.exports = function (e) {
        var t = typeof e;
        return null != e && ("object" == t || "function" == t)
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t = !0) {
        if ("string" != typeof e) return !1;
        if (t) {
            if ((0, r.isKeyword)(e) || (0, r.isStrictReservedWord)(e)) return !1;
            if ("await" === e) return !1
        }
        return (0, r.isIdentifierName)(e)
    };
    var r = n(59)
}, function (e, t, n) {
    var r = n(93),
        i = n(94),
        a = n(95),
        o = n(96),
        s = n(97);

    function l(e) {
        var t = -1,
            n = null == e ? 0 : e.length;
        for (this.clear(); ++t < n;) {
            var r = e[t];
            this.set(r[0], r[1])
        }
    }
    l.prototype.clear = r, l.prototype.delete = i, l.prototype.get = a, l.prototype.has = o, l.prototype.set = s, e.exports = l
}, function (e, t, n) {
    var r = n(43);
    e.exports = function (e, t) {
        for (var n = e.length; n--;)
            if (r(e[n][0], t)) return n;
        return -1
    }
}, function (e, t, n) {
    var r = n(7)(Object, "create");
    e.exports = r
}, function (e, t, n) {
    var r = n(119);
    e.exports = function (e, t) {
        var n = e.__data__;
        return r(t) ? n["string" == typeof t ? "string" : "hash"] : n.map
    }
}, function (e, t, n) {
    var r = n(47),
        i = n(48);
    e.exports = function (e, t, n, a) {
        var o = !n;
        n || (n = {});
        for (var s = -1, l = t.length; ++s < l;) {
            var u = t[s],
                c = a ? a(n[u], e[u], u, n, e) : void 0;
            void 0 === c && (c = e[u]), o ? i(n, u, c) : r(n, u, c)
        }
        return n
    }
}, function (e, t) {
    e.exports = function (e) {
        return function (t) {
            return e(t)
        }
    }
}, function (e, t, n) {
    (function (e) {
        var r = n(45),
            i = t && !t.nodeType && t,
            a = i && "object" == typeof e && e && !e.nodeType && e,
            o = a && a.exports === i && r.process,
            s = function () {
                try {
                    var e = a && a.require && a.require("util").types;
                    return e || o && o.binding && o.binding("util")
                } catch (e) {}
            }();
        e.exports = s
    }).call(this, n(30)(e))
}, function (e, t) {
    var n, r, i = e.exports = {};

    function a() {
        throw new Error("setTimeout has not been defined")
    }

    function o() {
        throw new Error("clearTimeout has not been defined")
    }

    function s(e) {
        if (n === setTimeout) return setTimeout(e, 0);
        if ((n === a || !n) && setTimeout) return n = setTimeout, setTimeout(e, 0);
        try {
            return n(e, 0)
        } catch (t) {
            try {
                return n.call(null, e, 0)
            } catch (t) {
                return n.call(this, e, 0)
            }
        }
    }! function () {
        try {
            n = "function" == typeof setTimeout ? setTimeout : a
        } catch (e) {
            n = a
        }
        try {
            r = "function" == typeof clearTimeout ? clearTimeout : o
        } catch (e) {
            r = o
        }
    }();
    var l, u = [],
        c = !1,
        f = -1;

    function p() {
        c && l && (c = !1, l.length ? u = l.concat(u) : f = -1, u.length && d())
    }

    function d() {
        if (!c) {
            var e = s(p);
            c = !0;
            for (var t = u.length; t;) {
                for (l = u, u = []; ++f < t;) l && l[f].run();
                f = -1, t = u.length
            }
            l = null, c = !1,
                function (e) {
                    if (r === clearTimeout) return clearTimeout(e);
                    if ((r === o || !r) && clearTimeout) return r = clearTimeout, clearTimeout(e);
                    try {
                        r(e)
                    } catch (t) {
                        try {
                            return r.call(null, e)
                        } catch (t) {
                            return r.call(this, e)
                        }
                    }
                }(e)
        }
    }

    function y(e, t) {
        this.fun = e, this.array = t
    }

    function T() {}
    i.nextTick = function (e) {
        var t = new Array(arguments.length - 1);
        if (arguments.length > 1)
            for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
        u.push(new y(e, t)), 1 !== u.length || c || s(d)
    }, y.prototype.run = function () {
        this.fun.apply(null, this.array)
    }, i.title = "browser", i.browser = !0, i.env = {}, i.argv = [], i.version = "", i.versions = {}, i.on = T, i.addListener = T, i.once = T, i.off = T, i.removeListener = T, i.removeAllListeners = T, i.emit = T, i.prependListener = T, i.prependOnceListener = T, i.listeners = function (e) {
        return []
    }, i.binding = function (e) {
        throw new Error("process.binding is not supported")
    }, i.cwd = function () {
        return "/"
    }, i.chdir = function (e) {
        throw new Error("process.chdir is not supported")
    }, i.umask = function () {
        return 0
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t, n) {
        if (!t) return !1;
        if (!(0, i.default)(t.type, e)) return !n && "Placeholder" === t.type && e in o.FLIPPED_ALIAS_KEYS && (0, a.default)(t.expectedNode, e);
        return void 0 === n || (0, r.default)(t, n)
    };
    var r = s(n(25)),
        i = s(n(38)),
        a = s(n(58)),
        o = n(3);

    function s(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = i;
    var r = n(0);

    function i(e, t, n) {
        let a = [].concat(e);
        const o = Object.create(null);
        for (; a.length;) {
            const e = a.shift();
            if (!e) continue;
            const s = i.keys[e.type];
            if ((0, r.isIdentifier)(e))
                if (t) {
                    (o[e.name] = o[e.name] || []).push(e)
                } else o[e.name] = e;
            else if ((0, r.isExportDeclaration)(e))(0, r.isDeclaration)(e.declaration) && a.push(e.declaration);
            else {
                if (n) {
                    if ((0, r.isFunctionDeclaration)(e)) {
                        a.push(e.id);
                        continue
                    }
                    if ((0, r.isFunctionExpression)(e)) continue
                }
                if (s)
                    for (let t = 0; t < s.length; t++) {
                        const n = s[t];
                        e[n] && (a = a.concat(e[n]))
                    }
            }
        }
        return o
    }
    i.keys = {
        DeclareClass: ["id"],
        DeclareFunction: ["id"],
        DeclareModule: ["id"],
        DeclareVariable: ["id"],
        DeclareInterface: ["id"],
        DeclareTypeAlias: ["id"],
        DeclareOpaqueType: ["id"],
        InterfaceDeclaration: ["id"],
        TypeAlias: ["id"],
        OpaqueType: ["id"],
        CatchClause: ["param"],
        LabeledStatement: ["label"],
        UnaryExpression: ["argument"],
        AssignmentExpression: ["left"],
        ImportSpecifier: ["local"],
        ImportNamespaceSpecifier: ["local"],
        ImportDefaultSpecifier: ["local"],
        ImportDeclaration: ["specifiers"],
        ExportSpecifier: ["exported"],
        ExportNamespaceSpecifier: ["exported"],
        ExportDefaultSpecifier: ["exported"],
        FunctionDeclaration: ["id", "params"],
        FunctionExpression: ["id", "params"],
        ArrowFunctionExpression: ["params"],
        ObjectMethod: ["params"],
        ClassMethod: ["params"],
        ForInStatement: ["left"],
        ForOfStatement: ["left"],
        ClassDeclaration: ["id"],
        ClassExpression: ["id"],
        RestElement: ["argument"],
        UpdateExpression: ["argument"],
        ObjectProperty: ["value"],
        AssignmentPattern: ["left"],
        ArrayPattern: ["elements"],
        ObjectPattern: ["properties"],
        VariableDeclaration: ["declarations"],
        VariableDeclarator: ["id"]
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        const n = Object.keys(t);
        for (const r of n)
            if (e[r] !== t[r]) return !1;
        return !0
    }
}, function (e, t, n) {
    var r = n(7)(n(4), "Map");
    e.exports = r
}, function (e, t, n) {
    var r = n(4).Symbol;
    e.exports = r
}, function (e, t, n) {
    var r = n(49),
        i = n(133),
        a = n(53);
    e.exports = function (e) {
        return a(e) ? r(e) : i(e)
    }
}, function (e, t) {
    var n = Array.isArray;
    e.exports = n
}, function (e, t) {
    e.exports = function (e) {
        return e.webpackPolyfill || (e.deprecate = function () {}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", {
            enumerable: !0,
            get: function () {
                return e.l
            }
        }), Object.defineProperty(e, "id", {
            enumerable: !0,
            get: function () {
                return e.i
            }
        }), e.webpackPolyfill = 1), e
    }
}, function (e, t) {
    var n = Object.prototype;
    e.exports = function (e) {
        var t = e && e.constructor;
        return e === ("function" == typeof t && t.prototype || n)
    }
}, function (e, t, n) {
    var r = n(49),
        i = n(136),
        a = n(53);
    e.exports = function (e) {
        return a(e) ? r(e, !0) : i(e)
    }
}, function (e, t, n) {
    var r = n(141),
        i = n(54),
        a = Object.prototype.propertyIsEnumerable,
        o = Object.getOwnPropertySymbols,
        s = o ? function (e) {
            return null == e ? [] : (e = Object(e), r(o(e), (function (t) {
                return a.call(e, t)
            })))
        } : i;
    e.exports = s
}, function (e, t, n) {
    var r = n(52)(Object.getPrototypeOf, Object);
    e.exports = r
}, function (e, t, n) {
    var r = n(145),
        i = n(26),
        a = n(146),
        o = n(147),
        s = n(148),
        l = n(12),
        u = n(46),
        c = u(r),
        f = u(i),
        p = u(a),
        d = u(o),
        y = u(s),
        T = l;
    (r && "[object DataView]" != T(new r(new ArrayBuffer(1))) || i && "[object Map]" != T(new i) || a && "[object Promise]" != T(a.resolve()) || o && "[object Set]" != T(new o) || s && "[object WeakMap]" != T(new s)) && (T = function (e) {
        var t = l(e),
            n = "[object Object]" == t ? e.constructor : void 0,
            r = n ? u(n) : "";
        if (r) switch (r) {
            case c:
                return "[object DataView]";
            case f:
                return "[object Map]";
            case p:
                return "[object Promise]";
            case d:
                return "[object Set]";
            case y:
                return "[object WeakMap]"
        }
        return t
    }), e.exports = T
}, function (e, t, n) {
    var r = n(151);
    e.exports = function (e) {
        var t = new e.constructor(e.byteLength);
        return new r(t).set(new r(e)), t
    }
}, function (e, t, n) {
    "use strict";
    (function (e) {
        Object.defineProperty(t, "__esModule", {
            value: !0
        }), t.classMethodOrDeclareMethodCommon = t.classMethodOrPropertyCommon = t.patternLikeCommon = t.functionDeclarationCommon = t.functionTypeAnnotationCommon = t.functionCommon = void 0;
        var r = u(n(23)),
            i = u(n(14)),
            a = n(59),
            o = n(9),
            s = function (e) {
                if (e && e.__esModule) return e;
                if (null === e || "object" != typeof e && "function" != typeof e) return {
                    default: e
                };
                var t = l();
                if (t && t.has(e)) return t.get(e);
                var n = {},
                    r = Object.defineProperty && Object.getOwnPropertyDescriptor;
                for (var i in e)
                    if (Object.prototype.hasOwnProperty.call(e, i)) {
                        var a = r ? Object.getOwnPropertyDescriptor(e, i) : null;
                        a && (a.get || a.set) ? Object.defineProperty(n, i, a) : n[i] = e[i]
                    } n.default = e, t && t.set(e, n);
                return n
            }(n(6));

        function l() {
            if ("function" != typeof WeakMap) return null;
            var e = new WeakMap;
            return l = function () {
                return e
            }, e
        }

        function u(e) {
            return e && e.__esModule ? e : {
                default: e
            }
        }(0, s.default)("ArrayExpression", {
            fields: {
                elements: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeOrValueType)("null", "Expression", "SpreadElement"))),
                    default: e.env.BABEL_TYPES_8_BREAKING ? void 0 : []
                }
            },
            visitor: ["elements"],
            aliases: ["Expression"]
        }), (0, s.default)("AssignmentExpression", {
            fields: {
                operator: {
                    validate: function () {
                        if (!e.env.BABEL_TYPES_8_BREAKING) return (0, s.assertValueType)("string");
                        const t = (0, s.assertOneOf)(...o.ASSIGNMENT_OPERATORS),
                            n = (0, s.assertOneOf)("=");
                        return function (e, i, a) {
                            ((0, r.default)("Pattern", e.left) ? n : t)(e, i, a)
                        }
                    }()
                },
                left: {
                    validate: e.env.BABEL_TYPES_8_BREAKING ? (0, s.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern") : (0, s.assertNodeType)("LVal")
                },
                right: {
                    validate: (0, s.assertNodeType)("Expression")
                }
            },
            builder: ["operator", "left", "right"],
            visitor: ["left", "right"],
            aliases: ["Expression"]
        }), (0, s.default)("BinaryExpression", {
            builder: ["operator", "left", "right"],
            fields: {
                operator: {
                    validate: (0, s.assertOneOf)(...o.BINARY_OPERATORS)
                },
                left: {
                    validate: function () {
                        const e = (0, s.assertNodeType)("Expression"),
                            t = (0, s.assertNodeType)("Expression", "PrivateName"),
                            n = function (n, r, i) {
                                ("in" === n.operator ? t : e)(n, r, i)
                            };
                        return n.oneOfNodeTypes = ["Expression", "PrivateName"], n
                    }()
                },
                right: {
                    validate: (0, s.assertNodeType)("Expression")
                }
            },
            visitor: ["left", "right"],
            aliases: ["Binary", "Expression"]
        }), (0, s.default)("InterpreterDirective", {
            builder: ["value"],
            fields: {
                value: {
                    validate: (0, s.assertValueType)("string")
                }
            }
        }), (0, s.default)("Directive", {
            visitor: ["value"],
            fields: {
                value: {
                    validate: (0, s.assertNodeType)("DirectiveLiteral")
                }
            }
        }), (0, s.default)("DirectiveLiteral", {
            builder: ["value"],
            fields: {
                value: {
                    validate: (0, s.assertValueType)("string")
                }
            }
        }), (0, s.default)("BlockStatement", {
            builder: ["body", "directives"],
            visitor: ["directives", "body"],
            fields: {
                directives: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Directive"))),
                    default: []
                },
                body: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Statement")))
                }
            },
            aliases: ["Scopable", "BlockParent", "Block", "Statement"]
        }), (0, s.default)("BreakStatement", {
            visitor: ["label"],
            fields: {
                label: {
                    validate: (0, s.assertNodeType)("Identifier"),
                    optional: !0
                }
            },
            aliases: ["Statement", "Terminatorless", "CompletionStatement"]
        }), (0, s.default)("CallExpression", {
            visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
            builder: ["callee", "arguments"],
            aliases: ["Expression"],
            fields: Object.assign({
                callee: {
                    validate: (0, s.assertNodeType)("Expression", "V8IntrinsicIdentifier")
                },
                arguments: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder")))
                }
            }, e.env.BABEL_TYPES_8_BREAKING ? {} : {
                optional: {
                    validate: (0, s.assertOneOf)(!0, !1),
                    optional: !0
                }
            }, {
                typeArguments: {
                    validate: (0, s.assertNodeType)("TypeParameterInstantiation"),
                    optional: !0
                },
                typeParameters: {
                    validate: (0, s.assertNodeType)("TSTypeParameterInstantiation"),
                    optional: !0
                }
            })
        }), (0, s.default)("CatchClause", {
            visitor: ["param", "body"],
            fields: {
                param: {
                    validate: (0, s.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"),
                    optional: !0
                },
                body: {
                    validate: (0, s.assertNodeType)("BlockStatement")
                }
            },
            aliases: ["Scopable", "BlockParent"]
        }), (0, s.default)("ConditionalExpression", {
            visitor: ["test", "consequent", "alternate"],
            fields: {
                test: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                consequent: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                alternate: {
                    validate: (0, s.assertNodeType)("Expression")
                }
            },
            aliases: ["Expression", "Conditional"]
        }), (0, s.default)("ContinueStatement", {
            visitor: ["label"],
            fields: {
                label: {
                    validate: (0, s.assertNodeType)("Identifier"),
                    optional: !0
                }
            },
            aliases: ["Statement", "Terminatorless", "CompletionStatement"]
        }), (0, s.default)("DebuggerStatement", {
            aliases: ["Statement"]
        }), (0, s.default)("DoWhileStatement", {
            visitor: ["test", "body"],
            fields: {
                test: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                body: {
                    validate: (0, s.assertNodeType)("Statement")
                }
            },
            aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"]
        }), (0, s.default)("EmptyStatement", {
            aliases: ["Statement"]
        }), (0, s.default)("ExpressionStatement", {
            visitor: ["expression"],
            fields: {
                expression: {
                    validate: (0, s.assertNodeType)("Expression")
                }
            },
            aliases: ["Statement", "ExpressionWrapper"]
        }), (0, s.default)("File", {
            builder: ["program", "comments", "tokens"],
            visitor: ["program"],
            fields: {
                program: {
                    validate: (0, s.assertNodeType)("Program")
                },
                comments: {
                    validate: e.env.BABEL_TYPES_8_BREAKING ? (0, s.assertEach)((0, s.assertNodeType)("CommentBlock", "CommentLine")) : Object.assign(() => {}, {
                        each: {
                            oneOfNodeTypes: ["CommentBlock", "CommentLine"]
                        }
                    }),
                    optional: !0
                },
                tokens: {
                    validate: (0, s.assertEach)(Object.assign(() => {}, {
                        type: "any"
                    })),
                    optional: !0
                }
            }
        }), (0, s.default)("ForInStatement", {
            visitor: ["left", "right", "body"],
            aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
            fields: {
                left: {
                    validate: e.env.BABEL_TYPES_8_BREAKING ? (0, s.assertNodeType)("VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern") : (0, s.assertNodeType)("VariableDeclaration", "LVal")
                },
                right: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                body: {
                    validate: (0, s.assertNodeType)("Statement")
                }
            }
        }), (0, s.default)("ForStatement", {
            visitor: ["init", "test", "update", "body"],
            aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"],
            fields: {
                init: {
                    validate: (0, s.assertNodeType)("VariableDeclaration", "Expression"),
                    optional: !0
                },
                test: {
                    validate: (0, s.assertNodeType)("Expression"),
                    optional: !0
                },
                update: {
                    validate: (0, s.assertNodeType)("Expression"),
                    optional: !0
                },
                body: {
                    validate: (0, s.assertNodeType)("Statement")
                }
            }
        });
        const c = {
            params: {
                validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Identifier", "Pattern", "RestElement", "TSParameterProperty")))
            },
            generator: {
                default: !1
            },
            async: {
                default: !1
            }
        };
        t.functionCommon = c;
        const f = {
            returnType: {
                validate: (0, s.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
                optional: !0
            },
            typeParameters: {
                validate: (0, s.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
                optional: !0
            }
        };
        t.functionTypeAnnotationCommon = f;
        const p = Object.assign({}, c, {
            declare: {
                validate: (0, s.assertValueType)("boolean"),
                optional: !0
            },
            id: {
                validate: (0, s.assertNodeType)("Identifier"),
                optional: !0
            }
        });
        t.functionDeclarationCommon = p, (0, s.default)("FunctionDeclaration", {
            builder: ["id", "params", "body", "generator", "async"],
            visitor: ["id", "params", "body", "returnType", "typeParameters"],
            fields: Object.assign({}, p, f, {
                body: {
                    validate: (0, s.assertNodeType)("BlockStatement")
                }
            }),
            aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"],
            validate: function () {
                if (!e.env.BABEL_TYPES_8_BREAKING) return () => {};
                const t = (0, s.assertNodeType)("Identifier");
                return function (e, n, i) {
                    (0, r.default)("ExportDefaultDeclaration", e) || t(i, "id", i.id)
                }
            }()
        }), (0, s.default)("FunctionExpression", {
            inherits: "FunctionDeclaration",
            aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
            fields: Object.assign({}, c, f, {
                id: {
                    validate: (0, s.assertNodeType)("Identifier"),
                    optional: !0
                },
                body: {
                    validate: (0, s.assertNodeType)("BlockStatement")
                }
            })
        });
        const d = {
            typeAnnotation: {
                validate: (0, s.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
                optional: !0
            },
            decorators: {
                validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Decorator")))
            }
        };
        t.patternLikeCommon = d, (0, s.default)("Identifier", {
            builder: ["name"],
            visitor: ["typeAnnotation", "decorators"],
            aliases: ["Expression", "PatternLike", "LVal", "TSEntityName"],
            fields: Object.assign({}, d, {
                name: {
                    validate: (0, s.chain)((0, s.assertValueType)("string"), Object.assign((function (t, n, r) {
                        if (e.env.BABEL_TYPES_8_BREAKING && !(0, i.default)(r, !1)) throw new TypeError(`"${r}" is not a valid identifier name`)
                    }), {
                        type: "string"
                    }))
                },
                optional: {
                    validate: (0, s.assertValueType)("boolean"),
                    optional: !0
                }
            }),
            validate(t, n, i) {
                if (!e.env.BABEL_TYPES_8_BREAKING) return;
                const o = /\.(\w+)$/.exec(n);
                if (!o) return;
                const [, s] = o, l = {
                    computed: !1
                };
                if ("property" === s) {
                    if ((0, r.default)("MemberExpression", t, l)) return;
                    if ((0, r.default)("OptionalMemberExpression", t, l)) return
                } else if ("key" === s) {
                    if ((0, r.default)("Property", t, l)) return;
                    if ((0, r.default)("Method", t, l)) return
                } else if ("exported" === s) {
                    if ((0, r.default)("ExportSpecifier", t)) return
                } else if ("imported" === s) {
                    if ((0, r.default)("ImportSpecifier", t, {
                            imported: i
                        })) return
                } else if ("meta" === s && (0, r.default)("MetaProperty", t, {
                        meta: i
                    })) return;
                if (((0, a.isKeyword)(i.name) || (0, a.isReservedWord)(i.name)) && "this" !== i.name) throw new TypeError(`"${i.name}" is not a valid identifier`)
            }
        }), (0, s.default)("IfStatement", {
            visitor: ["test", "consequent", "alternate"],
            aliases: ["Statement", "Conditional"],
            fields: {
                test: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                consequent: {
                    validate: (0, s.assertNodeType)("Statement")
                },
                alternate: {
                    optional: !0,
                    validate: (0, s.assertNodeType)("Statement")
                }
            }
        }), (0, s.default)("LabeledStatement", {
            visitor: ["label", "body"],
            aliases: ["Statement"],
            fields: {
                label: {
                    validate: (0, s.assertNodeType)("Identifier")
                },
                body: {
                    validate: (0, s.assertNodeType)("Statement")
                }
            }
        }), (0, s.default)("StringLiteral", {
            builder: ["value"],
            fields: {
                value: {
                    validate: (0, s.assertValueType)("string")
                }
            },
            aliases: ["Expression", "Pureish", "Literal", "Immutable"]
        }), (0, s.default)("NumericLiteral", {
            builder: ["value"],
            deprecatedAlias: "NumberLiteral",
            fields: {
                value: {
                    validate: (0, s.assertValueType)("number")
                }
            },
            aliases: ["Expression", "Pureish", "Literal", "Immutable"]
        }), (0, s.default)("NullLiteral", {
            aliases: ["Expression", "Pureish", "Literal", "Immutable"]
        }), (0, s.default)("BooleanLiteral", {
            builder: ["value"],
            fields: {
                value: {
                    validate: (0, s.assertValueType)("boolean")
                }
            },
            aliases: ["Expression", "Pureish", "Literal", "Immutable"]
        }), (0, s.default)("RegExpLiteral", {
            builder: ["pattern", "flags"],
            deprecatedAlias: "RegexLiteral",
            aliases: ["Expression", "Pureish", "Literal"],
            fields: {
                pattern: {
                    validate: (0, s.assertValueType)("string")
                },
                flags: {
                    validate: (0, s.chain)((0, s.assertValueType)("string"), Object.assign((function (t, n, r) {
                        if (!e.env.BABEL_TYPES_8_BREAKING) return;
                        const i = /[^gimsuy]/.exec(r);
                        if (i) throw new TypeError(`"${i[0]}" is not a valid RegExp flag`)
                    }), {
                        type: "string"
                    })),
                    default: ""
                }
            }
        }), (0, s.default)("LogicalExpression", {
            builder: ["operator", "left", "right"],
            visitor: ["left", "right"],
            aliases: ["Binary", "Expression"],
            fields: {
                operator: {
                    validate: (0, s.assertOneOf)(...o.LOGICAL_OPERATORS)
                },
                left: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                right: {
                    validate: (0, s.assertNodeType)("Expression")
                }
            }
        }), (0, s.default)("MemberExpression", {
            builder: ["object", "property", "computed", "optional"],
            visitor: ["object", "property"],
            aliases: ["Expression", "LVal"],
            fields: Object.assign({
                object: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                property: {
                    validate: function () {
                        const e = (0, s.assertNodeType)("Identifier", "PrivateName"),
                            t = (0, s.assertNodeType)("Expression"),
                            n = function (n, r, i) {
                                (n.computed ? t : e)(n, r, i)
                            };
                        return n.oneOfNodeTypes = ["Expression", "Identifier", "PrivateName"], n
                    }()
                },
                computed: {
                    default: !1
                }
            }, e.env.BABEL_TYPES_8_BREAKING ? {} : {
                optional: {
                    validate: (0, s.assertOneOf)(!0, !1),
                    optional: !0
                }
            })
        }), (0, s.default)("NewExpression", {
            inherits: "CallExpression"
        }), (0, s.default)("Program", {
            visitor: ["directives", "body"],
            builder: ["body", "directives", "sourceType", "interpreter"],
            fields: {
                sourceFile: {
                    validate: (0, s.assertValueType)("string")
                },
                sourceType: {
                    validate: (0, s.assertOneOf)("script", "module"),
                    default: "script"
                },
                interpreter: {
                    validate: (0, s.assertNodeType)("InterpreterDirective"),
                    default: null,
                    optional: !0
                },
                directives: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Directive"))),
                    default: []
                },
                body: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Statement")))
                }
            },
            aliases: ["Scopable", "BlockParent", "Block"]
        }), (0, s.default)("ObjectExpression", {
            visitor: ["properties"],
            aliases: ["Expression"],
            fields: {
                properties: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("ObjectMethod", "ObjectProperty", "SpreadElement")))
                }
            }
        }), (0, s.default)("ObjectMethod", {
            builder: ["kind", "key", "params", "body", "computed", "generator", "async"],
            fields: Object.assign({}, c, f, {
                kind: Object.assign({
                    validate: (0, s.assertOneOf)("method", "get", "set")
                }, e.env.BABEL_TYPES_8_BREAKING ? {} : {
                    default: "method"
                }),
                computed: {
                    default: !1
                },
                key: {
                    validate: function () {
                        const e = (0, s.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"),
                            t = (0, s.assertNodeType)("Expression"),
                            n = function (n, r, i) {
                                (n.computed ? t : e)(n, r, i)
                            };
                        return n.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral"], n
                    }()
                },
                decorators: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Decorator"))),
                    optional: !0
                },
                body: {
                    validate: (0, s.assertNodeType)("BlockStatement")
                }
            }),
            visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"],
            aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"]
        }), (0, s.default)("ObjectProperty", {
            builder: ["key", "value", "computed", "shorthand", ...e.env.BABEL_TYPES_8_BREAKING ? [] : ["decorators"]],
            fields: {
                computed: {
                    default: !1
                },
                key: {
                    validate: function () {
                        const e = (0, s.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"),
                            t = (0, s.assertNodeType)("Expression"),
                            n = function (n, r, i) {
                                (n.computed ? t : e)(n, r, i)
                            };
                        return n.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral"], n
                    }()
                },
                value: {
                    validate: (0, s.assertNodeType)("Expression", "PatternLike")
                },
                shorthand: {
                    validate: (0, s.chain)((0, s.assertValueType)("boolean"), Object.assign((function (t, n, r) {
                        if (e.env.BABEL_TYPES_8_BREAKING && r && t.computed) throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true")
                    }), {
                        type: "boolean"
                    }), (function (t, n, i) {
                        if (e.env.BABEL_TYPES_8_BREAKING && i && !(0, r.default)("Identifier", t.key)) throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier")
                    })),
                    default: !1
                },
                decorators: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Decorator"))),
                    optional: !0
                }
            },
            visitor: ["key", "value", "decorators"],
            aliases: ["UserWhitespacable", "Property", "ObjectMember"],
            validate: function () {
                const t = (0, s.assertNodeType)("Identifier", "Pattern"),
                    n = (0, s.assertNodeType)("Expression");
                return function (i, a, o) {
                    if (!e.env.BABEL_TYPES_8_BREAKING) return;
                    ((0, r.default)("ObjectPattern", i) ? t : n)(o, "value", o.value)
                }
            }()
        }), (0, s.default)("RestElement", {
            visitor: ["argument", "typeAnnotation"],
            builder: ["argument"],
            aliases: ["LVal", "PatternLike"],
            deprecatedAlias: "RestProperty",
            fields: Object.assign({}, d, {
                argument: {
                    validate: e.env.BABEL_TYPES_8_BREAKING ? (0, s.assertNodeType)("Identifier", "Pattern", "MemberExpression") : (0, s.assertNodeType)("LVal")
                }
            }),
            validate(t, n) {
                if (!e.env.BABEL_TYPES_8_BREAKING) return;
                const r = /(\w+)\[(\d+)\]/.exec(n);
                if (!r) throw new Error("Internal Babel error: malformed key.");
                const [, i, a] = r;
                if (t[i].length > a + 1) throw new TypeError("RestElement must be last element of " + i)
            }
        }), (0, s.default)("ReturnStatement", {
            visitor: ["argument"],
            aliases: ["Statement", "Terminatorless", "CompletionStatement"],
            fields: {
                argument: {
                    validate: (0, s.assertNodeType)("Expression"),
                    optional: !0
                }
            }
        }), (0, s.default)("SequenceExpression", {
            visitor: ["expressions"],
            fields: {
                expressions: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Expression")))
                }
            },
            aliases: ["Expression"]
        }), (0, s.default)("ParenthesizedExpression", {
            visitor: ["expression"],
            aliases: ["Expression", "ExpressionWrapper"],
            fields: {
                expression: {
                    validate: (0, s.assertNodeType)("Expression")
                }
            }
        }), (0, s.default)("SwitchCase", {
            visitor: ["test", "consequent"],
            fields: {
                test: {
                    validate: (0, s.assertNodeType)("Expression"),
                    optional: !0
                },
                consequent: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Statement")))
                }
            }
        }), (0, s.default)("SwitchStatement", {
            visitor: ["discriminant", "cases"],
            aliases: ["Statement", "BlockParent", "Scopable"],
            fields: {
                discriminant: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                cases: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("SwitchCase")))
                }
            }
        }), (0, s.default)("ThisExpression", {
            aliases: ["Expression"]
        }), (0, s.default)("ThrowStatement", {
            visitor: ["argument"],
            aliases: ["Statement", "Terminatorless", "CompletionStatement"],
            fields: {
                argument: {
                    validate: (0, s.assertNodeType)("Expression")
                }
            }
        }), (0, s.default)("TryStatement", {
            visitor: ["block", "handler", "finalizer"],
            aliases: ["Statement"],
            fields: {
                block: {
                    validate: (0, s.chain)((0, s.assertNodeType)("BlockStatement"), Object.assign((function (t) {
                        if (e.env.BABEL_TYPES_8_BREAKING && !t.handler && !t.finalizer) throw new TypeError("TryStatement expects either a handler or finalizer, or both")
                    }), {
                        oneOfNodeTypes: ["BlockStatement"]
                    }))
                },
                handler: {
                    optional: !0,
                    validate: (0, s.assertNodeType)("CatchClause")
                },
                finalizer: {
                    optional: !0,
                    validate: (0, s.assertNodeType)("BlockStatement")
                }
            }
        }), (0, s.default)("UnaryExpression", {
            builder: ["operator", "argument", "prefix"],
            fields: {
                prefix: {
                    default: !0
                },
                argument: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                operator: {
                    validate: (0, s.assertOneOf)(...o.UNARY_OPERATORS)
                }
            },
            visitor: ["argument"],
            aliases: ["UnaryLike", "Expression"]
        }), (0, s.default)("UpdateExpression", {
            builder: ["operator", "argument", "prefix"],
            fields: {
                prefix: {
                    default: !1
                },
                argument: {
                    validate: e.env.BABEL_TYPES_8_BREAKING ? (0, s.assertNodeType)("Identifier", "MemberExpression") : (0, s.assertNodeType)("Expression")
                },
                operator: {
                    validate: (0, s.assertOneOf)(...o.UPDATE_OPERATORS)
                }
            },
            visitor: ["argument"],
            aliases: ["Expression"]
        }), (0, s.default)("VariableDeclaration", {
            builder: ["kind", "declarations"],
            visitor: ["declarations"],
            aliases: ["Statement", "Declaration"],
            fields: {
                declare: {
                    validate: (0, s.assertValueType)("boolean"),
                    optional: !0
                },
                kind: {
                    validate: (0, s.assertOneOf)("var", "let", "const")
                },
                declarations: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("VariableDeclarator")))
                }
            },
            validate(t, n, i) {
                if (e.env.BABEL_TYPES_8_BREAKING && (0, r.default)("ForXStatement", t, {
                        left: i
                    }) && 1 !== i.declarations.length) throw new TypeError("Exactly one VariableDeclarator is required in the VariableDeclaration of a " + t.type)
            }
        }), (0, s.default)("VariableDeclarator", {
            visitor: ["id", "init"],
            fields: {
                id: {
                    validate: function () {
                        if (!e.env.BABEL_TYPES_8_BREAKING) return (0, s.assertNodeType)("LVal");
                        const t = (0, s.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"),
                            n = (0, s.assertNodeType)("Identifier");
                        return function (e, r, i) {
                            (e.init ? t : n)(e, r, i)
                        }
                    }()
                },
                definite: {
                    optional: !0,
                    validate: (0, s.assertValueType)("boolean")
                },
                init: {
                    optional: !0,
                    validate: (0, s.assertNodeType)("Expression")
                }
            }
        }), (0, s.default)("WhileStatement", {
            visitor: ["test", "body"],
            aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"],
            fields: {
                test: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                body: {
                    validate: (0, s.assertNodeType)("Statement")
                }
            }
        }), (0, s.default)("WithStatement", {
            visitor: ["object", "body"],
            aliases: ["Statement"],
            fields: {
                object: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                body: {
                    validate: (0, s.assertNodeType)("Statement")
                }
            }
        }), (0, s.default)("AssignmentPattern", {
            visitor: ["left", "right", "decorators"],
            builder: ["left", "right"],
            aliases: ["Pattern", "PatternLike", "LVal"],
            fields: Object.assign({}, d, {
                left: {
                    validate: (0, s.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression")
                },
                right: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                decorators: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Decorator"))),
                    optional: !0
                }
            })
        }), (0, s.default)("ArrayPattern", {
            visitor: ["elements", "typeAnnotation"],
            builder: ["elements"],
            aliases: ["Pattern", "PatternLike", "LVal"],
            fields: Object.assign({}, d, {
                elements: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeOrValueType)("null", "PatternLike")))
                },
                decorators: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Decorator"))),
                    optional: !0
                }
            })
        }), (0, s.default)("ArrowFunctionExpression", {
            builder: ["params", "body", "async"],
            visitor: ["params", "body", "returnType", "typeParameters"],
            aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
            fields: Object.assign({}, c, f, {
                expression: {
                    validate: (0, s.assertValueType)("boolean")
                },
                body: {
                    validate: (0, s.assertNodeType)("BlockStatement", "Expression")
                }
            })
        }), (0, s.default)("ClassBody", {
            visitor: ["body"],
            fields: {
                body: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "TSDeclareMethod", "TSIndexSignature")))
                }
            }
        }), (0, s.default)("ClassExpression", {
            builder: ["id", "superClass", "body", "decorators"],
            visitor: ["id", "body", "superClass", "mixins", "typeParameters", "superTypeParameters", "implements", "decorators"],
            aliases: ["Scopable", "Class", "Expression"],
            fields: {
                id: {
                    validate: (0, s.assertNodeType)("Identifier"),
                    optional: !0
                },
                typeParameters: {
                    validate: (0, s.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
                    optional: !0
                },
                body: {
                    validate: (0, s.assertNodeType)("ClassBody")
                },
                superClass: {
                    optional: !0,
                    validate: (0, s.assertNodeType)("Expression")
                },
                superTypeParameters: {
                    validate: (0, s.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
                    optional: !0
                },
                implements: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("TSExpressionWithTypeArguments", "ClassImplements"))),
                    optional: !0
                },
                decorators: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Decorator"))),
                    optional: !0
                },
                mixins: {
                    validate: (0, s.assertNodeType)("InterfaceExtends"),
                    optional: !0
                }
            }
        }), (0, s.default)("ClassDeclaration", {
            inherits: "ClassExpression",
            aliases: ["Scopable", "Class", "Statement", "Declaration"],
            fields: {
                id: {
                    validate: (0, s.assertNodeType)("Identifier")
                },
                typeParameters: {
                    validate: (0, s.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
                    optional: !0
                },
                body: {
                    validate: (0, s.assertNodeType)("ClassBody")
                },
                superClass: {
                    optional: !0,
                    validate: (0, s.assertNodeType)("Expression")
                },
                superTypeParameters: {
                    validate: (0, s.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
                    optional: !0
                },
                implements: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("TSExpressionWithTypeArguments", "ClassImplements"))),
                    optional: !0
                },
                decorators: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Decorator"))),
                    optional: !0
                },
                mixins: {
                    validate: (0, s.assertNodeType)("InterfaceExtends"),
                    optional: !0
                },
                declare: {
                    validate: (0, s.assertValueType)("boolean"),
                    optional: !0
                },
                abstract: {
                    validate: (0, s.assertValueType)("boolean"),
                    optional: !0
                }
            },
            validate: function () {
                const t = (0, s.assertNodeType)("Identifier");
                return function (n, i, a) {
                    e.env.BABEL_TYPES_8_BREAKING && ((0, r.default)("ExportDefaultDeclaration", n) || t(a, "id", a.id))
                }
            }()
        }), (0, s.default)("ExportAllDeclaration", {
            visitor: ["source"],
            aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"],
            fields: {
                source: {
                    validate: (0, s.assertNodeType)("StringLiteral")
                }
            }
        }), (0, s.default)("ExportDefaultDeclaration", {
            visitor: ["declaration"],
            aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"],
            fields: {
                declaration: {
                    validate: (0, s.assertNodeType)("FunctionDeclaration", "TSDeclareFunction", "ClassDeclaration", "Expression")
                }
            }
        }), (0, s.default)("ExportNamedDeclaration", {
            visitor: ["declaration", "specifiers", "source"],
            aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"],
            fields: {
                declaration: {
                    optional: !0,
                    validate: (0, s.chain)((0, s.assertNodeType)("Declaration"), Object.assign((function (t, n, r) {
                        if (e.env.BABEL_TYPES_8_BREAKING && r && t.specifiers.length) throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration")
                    }), {
                        oneOfNodeTypes: ["Declaration"]
                    }), (function (t, n, r) {
                        if (e.env.BABEL_TYPES_8_BREAKING && r && t.source) throw new TypeError("Cannot export a declaration from a source")
                    }))
                },
                specifiers: {
                    default: [],
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)(function () {
                        const t = (0, s.assertNodeType)("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"),
                            n = (0, s.assertNodeType)("ExportSpecifier");
                        return e.env.BABEL_TYPES_8_BREAKING ? function (e, r, i) {
                            (e.source ? t : n)(e, r, i)
                        } : t
                    }()))
                },
                source: {
                    validate: (0, s.assertNodeType)("StringLiteral"),
                    optional: !0
                },
                exportKind: (0, s.validateOptional)((0, s.assertOneOf)("type", "value"))
            }
        }), (0, s.default)("ExportSpecifier", {
            visitor: ["local", "exported"],
            aliases: ["ModuleSpecifier"],
            fields: {
                local: {
                    validate: (0, s.assertNodeType)("Identifier")
                },
                exported: {
                    validate: (0, s.assertNodeType)("Identifier", "StringLiteral")
                }
            }
        }), (0, s.default)("ForOfStatement", {
            visitor: ["left", "right", "body"],
            builder: ["left", "right", "body", "await"],
            aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
            fields: {
                left: {
                    validate: function () {
                        if (!e.env.BABEL_TYPES_8_BREAKING) return (0, s.assertNodeType)("VariableDeclaration", "LVal");
                        const t = (0, s.assertNodeType)("VariableDeclaration"),
                            n = (0, s.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern");
                        return function (e, i, a) {
                            (0, r.default)("VariableDeclaration", a) ? t(e, i, a): n(e, i, a)
                        }
                    }()
                },
                right: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                body: {
                    validate: (0, s.assertNodeType)("Statement")
                },
                await: {
                    default: !1
                }
            }
        }), (0, s.default)("ImportDeclaration", {
            visitor: ["specifiers", "source"],
            aliases: ["Statement", "Declaration", "ModuleDeclaration"],
            fields: {
                specifiers: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier")))
                },
                source: {
                    validate: (0, s.assertNodeType)("StringLiteral")
                },
                importKind: {
                    validate: (0, s.assertOneOf)("type", "typeof", "value"),
                    optional: !0
                }
            }
        }), (0, s.default)("ImportDefaultSpecifier", {
            visitor: ["local"],
            aliases: ["ModuleSpecifier"],
            fields: {
                local: {
                    validate: (0, s.assertNodeType)("Identifier")
                }
            }
        }), (0, s.default)("ImportNamespaceSpecifier", {
            visitor: ["local"],
            aliases: ["ModuleSpecifier"],
            fields: {
                local: {
                    validate: (0, s.assertNodeType)("Identifier")
                }
            }
        }), (0, s.default)("ImportSpecifier", {
            visitor: ["local", "imported"],
            aliases: ["ModuleSpecifier"],
            fields: {
                local: {
                    validate: (0, s.assertNodeType)("Identifier")
                },
                imported: {
                    validate: (0, s.assertNodeType)("Identifier", "StringLiteral")
                },
                importKind: {
                    validate: (0, s.assertOneOf)("type", "typeof"),
                    optional: !0
                }
            }
        }), (0, s.default)("MetaProperty", {
            visitor: ["meta", "property"],
            aliases: ["Expression"],
            fields: {
                meta: {
                    validate: (0, s.chain)((0, s.assertNodeType)("Identifier"), Object.assign((function (t, n, i) {
                        if (!e.env.BABEL_TYPES_8_BREAKING) return;
                        let a;
                        switch (i.name) {
                            case "function":
                                a = "sent";
                                break;
                            case "new":
                                a = "target";
                                break;
                            case "import":
                                a = "meta"
                        }
                        if (!(0, r.default)("Identifier", t.property, {
                                name: a
                            })) throw new TypeError("Unrecognised MetaProperty")
                    }), {
                        oneOfNodeTypes: ["Identifier"]
                    }))
                },
                property: {
                    validate: (0, s.assertNodeType)("Identifier")
                }
            }
        });
        const y = {
            abstract: {
                validate: (0, s.assertValueType)("boolean"),
                optional: !0
            },
            accessibility: {
                validate: (0, s.assertOneOf)("public", "private", "protected"),
                optional: !0
            },
            static: {
                default: !1
            },
            computed: {
                default: !1
            },
            optional: {
                validate: (0, s.assertValueType)("boolean"),
                optional: !0
            },
            key: {
                validate: (0, s.chain)(function () {
                    const e = (0, s.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"),
                        t = (0, s.assertNodeType)("Expression");
                    return function (n, r, i) {
                        (n.computed ? t : e)(n, r, i)
                    }
                }(), (0, s.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "Expression"))
            }
        };
        t.classMethodOrPropertyCommon = y;
        const T = Object.assign({}, c, y, {
            kind: {
                validate: (0, s.assertOneOf)("get", "set", "method", "constructor"),
                default: "method"
            },
            access: {
                validate: (0, s.chain)((0, s.assertValueType)("string"), (0, s.assertOneOf)("public", "private", "protected")),
                optional: !0
            },
            decorators: {
                validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Decorator"))),
                optional: !0
            }
        });
        t.classMethodOrDeclareMethodCommon = T, (0, s.default)("ClassMethod", {
            aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"],
            builder: ["kind", "key", "params", "body", "computed", "static", "generator", "async"],
            visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"],
            fields: Object.assign({}, T, f, {
                body: {
                    validate: (0, s.assertNodeType)("BlockStatement")
                }
            })
        }), (0, s.default)("ObjectPattern", {
            visitor: ["properties", "typeAnnotation", "decorators"],
            builder: ["properties"],
            aliases: ["Pattern", "PatternLike", "LVal"],
            fields: Object.assign({}, d, {
                properties: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("RestElement", "ObjectProperty")))
                }
            })
        }), (0, s.default)("SpreadElement", {
            visitor: ["argument"],
            aliases: ["UnaryLike"],
            deprecatedAlias: "SpreadProperty",
            fields: {
                argument: {
                    validate: (0, s.assertNodeType)("Expression")
                }
            }
        }), (0, s.default)("Super", {
            aliases: ["Expression"]
        }), (0, s.default)("TaggedTemplateExpression", {
            visitor: ["tag", "quasi"],
            aliases: ["Expression"],
            fields: {
                tag: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                quasi: {
                    validate: (0, s.assertNodeType)("TemplateLiteral")
                },
                typeParameters: {
                    validate: (0, s.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
                    optional: !0
                }
            }
        }), (0, s.default)("TemplateElement", {
            builder: ["value", "tail"],
            fields: {
                value: {
                    validate: (0, s.assertShape)({
                        raw: {
                            validate: (0, s.assertValueType)("string")
                        },
                        cooked: {
                            validate: (0, s.assertValueType)("string"),
                            optional: !0
                        }
                    })
                },
                tail: {
                    default: !1
                }
            }
        }), (0, s.default)("TemplateLiteral", {
            visitor: ["quasis", "expressions"],
            aliases: ["Expression", "Literal"],
            fields: {
                quasis: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("TemplateElement")))
                },
                expressions: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Expression", "TSType")), (function (e, t, n) {
                        if (e.quasis.length !== n.length + 1) throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of expressions.\nExpected ${n.length+1} quasis but got ${e.quasis.length}`)
                    }))
                }
            }
        }), (0, s.default)("YieldExpression", {
            builder: ["argument", "delegate"],
            visitor: ["argument"],
            aliases: ["Expression", "Terminatorless"],
            fields: {
                delegate: {
                    validate: (0, s.chain)((0, s.assertValueType)("boolean"), Object.assign((function (t, n, r) {
                        if (e.env.BABEL_TYPES_8_BREAKING && r && !t.argument) throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument")
                    }), {
                        type: "boolean"
                    })),
                    default: !1
                },
                argument: {
                    optional: !0,
                    validate: (0, s.assertNodeType)("Expression")
                }
            }
        }), (0, s.default)("AwaitExpression", {
            builder: ["argument"],
            visitor: ["argument"],
            aliases: ["Expression", "Terminatorless"],
            fields: {
                argument: {
                    validate: (0, s.assertNodeType)("Expression")
                }
            }
        }), (0, s.default)("Import", {
            aliases: ["Expression"]
        }), (0, s.default)("BigIntLiteral", {
            builder: ["value"],
            fields: {
                value: {
                    validate: (0, s.assertValueType)("string")
                }
            },
            aliases: ["Expression", "Pureish", "Literal", "Immutable"]
        }), (0, s.default)("ExportNamespaceSpecifier", {
            visitor: ["exported"],
            aliases: ["ModuleSpecifier"],
            fields: {
                exported: {
                    validate: (0, s.assertNodeType)("Identifier")
                }
            }
        }), (0, s.default)("OptionalMemberExpression", {
            builder: ["object", "property", "computed", "optional"],
            visitor: ["object", "property"],
            aliases: ["Expression"],
            fields: {
                object: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                property: {
                    validate: function () {
                        const e = (0, s.assertNodeType)("Identifier"),
                            t = (0, s.assertNodeType)("Expression"),
                            n = function (n, r, i) {
                                (n.computed ? t : e)(n, r, i)
                            };
                        return n.oneOfNodeTypes = ["Expression", "Identifier"], n
                    }()
                },
                computed: {
                    default: !1
                },
                optional: {
                    validate: e.env.BABEL_TYPES_8_BREAKING ? (0, s.chain)((0, s.assertValueType)("boolean"), (0, s.assertOptionalChainStart)()) : (0, s.assertValueType)("boolean")
                }
            }
        }), (0, s.default)("OptionalCallExpression", {
            visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
            builder: ["callee", "arguments", "optional"],
            aliases: ["Expression"],
            fields: {
                callee: {
                    validate: (0, s.assertNodeType)("Expression")
                },
                arguments: {
                    validate: (0, s.chain)((0, s.assertValueType)("array"), (0, s.assertEach)((0, s.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName")))
                },
                optional: {
                    validate: e.env.BABEL_TYPES_8_BREAKING ? (0, s.chain)((0, s.assertValueType)("boolean"), (0, s.assertOptionalChainStart)()) : (0, s.assertValueType)("boolean")
                },
                typeArguments: {
                    validate: (0, s.assertNodeType)("TypeParameterInstantiation"),
                    optional: !0
                },
                typeParameters: {
                    validate: (0, s.assertNodeType)("TSTypeParameterInstantiation"),
                    optional: !0
                }
            }
        })
    }).call(this, n(22))
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        if (e === t) return !0;
        if (r.ALIAS_KEYS[t]) return !1;
        const n = r.FLIPPED_ALIAS_KEYS[t];
        if (n) {
            if (n[0] === e) return !0;
            for (const t of n)
                if (e === t) return !0
        }
        return !1
    };
    var r = n(3)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t, n) {
        if (!e) return;
        const o = r.NODE_FIELDS[e.type];
        if (!o) return;
        const s = o[t];
        i(e, t, n, s), a(e, t, n)
    }, t.validateField = i, t.validateChild = a;
    var r = n(3);

    function i(e, t, n, r) {
        (null == r ? void 0 : r.validate) && (r.optional && null == n || r.validate(e, t, n))
    }

    function a(e, t, n) {
        if (null == n) return;
        const i = r.NODE_PARENT_VALIDATIONS[n.type];
        i && i(e, t, n)
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t, n) {
        t && n && (t[e] = Array.from(new Set([].concat(t[e], n[e]).filter(Boolean))))
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        const n = e.split(".");
        return e => (0, i.default)(e, n, t)
    };
    var r, i = (r = n(42)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t, n) {
        if (!(0, r.isMemberExpression)(e)) return !1;
        const i = Array.isArray(t) ? t : t.split("."),
            a = [];
        let o;
        for (o = e;
            (0, r.isMemberExpression)(o); o = o.object) a.push(o.property);
        if (a.push(o), a.length < i.length) return !1;
        if (!n && a.length > i.length) return !1;
        for (let e = 0, t = a.length - 1; e < i.length; e++, t--) {
            const n = a[t];
            let o;
            if ((0, r.isIdentifier)(n)) o = n.name;
            else {
                if (!(0, r.isStringLiteral)(n)) return !1;
                o = n.value
            }
            if (i[e] !== o) return !1
        }
        return !0
    };
    var r = n(0)
}, function (e, t) {
    e.exports = function (e, t) {
        return e === t || e != e && t != t
    }
}, function (e, t, n) {
    var r = n(12),
        i = n(13);
    e.exports = function (e) {
        if (!i(e)) return !1;
        var t = r(e);
        return "[object Function]" == t || "[object GeneratorFunction]" == t || "[object AsyncFunction]" == t || "[object Proxy]" == t
    }
}, function (e, t, n) {
    (function (t) {
        var n = "object" == typeof t && t && t.Object === Object && t;
        e.exports = n
    }).call(this, n(104))
}, function (e, t) {
    var n = Function.prototype.toString;
    e.exports = function (e) {
        if (null != e) {
            try {
                return n.call(e)
            } catch (e) {}
            try {
                return e + ""
            } catch (e) {}
        }
        return ""
    }
}, function (e, t, n) {
    var r = n(48),
        i = n(43),
        a = Object.prototype.hasOwnProperty;
    e.exports = function (e, t, n) {
        var o = e[t];
        a.call(e, t) && i(o, n) && (void 0 !== n || t in e) || r(e, t, n)
    }
}, function (e, t, n) {
    var r = n(124);
    e.exports = function (e, t, n) {
        "__proto__" == t && r ? r(e, t, {
            configurable: !0,
            enumerable: !0,
            value: n,
            writable: !0
        }) : e[t] = n
    }
}, function (e, t, n) {
    var r = n(126),
        i = n(127),
        a = n(29),
        o = n(50),
        s = n(130),
        l = n(131),
        u = Object.prototype.hasOwnProperty;
    e.exports = function (e, t) {
        var n = a(e),
            c = !n && i(e),
            f = !n && !c && o(e),
            p = !n && !c && !f && l(e),
            d = n || c || f || p,
            y = d ? r(e.length, String) : [],
            T = y.length;
        for (var m in e) !t && !u.call(e, m) || d && ("length" == m || f && ("offset" == m || "parent" == m) || p && ("buffer" == m || "byteLength" == m || "byteOffset" == m) || s(m, T)) || y.push(m);
        return y
    }
}, function (e, t, n) {
    (function (e) {
        var r = n(4),
            i = n(129),
            a = t && !t.nodeType && t,
            o = a && "object" == typeof e && e && !e.nodeType && e,
            s = o && o.exports === a ? r.Buffer : void 0,
            l = (s ? s.isBuffer : void 0) || i;
        e.exports = l
    }).call(this, n(30)(e))
}, function (e, t) {
    e.exports = function (e) {
        return "number" == typeof e && e > -1 && e % 1 == 0 && e <= 9007199254740991
    }
}, function (e, t) {
    e.exports = function (e, t) {
        return function (n) {
            return e(t(n))
        }
    }
}, function (e, t, n) {
    var r = n(44),
        i = n(51);
    e.exports = function (e) {
        return null != e && i(e.length) && !r(e)
    }
}, function (e, t) {
    e.exports = function () {
        return []
    }
}, function (e, t, n) {
    var r = n(56),
        i = n(34),
        a = n(33),
        o = n(54),
        s = Object.getOwnPropertySymbols ? function (e) {
            for (var t = []; e;) r(t, a(e)), e = i(e);
            return t
        } : o;
    e.exports = s
}, function (e, t) {
    e.exports = function (e, t) {
        for (var n = -1, r = t.length, i = e.length; ++n < r;) e[i + n] = t[n];
        return e
    }
}, function (e, t, n) {
    var r = n(56),
        i = n(29);
    e.exports = function (e, t, n) {
        var a = t(e);
        return i(e) ? a : r(a, n(e))
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        if (e === t) return !0;
        const n = r.PLACEHOLDERS_ALIAS[e];
        if (n)
            for (const e of n)
                if (t === e) return !0;
        return !1
    };
    var r = n(3)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), Object.defineProperty(t, "isIdentifierName", {
        enumerable: !0,
        get: function () {
            return r.isIdentifierName
        }
    }), Object.defineProperty(t, "isIdentifierChar", {
        enumerable: !0,
        get: function () {
            return r.isIdentifierChar
        }
    }), Object.defineProperty(t, "isIdentifierStart", {
        enumerable: !0,
        get: function () {
            return r.isIdentifierStart
        }
    }), Object.defineProperty(t, "isReservedWord", {
        enumerable: !0,
        get: function () {
            return i.isReservedWord
        }
    }), Object.defineProperty(t, "isStrictBindOnlyReservedWord", {
        enumerable: !0,
        get: function () {
            return i.isStrictBindOnlyReservedWord
        }
    }), Object.defineProperty(t, "isStrictBindReservedWord", {
        enumerable: !0,
        get: function () {
            return i.isStrictBindReservedWord
        }
    }), Object.defineProperty(t, "isStrictReservedWord", {
        enumerable: !0,
        get: function () {
            return i.isStrictReservedWord
        }
    }), Object.defineProperty(t, "isKeyword", {
        enumerable: !0,
        get: function () {
            return i.isKeyword
        }
    });
    var r = n(163),
        i = n(164)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.PLACEHOLDERS_FLIPPED_ALIAS = t.PLACEHOLDERS_ALIAS = t.PLACEHOLDERS = void 0;
    var r = n(6);
    const i = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"];
    t.PLACEHOLDERS = i;
    const a = {
        Declaration: ["Statement"],
        Pattern: ["PatternLike", "LVal"]
    };
    t.PLACEHOLDERS_ALIAS = a;
    for (const e of i) {
        const t = r.ALIAS_KEYS[e];
        (null == t ? void 0 : t.length) && (a[e] = t)
    }
    const o = {};
    t.PLACEHOLDERS_FLIPPED_ALIAS = o, Object.keys(a).forEach(e => {
        a[e].forEach(t => {
            Object.hasOwnProperty.call(o, t) || (o[t] = []), o[t].push(e)
        })
    })
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        return !(!e || !r.VISITOR_KEYS[e.type])
    };
    var r = n(3)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function e(t) {
        const n = {},
            i = {},
            a = [],
            o = [];
        for (let s = 0; s < t.length; s++) {
            const l = t[s];
            if (l && !(o.indexOf(l) >= 0)) {
                if ((0, r.isAnyTypeAnnotation)(l)) return [l];
                if ((0, r.isFlowBaseAnnotation)(l)) i[l.type] = l;
                else if ((0, r.isUnionTypeAnnotation)(l)) a.indexOf(l.types) < 0 && (t = t.concat(l.types), a.push(l.types));
                else if ((0, r.isGenericTypeAnnotation)(l)) {
                    const t = l.id.name;
                    if (n[t]) {
                        let r = n[t];
                        r.typeParameters ? l.typeParameters && (r.typeParameters.params = e(r.typeParameters.params.concat(l.typeParameters.params))) : r = l.typeParameters
                    } else n[t] = l
                } else o.push(l)
            }
        }
        for (const e of Object.keys(i)) o.push(i[e]);
        for (const e of Object.keys(n)) o.push(n[e]);
        return o
    };
    var r = n(0)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t, n) {
        if (!n || !e) return e;
        const r = t + "Comments";
        e[r] ? e[r] = "leading" === t ? n.concat(e[r]) : e[r].concat(n) : e[r] = n;
        return e
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        (0, i.default)("innerComments", e, t)
    };
    var r, i = (r = n(40)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        (0, i.default)("leadingComments", e, t)
    };
    var r, i = (r = n(40)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        return (0, r.default)(e, t), (0, i.default)(e, t), (0, a.default)(e, t), e
    };
    var r = o(n(67)),
        i = o(n(65)),
        a = o(n(64));

    function o(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        (0, i.default)("trailingComments", e, t)
    };
    var r, i = (r = n(40)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        if ((0, r.isBlockStatement)(e)) return e;
        let n = [];
        (0, r.isEmptyStatement)(e) ? n = []: ((0, r.isStatement)(e) || (e = (0, r.isFunction)(t) ? (0, i.returnStatement)(e) : (0, i.expressionStatement)(e)), n = [e]);
        return (0, i.blockStatement)(n)
    };
    var r = n(0),
        i = n(2)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        e = (e = (e = (e += "").replace(/[^a-zA-Z0-9$_]/g, "-")).replace(/^[-0-9]+/, "")).replace(/[-\s]+(.)?/g, (function (e, t) {
            return t ? t.toUpperCase() : ""
        })), (0, i.default)(e) || (e = "_" + e);
        return e || "_"
    };
    var r, i = (r = n(14)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        return (0, r.default)(e, i.default, t), e
    };
    var r = a(n(71)),
        i = a(n(72));

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function e(t, n, i) {
        if (!t) return;
        const a = r.VISITOR_KEYS[t.type];
        if (!a) return;
        n(t, i = i || {});
        for (const r of a) {
            const a = t[r];
            if (Array.isArray(a))
                for (const t of a) e(t, n, i);
            else e(a, n, i)
        }
    };
    var r = n(3)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t = {}) {
        const n = t.preserveComments ? i : a;
        for (const t of n) null != e[t] && (e[t] = void 0);
        for (const t of Object.keys(e)) "_" === t[0] && null != e[t] && (e[t] = void 0);
        const r = Object.getOwnPropertySymbols(e);
        for (const t of r) e[t] = null
    };
    var r = n(9);
    const i = ["tokens", "start", "end", "loc", "raw", "rawValue"],
        a = r.COMMENT_KEYS.concat(["comments"]).concat(i)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        return (0, r.isVariableDeclaration)(e) && ("var" !== e.kind || e[i.BLOCK_SCOPED_SYMBOL])
    };
    var r = n(0),
        i = n(9)
}, function (e, t, n) {
    "use strict";
    e.exports = function (e, t) {
        return function () {
            for (var n = new Array(arguments.length), r = 0; r < n.length; r++) n[r] = arguments[r];
            return e.apply(t, n)
        }
    }
}, function (e, t, n) {
    "use strict";
    var r = n(1);

    function i(e) {
        return encodeURIComponent(e).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]")
    }
    e.exports = function (e, t, n) {
        if (!t) return e;
        var a;
        if (n) a = n(t);
        else if (r.isURLSearchParams(t)) a = t.toString();
        else {
            var o = [];
            r.forEach(t, (function (e, t) {
                null != e && (r.isArray(e) ? t += "[]" : e = [e], r.forEach(e, (function (e) {
                    r.isDate(e) ? e = e.toISOString() : r.isObject(e) && (e = JSON.stringify(e)), o.push(i(t) + "=" + i(e))
                })))
            })), a = o.join("&")
        }
        if (a) {
            var s = e.indexOf("#"); - 1 !== s && (e = e.slice(0, s)), e += (-1 === e.indexOf("?") ? "?" : "&") + a
        }
        return e
    }
}, function (e, t, n) {
    "use strict";
    e.exports = function (e) {
        return !(!e || !e.__CANCEL__)
    }
}, function (e, t, n) {
    "use strict";
    (function (t) {
        var r = n(1),
            i = n(214),
            a = {
                "Content-Type": "application/x-www-form-urlencoded"
            };

        function o(e, t) {
            !r.isUndefined(e) && r.isUndefined(e["Content-Type"]) && (e["Content-Type"] = t)
        }
        var s, l = {
            adapter: (("undefined" != typeof XMLHttpRequest || void 0 !== t && "[object process]" === Object.prototype.toString.call(t)) && (s = n(78)), s),
            transformRequest: [function (e, t) {
                return i(t, "Accept"), i(t, "Content-Type"), r.isFormData(e) || r.isArrayBuffer(e) || r.isBuffer(e) || r.isStream(e) || r.isFile(e) || r.isBlob(e) ? e : r.isArrayBufferView(e) ? e.buffer : r.isURLSearchParams(e) ? (o(t, "application/x-www-form-urlencoded;charset=utf-8"), e.toString()) : r.isObject(e) ? (o(t, "application/json;charset=utf-8"), JSON.stringify(e)) : e
            }],
            transformResponse: [function (e) {
                if ("string" == typeof e) try {
                    e = JSON.parse(e)
                } catch (e) {}
                return e
            }],
            timeout: 0,
            xsrfCookieName: "XSRF-TOKEN",
            xsrfHeaderName: "X-XSRF-TOKEN",
            maxContentLength: -1,
            validateStatus: function (e) {
                return e >= 200 && e < 300
            }
        };
        l.headers = {
            common: {
                Accept: "application/json, text/plain, */*"
            }
        }, r.forEach(["delete", "get", "head"], (function (e) {
            l.headers[e] = {}
        })), r.forEach(["post", "put", "patch"], (function (e) {
            l.headers[e] = r.merge(a)
        })), e.exports = l
    }).call(this, n(22))
}, function (e, t, n) {
    "use strict";
    var r = n(1),
        i = n(215),
        a = n(75),
        o = n(217),
        s = n(220),
        l = n(221),
        u = n(79);
    e.exports = function (e) {
        return new Promise((function (t, c) {
            var f = e.data,
                p = e.headers;
            r.isFormData(f) && delete p["Content-Type"];
            var d = new XMLHttpRequest;
            if (e.auth) {
                var y = e.auth.username || "",
                    T = e.auth.password || "";
                p.Authorization = "Basic " + btoa(y + ":" + T)
            }
            var m = o(e.baseURL, e.url);
            if (d.open(e.method.toUpperCase(), a(m, e.params, e.paramsSerializer), !0), d.timeout = e.timeout, d.onreadystatechange = function () {
                    if (d && 4 === d.readyState && (0 !== d.status || d.responseURL && 0 === d.responseURL.indexOf("file:"))) {
                        var n = "getAllResponseHeaders" in d ? s(d.getAllResponseHeaders()) : null,
                            r = {
                                data: e.responseType && "text" !== e.responseType ? d.response : d.responseText,
                                status: d.status,
                                statusText: d.statusText,
                                headers: n,
                                config: e,
                                request: d
                            };
                        i(t, c, r), d = null
                    }
                }, d.onabort = function () {
                    d && (c(u("Request aborted", e, "ECONNABORTED", d)), d = null)
                }, d.onerror = function () {
                    c(u("Network Error", e, null, d)), d = null
                }, d.ontimeout = function () {
                    var t = "timeout of " + e.timeout + "ms exceeded";
                    e.timeoutErrorMessage && (t = e.timeoutErrorMessage), c(u(t, e, "ECONNABORTED", d)), d = null
                }, r.isStandardBrowserEnv()) {
                var S = n(222),
                    v = (e.withCredentials || l(m)) && e.xsrfCookieName ? S.read(e.xsrfCookieName) : void 0;
                v && (p[e.xsrfHeaderName] = v)
            }
            if ("setRequestHeader" in d && r.forEach(p, (function (e, t) {
                    void 0 === f && "content-type" === t.toLowerCase() ? delete p[t] : d.setRequestHeader(t, e)
                })), r.isUndefined(e.withCredentials) || (d.withCredentials = !!e.withCredentials), e.responseType) try {
                d.responseType = e.responseType
            } catch (t) {
                if ("json" !== e.responseType) throw t
            }
            "function" == typeof e.onDownloadProgress && d.addEventListener("progress", e.onDownloadProgress), "function" == typeof e.onUploadProgress && d.upload && d.upload.addEventListener("progress", e.onUploadProgress), e.cancelToken && e.cancelToken.promise.then((function (e) {
                d && (d.abort(), c(e), d = null)
            })), void 0 === f && (f = null), d.send(f)
        }))
    }
}, function (e, t, n) {
    "use strict";
    var r = n(216);
    e.exports = function (e, t, n, i, a) {
        var o = new Error(e);
        return r(o, t, n, i, a)
    }
}, function (e, t, n) {
    "use strict";
    var r = n(1);
    e.exports = function (e, t) {
        t = t || {};
        var n = {},
            i = ["url", "method", "params", "data"],
            a = ["headers", "auth", "proxy"],
            o = ["baseURL", "url", "transformRequest", "transformResponse", "paramsSerializer", "timeout", "withCredentials", "adapter", "responseType", "xsrfCookieName", "xsrfHeaderName", "onUploadProgress", "onDownloadProgress", "maxContentLength", "validateStatus", "maxRedirects", "httpAgent", "httpsAgent", "cancelToken", "socketPath"];
        r.forEach(i, (function (e) {
            void 0 !== t[e] && (n[e] = t[e])
        })), r.forEach(a, (function (i) {
            r.isObject(t[i]) ? n[i] = r.deepMerge(e[i], t[i]) : void 0 !== t[i] ? n[i] = t[i] : r.isObject(e[i]) ? n[i] = r.deepMerge(e[i]) : void 0 !== e[i] && (n[i] = e[i])
        })), r.forEach(o, (function (r) {
            void 0 !== t[r] ? n[r] = t[r] : void 0 !== e[r] && (n[r] = e[r])
        }));
        var s = i.concat(a).concat(o),
            l = Object.keys(t).filter((function (e) {
                return -1 === s.indexOf(e)
            }));
        return r.forEach(l, (function (r) {
            void 0 !== t[r] ? n[r] = t[r] : void 0 !== e[r] && (n[r] = e[r])
        })), n
    }
}, function (e, t, n) {
    "use strict";

    function r(e) {
        this.message = e
    }
    r.prototype.toString = function () {
        return "Cancel" + (this.message ? ": " + this.message : "")
    }, r.prototype.__CANCEL__ = !0, e.exports = r
}, function (e, t, n) {
    e.exports = n(209)
}, function (module, __webpack_exports__, __webpack_require__) {
    "use strict";
    var _babel_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84),
        _babel_types__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(_babel_types__WEBPACK_IMPORTED_MODULE_0__),
        _request_requestOwn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11),
        WEBG = {},
        layer = layui.layer;
    WEBG.saveAjaxIng = !1, WEBG.ini = function () {
        for (var i in this.fn) eval("window." + i + " = " + this.fn[i]);

        function limitNumber() {
            $("input#tel").keyup((function () {
                $(this).val($(this).val().replace(/[^0-9]/g, "")), /[0-9]/.test($(this).val()) && $(this).val().length >= 11 && $(this).val($(this).val().slice(0, 11))
            })), $("input#area").keyup((function () {
                /[0-9]/.test($(this).val()) || $(this).val($(this).val().replace(/[^0-9]/g, ""))
            }))
        }

        function dialogSwiper(e) {
            new Swiper(e, {
                loop: !0,
                direction: "vertical",
                paginationClickable: !0,
                spaceBetween: 16,
                slidesPerView: 7,
                centeredSlides: !0,
                centeredSlidesBounds: !0,
                autoplay: 700,
                autoplayDisableOnInteraction: !1,
                onSlideChangeStart: function (e) {
                    e.slides[e.activeIndex - 4].style.opacity = .1, e.slides[e.activeIndex - 3].style.opacity = .3, e.slides[e.activeIndex - 2].style.opacity = .5, e.slides[e.activeIndex - 1].style.opacity = .8, e.slides[e.activeIndex].style.opacity = 1, e.slides[e.activeIndex + 4].style.opacity = .1, e.slides[e.activeIndex + 3].style.opacity = .3, e.slides[e.activeIndex + 2].style.opacity = .5, e.slides[e.activeIndex + 1].style.opacity = .8
                }
            })
        }
        getStorage("loadurl") || setStorage("loadurl", window.location.href), $(document).ready((function () {
            location.pathname.includes("/zt/") || location.pathname.includes("/page/") || location.pathname.includes("/newtest/") ? $("footer").css("margin-top", "80px") : $("footer").css("margin-top", "0"), animation(".icon-arrow-animation-float"), animation(".icon-arrow-animation"), nav(location.pathname), caseTo(), $(".current-title span").eq(0).click((function () {
                location.pathname = $("#prefix").val() + "/" + siteFlag + "/"
            }));
            var e = $(document).scrollTop(),
                t = $(window).height(),
                n = $(document).height();
            n - (e + t) <= 312 && $(".common-bottom-float").css("bottom", 312 - (n - (e + t)) + "px"), $(document).scroll((function () {
                var e = $(document).scrollTop(),
                    t = $(window).height(),
                    n = $(document).height();
                $(".index_bottom_img")[0] ? n - (e + t) <= 312 ? $(".common-bottom-float").css("bottom", 312 - (n - (e + t)) + "px") : $(".common-bottom-float").css("bottom", "0px") : n - (e + t) <= 312 ? $(".common-bottom-float").css("bottom", 312 - (n - (e + t)) + "px") : $(".common-bottom-float").css("bottom", "0px");
                console.log(e,t,n);
            })), $(".aside-fixed>div").click((function (e) {
                $(this).hasClass("top") && runToTop()
            })), limitNumber();
   
            judgeZt(location.pathname, {
                1: "https://ykf-webchat.7moor.com/javascripts/7moorInit.js?accessId=8b800180-d7d5-11eb-94e9-476897d711b7&autoShow=false&language=ZHCN",
                4: "https://tb.53kf.com/code/code/9006234/4",
                9: "https://ykf-webchat.7moor.com/javascripts/7moorInit.js?accessId=02d52740-d7dd-11eb-94e9-476897d711b7&autoShow=false&language=ZHCN"
            } [siteId], siteId), $(document).on("click", ".KfLink", (function () {
                console.log("common ==>", siteId, ["1", "4", "9"].indexOf(siteId)), "4" == siteId ? window.open("https://tb.53kf.com/code/code/9006234/" + kfCode, "newwindow", "height=660,width=770,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no") : "1" == siteId ? ((location.pathname.includes("/zt/") || location.pathname.includes("/page/")) && qimoChatClick(), console.log("siteId===1")) : (console.log("siteId===>", siteId), qimoChatClick())
            })), document.body.scrollHeight > 1860 ? $(window).scroll((function () {
                $(window).scrollTop() > 200 ? $(".common-bottom-float").css("display", "block") : $(".common-bottom-float").css("display", "none")
            })) : $(".common-bottom-float").css("display", "block")
        })), popup("#quotedPrice", "400px", "360px", ".quotedPrices", (function (e) {
            $(e).find(".close").click((function () {
                layer.closeAll()
            }))
        })), popup("#freeDesign", "550px", "490px", ".freeDesigns", (function (e) {
            $(e).find(".close").click((function () {
                layer.closeAll()
            })), $(e).find(".styles").find(".img").each((function () {
                $(this).click((function () {
                    $(this).addClass("active").siblings().removeClass("active"), $(e).find("#style").val($(this).attr("data-value"))
                }))
            }))
        })), popup("#addrForm", "550px", "510px", ".addrForms", (function (e) {
            $(e).find(".close").click((function () {
                layer.closeAll()
            }))
        })), popup("#quotedLf", "400px", "360px", ".quotedLfDialog", (function (e) {
            $(e).find(".close").click((function () {
                layer.closeAll()
            }))
        })), popup("#popupHouseIndex", "1000px", "660px", ".popupHouseIndex", (function (e) {
            dialogSwiper(".swiper-dialog-container"), limitNumber(), $(e).find(".close").click((function () {
                layer.closeAll()
            })), $(e).find(".need").find(".flex-center").each((function () {
                $(this).click((function () {
                    $(this).addClass("active").siblings().removeClass("active")
                }))
            }))
        })), popup("#quotedPriceIndex", "1000px", "660px", ".quotedPricesIndex", (function (e) {
            dialogSwiper(".swiper-dialog-container"), limitNumber(), $(e).find(".close").click((function () {
                layer.closeAll()
            })), $(e).find(".need").find(".flex-center").each((function () {
                $(this).click((function () {
                    $(this).addClass("active").siblings().removeClass("active")
                }))
            }))
        })), popup("#freeDesignIndex", "900px", "660px", ".freeDesignsIndex", (function (e) {
            limitNumber(), $(e).find(".close").click((function () {
                layer.closeAll()
            })), $(e).find(".styles").find(".img").each((function () {
                $(this).click((function () {
                    $(this).hasClass("active") ? ($(this).removeClass("active"), $(e).find("#style").val($(e).find("#style").val().replace($(this).attr("data-value"), ""))) : ($(this).addClass("active"), $(e).find("#style").val($(e).find("#style").val() + " " + $(this).attr("data-value")))
                }))
            }))
        })), popup("#addrFormIndex", "900px", "660px", ".addrFormsIndex", (function (e) {
            limitNumber(), $(e).find(".close").click((function () {
                layer.closeAll()
            }))
        })), popup("#quotedLfIndex", "1000px", "660px", ".quotedLfDialogIndex", (function (e) {
            limitNumber(), dialogSwiper(".swiper-dialog-container"), $(e).find(".close").click((function () {
                layer.closeAll()
            })), $(e).find(".need").find(".flex-center").each((function () {
                $(this).click((function () {
                    $(this).addClass("active").siblings().removeClass("active")
                }))
            }))
        })), popup("#quotedYfIndex", "1000px", "660px", ".quotedYfDialogIndex", (function (e) {
            limitNumber(), dialogSwiper(".swiper-dialog-container"), $(e).find(".close").click((function () {
                layer.closeAll()
            }))
        }));
        var secondNavImgs = ["%E8%BD%BB%E5%A5%A2%E8%A3%85%402x.png", "%E5%A4%A7%E5%AE%85%E8%A3%85%402x.png", "%E8%89%BA%E5%A2%85%E8%A3%85%402x.png"],
            hrefUrls = ["qsz", "bighouse", "vangogh"],
            imgPath = "https://shj-siteweb.oss-cn-chengdu.aliyuncs.com/static/pcweb/image/";

        function secondNav() {
            $("header .first_nav .after").addClass("hover"), $("header .second_nav").addClass("active"), $("header .second_nav .style_bg").css("background-image", "url(".concat(imgPath).concat(secondNavImgs[0], ")")), $("header .second_nav .style_bg").css("height", "140px"), $("header .second_nav .style_bg").attr("href", "".concat($("#prefix").val(), "/page/").concat(hrefUrls[0], ".html"))
        }

        function cancelSecondNav() {
            $("header .first_nav .after").removeClass("hover"), $("header .second_nav").removeClass("active"), $("header .second_nav .style_bg").css("height", "0"), $("header .second_nav a").removeClass("active")
        }
        $("header .first_nav .after").on("mouseenter", (function () {
            secondNav()
        })), $("header .second_nav").on("mouseenter", (function () {
            secondNav()
        })), $("header .first_nav .after").on("mouseleave", (function () {
            cancelSecondNav()
        })), $("header .second_nav").on("mouseleave", (function () {
            cancelSecondNav()
        })), $("header .second_nav a.ho").on("mouseenter", (function () {
            $("header .second_nav a.ho").removeClass("active");
            var e = $(this).index();
            $(this).addClass("active"), $("header .second_nav .style_bg").css("background-image", "url(".concat(imgPath).concat(secondNavImgs[e], ")")), $("header .second_nav .style_bg").attr("href", "".concat($("#prefix").val(), "/page/").concat(hrefUrls[e], ".html"))
        }))
    }, WEBG.fn = {
        getStorage: function (e) {
            return sessionStorage.getItem(e)
        },
        setStorage: function (e, t) {
            sessionStorage.setItem(e, t)
        },
        animation: function (e) {
            if (window.lottie) {
                var t = $("#prefix").val();
                lottie.loadAnimation({
                    container: document.querySelector(e),
                    renderer: "svg",
                    loop: !0,
                    autoplay: !0,
                    path: t + "/images/comp.json"
                })
            }
        },
        popup: function (e, t, n, r) {
            var i = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : null;
            $(r).click((function (r) {
                r.preventDefault(), layer.open({
                    type: 1,
                    title: 0,
                    closeBtn: 0,
                    resize: !1,
                    skin: "backgorund-none",
                    area: [t, n],
                    content: $(e).html(),
                    success: function (e) {
                        animation(".icon-arrow-animation-price"), "function" == typeof i && i(e)
                    }
                })
            }))
        },
        nav: function (e) {
            $("header a").removeClass("active");
            var t = new RegExp("/", "g"),
                n = e.replace(t, "");
            /\/jpal/.test(e) ? ($("header a").eq(2).addClass("active"), $("ul").eq(0).children().removeClass("active"), $("ul").eq(0).children().eq(1).addClass("active")) : /\/vranli/.test(e) ? ($("header a").eq(2).addClass("active"), $("ul").eq(0).children().removeClass("active"), $("ul").eq(0).children().eq(3).addClass("active")) : /\/shejishi/.test(e) ? $("header a").eq(3).addClass("active") : /\/9b1ec712\-fc95\-4474\-a86b\-2530f1704b60/.test(e) ? $("header a").eq(4).addClass("active") : /\/ae2bf1f9\-c674\-46f9\-a1d5\-d9f7fe14d467/.test(e) ? $("header a").eq(5).addClass("active") : /\/about/.test(e) ? $("header a").eq(6).addClass("active") : $.inArray(n, ["cd", "bj", "nc", "gy", "xa", "km", "wh", "cs", "hf", "nj", "cq", "sjz", "jning", "tj", "sz", "jn", "gz", "dl", "qd", "fz", "sy", "ty", "hz", "sh", "wuxi", "yc"]) > -1 && $("header a").eq(0).addClass("active")
        },
        runToTop: function () {
            var e = document.documentElement.scrollTop || document.body.scrollTop,
                t = setInterval((function () {
                    (e -= 20) > 0 ? window.scrollTo(0, e) : (window.scrollTo(0, 0), clearInterval(t))
                }), 1)
        },
        saveInfo: function (e, t) {
            var n = this,
                r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null,
                i = arguments.length > 3 ? arguments[3] : void 0;
            if (WEBG.saveAjaxIng) return layer.open({
                content: "正在提交您的信息",
                skin: "msg",
                time: 2
            }), !1;
            var a = {
                applyUrl: window.location.href,
                sourceUrl: getStorage("loadurl")
            };
            if (null == i) var o = $(e).parent();
            else o = $(e).parents(i);
            if (a.signUpType = o.find("#signUpType").val(), null != o.find("#name").val()) {
                if ("" == o.find("#name").val()) return layer.tips("请输入您的称呼", o.find("#name"), {
                    tips: [1, "#00ae66"],
                    time: 1500
                }), !1;
                a.info = o.find("#name").val()
            }
            if ("" == o.find("#tel").val()) return layer.tips("请输入您的手机号码", o.find("#tel"), {
                tips: [1, "#00ae66"],
                time: 1500
            }), !1;
            if (0 == /^1[3456789]\d{9}$/.test(o.find("#tel").val())) return layer.tips("请输入正确的手机号码", o.find("#tel"), {
                tips: [1, "#00ae66"],
                time: 1500
            }), o.find("#tel").val(""), !1;
            if (a.phone = o.find("#tel").val(), null != o.find("#xiaoqu").val()) {
                if ("" == o.find("#xiaoqu").val()) return layer.tips("请输入您的小区名", o.find("#xiaoqu"), {
                    tips: [1, "#00ae66"],
                    time: 1500
                }), !1;
                a.buildingName = o.find("#xiaoqu").val()
            }
            if (null != o.find("#area").val()) {
                if ("" == o.find("#area").val()) return layer.tips("请输入您的房屋面积", o.find("#area"), {
                    tips: [1, "#00ae66"],
                    time: 1500
                }), !1;
                a.houseSize = o.find("#area").val()
            }
            if (null != o.find("#siteId").val()) {
                if ("" == o.find("#siteId").val()) return layer.tips("请选择您所在的城市", o.find("#siteId"), {
                    tips: [1, "#00ae66"],
                    time: 1500
                }), !1;
                a.siteId = o.find("#siteId").val()
            } else a.siteId = siteId;
            null != o.find("#style").val() && (a.renovationStyle = o.find("#style").val()), null != o.find("#styleFood").val() && (a.styleFood = o.find("#styleFood").val()), null != o.find("#styleHouseType").val() && (a.styleHouseType = o.find("#styleHouseType").val()), null != o.find("#styleSpecial").val() && (a.styleSpecial = o.find("#styleSpecial").val()), null != o.find("#styleType").val() && (a.styleType = o.find("#styleType").val()), WEBG.saveAjaxIng = !0, a.landUrl = getStorage("loadurl"), Object(_request_requestOwn__WEBPACK_IMPORTED_MODULE_1__.b)("/add/applyInfo", {
                data: a
            }).then((function (e) {
                e = e.data, console.log(e), 200 == e.code ? (WEBG.saveAjaxIng = !1, r || jqalert({
                    content: e.message,
                    yesfn: function () {
                        $("input[type='text'],input[type='tel'],input[type='number']").val(""), layer.closeAll()
                    }
                }), null != t && "function" == typeof t && t(e)) : (WEBG.saveAjaxIng = !1, console.log(e), jqalert({
                    content: e.message
                }))
            })).catch((function (e) {
                layer.open({
                    content: "报名失败",
                    skin: "msg",
                    time: 2e3
                }), n.isSubmit = !1
            }))
        },
        saveAjax: function (e, t) {
            var n = this,
                r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
            if (WEBG.saveAjaxIng) return !1;
            WEBG.saveAjaxIng = !0;
            var i = {
                applyUrl: window.location.href,
                sourceUrl: getStorage("loadurl")
            };
            i.landUrl = getStorage("loadurl"), e.siteId = null == e.siteId ? siteId : e.siteId, e = $.extend(e, i), Object(_request_requestOwn__WEBPACK_IMPORTED_MODULE_1__.b)("/add/applyInfo", {
                data: e
            }).then((function (e) {
                console.log(e), 200 == (e = e.data).code ? (WEBG.saveAjaxIng = !1, r || jqalert({
                    content: e.message,
                    yesfn: function () {
                        $("input[type='text'],input[type='tel'],input[type='number']").val(""), layer.closeAll()
                    }
                }), null != t && "function" == typeof t && t(e)) : (WEBG.saveAjaxIng = !1, jqalert({
                    content: e.message
                }))
            })).catch((function (e) {
                console.log(e), layer.open({
                    content: "报名失败",
                    skin: "msg",
                    time: 2e3
                }), n.isSubmit = !1
            }))
        },
        jqalert: function () {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
                t = e.content;
            layer.open({
                content: t,
                skin: "msg",
                time: 2e3
            })
        },
        toggle: function (e, t) {
            var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "";
            e >= t || 0 == t ? (n && n.css("padding", 0), $(".load-more").html("没有了！"), $(".load-more").css("background", "transparent")) : (n && n.css("padding", "30px"), $(".load-more").html("加载更多..."), $(".load-more").css("background", "#fff"))
        },
        dataAjaxGet: function (e, t, n) {
            Object(_request_requestOwn__WEBPACK_IMPORTED_MODULE_1__.a)(e, t).then((function (e) {
                "function" == typeof n && n(e.data), console.log(e.data)
            }))
        },
        searchInfo: function (e, t) {
            Object(_request_requestOwn__WEBPACK_IMPORTED_MODULE_1__.a)(e, {
                pageNum: 1,
                searchInfo: t
            }).then((function (e) {
                $(".case-list").eq(0).html(e.data.html), toggle(e.data.current, e.data.pages), console.log(e.data.size < e.data.pagesize), e.data.size < e.data.pagesize && ($(".load-more").html("没有了！"), $(".load-more").css("background", "transparent"))
            }))
        },
        caseTo: function () {
            var e = $("#prefix").val();
            $(".recommen .case-demo").click((function () {
                location.pathname = e + "/jpal/" + $(this).attr("data-id") + ".html"
            }))
        },
        caseToUrl: function (e) {
            var t, n = $("#prefix").val(),
                r = $("#casetype").val();
            "EFFECT_CASE" == (r = r || e.attr("data-type")) ? t = n + "/anli/" + e.attr("data-id") + ".html": "LIVE_ACTION_CASE" == r ? t = n + "/jpal/" + e.attr("data-id") + ".html" : "VIDEO_CASE" == r ? t = n + "/shipin/" + e.attr("data-id") + ".html" : "VR_CASE" == r ? t = n + "/vranli/" + e.attr("data-id") + ".html" : "site" == r && (t = n + "/".concat(siteFlag) + "/zjgd/" + e.attr("data-id") + ".html"), location.pathname = t
        },
        allDialog: function (e) {
            var t, n, r = getStorage("dialog");
            r && r.includes(e) || setTimeout((function () {
                layer.open({
                    type: 1,
                    title: 0,
                    closeBtn: 0,
                    resize: !1,
                    skin: "backgorund-none",
                    area: ["1000px", "700px !important"],
                    content: $("#allDialog").html(),
                    success: function (i) {
                        animation(".animations");
                        var a = new Swiper("#all_dialog #test-container", {
                            onSlideChangeEnd: function (e) {
                                var t = e.activeIndex,
                                    n = e.activeIndex + 1;
                                $("#all_dialog .testNav-list").find(".or" + t).addClass("activeImg"), $("#all_dialog .testNav-list").find(".line" + t).addClass("active"), $("#all_dialog .testNav-list").find(".or" + n).addClass("active")
                            }
                        });
                        $("#all_dialog .start-bt").click((function () {
                            $(this).css("opacity", 0), $("#all_dialog .show-msg").css("opacity", 0), $("#all_dialog .test-container").css("z-index", 1), setTimeout((function () {
                                $("#all_dialog .start-bt").css("z-index", -1), $("#all_dialog .show-msg").css("z-index", -1), $("#all_dialog .test-container").css("opacity", 1)
                            }), 500)
                        })), $("#all_dialog .test-container .swiper-slide .select div").each((function () {
                            $(this).click((function () {
                                if ($(this).parent().hasClass("select2")) {
                                    if ($(this).parent().hasClass("area") ? ($(this).parent().children().removeClass("active"), $(this).addClass("active"), t = $(this).attr("data-val")) : n = $(this).attr("data-val"), t && n) {
                                        var e = t + " / " + n;
                                        $("#all_dialog #area").val(t.slice(0, 3)), $("#all_dialog #styleHouseType").val(n), $(".house-area").html(e), Array.isArray(a) ? (a[0].slideNext(), a[1].slideNext()) : a.slideNext(), $(this).parents(".swiper-slide").attr("data-val", $(this).attr("data-val"))
                                    }
                                } else {
                                    e = $(this).attr("data-val");
                                    $("#all_dialog .testNav-msg>span") && ($("#all_dialog .testNav-msg>span").eq(0).text(e), $("#all_dialog #ranovationStyle").val(e)), $(".style-type").html(e), Array.isArray(a) ? (a[0].slideNext(), a[1].slideNext()) : a.slideNext(), $(this).parents(".swiper-slide").attr("data-val", $(this).attr("data-val"))
                                }
                            }))
                        })), $(document).on("click", "#all_dialog .or", (function () {
                            if ($(this).hasClass("active")) {
                                var e = $(this).attr("data-key");
                                Array.isArray(a) ? (a[0].slideTo(e), a[1].slideTo(e)) : a.slideTo(e)
                            }
                        })), animation(".icon-arrow-animation-price"), $(i).find(".close").click((function () {
                            layer.closeAll(), setStorage("dialog", r + "," + e)
                        }))
                    }
                })
            }), 4e4)
        },
        judgeZt: function (e, t, n) {
            if (t && (e.includes("/zt/") || e.includes("/page/"))) {
                var r = document.createElement("script");
                r.type = "text/javascript", r.src = t, $("head").append(r)
            }
        }
    }, WEBG.ini();
    var _unused_webpack_default_export = WEBG
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var r = {
        react: !0,
        assertNode: !0,
        createTypeAnnotationBasedOnTypeof: !0,
        createUnionTypeAnnotation: !0,
        createFlowUnionType: !0,
        createTSUnionType: !0,
        cloneNode: !0,
        clone: !0,
        cloneDeep: !0,
        cloneDeepWithoutLoc: !0,
        cloneWithoutLoc: !0,
        addComment: !0,
        addComments: !0,
        inheritInnerComments: !0,
        inheritLeadingComments: !0,
        inheritsComments: !0,
        inheritTrailingComments: !0,
        removeComments: !0,
        ensureBlock: !0,
        toBindingIdentifierName: !0,
        toBlock: !0,
        toComputedKey: !0,
        toExpression: !0,
        toIdentifier: !0,
        toKeyAlias: !0,
        toSequenceExpression: !0,
        toStatement: !0,
        valueToNode: !0,
        appendToMemberExpression: !0,
        inherits: !0,
        prependToMemberExpression: !0,
        removeProperties: !0,
        removePropertiesDeep: !0,
        removeTypeDuplicates: !0,
        getBindingIdentifiers: !0,
        getOuterBindingIdentifiers: !0,
        traverse: !0,
        traverseFast: !0,
        shallowEqual: !0,
        is: !0,
        isBinding: !0,
        isBlockScoped: !0,
        isImmutable: !0,
        isLet: !0,
        isNode: !0,
        isNodesEquivalent: !0,
        isPlaceholderType: !0,
        isReferenced: !0,
        isScope: !0,
        isSpecifierDefault: !0,
        isType: !0,
        isValidES3Identifier: !0,
        isValidIdentifier: !0,
        isVar: !0,
        matchesPattern: !0,
        validate: !0,
        buildMatchMemberExpression: !0
    };
    Object.defineProperty(t, "assertNode", {
        enumerable: !0,
        get: function () {
            return s.default
        }
    }), Object.defineProperty(t, "createTypeAnnotationBasedOnTypeof", {
        enumerable: !0,
        get: function () {
            return u.default
        }
    }), Object.defineProperty(t, "createUnionTypeAnnotation", {
        enumerable: !0,
        get: function () {
            return c.default
        }
    }), Object.defineProperty(t, "createFlowUnionType", {
        enumerable: !0,
        get: function () {
            return c.default
        }
    }), Object.defineProperty(t, "createTSUnionType", {
        enumerable: !0,
        get: function () {
            return f.default
        }
    }), Object.defineProperty(t, "cloneNode", {
        enumerable: !0,
        get: function () {
            return d.default
        }
    }), Object.defineProperty(t, "clone", {
        enumerable: !0,
        get: function () {
            return y.default
        }
    }), Object.defineProperty(t, "cloneDeep", {
        enumerable: !0,
        get: function () {
            return T.default
        }
    }), Object.defineProperty(t, "cloneDeepWithoutLoc", {
        enumerable: !0,
        get: function () {
            return m.default
        }
    }), Object.defineProperty(t, "cloneWithoutLoc", {
        enumerable: !0,
        get: function () {
            return S.default
        }
    }), Object.defineProperty(t, "addComment", {
        enumerable: !0,
        get: function () {
            return v.default
        }
    }), Object.defineProperty(t, "addComments", {
        enumerable: !0,
        get: function () {
            return E.default
        }
    }), Object.defineProperty(t, "inheritInnerComments", {
        enumerable: !0,
        get: function () {
            return b.default
        }
    }), Object.defineProperty(t, "inheritLeadingComments", {
        enumerable: !0,
        get: function () {
            return h.default
        }
    }), Object.defineProperty(t, "inheritsComments", {
        enumerable: !0,
        get: function () {
            return x.default
        }
    }), Object.defineProperty(t, "inheritTrailingComments", {
        enumerable: !0,
        get: function () {
            return P.default
        }
    }), Object.defineProperty(t, "removeComments", {
        enumerable: !0,
        get: function () {
            return g.default
        }
    }), Object.defineProperty(t, "ensureBlock", {
        enumerable: !0,
        get: function () {
            return _.default
        }
    }), Object.defineProperty(t, "toBindingIdentifierName", {
        enumerable: !0,
        get: function () {
            return I.default
        }
    }), Object.defineProperty(t, "toBlock", {
        enumerable: !0,
        get: function () {
            return D.default
        }
    }), Object.defineProperty(t, "toComputedKey", {
        enumerable: !0,
        get: function () {
            return N.default
        }
    }), Object.defineProperty(t, "toExpression", {
        enumerable: !0,
        get: function () {
            return w.default
        }
    }), Object.defineProperty(t, "toIdentifier", {
        enumerable: !0,
        get: function () {
            return j.default
        }
    }), Object.defineProperty(t, "toKeyAlias", {
        enumerable: !0,
        get: function () {
            return L.default
        }
    }), Object.defineProperty(t, "toSequenceExpression", {
        enumerable: !0,
        get: function () {
            return C.default
        }
    }), Object.defineProperty(t, "toStatement", {
        enumerable: !0,
        get: function () {
            return M.default
        }
    }), Object.defineProperty(t, "valueToNode", {
        enumerable: !0,
        get: function () {
            return B.default
        }
    }), Object.defineProperty(t, "appendToMemberExpression", {
        enumerable: !0,
        get: function () {
            return R.default
        }
    }), Object.defineProperty(t, "inherits", {
        enumerable: !0,
        get: function () {
            return k.default
        }
    }), Object.defineProperty(t, "prependToMemberExpression", {
        enumerable: !0,
        get: function () {
            return K.default
        }
    }), Object.defineProperty(t, "removeProperties", {
        enumerable: !0,
        get: function () {
            return Y.default
        }
    }), Object.defineProperty(t, "removePropertiesDeep", {
        enumerable: !0,
        get: function () {
            return $.default
        }
    }), Object.defineProperty(t, "removeTypeDuplicates", {
        enumerable: !0,
        get: function () {
            return V.default
        }
    }), Object.defineProperty(t, "getBindingIdentifiers", {
        enumerable: !0,
        get: function () {
            return X.default
        }
    }), Object.defineProperty(t, "getOuterBindingIdentifiers", {
        enumerable: !0,
        get: function () {
            return J.default
        }
    }), Object.defineProperty(t, "traverse", {
        enumerable: !0,
        get: function () {
            return U.default
        }
    }), Object.defineProperty(t, "traverseFast", {
        enumerable: !0,
        get: function () {
            return q.default
        }
    }), Object.defineProperty(t, "shallowEqual", {
        enumerable: !0,
        get: function () {
            return W.default
        }
    }), Object.defineProperty(t, "is", {
        enumerable: !0,
        get: function () {
            return z.default
        }
    }), Object.defineProperty(t, "isBinding", {
        enumerable: !0,
        get: function () {
            return G.default
        }
    }), Object.defineProperty(t, "isBlockScoped", {
        enumerable: !0,
        get: function () {
            return H.default
        }
    }), Object.defineProperty(t, "isImmutable", {
        enumerable: !0,
        get: function () {
            return Q.default
        }
    }), Object.defineProperty(t, "isLet", {
        enumerable: !0,
        get: function () {
            return Z.default
        }
    }), Object.defineProperty(t, "isNode", {
        enumerable: !0,
        get: function () {
            return ee.default
        }
    }), Object.defineProperty(t, "isNodesEquivalent", {
        enumerable: !0,
        get: function () {
            return te.default
        }
    }), Object.defineProperty(t, "isPlaceholderType", {
        enumerable: !0,
        get: function () {
            return ne.default
        }
    }), Object.defineProperty(t, "isReferenced", {
        enumerable: !0,
        get: function () {
            return re.default
        }
    }), Object.defineProperty(t, "isScope", {
        enumerable: !0,
        get: function () {
            return ie.default
        }
    }), Object.defineProperty(t, "isSpecifierDefault", {
        enumerable: !0,
        get: function () {
            return ae.default
        }
    }), Object.defineProperty(t, "isType", {
        enumerable: !0,
        get: function () {
            return oe.default
        }
    }), Object.defineProperty(t, "isValidES3Identifier", {
        enumerable: !0,
        get: function () {
            return se.default
        }
    }), Object.defineProperty(t, "isValidIdentifier", {
        enumerable: !0,
        get: function () {
            return le.default
        }
    }), Object.defineProperty(t, "isVar", {
        enumerable: !0,
        get: function () {
            return ue.default
        }
    }), Object.defineProperty(t, "matchesPattern", {
        enumerable: !0,
        get: function () {
            return ce.default
        }
    }), Object.defineProperty(t, "validate", {
        enumerable: !0,
        get: function () {
            return fe.default
        }
    }), Object.defineProperty(t, "buildMatchMemberExpression", {
        enumerable: !0,
        get: function () {
            return pe.default
        }
    }), t.react = void 0;
    var i = ye(n(85)),
        a = ye(n(86)),
        o = ye(n(87)),
        s = ye(n(170)),
        l = n(171);
    Object.keys(l).forEach((function (e) {
        "default" !== e && "__esModule" !== e && (Object.prototype.hasOwnProperty.call(r, e) || e in t && t[e] === l[e] || Object.defineProperty(t, e, {
            enumerable: !0,
            get: function () {
                return l[e]
            }
        }))
    }));
    var u = ye(n(172)),
        c = ye(n(173)),
        f = ye(n(174)),
        p = n(2);
    Object.keys(p).forEach((function (e) {
        "default" !== e && "__esModule" !== e && (Object.prototype.hasOwnProperty.call(r, e) || e in t && t[e] === p[e] || Object.defineProperty(t, e, {
            enumerable: !0,
            get: function () {
                return p[e]
            }
        }))
    }));
    var d = ye(n(10)),
        y = ye(n(176)),
        T = ye(n(177)),
        m = ye(n(178)),
        S = ye(n(179)),
        v = ye(n(180)),
        E = ye(n(63)),
        b = ye(n(64)),
        h = ye(n(65)),
        x = ye(n(66)),
        P = ye(n(67)),
        g = ye(n(181)),
        A = n(182);
    Object.keys(A).forEach((function (e) {
        "default" !== e && "__esModule" !== e && (Object.prototype.hasOwnProperty.call(r, e) || e in t && t[e] === A[e] || Object.defineProperty(t, e, {
            enumerable: !0,
            get: function () {
                return A[e]
            }
        }))
    }));
    var O = n(9);
    Object.keys(O).forEach((function (e) {
        "default" !== e && "__esModule" !== e && (Object.prototype.hasOwnProperty.call(r, e) || e in t && t[e] === O[e] || Object.defineProperty(t, e, {
            enumerable: !0,
            get: function () {
                return O[e]
            }
        }))
    }));
    var _ = ye(n(183)),
        I = ye(n(184)),
        D = ye(n(68)),
        N = ye(n(185)),
        w = ye(n(186)),
        j = ye(n(69)),
        L = ye(n(187)),
        C = ye(n(188)),
        M = ye(n(190)),
        B = ye(n(191)),
        F = n(3);
    Object.keys(F).forEach((function (e) {
        "default" !== e && "__esModule" !== e && (Object.prototype.hasOwnProperty.call(r, e) || e in t && t[e] === F[e] || Object.defineProperty(t, e, {
            enumerable: !0,
            get: function () {
                return F[e]
            }
        }))
    }));
    var R = ye(n(195)),
        k = ye(n(196)),
        K = ye(n(197)),
        Y = ye(n(72)),
        $ = ye(n(70)),
        V = ye(n(62)),
        X = ye(n(24)),
        J = ye(n(198)),
        U = ye(n(199)),
        q = ye(n(71)),
        W = ye(n(25)),
        z = ye(n(23)),
        G = ye(n(200)),
        H = ye(n(201)),
        Q = ye(n(202)),
        Z = ye(n(73)),
        ee = ye(n(61)),
        te = ye(n(203)),
        ne = ye(n(58)),
        re = ye(n(204)),
        ie = ye(n(205)),
        ae = ye(n(206)),
        oe = ye(n(38)),
        se = ye(n(207)),
        le = ye(n(14)),
        ue = ye(n(208)),
        ce = ye(n(42)),
        fe = ye(n(39)),
        pe = ye(n(41)),
        de = n(0);

    function ye(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.keys(de).forEach((function (e) {
        "default" !== e && "__esModule" !== e && (Object.prototype.hasOwnProperty.call(r, e) || e in t && t[e] === de[e] || Object.defineProperty(t, e, {
            enumerable: !0,
            get: function () {
                return de[e]
            }
        }))
    }));
    const Te = {
        isReactComponent: i.default,
        isCompatTag: a.default,
        buildChildren: o.default
    };
    t.react = Te
}, function (e, t, n) {
    "use strict";
    var r;
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = void 0;
    var i = (0, ((r = n(41)) && r.__esModule ? r : {
        default: r
    }).default)("React.Component");
    t.default = i
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        return !!e && /^[a-z]/.test(e)
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        const t = [];
        for (let n = 0; n < e.children.length; n++) {
            let r = e.children[n];
            (0, i.isJSXText)(r) ? (0, a.default)(r, t) : ((0, i.isJSXExpressionContainer)(r) && (r = r.expression), (0, i.isJSXEmptyExpression)(r) || t.push(r))
        }
        return t
    };
    var r, i = n(0),
        a = (r = n(88)) && r.__esModule ? r : {
            default: r
        }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        const n = e.value.split(/\r\n|\n|\r/);
        let i = 0;
        for (let e = 0; e < n.length; e++) n[e].match(/[^ \t]/) && (i = e);
        let a = "";
        for (let e = 0; e < n.length; e++) {
            const t = n[e],
                r = 0 === e,
                o = e === n.length - 1,
                s = e === i;
            let l = t.replace(/\t/g, " ");
            r || (l = l.replace(/^[ ]+/, "")), o || (l = l.replace(/[ ]+$/, "")), l && (s || (l += " "), a += l)
        }
        a && t.push((0, r.stringLiteral)(a))
    };
    var r = n(2)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, ...t) {
        const n = i.BUILDER_KEYS[e],
            o = t.length;
        if (o > n.length) throw new Error(`${e}: Too many arguments passed. Received ${o} but can receive no more than ${n.length}`);
        const s = {
            type: e
        };
        let l = 0;
        n.forEach(n => {
            const a = i.NODE_FIELDS[e][n];
            let u;
            l < o && (u = t[l]), void 0 === u && (u = (0, r.default)(a.default)), s[n] = u, l++
        });
        for (const e of Object.keys(s))(0, a.default)(s, e, s[e]);
        return s
    };
    var r = o(n(90)),
        i = n(3),
        a = o(n(39));

    function o(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
}, function (e, t, n) {
    var r = n(91);
    e.exports = function (e) {
        return r(e, 4)
    }
}, function (e, t, n) {
    var r = n(92),
        i = n(123),
        a = n(47),
        o = n(125),
        s = n(135),
        l = n(138),
        u = n(139),
        c = n(140),
        f = n(142),
        p = n(143),
        d = n(144),
        y = n(35),
        T = n(149),
        m = n(150),
        S = n(156),
        v = n(29),
        E = n(50),
        b = n(158),
        h = n(13),
        x = n(160),
        P = n(28),
        g = n(32),
        A = {};
    A["[object Arguments]"] = A["[object Array]"] = A["[object ArrayBuffer]"] = A["[object DataView]"] = A["[object Boolean]"] = A["[object Date]"] = A["[object Float32Array]"] = A["[object Float64Array]"] = A["[object Int8Array]"] = A["[object Int16Array]"] = A["[object Int32Array]"] = A["[object Map]"] = A["[object Number]"] = A["[object Object]"] = A["[object RegExp]"] = A["[object Set]"] = A["[object String]"] = A["[object Symbol]"] = A["[object Uint8Array]"] = A["[object Uint8ClampedArray]"] = A["[object Uint16Array]"] = A["[object Uint32Array]"] = !0, A["[object Error]"] = A["[object Function]"] = A["[object WeakMap]"] = !1, e.exports = function e(t, n, O, _, I, D) {
        var N, w = 1 & n,
            j = 2 & n,
            L = 4 & n;
        if (O && (N = I ? O(t, _, I, D) : O(t)), void 0 !== N) return N;
        if (!h(t)) return t;
        var C = v(t);
        if (C) {
            if (N = T(t), !w) return u(t, N)
        } else {
            var M = y(t),
                B = "[object Function]" == M || "[object GeneratorFunction]" == M;
            if (E(t)) return l(t, w);
            if ("[object Object]" == M || "[object Arguments]" == M || B && !I) {
                if (N = j || B ? {} : S(t), !w) return j ? f(t, s(N, t)) : c(t, o(N, t))
            } else {
                if (!A[M]) return I ? t : {};
                N = m(t, M, w)
            }
        }
        D || (D = new r);
        var F = D.get(t);
        if (F) return F;
        D.set(t, N), x(t) ? t.forEach((function (r) {
            N.add(e(r, n, O, r, t, D))
        })) : b(t) && t.forEach((function (r, i) {
            N.set(i, e(r, n, O, i, t, D))
        }));
        var R = C ? void 0 : (L ? j ? d : p : j ? g : P)(t);
        return i(R || t, (function (r, i) {
            R && (r = t[i = r]), a(N, i, e(r, n, O, i, t, D))
        })), N
    }
}, function (e, t, n) {
    var r = n(15),
        i = n(98),
        a = n(99),
        o = n(100),
        s = n(101),
        l = n(102);

    function u(e) {
        var t = this.__data__ = new r(e);
        this.size = t.size
    }
    u.prototype.clear = i, u.prototype.delete = a, u.prototype.get = o, u.prototype.has = s, u.prototype.set = l, e.exports = u
}, function (e, t) {
    e.exports = function () {
        this.__data__ = [], this.size = 0
    }
}, function (e, t, n) {
    var r = n(16),
        i = Array.prototype.splice;
    e.exports = function (e) {
        var t = this.__data__,
            n = r(t, e);
        return !(n < 0) && (n == t.length - 1 ? t.pop() : i.call(t, n, 1), --this.size, !0)
    }
}, function (e, t, n) {
    var r = n(16);
    e.exports = function (e) {
        var t = this.__data__,
            n = r(t, e);
        return n < 0 ? void 0 : t[n][1]
    }
}, function (e, t, n) {
    var r = n(16);
    e.exports = function (e) {
        return r(this.__data__, e) > -1
    }
}, function (e, t, n) {
    var r = n(16);
    e.exports = function (e, t) {
        var n = this.__data__,
            i = r(n, e);
        return i < 0 ? (++this.size, n.push([e, t])) : n[i][1] = t, this
    }
}, function (e, t, n) {
    var r = n(15);
    e.exports = function () {
        this.__data__ = new r, this.size = 0
    }
}, function (e, t) {
    e.exports = function (e) {
        var t = this.__data__,
            n = t.delete(e);
        return this.size = t.size, n
    }
}, function (e, t) {
    e.exports = function (e) {
        return this.__data__.get(e)
    }
}, function (e, t) {
    e.exports = function (e) {
        return this.__data__.has(e)
    }
}, function (e, t, n) {
    var r = n(15),
        i = n(26),
        a = n(110);
    e.exports = function (e, t) {
        var n = this.__data__;
        if (n instanceof r) {
            var o = n.__data__;
            if (!i || o.length < 199) return o.push([e, t]), this.size = ++n.size, this;
            n = this.__data__ = new a(o)
        }
        return n.set(e, t), this.size = n.size, this
    }
}, function (e, t, n) {
    var r = n(44),
        i = n(107),
        a = n(13),
        o = n(46),
        s = /^\[object .+?Constructor\]$/,
        l = Function.prototype,
        u = Object.prototype,
        c = l.toString,
        f = u.hasOwnProperty,
        p = RegExp("^" + c.call(f).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
    e.exports = function (e) {
        return !(!a(e) || i(e)) && (r(e) ? p : s).test(o(e))
    }
}, function (e, t) {
    var n;
    n = function () {
        return this
    }();
    try {
        n = n || new Function("return this")()
    } catch (e) {
        "object" == typeof window && (n = window)
    }
    e.exports = n
}, function (e, t, n) {
    var r = n(27),
        i = Object.prototype,
        a = i.hasOwnProperty,
        o = i.toString,
        s = r ? r.toStringTag : void 0;
    e.exports = function (e) {
        var t = a.call(e, s),
            n = e[s];
        try {
            e[s] = void 0;
            var r = !0
        } catch (e) {}
        var i = o.call(e);
        return r && (t ? e[s] = n : delete e[s]), i
    }
}, function (e, t) {
    var n = Object.prototype.toString;
    e.exports = function (e) {
        return n.call(e)
    }
}, function (e, t, n) {
    var r, i = n(108),
        a = (r = /[^.]+$/.exec(i && i.keys && i.keys.IE_PROTO || "")) ? "Symbol(src)_1." + r : "";
    e.exports = function (e) {
        return !!a && a in e
    }
}, function (e, t, n) {
    var r = n(4)["__core-js_shared__"];
    e.exports = r
}, function (e, t) {
    e.exports = function (e, t) {
        return null == e ? void 0 : e[t]
    }
}, function (e, t, n) {
    var r = n(111),
        i = n(118),
        a = n(120),
        o = n(121),
        s = n(122);

    function l(e) {
        var t = -1,
            n = null == e ? 0 : e.length;
        for (this.clear(); ++t < n;) {
            var r = e[t];
            this.set(r[0], r[1])
        }
    }
    l.prototype.clear = r, l.prototype.delete = i, l.prototype.get = a, l.prototype.has = o, l.prototype.set = s, e.exports = l
}, function (e, t, n) {
    var r = n(112),
        i = n(15),
        a = n(26);
    e.exports = function () {
        this.size = 0, this.__data__ = {
            hash: new r,
            map: new(a || i),
            string: new r
        }
    }
}, function (e, t, n) {
    var r = n(113),
        i = n(114),
        a = n(115),
        o = n(116),
        s = n(117);

    function l(e) {
        var t = -1,
            n = null == e ? 0 : e.length;
        for (this.clear(); ++t < n;) {
            var r = e[t];
            this.set(r[0], r[1])
        }
    }
    l.prototype.clear = r, l.prototype.delete = i, l.prototype.get = a, l.prototype.has = o, l.prototype.set = s, e.exports = l
}, function (e, t, n) {
    var r = n(17);
    e.exports = function () {
        this.__data__ = r ? r(null) : {}, this.size = 0
    }
}, function (e, t) {
    e.exports = function (e) {
        var t = this.has(e) && delete this.__data__[e];
        return this.size -= t ? 1 : 0, t
    }
}, function (e, t, n) {
    var r = n(17),
        i = Object.prototype.hasOwnProperty;
    e.exports = function (e) {
        var t = this.__data__;
        if (r) {
            var n = t[e];
            return "__lodash_hash_undefined__" === n ? void 0 : n
        }
        return i.call(t, e) ? t[e] : void 0
    }
}, function (e, t, n) {
    var r = n(17),
        i = Object.prototype.hasOwnProperty;
    e.exports = function (e) {
        var t = this.__data__;
        return r ? void 0 !== t[e] : i.call(t, e)
    }
}, function (e, t, n) {
    var r = n(17);
    e.exports = function (e, t) {
        var n = this.__data__;
        return this.size += this.has(e) ? 0 : 1, n[e] = r && void 0 === t ? "__lodash_hash_undefined__" : t, this
    }
}, function (e, t, n) {
    var r = n(18);
    e.exports = function (e) {
        var t = r(this, e).delete(e);
        return this.size -= t ? 1 : 0, t
    }
}, function (e, t) {
    e.exports = function (e) {
        var t = typeof e;
        return "string" == t || "number" == t || "symbol" == t || "boolean" == t ? "__proto__" !== e : null === e
    }
}, function (e, t, n) {
    var r = n(18);
    e.exports = function (e) {
        return r(this, e).get(e)
    }
}, function (e, t, n) {
    var r = n(18);
    e.exports = function (e) {
        return r(this, e).has(e)
    }
}, function (e, t, n) {
    var r = n(18);
    e.exports = function (e, t) {
        var n = r(this, e),
            i = n.size;
        return n.set(e, t), this.size += n.size == i ? 0 : 1, this
    }
}, function (e, t) {
    e.exports = function (e, t) {
        for (var n = -1, r = null == e ? 0 : e.length; ++n < r && !1 !== t(e[n], n, e););
        return e
    }
}, function (e, t, n) {
    var r = n(7),
        i = function () {
            try {
                var e = r(Object, "defineProperty");
                return e({}, "", {}), e
            } catch (e) {}
        }();
    e.exports = i
}, function (e, t, n) {
    var r = n(19),
        i = n(28);
    e.exports = function (e, t) {
        return e && r(t, i(t), e)
    }
}, function (e, t) {
    e.exports = function (e, t) {
        for (var n = -1, r = Array(e); ++n < e;) r[n] = t(n);
        return r
    }
}, function (e, t, n) {
    var r = n(128),
        i = n(8),
        a = Object.prototype,
        o = a.hasOwnProperty,
        s = a.propertyIsEnumerable,
        l = r(function () {
            return arguments
        }()) ? r : function (e) {
            return i(e) && o.call(e, "callee") && !s.call(e, "callee")
        };
    e.exports = l
}, function (e, t, n) {
    var r = n(12),
        i = n(8);
    e.exports = function (e) {
        return i(e) && "[object Arguments]" == r(e)
    }
}, function (e, t) {
    e.exports = function () {
        return !1
    }
}, function (e, t) {
    var n = /^(?:0|[1-9]\d*)$/;
    e.exports = function (e, t) {
        var r = typeof e;
        return !!(t = null == t ? 9007199254740991 : t) && ("number" == r || "symbol" != r && n.test(e)) && e > -1 && e % 1 == 0 && e < t
    }
}, function (e, t, n) {
    var r = n(132),
        i = n(20),
        a = n(21),
        o = a && a.isTypedArray,
        s = o ? i(o) : r;
    e.exports = s
}, function (e, t, n) {
    var r = n(12),
        i = n(51),
        a = n(8),
        o = {};
    o["[object Float32Array]"] = o["[object Float64Array]"] = o["[object Int8Array]"] = o["[object Int16Array]"] = o["[object Int32Array]"] = o["[object Uint8Array]"] = o["[object Uint8ClampedArray]"] = o["[object Uint16Array]"] = o["[object Uint32Array]"] = !0, o["[object Arguments]"] = o["[object Array]"] = o["[object ArrayBuffer]"] = o["[object Boolean]"] = o["[object DataView]"] = o["[object Date]"] = o["[object Error]"] = o["[object Function]"] = o["[object Map]"] = o["[object Number]"] = o["[object Object]"] = o["[object RegExp]"] = o["[object Set]"] = o["[object String]"] = o["[object WeakMap]"] = !1, e.exports = function (e) {
        return a(e) && i(e.length) && !!o[r(e)]
    }
}, function (e, t, n) {
    var r = n(31),
        i = n(134),
        a = Object.prototype.hasOwnProperty;
    e.exports = function (e) {
        if (!r(e)) return i(e);
        var t = [];
        for (var n in Object(e)) a.call(e, n) && "constructor" != n && t.push(n);
        return t
    }
}, function (e, t, n) {
    var r = n(52)(Object.keys, Object);
    e.exports = r
}, function (e, t, n) {
    var r = n(19),
        i = n(32);
    e.exports = function (e, t) {
        return e && r(t, i(t), e)
    }
}, function (e, t, n) {
    var r = n(13),
        i = n(31),
        a = n(137),
        o = Object.prototype.hasOwnProperty;
    e.exports = function (e) {
        if (!r(e)) return a(e);
        var t = i(e),
            n = [];
        for (var s in e)("constructor" != s || !t && o.call(e, s)) && n.push(s);
        return n
    }
}, function (e, t) {
    e.exports = function (e) {
        var t = [];
        if (null != e)
            for (var n in Object(e)) t.push(n);
        return t
    }
}, function (e, t, n) {
    (function (e) {
        var r = n(4),
            i = t && !t.nodeType && t,
            a = i && "object" == typeof e && e && !e.nodeType && e,
            o = a && a.exports === i ? r.Buffer : void 0,
            s = o ? o.allocUnsafe : void 0;
        e.exports = function (e, t) {
            if (t) return e.slice();
            var n = e.length,
                r = s ? s(n) : new e.constructor(n);
            return e.copy(r), r
        }
    }).call(this, n(30)(e))
}, function (e, t) {
    e.exports = function (e, t) {
        var n = -1,
            r = e.length;
        for (t || (t = Array(r)); ++n < r;) t[n] = e[n];
        return t
    }
}, function (e, t, n) {
    var r = n(19),
        i = n(33);
    e.exports = function (e, t) {
        return r(e, i(e), t)
    }
}, function (e, t) {
    e.exports = function (e, t) {
        for (var n = -1, r = null == e ? 0 : e.length, i = 0, a = []; ++n < r;) {
            var o = e[n];
            t(o, n, e) && (a[i++] = o)
        }
        return a
    }
}, function (e, t, n) {
    var r = n(19),
        i = n(55);
    e.exports = function (e, t) {
        return r(e, i(e), t)
    }
}, function (e, t, n) {
    var r = n(57),
        i = n(33),
        a = n(28);
    e.exports = function (e) {
        return r(e, a, i)
    }
}, function (e, t, n) {
    var r = n(57),
        i = n(55),
        a = n(32);
    e.exports = function (e) {
        return r(e, a, i)
    }
}, function (e, t, n) {
    var r = n(7)(n(4), "DataView");
    e.exports = r
}, function (e, t, n) {
    var r = n(7)(n(4), "Promise");
    e.exports = r
}, function (e, t, n) {
    var r = n(7)(n(4), "Set");
    e.exports = r
}, function (e, t, n) {
    var r = n(7)(n(4), "WeakMap");
    e.exports = r
}, function (e, t) {
    var n = Object.prototype.hasOwnProperty;
    e.exports = function (e) {
        var t = e.length,
            r = new e.constructor(t);
        return t && "string" == typeof e[0] && n.call(e, "index") && (r.index = e.index, r.input = e.input), r
    }
}, function (e, t, n) {
    var r = n(36),
        i = n(152),
        a = n(153),
        o = n(154),
        s = n(155);
    e.exports = function (e, t, n) {
        var l = e.constructor;
        switch (t) {
            case "[object ArrayBuffer]":
                return r(e);
            case "[object Boolean]":
            case "[object Date]":
                return new l(+e);
            case "[object DataView]":
                return i(e, n);
            case "[object Float32Array]":
            case "[object Float64Array]":
            case "[object Int8Array]":
            case "[object Int16Array]":
            case "[object Int32Array]":
            case "[object Uint8Array]":
            case "[object Uint8ClampedArray]":
            case "[object Uint16Array]":
            case "[object Uint32Array]":
                return s(e, n);
            case "[object Map]":
                return new l;
            case "[object Number]":
            case "[object String]":
                return new l(e);
            case "[object RegExp]":
                return a(e);
            case "[object Set]":
                return new l;
            case "[object Symbol]":
                return o(e)
        }
    }
}, function (e, t, n) {
    var r = n(4).Uint8Array;
    e.exports = r
}, function (e, t, n) {
    var r = n(36);
    e.exports = function (e, t) {
        var n = t ? r(e.buffer) : e.buffer;
        return new e.constructor(n, e.byteOffset, e.byteLength)
    }
}, function (e, t) {
    var n = /\w*$/;
    e.exports = function (e) {
        var t = new e.constructor(e.source, n.exec(e));
        return t.lastIndex = e.lastIndex, t
    }
}, function (e, t, n) {
    var r = n(27),
        i = r ? r.prototype : void 0,
        a = i ? i.valueOf : void 0;
    e.exports = function (e) {
        return a ? Object(a.call(e)) : {}
    }
}, function (e, t, n) {
    var r = n(36);
    e.exports = function (e, t) {
        var n = t ? r(e.buffer) : e.buffer;
        return new e.constructor(n, e.byteOffset, e.length)
    }
}, function (e, t, n) {
    var r = n(157),
        i = n(34),
        a = n(31);
    e.exports = function (e) {
        return "function" != typeof e.constructor || a(e) ? {} : r(i(e))
    }
}, function (e, t, n) {
    var r = n(13),
        i = Object.create,
        a = function () {
            function e() {}
            return function (t) {
                if (!r(t)) return {};
                if (i) return i(t);
                e.prototype = t;
                var n = new e;
                return e.prototype = void 0, n
            }
        }();
    e.exports = a
}, function (e, t, n) {
    var r = n(159),
        i = n(20),
        a = n(21),
        o = a && a.isMap,
        s = o ? i(o) : r;
    e.exports = s
}, function (e, t, n) {
    var r = n(35),
        i = n(8);
    e.exports = function (e) {
        return i(e) && "[object Map]" == r(e)
    }
}, function (e, t, n) {
    var r = n(161),
        i = n(20),
        a = n(21),
        o = a && a.isSet,
        s = o ? i(o) : r;
    e.exports = s
}, function (e, t, n) {
    var r = n(35),
        i = n(8);
    e.exports = function (e) {
        return i(e) && "[object Set]" == r(e)
    }
}, function (e, t, n) {
    "use strict";
    let r = null;

    function i(e) {
        if (null !== r && (r.property, 1)) {
            const e = r;
            return r = i.prototype = null, e
        }
        return r = i.prototype = null == e ? Object.create(null) : e, new i
    }
    i(), e.exports = function (e) {
        return i(e)
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.isIdentifierStart = c, t.isIdentifierChar = f, t.isIdentifierName = function (e) {
        let t = !0;
        for (let n = 0, r = Array.from(e); n < r.length; n++) {
            const e = r[n].codePointAt(0);
            if (t) {
                if (!c(e)) return !1;
                t = !1
            } else if (!f(e)) return !1
        }
        return !t
    };
    let r = "ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ﬀ-ﬆﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼＡ-Ｚａ-ｚｦ-ﾾￂ-ￇￊ-ￏￒ-ￗￚ-ￜ",
        i = "‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏０-９＿";
    const a = new RegExp("[" + r + "]"),
        o = new RegExp("[" + r + i + "]");
    r = i = null;
    const s = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 107, 20, 28, 22, 13, 52, 76, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 230, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8952, 286, 50, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 2357, 44, 11, 6, 17, 0, 370, 43, 1301, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42717, 35, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938],
        l = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 419, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];

    function u(e, t) {
        let n = 65536;
        for (let r = 0, i = t.length; r < i; r += 2) {
            if (n += t[r], n > e) return !1;
            if (n += t[r + 1], n >= e) return !0
        }
        return !1
    }

    function c(e) {
        return e < 65 ? 36 === e : e <= 90 || (e < 97 ? 95 === e : e <= 122 || (e <= 65535 ? e >= 170 && a.test(String.fromCharCode(e)) : u(e, s)))
    }

    function f(e) {
        return e < 48 ? 36 === e : e < 58 || !(e < 65) && (e <= 90 || (e < 97 ? 95 === e : e <= 122 || (e <= 65535 ? e >= 170 && o.test(String.fromCharCode(e)) : u(e, s) || u(e, l))))
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.isReservedWord = l, t.isStrictReservedWord = u, t.isStrictBindOnlyReservedWord = c, t.isStrictBindReservedWord = function (e, t) {
        return u(e, t) || c(e)
    }, t.isKeyword = function (e) {
        return a.has(e)
    };
    const r = ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
        i = ["eval", "arguments"],
        a = new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"]),
        o = new Set(r),
        s = new Set(i);

    function l(e, t) {
        return t && "await" === e || "enum" === e
    }

    function u(e, t) {
        return l(e, t) || o.has(e)
    }

    function c(e) {
        return s.has(e)
    }
}, function (e, t, n) {
    "use strict";
    var r = function (e) {
        if (e && e.__esModule) return e;
        if (null === e || "object" != typeof e && "function" != typeof e) return {
            default: e
        };
        var t = i();
        if (t && t.has(e)) return t.get(e);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var a in e)
            if (Object.prototype.hasOwnProperty.call(e, a)) {
                var o = r ? Object.getOwnPropertyDescriptor(e, a) : null;
                o && (o.get || o.set) ? Object.defineProperty(n, a, o) : n[a] = e[a]
            } n.default = e, t && t.set(e, n);
        return n
    }(n(6));

    function i() {
        if ("function" != typeof WeakMap) return null;
        var e = new WeakMap;
        return i = function () {
            return e
        }, e
    }
    const a = (e, t = "TypeParameterDeclaration") => {
        (0, r.default)(e, {
            builder: ["id", "typeParameters", "extends", "body"],
            visitor: ["id", "typeParameters", "extends", "mixins", "implements", "body"],
            aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
            fields: {
                id: (0, r.validateType)("Identifier"),
                typeParameters: (0, r.validateOptionalType)(t),
                extends: (0, r.validateOptional)((0, r.arrayOfType)("InterfaceExtends")),
                mixins: (0, r.validateOptional)((0, r.arrayOfType)("InterfaceExtends")),
                implements: (0, r.validateOptional)((0, r.arrayOfType)("ClassImplements")),
                body: (0, r.validateType)("ObjectTypeAnnotation")
            }
        })
    };
    (0, r.default)("AnyTypeAnnotation", {
        aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
    }), (0, r.default)("ArrayTypeAnnotation", {
        visitor: ["elementType"],
        aliases: ["Flow", "FlowType"],
        fields: {
            elementType: (0, r.validateType)("FlowType")
        }
    }), (0, r.default)("BooleanTypeAnnotation", {
        aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
    }), (0, r.default)("BooleanLiteralTypeAnnotation", {
        builder: ["value"],
        aliases: ["Flow", "FlowType"],
        fields: {
            value: (0, r.validate)((0, r.assertValueType)("boolean"))
        }
    }), (0, r.default)("NullLiteralTypeAnnotation", {
        aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
    }), (0, r.default)("ClassImplements", {
        visitor: ["id", "typeParameters"],
        aliases: ["Flow"],
        fields: {
            id: (0, r.validateType)("Identifier"),
            typeParameters: (0, r.validateOptionalType)("TypeParameterInstantiation")
        }
    }), a("DeclareClass"), (0, r.default)("DeclareFunction", {
        visitor: ["id"],
        aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
        fields: {
            id: (0, r.validateType)("Identifier"),
            predicate: (0, r.validateOptionalType)("DeclaredPredicate")
        }
    }), a("DeclareInterface"), (0, r.default)("DeclareModule", {
        builder: ["id", "body", "kind"],
        visitor: ["id", "body"],
        aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
        fields: {
            id: (0, r.validateType)(["Identifier", "StringLiteral"]),
            body: (0, r.validateType)("BlockStatement"),
            kind: (0, r.validateOptional)((0, r.assertOneOf)("CommonJS", "ES"))
        }
    }), (0, r.default)("DeclareModuleExports", {
        visitor: ["typeAnnotation"],
        aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
        fields: {
            typeAnnotation: (0, r.validateType)("TypeAnnotation")
        }
    }), (0, r.default)("DeclareTypeAlias", {
        visitor: ["id", "typeParameters", "right"],
        aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
        fields: {
            id: (0, r.validateType)("Identifier"),
            typeParameters: (0, r.validateOptionalType)("TypeParameterDeclaration"),
            right: (0, r.validateType)("FlowType")
        }
    }), (0, r.default)("DeclareOpaqueType", {
        visitor: ["id", "typeParameters", "supertype"],
        aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
        fields: {
            id: (0, r.validateType)("Identifier"),
            typeParameters: (0, r.validateOptionalType)("TypeParameterDeclaration"),
            supertype: (0, r.validateOptionalType)("FlowType")
        }
    }), (0, r.default)("DeclareVariable", {
        visitor: ["id"],
        aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
        fields: {
            id: (0, r.validateType)("Identifier")
        }
    }), (0, r.default)("DeclareExportDeclaration", {
        visitor: ["declaration", "specifiers", "source"],
        aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
        fields: {
            declaration: (0, r.validateOptionalType)("Flow"),
            specifiers: (0, r.validateOptional)((0, r.arrayOfType)(["ExportSpecifier", "ExportNamespaceSpecifier"])),
            source: (0, r.validateOptionalType)("StringLiteral"),
            default: (0, r.validateOptional)((0, r.assertValueType)("boolean"))
        }
    }), (0, r.default)("DeclareExportAllDeclaration", {
        visitor: ["source"],
        aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
        fields: {
            source: (0, r.validateType)("StringLiteral"),
            exportKind: (0, r.validateOptional)((0, r.assertOneOf)("type", "value"))
        }
    }), (0, r.default)("DeclaredPredicate", {
        visitor: ["value"],
        aliases: ["Flow", "FlowPredicate"],
        fields: {
            value: (0, r.validateType)("Flow")
        }
    }), (0, r.default)("ExistsTypeAnnotation", {
        aliases: ["Flow", "FlowType"]
    }), (0, r.default)("FunctionTypeAnnotation", {
        visitor: ["typeParameters", "params", "rest", "returnType"],
        aliases: ["Flow", "FlowType"],
        fields: {
            typeParameters: (0, r.validateOptionalType)("TypeParameterDeclaration"),
            params: (0, r.validate)((0, r.arrayOfType)("FunctionTypeParam")),
            rest: (0, r.validateOptionalType)("FunctionTypeParam"),
            returnType: (0, r.validateType)("FlowType")
        }
    }), (0, r.default)("FunctionTypeParam", {
        visitor: ["name", "typeAnnotation"],
        aliases: ["Flow"],
        fields: {
            name: (0, r.validateOptionalType)("Identifier"),
            typeAnnotation: (0, r.validateType)("FlowType"),
            optional: (0, r.validateOptional)((0, r.assertValueType)("boolean"))
        }
    }), (0, r.default)("GenericTypeAnnotation", {
        visitor: ["id", "typeParameters"],
        aliases: ["Flow", "FlowType"],
        fields: {
            id: (0, r.validateType)(["Identifier", "QualifiedTypeIdentifier"]),
            typeParameters: (0, r.validateOptionalType)("TypeParameterInstantiation")
        }
    }), (0, r.default)("InferredPredicate", {
        aliases: ["Flow", "FlowPredicate"]
    }), (0, r.default)("InterfaceExtends", {
        visitor: ["id", "typeParameters"],
        aliases: ["Flow"],
        fields: {
            id: (0, r.validateType)(["Identifier", "QualifiedTypeIdentifier"]),
            typeParameters: (0, r.validateOptionalType)("TypeParameterInstantiation")
        }
    }), a("InterfaceDeclaration"), (0, r.default)("InterfaceTypeAnnotation", {
        visitor: ["extends", "body"],
        aliases: ["Flow", "FlowType"],
        fields: {
            extends: (0, r.validateOptional)((0, r.arrayOfType)("InterfaceExtends")),
            body: (0, r.validateType)("ObjectTypeAnnotation")
        }
    }), (0, r.default)("IntersectionTypeAnnotation", {
        visitor: ["types"],
        aliases: ["Flow", "FlowType"],
        fields: {
            types: (0, r.validate)((0, r.arrayOfType)("FlowType"))
        }
    }), (0, r.default)("MixedTypeAnnotation", {
        aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
    }), (0, r.default)("EmptyTypeAnnotation", {
        aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
    }), (0, r.default)("NullableTypeAnnotation", {
        visitor: ["typeAnnotation"],
        aliases: ["Flow", "FlowType"],
        fields: {
            typeAnnotation: (0, r.validateType)("FlowType")
        }
    }), (0, r.default)("NumberLiteralTypeAnnotation", {
        builder: ["value"],
        aliases: ["Flow", "FlowType"],
        fields: {
            value: (0, r.validate)((0, r.assertValueType)("number"))
        }
    }), (0, r.default)("NumberTypeAnnotation", {
        aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
    }), (0, r.default)("ObjectTypeAnnotation", {
        visitor: ["properties", "indexers", "callProperties", "internalSlots"],
        aliases: ["Flow", "FlowType"],
        builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"],
        fields: {
            properties: (0, r.validate)((0, r.arrayOfType)(["ObjectTypeProperty", "ObjectTypeSpreadProperty"])),
            indexers: (0, r.validateOptional)((0, r.arrayOfType)("ObjectTypeIndexer")),
            callProperties: (0, r.validateOptional)((0, r.arrayOfType)("ObjectTypeCallProperty")),
            internalSlots: (0, r.validateOptional)((0, r.arrayOfType)("ObjectTypeInternalSlot")),
            exact: {
                validate: (0, r.assertValueType)("boolean"),
                default: !1
            },
            inexact: (0, r.validateOptional)((0, r.assertValueType)("boolean"))
        }
    }), (0, r.default)("ObjectTypeInternalSlot", {
        visitor: ["id", "value", "optional", "static", "method"],
        aliases: ["Flow", "UserWhitespacable"],
        fields: {
            id: (0, r.validateType)("Identifier"),
            value: (0, r.validateType)("FlowType"),
            optional: (0, r.validate)((0, r.assertValueType)("boolean")),
            static: (0, r.validate)((0, r.assertValueType)("boolean")),
            method: (0, r.validate)((0, r.assertValueType)("boolean"))
        }
    }), (0, r.default)("ObjectTypeCallProperty", {
        visitor: ["value"],
        aliases: ["Flow", "UserWhitespacable"],
        fields: {
            value: (0, r.validateType)("FlowType"),
            static: (0, r.validate)((0, r.assertValueType)("boolean"))
        }
    }), (0, r.default)("ObjectTypeIndexer", {
        visitor: ["id", "key", "value", "variance"],
        aliases: ["Flow", "UserWhitespacable"],
        fields: {
            id: (0, r.validateOptionalType)("Identifier"),
            key: (0, r.validateType)("FlowType"),
            value: (0, r.validateType)("FlowType"),
            static: (0, r.validate)((0, r.assertValueType)("boolean")),
            variance: (0, r.validateOptionalType)("Variance")
        }
    }), (0, r.default)("ObjectTypeProperty", {
        visitor: ["key", "value", "variance"],
        aliases: ["Flow", "UserWhitespacable"],
        fields: {
            key: (0, r.validateType)(["Identifier", "StringLiteral"]),
            value: (0, r.validateType)("FlowType"),
            kind: (0, r.validate)((0, r.assertOneOf)("init", "get", "set")),
            static: (0, r.validate)((0, r.assertValueType)("boolean")),
            proto: (0, r.validate)((0, r.assertValueType)("boolean")),
            optional: (0, r.validate)((0, r.assertValueType)("boolean")),
            variance: (0, r.validateOptionalType)("Variance")
        }
    }), (0, r.default)("ObjectTypeSpreadProperty", {
        visitor: ["argument"],
        aliases: ["Flow", "UserWhitespacable"],
        fields: {
            argument: (0, r.validateType)("FlowType")
        }
    }), (0, r.default)("OpaqueType", {
        visitor: ["id", "typeParameters", "supertype", "impltype"],
        aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
        fields: {
            id: (0, r.validateType)("Identifier"),
            typeParameters: (0, r.validateOptionalType)("TypeParameterDeclaration"),
            supertype: (0, r.validateOptionalType)("FlowType"),
            impltype: (0, r.validateType)("FlowType")
        }
    }), (0, r.default)("QualifiedTypeIdentifier", {
        visitor: ["id", "qualification"],
        aliases: ["Flow"],
        fields: {
            id: (0, r.validateType)("Identifier"),
            qualification: (0, r.validateType)(["Identifier", "QualifiedTypeIdentifier"])
        }
    }), (0, r.default)("StringLiteralTypeAnnotation", {
        builder: ["value"],
        aliases: ["Flow", "FlowType"],
        fields: {
            value: (0, r.validate)((0, r.assertValueType)("string"))
        }
    }), (0, r.default)("StringTypeAnnotation", {
        aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
    }), (0, r.default)("SymbolTypeAnnotation", {
        aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
    }), (0, r.default)("ThisTypeAnnotation", {
        aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
    }), (0, r.default)("TupleTypeAnnotation", {
        visitor: ["types"],
        aliases: ["Flow", "FlowType"],
        fields: {
            types: (0, r.validate)((0, r.arrayOfType)("FlowType"))
        }
    }), (0, r.default)("TypeofTypeAnnotation", {
        visitor: ["argument"],
        aliases: ["Flow", "FlowType"],
        fields: {
            argument: (0, r.validateType)("FlowType")
        }
    }), (0, r.default)("TypeAlias", {
        visitor: ["id", "typeParameters", "right"],
        aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],
        fields: {
            id: (0, r.validateType)("Identifier"),
            typeParameters: (0, r.validateOptionalType)("TypeParameterDeclaration"),
            right: (0, r.validateType)("FlowType")
        }
    }), (0, r.default)("TypeAnnotation", {
        aliases: ["Flow"],
        visitor: ["typeAnnotation"],
        fields: {
            typeAnnotation: (0, r.validateType)("FlowType")
        }
    }), (0, r.default)("TypeCastExpression", {
        visitor: ["expression", "typeAnnotation"],
        aliases: ["Flow", "ExpressionWrapper", "Expression"],
        fields: {
            expression: (0, r.validateType)("Expression"),
            typeAnnotation: (0, r.validateType)("TypeAnnotation")
        }
    }), (0, r.default)("TypeParameter", {
        aliases: ["Flow"],
        visitor: ["bound", "default", "variance"],
        fields: {
            name: (0, r.validate)((0, r.assertValueType)("string")),
            bound: (0, r.validateOptionalType)("TypeAnnotation"),
            default: (0, r.validateOptionalType)("FlowType"),
            variance: (0, r.validateOptionalType)("Variance")
        }
    }), (0, r.default)("TypeParameterDeclaration", {
        aliases: ["Flow"],
        visitor: ["params"],
        fields: {
            params: (0, r.validate)((0, r.arrayOfType)("TypeParameter"))
        }
    }), (0, r.default)("TypeParameterInstantiation", {
        aliases: ["Flow"],
        visitor: ["params"],
        fields: {
            params: (0, r.validate)((0, r.arrayOfType)("FlowType"))
        }
    }), (0, r.default)("UnionTypeAnnotation", {
        visitor: ["types"],
        aliases: ["Flow", "FlowType"],
        fields: {
            types: (0, r.validate)((0, r.arrayOfType)("FlowType"))
        }
    }), (0, r.default)("Variance", {
        aliases: ["Flow"],
        builder: ["kind"],
        fields: {
            kind: (0, r.validate)((0, r.assertOneOf)("minus", "plus"))
        }
    }), (0, r.default)("VoidTypeAnnotation", {
        aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]
    }), (0, r.default)("EnumDeclaration", {
        aliases: ["Statement", "Declaration"],
        visitor: ["id", "body"],
        fields: {
            id: (0, r.validateType)("Identifier"),
            body: (0, r.validateType)(["EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody"])
        }
    }), (0, r.default)("EnumBooleanBody", {
        aliases: ["EnumBody"],
        visitor: ["members"],
        fields: {
            explicit: (0, r.validate)((0, r.assertValueType)("boolean")),
            members: (0, r.validateArrayOfType)("EnumBooleanMember")
        }
    }), (0, r.default)("EnumNumberBody", {
        aliases: ["EnumBody"],
        visitor: ["members"],
        fields: {
            explicit: (0, r.validate)((0, r.assertValueType)("boolean")),
            members: (0, r.validateArrayOfType)("EnumNumberMember")
        }
    }), (0, r.default)("EnumStringBody", {
        aliases: ["EnumBody"],
        visitor: ["members"],
        fields: {
            explicit: (0, r.validate)((0, r.assertValueType)("boolean")),
            members: (0, r.validateArrayOfType)(["EnumStringMember", "EnumDefaultedMember"])
        }
    }), (0, r.default)("EnumSymbolBody", {
        aliases: ["EnumBody"],
        visitor: ["members"],
        fields: {
            members: (0, r.validateArrayOfType)("EnumDefaultedMember")
        }
    }), (0, r.default)("EnumBooleanMember", {
        aliases: ["EnumMember"],
        visitor: ["id"],
        fields: {
            id: (0, r.validateType)("Identifier"),
            init: (0, r.validateType)("BooleanLiteral")
        }
    }), (0, r.default)("EnumNumberMember", {
        aliases: ["EnumMember"],
        visitor: ["id", "init"],
        fields: {
            id: (0, r.validateType)("Identifier"),
            init: (0, r.validateType)("NumericLiteral")
        }
    }), (0, r.default)("EnumStringMember", {
        aliases: ["EnumMember"],
        visitor: ["id", "init"],
        fields: {
            id: (0, r.validateType)("Identifier"),
            init: (0, r.validateType)("StringLiteral")
        }
    }), (0, r.default)("EnumDefaultedMember", {
        aliases: ["EnumMember"],
        visitor: ["id"],
        fields: {
            id: (0, r.validateType)("Identifier")
        }
    })
}, function (e, t, n) {
    "use strict";
    var r = function (e) {
        if (e && e.__esModule) return e;
        if (null === e || "object" != typeof e && "function" != typeof e) return {
            default: e
        };
        var t = i();
        if (t && t.has(e)) return t.get(e);
        var n = {},
            r = Object.defineProperty && Object.getOwnPropertyDescriptor;
        for (var a in e)
            if (Object.prototype.hasOwnProperty.call(e, a)) {
                var o = r ? Object.getOwnPropertyDescriptor(e, a) : null;
                o && (o.get || o.set) ? Object.defineProperty(n, a, o) : n[a] = e[a]
            } n.default = e, t && t.set(e, n);
        return n
    }(n(6));

    function i() {
        if ("function" != typeof WeakMap) return null;
        var e = new WeakMap;
        return i = function () {
            return e
        }, e
    }(0, r.default)("JSXAttribute", {
        visitor: ["name", "value"],
        aliases: ["JSX", "Immutable"],
        fields: {
            name: {
                validate: (0, r.assertNodeType)("JSXIdentifier", "JSXNamespacedName")
            },
            value: {
                optional: !0,
                validate: (0, r.assertNodeType)("JSXElement", "JSXFragment", "StringLiteral", "JSXExpressionContainer")
            }
        }
    }), (0, r.default)("JSXClosingElement", {
        visitor: ["name"],
        aliases: ["JSX", "Immutable"],
        fields: {
            name: {
                validate: (0, r.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
            }
        }
    }), (0, r.default)("JSXElement", {
        builder: ["openingElement", "closingElement", "children", "selfClosing"],
        visitor: ["openingElement", "children", "closingElement"],
        aliases: ["JSX", "Immutable", "Expression"],
        fields: {
            openingElement: {
                validate: (0, r.assertNodeType)("JSXOpeningElement")
            },
            closingElement: {
                optional: !0,
                validate: (0, r.assertNodeType)("JSXClosingElement")
            },
            children: {
                validate: (0, r.chain)((0, r.assertValueType)("array"), (0, r.assertEach)((0, r.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")))
            },
            selfClosing: {
                validate: (0, r.assertValueType)("boolean"),
                optional: !0
            }
        }
    }), (0, r.default)("JSXEmptyExpression", {
        aliases: ["JSX"]
    }), (0, r.default)("JSXExpressionContainer", {
        visitor: ["expression"],
        aliases: ["JSX", "Immutable"],
        fields: {
            expression: {
                validate: (0, r.assertNodeType)("Expression", "JSXEmptyExpression")
            }
        }
    }), (0, r.default)("JSXSpreadChild", {
        visitor: ["expression"],
        aliases: ["JSX", "Immutable"],
        fields: {
            expression: {
                validate: (0, r.assertNodeType)("Expression")
            }
        }
    }), (0, r.default)("JSXIdentifier", {
        builder: ["name"],
        aliases: ["JSX"],
        fields: {
            name: {
                validate: (0, r.assertValueType)("string")
            }
        }
    }), (0, r.default)("JSXMemberExpression", {
        visitor: ["object", "property"],
        aliases: ["JSX"],
        fields: {
            object: {
                validate: (0, r.assertNodeType)("JSXMemberExpression", "JSXIdentifier")
            },
            property: {
                validate: (0, r.assertNodeType)("JSXIdentifier")
            }
        }
    }), (0, r.default)("JSXNamespacedName", {
        visitor: ["namespace", "name"],
        aliases: ["JSX"],
        fields: {
            namespace: {
                validate: (0, r.assertNodeType)("JSXIdentifier")
            },
            name: {
                validate: (0, r.assertNodeType)("JSXIdentifier")
            }
        }
    }), (0, r.default)("JSXOpeningElement", {
        builder: ["name", "attributes", "selfClosing"],
        visitor: ["name", "attributes"],
        aliases: ["JSX", "Immutable"],
        fields: {
            name: {
                validate: (0, r.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
            },
            selfClosing: {
                default: !1
            },
            attributes: {
                validate: (0, r.chain)((0, r.assertValueType)("array"), (0, r.assertEach)((0, r.assertNodeType)("JSXAttribute", "JSXSpreadAttribute")))
            },
            typeParameters: {
                validate: (0, r.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
                optional: !0
            }
        }
    }), (0, r.default)("JSXSpreadAttribute", {
        visitor: ["argument"],
        aliases: ["JSX"],
        fields: {
            argument: {
                validate: (0, r.assertNodeType)("Expression")
            }
        }
    }), (0, r.default)("JSXText", {
        aliases: ["JSX", "Immutable"],
        builder: ["value"],
        fields: {
            value: {
                validate: (0, r.assertValueType)("string")
            }
        }
    }), (0, r.default)("JSXFragment", {
        builder: ["openingFragment", "closingFragment", "children"],
        visitor: ["openingFragment", "children", "closingFragment"],
        aliases: ["JSX", "Immutable", "Expression"],
        fields: {
            openingFragment: {
                validate: (0, r.assertNodeType)("JSXOpeningFragment")
            },
            closingFragment: {
                validate: (0, r.assertNodeType)("JSXClosingFragment")
            },
            children: {
                validate: (0, r.chain)((0, r.assertValueType)("array"), (0, r.assertEach)((0, r.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")))
            }
        }
    }), (0, r.default)("JSXOpeningFragment", {
        aliases: ["JSX", "Immutable"]
    }), (0, r.default)("JSXClosingFragment", {
        aliases: ["JSX", "Immutable"]
    })
}, function (e, t, n) {
    "use strict";
    var r = function (e) {
            if (e && e.__esModule) return e;
            if (null === e || "object" != typeof e && "function" != typeof e) return {
                default: e
            };
            var t = a();
            if (t && t.has(e)) return t.get(e);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var i in e)
                if (Object.prototype.hasOwnProperty.call(e, i)) {
                    var o = r ? Object.getOwnPropertyDescriptor(e, i) : null;
                    o && (o.get || o.set) ? Object.defineProperty(n, i, o) : n[i] = e[i]
                } n.default = e, t && t.set(e, n);
            return n
        }(n(6)),
        i = n(60);

    function a() {
        if ("function" != typeof WeakMap) return null;
        var e = new WeakMap;
        return a = function () {
            return e
        }, e
    }(0, r.default)("Noop", {
        visitor: []
    }), (0, r.default)("Placeholder", {
        visitor: [],
        builder: ["expectedNode", "name"],
        fields: {
            name: {
                validate: (0, r.assertNodeType)("Identifier")
            },
            expectedNode: {
                validate: (0, r.assertOneOf)(...i.PLACEHOLDERS)
            }
        }
    }), (0, r.default)("V8IntrinsicIdentifier", {
        builder: ["name"],
        fields: {
            name: {
                validate: (0, r.assertValueType)("string")
            }
        }
    })
}, function (e, t, n) {
    "use strict";
    (function (e) {
        var t = function (e) {
                if (e && e.__esModule) return e;
                if (null === e || "object" != typeof e && "function" != typeof e) return {
                    default: e
                };
                var t = i();
                if (t && t.has(e)) return t.get(e);
                var n = {},
                    r = Object.defineProperty && Object.getOwnPropertyDescriptor;
                for (var a in e)
                    if (Object.prototype.hasOwnProperty.call(e, a)) {
                        var o = r ? Object.getOwnPropertyDescriptor(e, a) : null;
                        o && (o.get || o.set) ? Object.defineProperty(n, a, o) : n[a] = e[a]
                    } n.default = e, t && t.set(e, n);
                return n
            }(n(6)),
            r = n(37);

        function i() {
            if ("function" != typeof WeakMap) return null;
            var e = new WeakMap;
            return i = function () {
                return e
            }, e
        }(0, t.default)("ArgumentPlaceholder", {}), (0, t.default)("BindExpression", {
            visitor: ["object", "callee"],
            aliases: ["Expression"],
            fields: e.env.BABEL_TYPES_8_BREAKING ? {
                object: {
                    validate: (0, t.assertNodeType)("Expression")
                },
                callee: {
                    validate: (0, t.assertNodeType)("Expression")
                }
            } : {
                object: {
                    validate: Object.assign(() => {}, {
                        oneOfNodeTypes: ["Expression"]
                    })
                },
                callee: {
                    validate: Object.assign(() => {}, {
                        oneOfNodeTypes: ["Expression"]
                    })
                }
            }
        }), (0, t.default)("ClassProperty", {
            visitor: ["key", "value", "typeAnnotation", "decorators"],
            builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
            aliases: ["Property"],
            fields: Object.assign({}, r.classMethodOrPropertyCommon, {
                value: {
                    validate: (0, t.assertNodeType)("Expression"),
                    optional: !0
                },
                definite: {
                    validate: (0, t.assertValueType)("boolean"),
                    optional: !0
                },
                typeAnnotation: {
                    validate: (0, t.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
                    optional: !0
                },
                decorators: {
                    validate: (0, t.chain)((0, t.assertValueType)("array"), (0, t.assertEach)((0, t.assertNodeType)("Decorator"))),
                    optional: !0
                },
                readonly: {
                    validate: (0, t.assertValueType)("boolean"),
                    optional: !0
                },
                declare: {
                    validate: (0, t.assertValueType)("boolean"),
                    optional: !0
                }
            })
        }), (0, t.default)("PipelineTopicExpression", {
            builder: ["expression"],
            visitor: ["expression"],
            fields: {
                expression: {
                    validate: (0, t.assertNodeType)("Expression")
                }
            }
        }), (0, t.default)("PipelineBareFunction", {
            builder: ["callee"],
            visitor: ["callee"],
            fields: {
                callee: {
                    validate: (0, t.assertNodeType)("Expression")
                }
            }
        }), (0, t.default)("PipelinePrimaryTopicReference", {
            aliases: ["Expression"]
        }), (0, t.default)("ClassPrivateProperty", {
            visitor: ["key", "value", "decorators"],
            builder: ["key", "value", "decorators", "static"],
            aliases: ["Property", "Private"],
            fields: {
                key: {
                    validate: (0, t.assertNodeType)("PrivateName")
                },
                value: {
                    validate: (0, t.assertNodeType)("Expression"),
                    optional: !0
                },
                decorators: {
                    validate: (0, t.chain)((0, t.assertValueType)("array"), (0, t.assertEach)((0, t.assertNodeType)("Decorator"))),
                    optional: !0
                }
            }
        }), (0, t.default)("ClassPrivateMethod", {
            builder: ["kind", "key", "params", "body", "static"],
            visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"],
            aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"],
            fields: Object.assign({}, r.classMethodOrDeclareMethodCommon, r.functionTypeAnnotationCommon, {
                key: {
                    validate: (0, t.assertNodeType)("PrivateName")
                },
                body: {
                    validate: (0, t.assertNodeType)("BlockStatement")
                }
            })
        }), (0, t.default)("ImportAttribute", {
            visitor: ["key", "value"],
            fields: {
                key: {
                    validate: (0, t.assertNodeType)("Identifier", "StringLiteral")
                },
                value: {
                    validate: (0, t.assertNodeType)("StringLiteral")
                }
            }
        }), (0, t.default)("Decorator", {
            visitor: ["expression"],
            fields: {
                expression: {
                    validate: (0, t.assertNodeType)("Expression")
                }
            }
        }), (0, t.default)("DoExpression", {
            visitor: ["body"],
            aliases: ["Expression"],
            fields: {
                body: {
                    validate: (0, t.assertNodeType)("BlockStatement")
                }
            }
        }), (0, t.default)("ExportDefaultSpecifier", {
            visitor: ["exported"],
            aliases: ["ModuleSpecifier"],
            fields: {
                exported: {
                    validate: (0, t.assertNodeType)("Identifier")
                }
            }
        }), (0, t.default)("PrivateName", {
            visitor: ["id"],
            aliases: ["Private"],
            fields: {
                id: {
                    validate: (0, t.assertNodeType)("Identifier")
                }
            }
        }), (0, t.default)("RecordExpression", {
            visitor: ["properties"],
            aliases: ["Expression"],
            fields: {
                properties: {
                    validate: (0, t.chain)((0, t.assertValueType)("array"), (0, t.assertEach)((0, t.assertNodeType)("ObjectProperty", "SpreadElement")))
                }
            }
        }), (0, t.default)("TupleExpression", {
            fields: {
                elements: {
                    validate: (0, t.chain)((0, t.assertValueType)("array"), (0, t.assertEach)((0, t.assertNodeType)("Expression", "SpreadElement"))),
                    default: []
                }
            },
            visitor: ["elements"],
            aliases: ["Expression"]
        }), (0, t.default)("DecimalLiteral", {
            builder: ["value"],
            fields: {
                value: {
                    validate: (0, t.assertValueType)("string")
                }
            },
            aliases: ["Expression", "Pureish", "Literal", "Immutable"]
        }), (0, t.default)("StaticBlock", {
            visitor: ["body"],
            fields: {
                body: {
                    validate: (0, t.chain)((0, t.assertValueType)("array"), (0, t.assertEach)((0, t.assertNodeType)("Statement")))
                }
            },
            aliases: ["Scopable", "BlockParent"]
        })
    }).call(this, n(22))
}, function (e, t, n) {
    "use strict";
    var r = function (e) {
            if (e && e.__esModule) return e;
            if (null === e || "object" != typeof e && "function" != typeof e) return {
                default: e
            };
            var t = a();
            if (t && t.has(e)) return t.get(e);
            var n = {},
                r = Object.defineProperty && Object.getOwnPropertyDescriptor;
            for (var i in e)
                if (Object.prototype.hasOwnProperty.call(e, i)) {
                    var o = r ? Object.getOwnPropertyDescriptor(e, i) : null;
                    o && (o.get || o.set) ? Object.defineProperty(n, i, o) : n[i] = e[i]
                } n.default = e, t && t.set(e, n);
            return n
        }(n(6)),
        i = n(37);

    function a() {
        if ("function" != typeof WeakMap) return null;
        var e = new WeakMap;
        return a = function () {
            return e
        }, e
    }
    const o = (0, r.assertValueType)("boolean"),
        s = {
            returnType: {
                validate: (0, r.assertNodeType)("TSTypeAnnotation", "Noop"),
                optional: !0
            },
            typeParameters: {
                validate: (0, r.assertNodeType)("TSTypeParameterDeclaration", "Noop"),
                optional: !0
            }
        };
    (0, r.default)("TSParameterProperty", {
        aliases: ["LVal"],
        visitor: ["parameter"],
        fields: {
            accessibility: {
                validate: (0, r.assertOneOf)("public", "private", "protected"),
                optional: !0
            },
            readonly: {
                validate: (0, r.assertValueType)("boolean"),
                optional: !0
            },
            parameter: {
                validate: (0, r.assertNodeType)("Identifier", "AssignmentPattern")
            }
        }
    }), (0, r.default)("TSDeclareFunction", {
        aliases: ["Statement", "Declaration"],
        visitor: ["id", "typeParameters", "params", "returnType"],
        fields: Object.assign({}, i.functionDeclarationCommon, s)
    }), (0, r.default)("TSDeclareMethod", {
        visitor: ["decorators", "key", "typeParameters", "params", "returnType"],
        fields: Object.assign({}, i.classMethodOrDeclareMethodCommon, s)
    }), (0, r.default)("TSQualifiedName", {
        aliases: ["TSEntityName"],
        visitor: ["left", "right"],
        fields: {
            left: (0, r.validateType)("TSEntityName"),
            right: (0, r.validateType)("Identifier")
        }
    });
    const l = {
            typeParameters: (0, r.validateOptionalType)("TSTypeParameterDeclaration"),
            parameters: (0, r.validateArrayOfType)(["Identifier", "RestElement"]),
            typeAnnotation: (0, r.validateOptionalType)("TSTypeAnnotation")
        },
        u = {
            aliases: ["TSTypeElement"],
            visitor: ["typeParameters", "parameters", "typeAnnotation"],
            fields: l
        };
    (0, r.default)("TSCallSignatureDeclaration", u), (0, r.default)("TSConstructSignatureDeclaration", u);
    const c = {
        key: (0, r.validateType)("Expression"),
        computed: (0, r.validate)(o),
        optional: (0, r.validateOptional)(o)
    };
    (0, r.default)("TSPropertySignature", {
        aliases: ["TSTypeElement"],
        visitor: ["key", "typeAnnotation", "initializer"],
        fields: Object.assign({}, c, {
            readonly: (0, r.validateOptional)(o),
            typeAnnotation: (0, r.validateOptionalType)("TSTypeAnnotation"),
            initializer: (0, r.validateOptionalType)("Expression")
        })
    }), (0, r.default)("TSMethodSignature", {
        aliases: ["TSTypeElement"],
        visitor: ["key", "typeParameters", "parameters", "typeAnnotation"],
        fields: Object.assign({}, l, c)
    }), (0, r.default)("TSIndexSignature", {
        aliases: ["TSTypeElement"],
        visitor: ["parameters", "typeAnnotation"],
        fields: {
            readonly: (0, r.validateOptional)(o),
            parameters: (0, r.validateArrayOfType)("Identifier"),
            typeAnnotation: (0, r.validateOptionalType)("TSTypeAnnotation")
        }
    });
    const f = ["TSAnyKeyword", "TSBooleanKeyword", "TSBigIntKeyword", "TSIntrinsicKeyword", "TSNeverKeyword", "TSNullKeyword", "TSNumberKeyword", "TSObjectKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSUndefinedKeyword", "TSUnknownKeyword", "TSVoidKeyword"];
    for (const e of f)(0, r.default)(e, {
        aliases: ["TSType", "TSBaseType"],
        visitor: [],
        fields: {}
    });
    (0, r.default)("TSThisType", {
        aliases: ["TSType", "TSBaseType"],
        visitor: [],
        fields: {}
    });
    const p = {
        aliases: ["TSType"],
        visitor: ["typeParameters", "parameters", "typeAnnotation"],
        fields: l
    };
    (0, r.default)("TSFunctionType", p), (0, r.default)("TSConstructorType", p), (0, r.default)("TSTypeReference", {
        aliases: ["TSType"],
        visitor: ["typeName", "typeParameters"],
        fields: {
            typeName: (0, r.validateType)("TSEntityName"),
            typeParameters: (0, r.validateOptionalType)("TSTypeParameterInstantiation")
        }
    }), (0, r.default)("TSTypePredicate", {
        aliases: ["TSType"],
        visitor: ["parameterName", "typeAnnotation"],
        builder: ["parameterName", "typeAnnotation", "asserts"],
        fields: {
            parameterName: (0, r.validateType)(["Identifier", "TSThisType"]),
            typeAnnotation: (0, r.validateOptionalType)("TSTypeAnnotation"),
            asserts: (0, r.validateOptional)(o)
        }
    }), (0, r.default)("TSTypeQuery", {
        aliases: ["TSType"],
        visitor: ["exprName"],
        fields: {
            exprName: (0, r.validateType)(["TSEntityName", "TSImportType"])
        }
    }), (0, r.default)("TSTypeLiteral", {
        aliases: ["TSType"],
        visitor: ["members"],
        fields: {
            members: (0, r.validateArrayOfType)("TSTypeElement")
        }
    }), (0, r.default)("TSArrayType", {
        aliases: ["TSType"],
        visitor: ["elementType"],
        fields: {
            elementType: (0, r.validateType)("TSType")
        }
    }), (0, r.default)("TSTupleType", {
        aliases: ["TSType"],
        visitor: ["elementTypes"],
        fields: {
            elementTypes: (0, r.validateArrayOfType)(["TSType", "TSNamedTupleMember"])
        }
    }), (0, r.default)("TSOptionalType", {
        aliases: ["TSType"],
        visitor: ["typeAnnotation"],
        fields: {
            typeAnnotation: (0, r.validateType)("TSType")
        }
    }), (0, r.default)("TSRestType", {
        aliases: ["TSType"],
        visitor: ["typeAnnotation"],
        fields: {
            typeAnnotation: (0, r.validateType)("TSType")
        }
    }), (0, r.default)("TSNamedTupleMember", {
        visitor: ["label", "elementType"],
        builder: ["label", "elementType", "optional"],
        fields: {
            label: (0, r.validateType)("Identifier"),
            optional: {
                validate: o,
                default: !1
            },
            elementType: (0, r.validateType)("TSType")
        }
    });
    const d = {
        aliases: ["TSType"],
        visitor: ["types"],
        fields: {
            types: (0, r.validateArrayOfType)("TSType")
        }
    };
    (0, r.default)("TSUnionType", d), (0, r.default)("TSIntersectionType", d), (0, r.default)("TSConditionalType", {
        aliases: ["TSType"],
        visitor: ["checkType", "extendsType", "trueType", "falseType"],
        fields: {
            checkType: (0, r.validateType)("TSType"),
            extendsType: (0, r.validateType)("TSType"),
            trueType: (0, r.validateType)("TSType"),
            falseType: (0, r.validateType)("TSType")
        }
    }), (0, r.default)("TSInferType", {
        aliases: ["TSType"],
        visitor: ["typeParameter"],
        fields: {
            typeParameter: (0, r.validateType)("TSTypeParameter")
        }
    }), (0, r.default)("TSParenthesizedType", {
        aliases: ["TSType"],
        visitor: ["typeAnnotation"],
        fields: {
            typeAnnotation: (0, r.validateType)("TSType")
        }
    }), (0, r.default)("TSTypeOperator", {
        aliases: ["TSType"],
        visitor: ["typeAnnotation"],
        fields: {
            operator: (0, r.validate)((0, r.assertValueType)("string")),
            typeAnnotation: (0, r.validateType)("TSType")
        }
    }), (0, r.default)("TSIndexedAccessType", {
        aliases: ["TSType"],
        visitor: ["objectType", "indexType"],
        fields: {
            objectType: (0, r.validateType)("TSType"),
            indexType: (0, r.validateType)("TSType")
        }
    }), (0, r.default)("TSMappedType", {
        aliases: ["TSType"],
        visitor: ["typeParameter", "typeAnnotation", "nameType"],
        fields: {
            readonly: (0, r.validateOptional)(o),
            typeParameter: (0, r.validateType)("TSTypeParameter"),
            optional: (0, r.validateOptional)(o),
            typeAnnotation: (0, r.validateOptionalType)("TSType"),
            nameType: (0, r.validateOptionalType)("TSType")
        }
    }), (0, r.default)("TSLiteralType", {
        aliases: ["TSType", "TSBaseType"],
        visitor: ["literal"],
        fields: {
            literal: (0, r.validateType)(["NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral"])
        }
    }), (0, r.default)("TSExpressionWithTypeArguments", {
        aliases: ["TSType"],
        visitor: ["expression", "typeParameters"],
        fields: {
            expression: (0, r.validateType)("TSEntityName"),
            typeParameters: (0, r.validateOptionalType)("TSTypeParameterInstantiation")
        }
    }), (0, r.default)("TSInterfaceDeclaration", {
        aliases: ["Statement", "Declaration"],
        visitor: ["id", "typeParameters", "extends", "body"],
        fields: {
            declare: (0, r.validateOptional)(o),
            id: (0, r.validateType)("Identifier"),
            typeParameters: (0, r.validateOptionalType)("TSTypeParameterDeclaration"),
            extends: (0, r.validateOptional)((0, r.arrayOfType)("TSExpressionWithTypeArguments")),
            body: (0, r.validateType)("TSInterfaceBody")
        }
    }), (0, r.default)("TSInterfaceBody", {
        visitor: ["body"],
        fields: {
            body: (0, r.validateArrayOfType)("TSTypeElement")
        }
    }), (0, r.default)("TSTypeAliasDeclaration", {
        aliases: ["Statement", "Declaration"],
        visitor: ["id", "typeParameters", "typeAnnotation"],
        fields: {
            declare: (0, r.validateOptional)(o),
            id: (0, r.validateType)("Identifier"),
            typeParameters: (0, r.validateOptionalType)("TSTypeParameterDeclaration"),
            typeAnnotation: (0, r.validateType)("TSType")
        }
    }), (0, r.default)("TSAsExpression", {
        aliases: ["Expression"],
        visitor: ["expression", "typeAnnotation"],
        fields: {
            expression: (0, r.validateType)("Expression"),
            typeAnnotation: (0, r.validateType)("TSType")
        }
    }), (0, r.default)("TSTypeAssertion", {
        aliases: ["Expression"],
        visitor: ["typeAnnotation", "expression"],
        fields: {
            typeAnnotation: (0, r.validateType)("TSType"),
            expression: (0, r.validateType)("Expression")
        }
    }), (0, r.default)("TSEnumDeclaration", {
        aliases: ["Statement", "Declaration"],
        visitor: ["id", "members"],
        fields: {
            declare: (0, r.validateOptional)(o),
            const: (0, r.validateOptional)(o),
            id: (0, r.validateType)("Identifier"),
            members: (0, r.validateArrayOfType)("TSEnumMember"),
            initializer: (0, r.validateOptionalType)("Expression")
        }
    }), (0, r.default)("TSEnumMember", {
        visitor: ["id", "initializer"],
        fields: {
            id: (0, r.validateType)(["Identifier", "StringLiteral"]),
            initializer: (0, r.validateOptionalType)("Expression")
        }
    }), (0, r.default)("TSModuleDeclaration", {
        aliases: ["Statement", "Declaration"],
        visitor: ["id", "body"],
        fields: {
            declare: (0, r.validateOptional)(o),
            global: (0, r.validateOptional)(o),
            id: (0, r.validateType)(["Identifier", "StringLiteral"]),
            body: (0, r.validateType)(["TSModuleBlock", "TSModuleDeclaration"])
        }
    }), (0, r.default)("TSModuleBlock", {
        aliases: ["Scopable", "Block", "BlockParent"],
        visitor: ["body"],
        fields: {
            body: (0, r.validateArrayOfType)("Statement")
        }
    }), (0, r.default)("TSImportType", {
        aliases: ["TSType"],
        visitor: ["argument", "qualifier", "typeParameters"],
        fields: {
            argument: (0, r.validateType)("StringLiteral"),
            qualifier: (0, r.validateOptionalType)("TSEntityName"),
            typeParameters: (0, r.validateOptionalType)("TSTypeParameterInstantiation")
        }
    }), (0, r.default)("TSImportEqualsDeclaration", {
        aliases: ["Statement"],
        visitor: ["id", "moduleReference"],
        fields: {
            isExport: (0, r.validate)(o),
            id: (0, r.validateType)("Identifier"),
            moduleReference: (0, r.validateType)(["TSEntityName", "TSExternalModuleReference"])
        }
    }), (0, r.default)("TSExternalModuleReference", {
        visitor: ["expression"],
        fields: {
            expression: (0, r.validateType)("StringLiteral")
        }
    }), (0, r.default)("TSNonNullExpression", {
        aliases: ["Expression"],
        visitor: ["expression"],
        fields: {
            expression: (0, r.validateType)("Expression")
        }
    }), (0, r.default)("TSExportAssignment", {
        aliases: ["Statement"],
        visitor: ["expression"],
        fields: {
            expression: (0, r.validateType)("Expression")
        }
    }), (0, r.default)("TSNamespaceExportDeclaration", {
        aliases: ["Statement"],
        visitor: ["id"],
        fields: {
            id: (0, r.validateType)("Identifier")
        }
    }), (0, r.default)("TSTypeAnnotation", {
        visitor: ["typeAnnotation"],
        fields: {
            typeAnnotation: {
                validate: (0, r.assertNodeType)("TSType")
            }
        }
    }), (0, r.default)("TSTypeParameterInstantiation", {
        visitor: ["params"],
        fields: {
            params: {
                validate: (0, r.chain)((0, r.assertValueType)("array"), (0, r.assertEach)((0, r.assertNodeType)("TSType")))
            }
        }
    }), (0, r.default)("TSTypeParameterDeclaration", {
        visitor: ["params"],
        fields: {
            params: {
                validate: (0, r.chain)((0, r.assertValueType)("array"), (0, r.assertEach)((0, r.assertNodeType)("TSTypeParameter")))
            }
        }
    }), (0, r.default)("TSTypeParameter", {
        builder: ["constraint", "default", "name"],
        visitor: ["constraint", "default"],
        fields: {
            name: {
                validate: (0, r.assertValueType)("string")
            },
            constraint: {
                validate: (0, r.assertNodeType)("TSType"),
                optional: !0
            },
            default: {
                validate: (0, r.assertNodeType)("TSType"),
                optional: !0
            }
        }
    })
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        if (!(0, i.default)(e)) {
            var t;
            const n = null != (t = null == e ? void 0 : e.type) ? t : JSON.stringify(e);
            throw new TypeError(`Not a valid node of type "${n}"`)
        }
    };
    var r, i = (r = n(61)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.assertArrayExpression = function (e, t = {}) {
        a("ArrayExpression", e, t)
    }, t.assertAssignmentExpression = function (e, t = {}) {
        a("AssignmentExpression", e, t)
    }, t.assertBinaryExpression = function (e, t = {}) {
        a("BinaryExpression", e, t)
    }, t.assertInterpreterDirective = function (e, t = {}) {
        a("InterpreterDirective", e, t)
    }, t.assertDirective = function (e, t = {}) {
        a("Directive", e, t)
    }, t.assertDirectiveLiteral = function (e, t = {}) {
        a("DirectiveLiteral", e, t)
    }, t.assertBlockStatement = function (e, t = {}) {
        a("BlockStatement", e, t)
    }, t.assertBreakStatement = function (e, t = {}) {
        a("BreakStatement", e, t)
    }, t.assertCallExpression = function (e, t = {}) {
        a("CallExpression", e, t)
    }, t.assertCatchClause = function (e, t = {}) {
        a("CatchClause", e, t)
    }, t.assertConditionalExpression = function (e, t = {}) {
        a("ConditionalExpression", e, t)
    }, t.assertContinueStatement = function (e, t = {}) {
        a("ContinueStatement", e, t)
    }, t.assertDebuggerStatement = function (e, t = {}) {
        a("DebuggerStatement", e, t)
    }, t.assertDoWhileStatement = function (e, t = {}) {
        a("DoWhileStatement", e, t)
    }, t.assertEmptyStatement = function (e, t = {}) {
        a("EmptyStatement", e, t)
    }, t.assertExpressionStatement = function (e, t = {}) {
        a("ExpressionStatement", e, t)
    }, t.assertFile = function (e, t = {}) {
        a("File", e, t)
    }, t.assertForInStatement = function (e, t = {}) {
        a("ForInStatement", e, t)
    }, t.assertForStatement = function (e, t = {}) {
        a("ForStatement", e, t)
    }, t.assertFunctionDeclaration = function (e, t = {}) {
        a("FunctionDeclaration", e, t)
    }, t.assertFunctionExpression = function (e, t = {}) {
        a("FunctionExpression", e, t)
    }, t.assertIdentifier = function (e, t = {}) {
        a("Identifier", e, t)
    }, t.assertIfStatement = function (e, t = {}) {
        a("IfStatement", e, t)
    }, t.assertLabeledStatement = function (e, t = {}) {
        a("LabeledStatement", e, t)
    }, t.assertStringLiteral = function (e, t = {}) {
        a("StringLiteral", e, t)
    }, t.assertNumericLiteral = function (e, t = {}) {
        a("NumericLiteral", e, t)
    }, t.assertNullLiteral = function (e, t = {}) {
        a("NullLiteral", e, t)
    }, t.assertBooleanLiteral = function (e, t = {}) {
        a("BooleanLiteral", e, t)
    }, t.assertRegExpLiteral = function (e, t = {}) {
        a("RegExpLiteral", e, t)
    }, t.assertLogicalExpression = function (e, t = {}) {
        a("LogicalExpression", e, t)
    }, t.assertMemberExpression = function (e, t = {}) {
        a("MemberExpression", e, t)
    }, t.assertNewExpression = function (e, t = {}) {
        a("NewExpression", e, t)
    }, t.assertProgram = function (e, t = {}) {
        a("Program", e, t)
    }, t.assertObjectExpression = function (e, t = {}) {
        a("ObjectExpression", e, t)
    }, t.assertObjectMethod = function (e, t = {}) {
        a("ObjectMethod", e, t)
    }, t.assertObjectProperty = function (e, t = {}) {
        a("ObjectProperty", e, t)
    }, t.assertRestElement = function (e, t = {}) {
        a("RestElement", e, t)
    }, t.assertReturnStatement = function (e, t = {}) {
        a("ReturnStatement", e, t)
    }, t.assertSequenceExpression = function (e, t = {}) {
        a("SequenceExpression", e, t)
    }, t.assertParenthesizedExpression = function (e, t = {}) {
        a("ParenthesizedExpression", e, t)
    }, t.assertSwitchCase = function (e, t = {}) {
        a("SwitchCase", e, t)
    }, t.assertSwitchStatement = function (e, t = {}) {
        a("SwitchStatement", e, t)
    }, t.assertThisExpression = function (e, t = {}) {
        a("ThisExpression", e, t)
    }, t.assertThrowStatement = function (e, t = {}) {
        a("ThrowStatement", e, t)
    }, t.assertTryStatement = function (e, t = {}) {
        a("TryStatement", e, t)
    }, t.assertUnaryExpression = function (e, t = {}) {
        a("UnaryExpression", e, t)
    }, t.assertUpdateExpression = function (e, t = {}) {
        a("UpdateExpression", e, t)
    }, t.assertVariableDeclaration = function (e, t = {}) {
        a("VariableDeclaration", e, t)
    }, t.assertVariableDeclarator = function (e, t = {}) {
        a("VariableDeclarator", e, t)
    }, t.assertWhileStatement = function (e, t = {}) {
        a("WhileStatement", e, t)
    }, t.assertWithStatement = function (e, t = {}) {
        a("WithStatement", e, t)
    }, t.assertAssignmentPattern = function (e, t = {}) {
        a("AssignmentPattern", e, t)
    }, t.assertArrayPattern = function (e, t = {}) {
        a("ArrayPattern", e, t)
    }, t.assertArrowFunctionExpression = function (e, t = {}) {
        a("ArrowFunctionExpression", e, t)
    }, t.assertClassBody = function (e, t = {}) {
        a("ClassBody", e, t)
    }, t.assertClassExpression = function (e, t = {}) {
        a("ClassExpression", e, t)
    }, t.assertClassDeclaration = function (e, t = {}) {
        a("ClassDeclaration", e, t)
    }, t.assertExportAllDeclaration = function (e, t = {}) {
        a("ExportAllDeclaration", e, t)
    }, t.assertExportDefaultDeclaration = function (e, t = {}) {
        a("ExportDefaultDeclaration", e, t)
    }, t.assertExportNamedDeclaration = function (e, t = {}) {
        a("ExportNamedDeclaration", e, t)
    }, t.assertExportSpecifier = function (e, t = {}) {
        a("ExportSpecifier", e, t)
    }, t.assertForOfStatement = function (e, t = {}) {
        a("ForOfStatement", e, t)
    }, t.assertImportDeclaration = function (e, t = {}) {
        a("ImportDeclaration", e, t)
    }, t.assertImportDefaultSpecifier = function (e, t = {}) {
        a("ImportDefaultSpecifier", e, t)
    }, t.assertImportNamespaceSpecifier = function (e, t = {}) {
        a("ImportNamespaceSpecifier", e, t)
    }, t.assertImportSpecifier = function (e, t = {}) {
        a("ImportSpecifier", e, t)
    }, t.assertMetaProperty = function (e, t = {}) {
        a("MetaProperty", e, t)
    }, t.assertClassMethod = function (e, t = {}) {
        a("ClassMethod", e, t)
    }, t.assertObjectPattern = function (e, t = {}) {
        a("ObjectPattern", e, t)
    }, t.assertSpreadElement = function (e, t = {}) {
        a("SpreadElement", e, t)
    }, t.assertSuper = function (e, t = {}) {
        a("Super", e, t)
    }, t.assertTaggedTemplateExpression = function (e, t = {}) {
        a("TaggedTemplateExpression", e, t)
    }, t.assertTemplateElement = function (e, t = {}) {
        a("TemplateElement", e, t)
    }, t.assertTemplateLiteral = function (e, t = {}) {
        a("TemplateLiteral", e, t)
    }, t.assertYieldExpression = function (e, t = {}) {
        a("YieldExpression", e, t)
    }, t.assertAwaitExpression = function (e, t = {}) {
        a("AwaitExpression", e, t)
    }, t.assertImport = function (e, t = {}) {
        a("Import", e, t)
    }, t.assertBigIntLiteral = function (e, t = {}) {
        a("BigIntLiteral", e, t)
    }, t.assertExportNamespaceSpecifier = function (e, t = {}) {
        a("ExportNamespaceSpecifier", e, t)
    }, t.assertOptionalMemberExpression = function (e, t = {}) {
        a("OptionalMemberExpression", e, t)
    }, t.assertOptionalCallExpression = function (e, t = {}) {
        a("OptionalCallExpression", e, t)
    }, t.assertAnyTypeAnnotation = function (e, t = {}) {
        a("AnyTypeAnnotation", e, t)
    }, t.assertArrayTypeAnnotation = function (e, t = {}) {
        a("ArrayTypeAnnotation", e, t)
    }, t.assertBooleanTypeAnnotation = function (e, t = {}) {
        a("BooleanTypeAnnotation", e, t)
    }, t.assertBooleanLiteralTypeAnnotation = function (e, t = {}) {
        a("BooleanLiteralTypeAnnotation", e, t)
    }, t.assertNullLiteralTypeAnnotation = function (e, t = {}) {
        a("NullLiteralTypeAnnotation", e, t)
    }, t.assertClassImplements = function (e, t = {}) {
        a("ClassImplements", e, t)
    }, t.assertDeclareClass = function (e, t = {}) {
        a("DeclareClass", e, t)
    }, t.assertDeclareFunction = function (e, t = {}) {
        a("DeclareFunction", e, t)
    }, t.assertDeclareInterface = function (e, t = {}) {
        a("DeclareInterface", e, t)
    }, t.assertDeclareModule = function (e, t = {}) {
        a("DeclareModule", e, t)
    }, t.assertDeclareModuleExports = function (e, t = {}) {
        a("DeclareModuleExports", e, t)
    }, t.assertDeclareTypeAlias = function (e, t = {}) {
        a("DeclareTypeAlias", e, t)
    }, t.assertDeclareOpaqueType = function (e, t = {}) {
        a("DeclareOpaqueType", e, t)
    }, t.assertDeclareVariable = function (e, t = {}) {
        a("DeclareVariable", e, t)
    }, t.assertDeclareExportDeclaration = function (e, t = {}) {
        a("DeclareExportDeclaration", e, t)
    }, t.assertDeclareExportAllDeclaration = function (e, t = {}) {
        a("DeclareExportAllDeclaration", e, t)
    }, t.assertDeclaredPredicate = function (e, t = {}) {
        a("DeclaredPredicate", e, t)
    }, t.assertExistsTypeAnnotation = function (e, t = {}) {
        a("ExistsTypeAnnotation", e, t)
    }, t.assertFunctionTypeAnnotation = function (e, t = {}) {
        a("FunctionTypeAnnotation", e, t)
    }, t.assertFunctionTypeParam = function (e, t = {}) {
        a("FunctionTypeParam", e, t)
    }, t.assertGenericTypeAnnotation = function (e, t = {}) {
        a("GenericTypeAnnotation", e, t)
    }, t.assertInferredPredicate = function (e, t = {}) {
        a("InferredPredicate", e, t)
    }, t.assertInterfaceExtends = function (e, t = {}) {
        a("InterfaceExtends", e, t)
    }, t.assertInterfaceDeclaration = function (e, t = {}) {
        a("InterfaceDeclaration", e, t)
    }, t.assertInterfaceTypeAnnotation = function (e, t = {}) {
        a("InterfaceTypeAnnotation", e, t)
    }, t.assertIntersectionTypeAnnotation = function (e, t = {}) {
        a("IntersectionTypeAnnotation", e, t)
    }, t.assertMixedTypeAnnotation = function (e, t = {}) {
        a("MixedTypeAnnotation", e, t)
    }, t.assertEmptyTypeAnnotation = function (e, t = {}) {
        a("EmptyTypeAnnotation", e, t)
    }, t.assertNullableTypeAnnotation = function (e, t = {}) {
        a("NullableTypeAnnotation", e, t)
    }, t.assertNumberLiteralTypeAnnotation = function (e, t = {}) {
        a("NumberLiteralTypeAnnotation", e, t)
    }, t.assertNumberTypeAnnotation = function (e, t = {}) {
        a("NumberTypeAnnotation", e, t)
    }, t.assertObjectTypeAnnotation = function (e, t = {}) {
        a("ObjectTypeAnnotation", e, t)
    }, t.assertObjectTypeInternalSlot = function (e, t = {}) {
        a("ObjectTypeInternalSlot", e, t)
    }, t.assertObjectTypeCallProperty = function (e, t = {}) {
        a("ObjectTypeCallProperty", e, t)
    }, t.assertObjectTypeIndexer = function (e, t = {}) {
        a("ObjectTypeIndexer", e, t)
    }, t.assertObjectTypeProperty = function (e, t = {}) {
        a("ObjectTypeProperty", e, t)
    }, t.assertObjectTypeSpreadProperty = function (e, t = {}) {
        a("ObjectTypeSpreadProperty", e, t)
    }, t.assertOpaqueType = function (e, t = {}) {
        a("OpaqueType", e, t)
    }, t.assertQualifiedTypeIdentifier = function (e, t = {}) {
        a("QualifiedTypeIdentifier", e, t)
    }, t.assertStringLiteralTypeAnnotation = function (e, t = {}) {
        a("StringLiteralTypeAnnotation", e, t)
    }, t.assertStringTypeAnnotation = function (e, t = {}) {
        a("StringTypeAnnotation", e, t)
    }, t.assertSymbolTypeAnnotation = function (e, t = {}) {
        a("SymbolTypeAnnotation", e, t)
    }, t.assertThisTypeAnnotation = function (e, t = {}) {
        a("ThisTypeAnnotation", e, t)
    }, t.assertTupleTypeAnnotation = function (e, t = {}) {
        a("TupleTypeAnnotation", e, t)
    }, t.assertTypeofTypeAnnotation = function (e, t = {}) {
        a("TypeofTypeAnnotation", e, t)
    }, t.assertTypeAlias = function (e, t = {}) {
        a("TypeAlias", e, t)
    }, t.assertTypeAnnotation = function (e, t = {}) {
        a("TypeAnnotation", e, t)
    }, t.assertTypeCastExpression = function (e, t = {}) {
        a("TypeCastExpression", e, t)
    }, t.assertTypeParameter = function (e, t = {}) {
        a("TypeParameter", e, t)
    }, t.assertTypeParameterDeclaration = function (e, t = {}) {
        a("TypeParameterDeclaration", e, t)
    }, t.assertTypeParameterInstantiation = function (e, t = {}) {
        a("TypeParameterInstantiation", e, t)
    }, t.assertUnionTypeAnnotation = function (e, t = {}) {
        a("UnionTypeAnnotation", e, t)
    }, t.assertVariance = function (e, t = {}) {
        a("Variance", e, t)
    }, t.assertVoidTypeAnnotation = function (e, t = {}) {
        a("VoidTypeAnnotation", e, t)
    }, t.assertEnumDeclaration = function (e, t = {}) {
        a("EnumDeclaration", e, t)
    }, t.assertEnumBooleanBody = function (e, t = {}) {
        a("EnumBooleanBody", e, t)
    }, t.assertEnumNumberBody = function (e, t = {}) {
        a("EnumNumberBody", e, t)
    }, t.assertEnumStringBody = function (e, t = {}) {
        a("EnumStringBody", e, t)
    }, t.assertEnumSymbolBody = function (e, t = {}) {
        a("EnumSymbolBody", e, t)
    }, t.assertEnumBooleanMember = function (e, t = {}) {
        a("EnumBooleanMember", e, t)
    }, t.assertEnumNumberMember = function (e, t = {}) {
        a("EnumNumberMember", e, t)
    }, t.assertEnumStringMember = function (e, t = {}) {
        a("EnumStringMember", e, t)
    }, t.assertEnumDefaultedMember = function (e, t = {}) {
        a("EnumDefaultedMember", e, t)
    }, t.assertJSXAttribute = function (e, t = {}) {
        a("JSXAttribute", e, t)
    }, t.assertJSXClosingElement = function (e, t = {}) {
        a("JSXClosingElement", e, t)
    }, t.assertJSXElement = function (e, t = {}) {
        a("JSXElement", e, t)
    }, t.assertJSXEmptyExpression = function (e, t = {}) {
        a("JSXEmptyExpression", e, t)
    }, t.assertJSXExpressionContainer = function (e, t = {}) {
        a("JSXExpressionContainer", e, t)
    }, t.assertJSXSpreadChild = function (e, t = {}) {
        a("JSXSpreadChild", e, t)
    }, t.assertJSXIdentifier = function (e, t = {}) {
        a("JSXIdentifier", e, t)
    }, t.assertJSXMemberExpression = function (e, t = {}) {
        a("JSXMemberExpression", e, t)
    }, t.assertJSXNamespacedName = function (e, t = {}) {
        a("JSXNamespacedName", e, t)
    }, t.assertJSXOpeningElement = function (e, t = {}) {
        a("JSXOpeningElement", e, t)
    }, t.assertJSXSpreadAttribute = function (e, t = {}) {
        a("JSXSpreadAttribute", e, t)
    }, t.assertJSXText = function (e, t = {}) {
        a("JSXText", e, t)
    }, t.assertJSXFragment = function (e, t = {}) {
        a("JSXFragment", e, t)
    }, t.assertJSXOpeningFragment = function (e, t = {}) {
        a("JSXOpeningFragment", e, t)
    }, t.assertJSXClosingFragment = function (e, t = {}) {
        a("JSXClosingFragment", e, t)
    }, t.assertNoop = function (e, t = {}) {
        a("Noop", e, t)
    }, t.assertPlaceholder = function (e, t = {}) {
        a("Placeholder", e, t)
    }, t.assertV8IntrinsicIdentifier = function (e, t = {}) {
        a("V8IntrinsicIdentifier", e, t)
    }, t.assertArgumentPlaceholder = function (e, t = {}) {
        a("ArgumentPlaceholder", e, t)
    }, t.assertBindExpression = function (e, t = {}) {
        a("BindExpression", e, t)
    }, t.assertClassProperty = function (e, t = {}) {
        a("ClassProperty", e, t)
    }, t.assertPipelineTopicExpression = function (e, t = {}) {
        a("PipelineTopicExpression", e, t)
    }, t.assertPipelineBareFunction = function (e, t = {}) {
        a("PipelineBareFunction", e, t)
    }, t.assertPipelinePrimaryTopicReference = function (e, t = {}) {
        a("PipelinePrimaryTopicReference", e, t)
    }, t.assertClassPrivateProperty = function (e, t = {}) {
        a("ClassPrivateProperty", e, t)
    }, t.assertClassPrivateMethod = function (e, t = {}) {
        a("ClassPrivateMethod", e, t)
    }, t.assertImportAttribute = function (e, t = {}) {
        a("ImportAttribute", e, t)
    }, t.assertDecorator = function (e, t = {}) {
        a("Decorator", e, t)
    }, t.assertDoExpression = function (e, t = {}) {
        a("DoExpression", e, t)
    }, t.assertExportDefaultSpecifier = function (e, t = {}) {
        a("ExportDefaultSpecifier", e, t)
    }, t.assertPrivateName = function (e, t = {}) {
        a("PrivateName", e, t)
    }, t.assertRecordExpression = function (e, t = {}) {
        a("RecordExpression", e, t)
    }, t.assertTupleExpression = function (e, t = {}) {
        a("TupleExpression", e, t)
    }, t.assertDecimalLiteral = function (e, t = {}) {
        a("DecimalLiteral", e, t)
    }, t.assertStaticBlock = function (e, t = {}) {
        a("StaticBlock", e, t)
    }, t.assertTSParameterProperty = function (e, t = {}) {
        a("TSParameterProperty", e, t)
    }, t.assertTSDeclareFunction = function (e, t = {}) {
        a("TSDeclareFunction", e, t)
    }, t.assertTSDeclareMethod = function (e, t = {}) {
        a("TSDeclareMethod", e, t)
    }, t.assertTSQualifiedName = function (e, t = {}) {
        a("TSQualifiedName", e, t)
    }, t.assertTSCallSignatureDeclaration = function (e, t = {}) {
        a("TSCallSignatureDeclaration", e, t)
    }, t.assertTSConstructSignatureDeclaration = function (e, t = {}) {
        a("TSConstructSignatureDeclaration", e, t)
    }, t.assertTSPropertySignature = function (e, t = {}) {
        a("TSPropertySignature", e, t)
    }, t.assertTSMethodSignature = function (e, t = {}) {
        a("TSMethodSignature", e, t)
    }, t.assertTSIndexSignature = function (e, t = {}) {
        a("TSIndexSignature", e, t)
    }, t.assertTSAnyKeyword = function (e, t = {}) {
        a("TSAnyKeyword", e, t)
    }, t.assertTSBooleanKeyword = function (e, t = {}) {
        a("TSBooleanKeyword", e, t)
    }, t.assertTSBigIntKeyword = function (e, t = {}) {
        a("TSBigIntKeyword", e, t)
    }, t.assertTSIntrinsicKeyword = function (e, t = {}) {
        a("TSIntrinsicKeyword", e, t)
    }, t.assertTSNeverKeyword = function (e, t = {}) {
        a("TSNeverKeyword", e, t)
    }, t.assertTSNullKeyword = function (e, t = {}) {
        a("TSNullKeyword", e, t)
    }, t.assertTSNumberKeyword = function (e, t = {}) {
        a("TSNumberKeyword", e, t)
    }, t.assertTSObjectKeyword = function (e, t = {}) {
        a("TSObjectKeyword", e, t)
    }, t.assertTSStringKeyword = function (e, t = {}) {
        a("TSStringKeyword", e, t)
    }, t.assertTSSymbolKeyword = function (e, t = {}) {
        a("TSSymbolKeyword", e, t)
    }, t.assertTSUndefinedKeyword = function (e, t = {}) {
        a("TSUndefinedKeyword", e, t)
    }, t.assertTSUnknownKeyword = function (e, t = {}) {
        a("TSUnknownKeyword", e, t)
    }, t.assertTSVoidKeyword = function (e, t = {}) {
        a("TSVoidKeyword", e, t)
    }, t.assertTSThisType = function (e, t = {}) {
        a("TSThisType", e, t)
    }, t.assertTSFunctionType = function (e, t = {}) {
        a("TSFunctionType", e, t)
    }, t.assertTSConstructorType = function (e, t = {}) {
        a("TSConstructorType", e, t)
    }, t.assertTSTypeReference = function (e, t = {}) {
        a("TSTypeReference", e, t)
    }, t.assertTSTypePredicate = function (e, t = {}) {
        a("TSTypePredicate", e, t)
    }, t.assertTSTypeQuery = function (e, t = {}) {
        a("TSTypeQuery", e, t)
    }, t.assertTSTypeLiteral = function (e, t = {}) {
        a("TSTypeLiteral", e, t)
    }, t.assertTSArrayType = function (e, t = {}) {
        a("TSArrayType", e, t)
    }, t.assertTSTupleType = function (e, t = {}) {
        a("TSTupleType", e, t)
    }, t.assertTSOptionalType = function (e, t = {}) {
        a("TSOptionalType", e, t)
    }, t.assertTSRestType = function (e, t = {}) {
        a("TSRestType", e, t)
    }, t.assertTSNamedTupleMember = function (e, t = {}) {
        a("TSNamedTupleMember", e, t)
    }, t.assertTSUnionType = function (e, t = {}) {
        a("TSUnionType", e, t)
    }, t.assertTSIntersectionType = function (e, t = {}) {
        a("TSIntersectionType", e, t)
    }, t.assertTSConditionalType = function (e, t = {}) {
        a("TSConditionalType", e, t)
    }, t.assertTSInferType = function (e, t = {}) {
        a("TSInferType", e, t)
    }, t.assertTSParenthesizedType = function (e, t = {}) {
        a("TSParenthesizedType", e, t)
    }, t.assertTSTypeOperator = function (e, t = {}) {
        a("TSTypeOperator", e, t)
    }, t.assertTSIndexedAccessType = function (e, t = {}) {
        a("TSIndexedAccessType", e, t)
    }, t.assertTSMappedType = function (e, t = {}) {
        a("TSMappedType", e, t)
    }, t.assertTSLiteralType = function (e, t = {}) {
        a("TSLiteralType", e, t)
    }, t.assertTSExpressionWithTypeArguments = function (e, t = {}) {
        a("TSExpressionWithTypeArguments", e, t)
    }, t.assertTSInterfaceDeclaration = function (e, t = {}) {
        a("TSInterfaceDeclaration", e, t)
    }, t.assertTSInterfaceBody = function (e, t = {}) {
        a("TSInterfaceBody", e, t)
    }, t.assertTSTypeAliasDeclaration = function (e, t = {}) {
        a("TSTypeAliasDeclaration", e, t)
    }, t.assertTSAsExpression = function (e, t = {}) {
        a("TSAsExpression", e, t)
    }, t.assertTSTypeAssertion = function (e, t = {}) {
        a("TSTypeAssertion", e, t)
    }, t.assertTSEnumDeclaration = function (e, t = {}) {
        a("TSEnumDeclaration", e, t)
    }, t.assertTSEnumMember = function (e, t = {}) {
        a("TSEnumMember", e, t)
    }, t.assertTSModuleDeclaration = function (e, t = {}) {
        a("TSModuleDeclaration", e, t)
    }, t.assertTSModuleBlock = function (e, t = {}) {
        a("TSModuleBlock", e, t)
    }, t.assertTSImportType = function (e, t = {}) {
        a("TSImportType", e, t)
    }, t.assertTSImportEqualsDeclaration = function (e, t = {}) {
        a("TSImportEqualsDeclaration", e, t)
    }, t.assertTSExternalModuleReference = function (e, t = {}) {
        a("TSExternalModuleReference", e, t)
    }, t.assertTSNonNullExpression = function (e, t = {}) {
        a("TSNonNullExpression", e, t)
    }, t.assertTSExportAssignment = function (e, t = {}) {
        a("TSExportAssignment", e, t)
    }, t.assertTSNamespaceExportDeclaration = function (e, t = {}) {
        a("TSNamespaceExportDeclaration", e, t)
    }, t.assertTSTypeAnnotation = function (e, t = {}) {
        a("TSTypeAnnotation", e, t)
    }, t.assertTSTypeParameterInstantiation = function (e, t = {}) {
        a("TSTypeParameterInstantiation", e, t)
    }, t.assertTSTypeParameterDeclaration = function (e, t = {}) {
        a("TSTypeParameterDeclaration", e, t)
    }, t.assertTSTypeParameter = function (e, t = {}) {
        a("TSTypeParameter", e, t)
    }, t.assertExpression = function (e, t = {}) {
        a("Expression", e, t)
    }, t.assertBinary = function (e, t = {}) {
        a("Binary", e, t)
    }, t.assertScopable = function (e, t = {}) {
        a("Scopable", e, t)
    }, t.assertBlockParent = function (e, t = {}) {
        a("BlockParent", e, t)
    }, t.assertBlock = function (e, t = {}) {
        a("Block", e, t)
    }, t.assertStatement = function (e, t = {}) {
        a("Statement", e, t)
    }, t.assertTerminatorless = function (e, t = {}) {
        a("Terminatorless", e, t)
    }, t.assertCompletionStatement = function (e, t = {}) {
        a("CompletionStatement", e, t)
    }, t.assertConditional = function (e, t = {}) {
        a("Conditional", e, t)
    }, t.assertLoop = function (e, t = {}) {
        a("Loop", e, t)
    }, t.assertWhile = function (e, t = {}) {
        a("While", e, t)
    }, t.assertExpressionWrapper = function (e, t = {}) {
        a("ExpressionWrapper", e, t)
    }, t.assertFor = function (e, t = {}) {
        a("For", e, t)
    }, t.assertForXStatement = function (e, t = {}) {
        a("ForXStatement", e, t)
    }, t.assertFunction = function (e, t = {}) {
        a("Function", e, t)
    }, t.assertFunctionParent = function (e, t = {}) {
        a("FunctionParent", e, t)
    }, t.assertPureish = function (e, t = {}) {
        a("Pureish", e, t)
    }, t.assertDeclaration = function (e, t = {}) {
        a("Declaration", e, t)
    }, t.assertPatternLike = function (e, t = {}) {
        a("PatternLike", e, t)
    }, t.assertLVal = function (e, t = {}) {
        a("LVal", e, t)
    }, t.assertTSEntityName = function (e, t = {}) {
        a("TSEntityName", e, t)
    }, t.assertLiteral = function (e, t = {}) {
        a("Literal", e, t)
    }, t.assertImmutable = function (e, t = {}) {
        a("Immutable", e, t)
    }, t.assertUserWhitespacable = function (e, t = {}) {
        a("UserWhitespacable", e, t)
    }, t.assertMethod = function (e, t = {}) {
        a("Method", e, t)
    }, t.assertObjectMember = function (e, t = {}) {
        a("ObjectMember", e, t)
    }, t.assertProperty = function (e, t = {}) {
        a("Property", e, t)
    }, t.assertUnaryLike = function (e, t = {}) {
        a("UnaryLike", e, t)
    }, t.assertPattern = function (e, t = {}) {
        a("Pattern", e, t)
    }, t.assertClass = function (e, t = {}) {
        a("Class", e, t)
    }, t.assertModuleDeclaration = function (e, t = {}) {
        a("ModuleDeclaration", e, t)
    }, t.assertExportDeclaration = function (e, t = {}) {
        a("ExportDeclaration", e, t)
    }, t.assertModuleSpecifier = function (e, t = {}) {
        a("ModuleSpecifier", e, t)
    }, t.assertFlow = function (e, t = {}) {
        a("Flow", e, t)
    }, t.assertFlowType = function (e, t = {}) {
        a("FlowType", e, t)
    }, t.assertFlowBaseAnnotation = function (e, t = {}) {
        a("FlowBaseAnnotation", e, t)
    }, t.assertFlowDeclaration = function (e, t = {}) {
        a("FlowDeclaration", e, t)
    }, t.assertFlowPredicate = function (e, t = {}) {
        a("FlowPredicate", e, t)
    }, t.assertEnumBody = function (e, t = {}) {
        a("EnumBody", e, t)
    }, t.assertEnumMember = function (e, t = {}) {
        a("EnumMember", e, t)
    }, t.assertJSX = function (e, t = {}) {
        a("JSX", e, t)
    }, t.assertPrivate = function (e, t = {}) {
        a("Private", e, t)
    }, t.assertTSTypeElement = function (e, t = {}) {
        a("TSTypeElement", e, t)
    }, t.assertTSType = function (e, t = {}) {
        a("TSType", e, t)
    }, t.assertTSBaseType = function (e, t = {}) {
        a("TSBaseType", e, t)
    }, t.assertNumberLiteral = function (e, t) {
        console.trace("The node type NumberLiteral has been renamed to NumericLiteral"), a("NumberLiteral", e, t)
    }, t.assertRegexLiteral = function (e, t) {
        console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"), a("RegexLiteral", e, t)
    }, t.assertRestProperty = function (e, t) {
        console.trace("The node type RestProperty has been renamed to RestElement"), a("RestProperty", e, t)
    }, t.assertSpreadProperty = function (e, t) {
        console.trace("The node type SpreadProperty has been renamed to SpreadElement"), a("SpreadProperty", e, t)
    };
    var r, i = (r = n(23)) && r.__esModule ? r : {
        default: r
    };

    function a(e, t, n) {
        if (!(0, i.default)(e, t, n)) throw new Error(`Expected type "${e}" with option ${JSON.stringify(n)}, but instead got "${t.type}".`)
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        if ("string" === e) return (0, r.stringTypeAnnotation)();
        if ("number" === e) return (0, r.numberTypeAnnotation)();
        if ("undefined" === e) return (0, r.voidTypeAnnotation)();
        if ("boolean" === e) return (0, r.booleanTypeAnnotation)();
        if ("function" === e) return (0, r.genericTypeAnnotation)((0, r.identifier)("Function"));
        if ("object" === e) return (0, r.genericTypeAnnotation)((0, r.identifier)("Object"));
        if ("symbol" === e) return (0, r.genericTypeAnnotation)((0, r.identifier)("Symbol"));
        throw new Error("Invalid typeof value")
    };
    var r = n(2)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        const t = (0, a.default)(e);
        return 1 === t.length ? t[0] : (0, i.unionTypeAnnotation)(t)
    };
    var r, i = n(2),
        a = (r = n(62)) && r.__esModule ? r : {
            default: r
        }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        const t = e.map(e => e.typeAnnotations),
            n = (0, a.default)(t);
        return 1 === n.length ? n[0] : (0, i.tsUnionType)(n)
    };
    var r, i = n(2),
        a = (r = n(175)) && r.__esModule ? r : {
            default: r
        }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        const t = {},
            n = {},
            i = [],
            a = [];
        for (let t = 0; t < e.length; t++) {
            const o = e[t];
            if (o && !(a.indexOf(o) >= 0)) {
                if ((0, r.isTSAnyKeyword)(o.type)) return [o];
                (0, r.isTSBaseType)(o) ? n[o.type] = o: (0, r.isTSUnionType)(o) ? i.indexOf(o.types) < 0 && (e = e.concat(o.types), i.push(o.types)) : a.push(o)
            }
        }
        for (const e of Object.keys(n)) a.push(n[e]);
        for (const e of Object.keys(t)) a.push(t[e]);
        return a
    };
    var r = n(0)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        return (0, i.default)(e, !1)
    };
    var r, i = (r = n(10)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        return (0, i.default)(e)
    };
    var r, i = (r = n(10)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        return (0, i.default)(e, !0, !0)
    };
    var r, i = (r = n(10)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        return (0, i.default)(e, !1, !0)
    };
    var r, i = (r = n(10)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t, n, r) {
        return (0, i.default)(e, t, [{
            type: r ? "CommentLine" : "CommentBlock",
            value: n
        }])
    };
    var r, i = (r = n(63)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        return r.COMMENT_KEYS.forEach(t => {
            e[t] = null
        }), e
    };
    var r = n(9)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.TSBASETYPE_TYPES = t.TSTYPE_TYPES = t.TSTYPEELEMENT_TYPES = t.PRIVATE_TYPES = t.JSX_TYPES = t.ENUMMEMBER_TYPES = t.ENUMBODY_TYPES = t.FLOWPREDICATE_TYPES = t.FLOWDECLARATION_TYPES = t.FLOWBASEANNOTATION_TYPES = t.FLOWTYPE_TYPES = t.FLOW_TYPES = t.MODULESPECIFIER_TYPES = t.EXPORTDECLARATION_TYPES = t.MODULEDECLARATION_TYPES = t.CLASS_TYPES = t.PATTERN_TYPES = t.UNARYLIKE_TYPES = t.PROPERTY_TYPES = t.OBJECTMEMBER_TYPES = t.METHOD_TYPES = t.USERWHITESPACABLE_TYPES = t.IMMUTABLE_TYPES = t.LITERAL_TYPES = t.TSENTITYNAME_TYPES = t.LVAL_TYPES = t.PATTERNLIKE_TYPES = t.DECLARATION_TYPES = t.PUREISH_TYPES = t.FUNCTIONPARENT_TYPES = t.FUNCTION_TYPES = t.FORXSTATEMENT_TYPES = t.FOR_TYPES = t.EXPRESSIONWRAPPER_TYPES = t.WHILE_TYPES = t.LOOP_TYPES = t.CONDITIONAL_TYPES = t.COMPLETIONSTATEMENT_TYPES = t.TERMINATORLESS_TYPES = t.STATEMENT_TYPES = t.BLOCK_TYPES = t.BLOCKPARENT_TYPES = t.SCOPABLE_TYPES = t.BINARY_TYPES = t.EXPRESSION_TYPES = void 0;
    var r = n(3);
    const i = r.FLIPPED_ALIAS_KEYS.Expression;
    t.EXPRESSION_TYPES = i;
    const a = r.FLIPPED_ALIAS_KEYS.Binary;
    t.BINARY_TYPES = a;
    const o = r.FLIPPED_ALIAS_KEYS.Scopable;
    t.SCOPABLE_TYPES = o;
    const s = r.FLIPPED_ALIAS_KEYS.BlockParent;
    t.BLOCKPARENT_TYPES = s;
    const l = r.FLIPPED_ALIAS_KEYS.Block;
    t.BLOCK_TYPES = l;
    const u = r.FLIPPED_ALIAS_KEYS.Statement;
    t.STATEMENT_TYPES = u;
    const c = r.FLIPPED_ALIAS_KEYS.Terminatorless;
    t.TERMINATORLESS_TYPES = c;
    const f = r.FLIPPED_ALIAS_KEYS.CompletionStatement;
    t.COMPLETIONSTATEMENT_TYPES = f;
    const p = r.FLIPPED_ALIAS_KEYS.Conditional;
    t.CONDITIONAL_TYPES = p;
    const d = r.FLIPPED_ALIAS_KEYS.Loop;
    t.LOOP_TYPES = d;
    const y = r.FLIPPED_ALIAS_KEYS.While;
    t.WHILE_TYPES = y;
    const T = r.FLIPPED_ALIAS_KEYS.ExpressionWrapper;
    t.EXPRESSIONWRAPPER_TYPES = T;
    const m = r.FLIPPED_ALIAS_KEYS.For;
    t.FOR_TYPES = m;
    const S = r.FLIPPED_ALIAS_KEYS.ForXStatement;
    t.FORXSTATEMENT_TYPES = S;
    const v = r.FLIPPED_ALIAS_KEYS.Function;
    t.FUNCTION_TYPES = v;
    const E = r.FLIPPED_ALIAS_KEYS.FunctionParent;
    t.FUNCTIONPARENT_TYPES = E;
    const b = r.FLIPPED_ALIAS_KEYS.Pureish;
    t.PUREISH_TYPES = b;
    const h = r.FLIPPED_ALIAS_KEYS.Declaration;
    t.DECLARATION_TYPES = h;
    const x = r.FLIPPED_ALIAS_KEYS.PatternLike;
    t.PATTERNLIKE_TYPES = x;
    const P = r.FLIPPED_ALIAS_KEYS.LVal;
    t.LVAL_TYPES = P;
    const g = r.FLIPPED_ALIAS_KEYS.TSEntityName;
    t.TSENTITYNAME_TYPES = g;
    const A = r.FLIPPED_ALIAS_KEYS.Literal;
    t.LITERAL_TYPES = A;
    const O = r.FLIPPED_ALIAS_KEYS.Immutable;
    t.IMMUTABLE_TYPES = O;
    const _ = r.FLIPPED_ALIAS_KEYS.UserWhitespacable;
    t.USERWHITESPACABLE_TYPES = _;
    const I = r.FLIPPED_ALIAS_KEYS.Method;
    t.METHOD_TYPES = I;
    const D = r.FLIPPED_ALIAS_KEYS.ObjectMember;
    t.OBJECTMEMBER_TYPES = D;
    const N = r.FLIPPED_ALIAS_KEYS.Property;
    t.PROPERTY_TYPES = N;
    const w = r.FLIPPED_ALIAS_KEYS.UnaryLike;
    t.UNARYLIKE_TYPES = w;
    const j = r.FLIPPED_ALIAS_KEYS.Pattern;
    t.PATTERN_TYPES = j;
    const L = r.FLIPPED_ALIAS_KEYS.Class;
    t.CLASS_TYPES = L;
    const C = r.FLIPPED_ALIAS_KEYS.ModuleDeclaration;
    t.MODULEDECLARATION_TYPES = C;
    const M = r.FLIPPED_ALIAS_KEYS.ExportDeclaration;
    t.EXPORTDECLARATION_TYPES = M;
    const B = r.FLIPPED_ALIAS_KEYS.ModuleSpecifier;
    t.MODULESPECIFIER_TYPES = B;
    const F = r.FLIPPED_ALIAS_KEYS.Flow;
    t.FLOW_TYPES = F;
    const R = r.FLIPPED_ALIAS_KEYS.FlowType;
    t.FLOWTYPE_TYPES = R;
    const k = r.FLIPPED_ALIAS_KEYS.FlowBaseAnnotation;
    t.FLOWBASEANNOTATION_TYPES = k;
    const K = r.FLIPPED_ALIAS_KEYS.FlowDeclaration;
    t.FLOWDECLARATION_TYPES = K;
    const Y = r.FLIPPED_ALIAS_KEYS.FlowPredicate;
    t.FLOWPREDICATE_TYPES = Y;
    const $ = r.FLIPPED_ALIAS_KEYS.EnumBody;
    t.ENUMBODY_TYPES = $;
    const V = r.FLIPPED_ALIAS_KEYS.EnumMember;
    t.ENUMMEMBER_TYPES = V;
    const X = r.FLIPPED_ALIAS_KEYS.JSX;
    t.JSX_TYPES = X;
    const J = r.FLIPPED_ALIAS_KEYS.Private;
    t.PRIVATE_TYPES = J;
    const U = r.FLIPPED_ALIAS_KEYS.TSTypeElement;
    t.TSTYPEELEMENT_TYPES = U;
    const q = r.FLIPPED_ALIAS_KEYS.TSType;
    t.TSTYPE_TYPES = q;
    const W = r.FLIPPED_ALIAS_KEYS.TSBaseType;
    t.TSBASETYPE_TYPES = W
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t = "body") {
        return e[t] = (0, i.default)(e[t], e)
    };
    var r, i = (r = n(68)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        "eval" !== (e = (0, i.default)(e)) && "arguments" !== e || (e = "_" + e);
        return e
    };
    var r, i = (r = n(69)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t = e.key || e.property) {
        !e.computed && (0, r.isIdentifier)(t) && (t = (0, i.stringLiteral)(t.name));
        return t
    };
    var r = n(0),
        i = n(2)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        (0, r.isExpressionStatement)(e) && (e = e.expression);
        if ((0, r.isExpression)(e)) return e;
        (0, r.isClass)(e) ? e.type = "ClassExpression": (0, r.isFunction)(e) && (e.type = "FunctionExpression");
        if (!(0, r.isExpression)(e)) throw new Error(`cannot turn ${e.type} to an expression`);
        return e
    };
    var r = n(0)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = s;
    var r = n(0),
        i = o(n(10)),
        a = o(n(70));

    function o(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }

    function s(e, t = e.key) {
        let n;
        return "method" === e.kind ? s.increment() + "" : (n = (0, r.isIdentifier)(t) ? t.name : (0, r.isStringLiteral)(t) ? JSON.stringify(t.value) : JSON.stringify((0, a.default)((0, i.default)(t))), e.computed && (n = `[${n}]`), e.static && (n = "static:" + n), n)
    }
    s.uid = 0, s.increment = function () {
        return s.uid >= Number.MAX_SAFE_INTEGER ? s.uid = 0 : s.uid++
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        if (!(null == e ? void 0 : e.length)) return;
        const n = [],
            r = (0, i.default)(e, t, n);
        if (!r) return;
        for (const e of n) t.push(e);
        return r
    };
    var r, i = (r = n(189)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function e(t, n, s) {
        const l = [];
        let u = !0;
        for (const c of t)
            if ((0, i.isEmptyStatement)(c) || (u = !1), (0, i.isExpression)(c)) l.push(c);
            else if ((0, i.isExpressionStatement)(c)) l.push(c.expression);
        else if ((0, i.isVariableDeclaration)(c)) {
            if ("var" !== c.kind) return;
            for (const e of c.declarations) {
                const t = (0, r.default)(e);
                for (const e of Object.keys(t)) s.push({
                    kind: c.kind,
                    id: (0, o.default)(t[e])
                });
                e.init && l.push((0, a.assignmentExpression)("=", e.id, e.init))
            }
            u = !0
        } else if ((0, i.isIfStatement)(c)) {
            const t = c.consequent ? e([c.consequent], n, s) : n.buildUndefinedNode(),
                r = c.alternate ? e([c.alternate], n, s) : n.buildUndefinedNode();
            if (!t || !r) return;
            l.push((0, a.conditionalExpression)(c.test, t, r))
        } else if ((0, i.isBlockStatement)(c)) {
            const t = e(c.body, n, s);
            if (!t) return;
            l.push(t)
        } else {
            if (!(0, i.isEmptyStatement)(c)) return;
            0 === t.indexOf(c) && (u = !0)
        }
        u && l.push(n.buildUndefinedNode());
        return 1 === l.length ? l[0] : (0, a.sequenceExpression)(l)
    };
    var r = s(n(24)),
        i = n(0),
        a = n(2),
        o = s(n(10));

    function s(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        if ((0, r.isStatement)(e)) return e;
        let n, a = !1;
        if ((0, r.isClass)(e)) a = !0, n = "ClassDeclaration";
        else if ((0, r.isFunction)(e)) a = !0, n = "FunctionDeclaration";
        else if ((0, r.isAssignmentExpression)(e)) return (0, i.expressionStatement)(e);
        a && !e.id && (n = !1);
        if (!n) {
            if (t) return !1;
            throw new Error(`cannot turn ${e.type} to a statement`)
        }
        return e.type = n, e
    };
    var r = n(0),
        i = n(2)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function e(t) {
        if (void 0 === t) return (0, o.identifier)("undefined");
        if (!0 === t || !1 === t) return (0, o.booleanLiteral)(t);
        if (null === t) return (0, o.nullLiteral)();
        if ("string" == typeof t) return (0, o.stringLiteral)(t);
        if ("number" == typeof t) {
            let e;
            if (Number.isFinite(t)) e = (0, o.numericLiteral)(Math.abs(t));
            else {
                let n;
                n = Number.isNaN(t) ? (0, o.numericLiteral)(0) : (0, o.numericLiteral)(1), e = (0, o.binaryExpression)("/", n, (0, o.numericLiteral)(0))
            }
            return (t < 0 || Object.is(t, -0)) && (e = (0, o.unaryExpression)("-", e)), e
        }
        if ((0, i.default)(t)) {
            const e = t.source,
                n = t.toString().match(/\/([a-z]+|)$/)[1];
            return (0, o.regExpLiteral)(e, n)
        }
        if (Array.isArray(t)) return (0, o.arrayExpression)(t.map(e));
        if ((0, r.default)(t)) {
            const n = [];
            for (const r of Object.keys(t)) {
                let i;
                i = (0, a.default)(r) ? (0, o.identifier)(r) : (0, o.stringLiteral)(r), n.push((0, o.objectProperty)(i, e(t[r])))
            }
            return (0, o.objectExpression)(n)
        }
        throw new Error("don't know how to turn this value into a node")
    };
    var r = s(n(192)),
        i = s(n(193)),
        a = s(n(14)),
        o = n(2);

    function s(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
}, function (e, t, n) {
    var r = n(12),
        i = n(34),
        a = n(8),
        o = Function.prototype,
        s = Object.prototype,
        l = o.toString,
        u = s.hasOwnProperty,
        c = l.call(Object);
    e.exports = function (e) {
        if (!a(e) || "[object Object]" != r(e)) return !1;
        var t = i(e);
        if (null === t) return !0;
        var n = u.call(t, "constructor") && t.constructor;
        return "function" == typeof n && n instanceof n && l.call(n) == c
    }
}, function (e, t, n) {
    var r = n(194),
        i = n(20),
        a = n(21),
        o = a && a.isRegExp,
        s = o ? i(o) : r;
    e.exports = s
}, function (e, t, n) {
    var r = n(12),
        i = n(8);
    e.exports = function (e) {
        return i(e) && "[object RegExp]" == r(e)
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t, n = !1) {
        return e.object = (0, r.memberExpression)(e.object, e.property, e.computed), e.property = t, e.computed = !!n, e
    };
    var r = n(2)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        if (!e || !t) return e;
        for (const n of i.INHERIT_KEYS.optional) null == e[n] && (e[n] = t[n]);
        for (const n of Object.keys(t)) "_" === n[0] && "__clone" !== n && (e[n] = t[n]);
        for (const n of i.INHERIT_KEYS.force) e[n] = t[n];
        return (0, a.default)(e, t), e
    };
    var r, i = n(9),
        a = (r = n(66)) && r.__esModule ? r : {
            default: r
        }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        return e.object = (0, r.memberExpression)(t, e.object), e
    };
    var r = n(2)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        return (0, i.default)(e, t, !0)
    };
    var r, i = (r = n(24)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t, n) {
        "function" == typeof t && (t = {
            enter: t
        });
        const {
            enter: i,
            exit: a
        } = t;
        ! function e(t, n, i, a, o) {
            const s = r.VISITOR_KEYS[t.type];
            if (!s) return;
            n && n(t, o, a);
            for (const r of s) {
                const s = t[r];
                if (Array.isArray(s))
                    for (let l = 0; l < s.length; l++) {
                        const u = s[l];
                        u && (o.push({
                            node: t,
                            key: r,
                            index: l
                        }), e(u, n, i, a, o), o.pop())
                    } else s && (o.push({
                        node: t,
                        key: r
                    }), e(s, n, i, a, o), o.pop())
            }
            i && i(t, o, a)
        }(e, i, a, n, [])
    };
    var r = n(3)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t, n) {
        if (n && "Identifier" === e.type && "ObjectProperty" === t.type && "ObjectExpression" === n.type) return !1;
        const r = i.default.keys[t.type];
        if (r)
            for (let n = 0; n < r.length; n++) {
                const i = r[n],
                    a = t[i];
                if (Array.isArray(a)) {
                    if (a.indexOf(e) >= 0) return !0
                } else if (a === e) return !0
            }
        return !1
    };
    var r, i = (r = n(24)) && r.__esModule ? r : {
        default: r
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        return (0, i.isFunctionDeclaration)(e) || (0, i.isClassDeclaration)(e) || (0, a.default)(e)
    };
    var r, i = n(0),
        a = (r = n(73)) && r.__esModule ? r : {
            default: r
        }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        if ((0, i.default)(e.type, "Immutable")) return !0;
        if ((0, a.isIdentifier)(e)) return "undefined" === e.name;
        return !1
    };
    var r, i = (r = n(38)) && r.__esModule ? r : {
            default: r
        },
        a = n(0)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function e(t, n) {
        if ("object" != typeof t || "object" != typeof n || null == t || null == n) return t === n;
        if (t.type !== n.type) return !1;
        const i = Object.keys(r.NODE_FIELDS[t.type] || t.type),
            a = r.VISITOR_KEYS[t.type];
        for (const r of i) {
            if (typeof t[r] != typeof n[r]) return !1;
            if (null != t[r] || null != n[r]) {
                if (null == t[r] || null == n[r]) return !1;
                if (Array.isArray(t[r])) {
                    if (!Array.isArray(n[r])) return !1;
                    if (t[r].length !== n[r].length) return !1;
                    for (let i = 0; i < t[r].length; i++)
                        if (!e(t[r][i], n[r][i])) return !1
                } else if ("object" != typeof t[r] || (null == a ? void 0 : a.includes(r))) {
                    if (!e(t[r], n[r])) return !1
                } else
                    for (const e of Object.keys(t[r]))
                        if (t[r][e] !== n[r][e]) return !1
            }
        }
        return !0
    };
    var r = n(3)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t, n) {
        switch (t.type) {
            case "MemberExpression":
            case "JSXMemberExpression":
            case "OptionalMemberExpression":
                return t.property === e ? !!t.computed : t.object === e;
            case "VariableDeclarator":
                return t.init === e;
            case "ArrowFunctionExpression":
                return t.body === e;
            case "ExportSpecifier":
                return !t.source && t.local === e;
            case "PrivateName":
                return !1;
            case "ClassMethod":
            case "ClassPrivateMethod":
            case "ObjectMethod":
                if (t.params.includes(e)) return !1;
            case "ObjectProperty":
            case "ClassProperty":
            case "ClassPrivateProperty":
                return t.key === e ? !!t.computed : t.value !== e || (!n || "ObjectPattern" !== n.type);
            case "ClassDeclaration":
            case "ClassExpression":
                return t.superClass === e;
            case "AssignmentExpression":
            case "AssignmentPattern":
                return t.right === e;
            case "LabeledStatement":
            case "CatchClause":
            case "RestElement":
                return !1;
            case "BreakStatement":
            case "ContinueStatement":
                return !1;
            case "FunctionDeclaration":
            case "FunctionExpression":
                return !1;
            case "ExportNamespaceSpecifier":
            case "ExportDefaultSpecifier":
                return !1;
            case "ImportDefaultSpecifier":
            case "ImportNamespaceSpecifier":
            case "ImportSpecifier":
            case "JSXAttribute":
                return !1;
            case "ObjectPattern":
            case "ArrayPattern":
            case "MetaProperty":
                return !1;
            case "ObjectTypeProperty":
                return t.key !== e;
            case "TSEnumMember":
                return t.id !== e;
            case "TSPropertySignature":
                return t.key !== e || !!t.computed
        }
        return !0
    }
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e, t) {
        if ((0, r.isBlockStatement)(e) && ((0, r.isFunction)(t) || (0, r.isCatchClause)(t))) return !1;
        if ((0, r.isPattern)(e) && ((0, r.isFunction)(t) || (0, r.isCatchClause)(t))) return !0;
        return (0, r.isScopable)(e)
    };
    var r = n(0)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        return (0, r.isImportDefaultSpecifier)(e) || (0, r.isIdentifier)(e.imported || e.exported, {
            name: "default"
        })
    };
    var r = n(0)
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        return (0, i.default)(e) && !a.has(e)
    };
    var r, i = (r = n(14)) && r.__esModule ? r : {
        default: r
    };
    const a = new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "implements", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "transient", "volatile"])
}, function (e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = function (e) {
        return (0, r.isVariableDeclaration)(e, {
            kind: "var"
        }) && !e[i.BLOCK_SCOPED_SYMBOL]
    };
    var r = n(0),
        i = n(9)
}, function (e, t, n) {
    "use strict";
    var r = n(1),
        i = n(74),
        a = n(210),
        o = n(80);

    function s(e) {
        var t = new a(e),
            n = i(a.prototype.request, t);
        return r.extend(n, a.prototype, t), r.extend(n, t), n
    }
    var l = s(n(77));
    l.Axios = a, l.create = function (e) {
        return s(o(l.defaults, e))
    }, l.Cancel = n(81), l.CancelToken = n(223), l.isCancel = n(76), l.all = function (e) {
        return Promise.all(e)
    }, l.spread = n(224), e.exports = l, e.exports.default = l
}, function (e, t, n) {
    "use strict";
    var r = n(1),
        i = n(75),
        a = n(211),
        o = n(212),
        s = n(80);

    function l(e) {
        this.defaults = e, this.interceptors = {
            request: new a,
            response: new a
        }
    }
    l.prototype.request = function (e) {
        "string" == typeof e ? (e = arguments[1] || {}).url = arguments[0] : e = e || {}, (e = s(this.defaults, e)).method ? e.method = e.method.toLowerCase() : this.defaults.method ? e.method = this.defaults.method.toLowerCase() : e.method = "get";
        var t = [o, void 0],
            n = Promise.resolve(e);
        for (this.interceptors.request.forEach((function (e) {
                t.unshift(e.fulfilled, e.rejected)
            })), this.interceptors.response.forEach((function (e) {
                t.push(e.fulfilled, e.rejected)
            })); t.length;) n = n.then(t.shift(), t.shift());
        return n
    }, l.prototype.getUri = function (e) {
        return e = s(this.defaults, e), i(e.url, e.params, e.paramsSerializer).replace(/^\?/, "")
    }, r.forEach(["delete", "get", "head", "options"], (function (e) {
        l.prototype[e] = function (t, n) {
            return this.request(r.merge(n || {}, {
                method: e,
                url: t
            }))
        }
    })), r.forEach(["post", "put", "patch"], (function (e) {
        l.prototype[e] = function (t, n, i) {
            return this.request(r.merge(i || {}, {
                method: e,
                url: t,
                data: n
            }))
        }
    })), e.exports = l
}, function (e, t, n) {
    "use strict";
    var r = n(1);

    function i() {
        this.handlers = []
    }
    i.prototype.use = function (e, t) {
        return this.handlers.push({
            fulfilled: e,
            rejected: t
        }), this.handlers.length - 1
    }, i.prototype.eject = function (e) {
        this.handlers[e] && (this.handlers[e] = null)
    }, i.prototype.forEach = function (e) {
        r.forEach(this.handlers, (function (t) {
            null !== t && e(t)
        }))
    }, e.exports = i
}, function (e, t, n) {
    "use strict";
    var r = n(1),
        i = n(213),
        a = n(76),
        o = n(77);

    function s(e) {
        e.cancelToken && e.cancelToken.throwIfRequested()
    }
    e.exports = function (e) {
        return s(e), e.headers = e.headers || {}, e.data = i(e.data, e.headers, e.transformRequest), e.headers = r.merge(e.headers.common || {}, e.headers[e.method] || {}, e.headers), r.forEach(["delete", "get", "head", "post", "put", "patch", "common"], (function (t) {
            delete e.headers[t]
        })), (e.adapter || o.adapter)(e).then((function (t) {
            return s(e), t.data = i(t.data, t.headers, e.transformResponse), t
        }), (function (t) {
            return a(t) || (s(e), t && t.response && (t.response.data = i(t.response.data, t.response.headers, e.transformResponse))), Promise.reject(t)
        }))
    }
}, function (e, t, n) {
    "use strict";
    var r = n(1);
    e.exports = function (e, t, n) {
        return r.forEach(n, (function (n) {
            e = n(e, t)
        })), e
    }
}, function (e, t, n) {
    "use strict";
    var r = n(1);
    e.exports = function (e, t) {
        r.forEach(e, (function (n, r) {
            r !== t && r.toUpperCase() === t.toUpperCase() && (e[t] = n, delete e[r])
        }))
    }
}, function (e, t, n) {
    "use strict";
    var r = n(79);
    e.exports = function (e, t, n) {
        var i = n.config.validateStatus;
        !i || i(n.status) ? e(n) : t(r("Request failed with status code " + n.status, n.config, null, n.request, n))
    }
}, function (e, t, n) {
    "use strict";
    e.exports = function (e, t, n, r, i) {
        return e.config = t, n && (e.code = n), e.request = r, e.response = i, e.isAxiosError = !0, e.toJSON = function () {
            return {
                message: this.message,
                name: this.name,
                description: this.description,
                number: this.number,
                fileName: this.fileName,
                lineNumber: this.lineNumber,
                columnNumber: this.columnNumber,
                stack: this.stack,
                config: this.config,
                code: this.code
            }
        }, e
    }
}, function (e, t, n) {
    "use strict";
    var r = n(218),
        i = n(219);
    e.exports = function (e, t) {
        return e && !r(t) ? i(e, t) : t
    }
}, function (e, t, n) {
    "use strict";
    e.exports = function (e) {
        return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)
    }
}, function (e, t, n) {
    "use strict";
    e.exports = function (e, t) {
        return t ? e.replace(/\/+$/, "") + "/" + t.replace(/^\/+/, "") : e
    }
}, function (e, t, n) {
    "use strict";
    var r = n(1),
        i = ["age", "authorization", "content-length", "content-type", "etag", "expires", "from", "host", "if-modified-since", "if-unmodified-since", "last-modified", "location", "max-forwards", "proxy-authorization", "referer", "retry-after", "user-agent"];
    e.exports = function (e) {
        var t, n, a, o = {};
        return e ? (r.forEach(e.split("\n"), (function (e) {
            if (a = e.indexOf(":"), t = r.trim(e.substr(0, a)).toLowerCase(), n = r.trim(e.substr(a + 1)), t) {
                if (o[t] && i.indexOf(t) >= 0) return;
                o[t] = "set-cookie" === t ? (o[t] ? o[t] : []).concat([n]) : o[t] ? o[t] + ", " + n : n
            }
        })), o) : o
    }
}, function (e, t, n) {
    "use strict";
    var r = n(1);
    e.exports = r.isStandardBrowserEnv() ? function () {
        var e, t = /(msie|trident)/i.test(navigator.userAgent),
            n = document.createElement("a");

        function i(e) {
            var r = e;
            return t && (n.setAttribute("href", r), r = n.href), n.setAttribute("href", r), {
                href: n.href,
                protocol: n.protocol ? n.protocol.replace(/:$/, "") : "",
                host: n.host,
                search: n.search ? n.search.replace(/^\?/, "") : "",
                hash: n.hash ? n.hash.replace(/^#/, "") : "",
                hostname: n.hostname,
                port: n.port,
                pathname: "/" === n.pathname.charAt(0) ? n.pathname : "/" + n.pathname
            }
        }
        return e = i(window.location.href),
            function (t) {
                var n = r.isString(t) ? i(t) : t;
                return n.protocol === e.protocol && n.host === e.host
            }
    }() : function () {
        return !0
    }
}, function (e, t, n) {
    "use strict";
    var r = n(1);
    e.exports = r.isStandardBrowserEnv() ? {
        write: function (e, t, n, i, a, o) {
            var s = [];
            s.push(e + "=" + encodeURIComponent(t)), r.isNumber(n) && s.push("expires=" + new Date(n).toGMTString()), r.isString(i) && s.push("path=" + i), r.isString(a) && s.push("domain=" + a), !0 === o && s.push("secure"), document.cookie = s.join("; ")
        },
        read: function (e) {
            var t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
            return t ? decodeURIComponent(t[3]) : null
        },
        remove: function (e) {
            this.write(e, "", Date.now() - 864e5)
        }
    } : {
        write: function () {},
        read: function () {
            return null
        },
        remove: function () {}
    }
}, function (e, t, n) {
    "use strict";
    var r = n(81);

    function i(e) {
        if ("function" != typeof e) throw new TypeError("executor must be a function.");
        var t;
        this.promise = new Promise((function (e) {
            t = e
        }));
        var n = this;
        e((function (e) {
            n.reason || (n.reason = new r(e), t(n.reason))
        }))
    }
    i.prototype.throwIfRequested = function () {
        if (this.reason) throw this.reason
    }, i.source = function () {
        var e;
        return {
            token: new i((function (t) {
                e = t
            })),
            cancel: e
        }
    }, e.exports = i
}, function (e, t, n) {
    "use strict";
    e.exports = function (e) {
        return function (t) {
            return e.apply(null, t)
        }
    }
}, , , , , , , , , , , , , , , function (e, t, n) {
    e.exports = n(240)
}, function (e, t, n) {
    "use strict";
    n.r(t);
    n(83), n(11);
    $(document).ready((function () {
        allDialog("/");
        var e = new Swiper("#index-banner", {
            pagination: "#index-banner-pagination",
            paginationClickable: !0,
            loop: !0,
            autoplay: 3e3,
            speed: 1500
        });
        $(".index-banner-button div").click((function () {
            $(this).hasClass("left") ? e.slidePrev(1500) : e.slideNext(1500)
        })), animation(".icon-arrow-animations"), animation(".icon_server_animation"), popup("#quotedLf", "400px", "315px", ".lfForms", (function (e) {
            $(e).find(".close").click((function () {
                layer.closeAll()
            }))
        }));
        var t = new Swiper("#index-designer-cases", {
                pagination: "#index-designer-pagination",
                paginationClickable: !0,
                loop: !0,
                autoplay: 3e3,
                speed: 1e3
            }),
            n = new Swiper("#index-designers", {
                loop: !0
            });
        t.params.control = n, n.params.control = t, $(".index-designer-cases-pagination div").click((function () {
            $(this).hasClass("left") ? t.slidePrev(1500) : t.slideNext(1500)
        })), $(".video>div").click((function () {
            $(".video>video").attr("controls", "controls"), $(".video>video")[0].play(), $(".video>div").css("z-index", -1)
        }));
        var r, i = 0;

        function a() {
            var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0],
                t = $(".tab_content .content_item").eq(i).find(".img").children();
            if (e) {
                var n = null;
                setTimeout((function () {
                    var e = o(t.length - 1, n);
                    t.eq(e).css("opacity", 1), setTimeout((function () {
                        t.eq(e).css("opacity", .5)
                    }), 1500), n = e
                })), r = setInterval((function () {
                    var e = o(t.length - 1, n);
                    t.eq(e).css("opacity", 1), setTimeout((function () {
                        t.eq(e).css("opacity", .5)
                    }), 1500), n = e
                }), 1500)
            } else clearInterval(r), clearTimeout(void 0), console.log(r), t.css("opacity", .5)
        }

        function o(e, t) {
            var n = Math.round(Math.random() * e);
            return n === t ? o(e, t) : n
        }
        a(), $(".cases_desc .tab").on("click", (function (e) {
            clearInterval(r), a(!1), $(this).parent().children().removeClass("active"), $(this).addClass("active"), i = $(this).index(), $(".cases_desc .content_item").removeClass("active"), $(".cases_desc .content_item").eq(i).addClass("active"), a()
        })), $(".tab_content .content_item img").on("mouseenter", (function () {
            a(!1), $(".tab_content .content_item img").css("opacity", .5), $(this).css("opacity", 1)
        })), $(".tab_content .content_item img").on("mouseleave", (function () {
            $(".tab_content .content_item img").css("opacity", .5), a()
        }));
        var s = [{
            name: "材料馆",
            eng: "Material Museum",
            desc: "超100种材料类别 \n         汇聚国内外大牌"
        }, {
            name: "工艺馆",
            eng: "TECHNOLOGY EXHIBITION HALL",
            desc: "全流程专业详解\n        涵盖14项专利技术"
        }, {
            name: "软装馆",
            eng: "Soft decoration Hall",
            desc: "涵盖8大主流风格 \n         全屋软装一站配齐"
        }, {
            name: "家居体验馆",
            eng: "Home Experience Hall",
            desc: "12万平米沉浸式体验 \n         实现美好生活的造家畅想"
        }];
        new Swiper("#hall-swiper", {
            autoplay: 3e3,
            loop: !0,
            slidesPerView: "auto",
            speed: 1500,
            spaceBetween: 60,
            pagination: ".swiper-pagination",
            paginationType: "custom",
            paginationCustomRender: function (e, t, n) {
                return $(".text_swiper .desc .title").text(s[t - 1].name), $(".text_swiper .desc .eng").text(s[t - 1].eng.toLocaleUpperCase()), $(".text_swiper .desc .text").text(s[t - 1].desc), '<span style="color:#D4C0A2">0' + t + "</span> / 0" + n
            },
            nextButton: ".swiper-button-next",
            prevButton: ".swiper-button-prev"
        }), $(window).scroll((function () {
            var e = document.documentElement.scrollTop || document.body.scrollTop;
            e > 180 && $(".index-common-title").eq(0).css("transform", "translateY(-0%)"), e > 900 && $(".index-common-title").eq(1).css("transform", "translateY(-0%)"), e > 1800 && $(".index-common-title").eq(2).css("transform", "translateY(-0%)"), e > 1900 && $(".cases_wrap .tabs").css("transform", "translateY(-0%)"), e > 2600 && $(".index-common-title").eq(3).css("transform", "translateY(-0%)"), e > 2620 && $(".index-style-option").css("transform", "translateY(-0%)"), e > 3600 && $(".index-common-title").eq(4).css("transform", "translateY(-0%)"), e > 4300 && $(".index-common-title").eq(5).css("transform", "translateY(-0%)"), e > 5100 && $(".index-common-title").eq(6).css("transform", "translateY(-0%)"), e > 5150 && $(".index-strategy-center").css("transform", "translateY(-0%)")
        }))
    }))
}]);